diff options
author | Anton Tananaev <anton@traccar.org> | 2024-04-06 09:17:52 -0700 |
---|---|---|
committer | Anton Tananaev <anton@traccar.org> | 2024-04-06 09:17:52 -0700 |
commit | b392a4af78e01c8e0f50aad5468e9583675b24be (patch) | |
tree | 0a4fd7c4ee020e0829817853469979d4e998a69a /legacy | |
parent | 94cadecda794358a53995c276697919eaf540466 (diff) | |
download | trackermap-web-b392a4af78e01c8e0f50aad5468e9583675b24be.tar.gz trackermap-web-b392a4af78e01c8e0f50aad5468e9583675b24be.tar.bz2 trackermap-web-b392a4af78e01c8e0f50aad5468e9583675b24be.zip |
Move to the legacy folder
Diffstat (limited to 'legacy')
291 files changed, 53962 insertions, 0 deletions
diff --git a/legacy/.eslintignore b/legacy/.eslintignore new file mode 100644 index 00000000..934888f4 --- /dev/null +++ b/legacy/.eslintignore @@ -0,0 +1,4 @@ +web/simple/app.js +web/app.min.js +web/load.js +web/lib diff --git a/legacy/.eslintrc.json b/legacy/.eslintrc.json new file mode 100644 index 00000000..e004ba3e --- /dev/null +++ b/legacy/.eslintrc.json @@ -0,0 +1,61 @@ +{ + "extends": "eslint:all", + "env": { + "browser": true + }, + "globals": { + "Ext": false, + "ol": false, + "Traccar": false, + "Strings": false, + "Locale": false, + "proj4": false + }, + "rules": { + "strict": "off", + "max-lines": ["error", 1000], + "max-len": ["error", 180], + "max-statements": ["error", 35], + "max-params": ["error", 5], + "indent": ["error", 4, { + "SwitchCase": 1 + }], + "quotes": ["error", "single"], + "padded-blocks": ["error", "never"], + "dot-location": ["error", "property"], + "wrap-iife": ["error", "inside"], + "dot-notation": "off", + "array-bracket-newline": "off", + "array-element-newline": "off", + "sort-keys": "off", + "sort-vars": "off", + "no-magic-numbers": "off", + "no-mixed-operators": "off", + "prefer-template": "off", + "newline-per-chained-call": "off", + "object-shorthand": "off", + "func-names": "off", + "init-declarations": "off", + "no-var": "off", + "id-length": "off", + "no-undefined": "off", + "object-curly-newline": "off", + "prefer-destructuring": "off", + "no-plusplus": "off", + "no-param-reassign": "off", + "no-ternary": "off", + "multiline-ternary": "off", + "one-var-declaration-per-line": "off", + "no-shadow": "off", + "no-else-return": "off", + "consistent-this": "off", + "quote-props": "off", + "no-negated-condition": "off", + "prefer-arrow-callback": "off", + "no-prototype-builtins": "off", + "no-multi-assign": "off", + "no-bitwise": "off", + "prefer-rest-params": "off", + "function-paren-newline": "off" + } +}
\ No newline at end of file diff --git a/legacy/LICENSE.txt b/legacy/LICENSE.txt new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/legacy/LICENSE.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/legacy/package-lock.json b/legacy/package-lock.json new file mode 100644 index 00000000..d76105dd --- /dev/null +++ b/legacy/package-lock.json @@ -0,0 +1,3017 @@ +{ + "name": "traccar-web", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "traccar-web", + "hasInstallScript": true, + "dependencies": { + "extjs-gpl": "^6.2.0", + "ol": "^6.12.0", + "ol-layerswitcher": "^3.8.3", + "openlayers-dist": "^6.12.0", + "proj4": "^2.7.5" + }, + "devDependencies": { + "eslint": "^4.4.1" + } + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/mapbox-gl-style-spec": { + "version": "13.23.1", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.23.1.tgz", + "integrity": "sha512-C6wh8A/5EdsgzhL6y6yl464VCQNIxK0yjrpnvCvchcFe3sNK2RbBw/J9u3m+p8Y6S6MsGuSMt3AkGAXOKMYweQ==", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/unitbezier": "^0.0.0", + "csscolorparser": "~1.0.2", + "json-stringify-pretty-compact": "^2.0.0", + "minimist": "^1.2.5", + "rw": "^1.3.3", + "sort-object": "^0.3.2" + }, + "bin": { + "gl-style-composite": "bin/gl-style-composite", + "gl-style-format": "bin/gl-style-format", + "gl-style-migrate": "bin/gl-style-migrate", + "gl-style-validate": "bin/gl-style-validate" + } + }, + "node_modules/@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI=" + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4=" + }, + "node_modules/@petamoriken/float16": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.6.2.tgz", + "integrity": "sha512-zZnksXtFBqvONcXWuAtSWrl3YXaDbU2ArRCCuzM42mP0GBJclD6e0GC3zEemmrjiMSOHcLPyRC4vOnAsnomJIw==" + }, + "node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "dependencies": { + "acorn": "^3.0.4" + } + }, + "node_modules/acorn-jsx/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "dependencies": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "node_modules/ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true, + "peerDependencies": { + "ajv": "^5.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "dependencies": { + "callsites": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "node_modules/circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "deprecated": "CircularJSON is in maintenance only, flatted is its successor.", + "dev": true + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/csscolorparser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs=" + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "dependencies": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "dependencies": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "dependencies": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "dependencies": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/extjs-gpl": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/extjs-gpl/-/extjs-gpl-6.2.0.tgz", + "integrity": "sha512-A/l4PKXE89dojDoWkNKqr+2jryF9jX3KuuaXb3NWEKYAKipNyP4CZyVGj7HBJIZF9h/ioxaBm3YJdCklo+XDpQ==" + }, + "node_modules/fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "dependencies": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "dependencies": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/geotiff": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-1.0.9.tgz", + "integrity": "sha512-PY+q1OP8RtQZkx1630pVfC3hEkxFnGW9LwIF/glSzcalyShkrH+W8uM/M4RVY12j4QkDQvRXVKOpU65hq6t0iQ==", + "dependencies": { + "@petamoriken/float16": "^3.4.7", + "lerc": "^3.0.0", + "lru-cache": "^6.0.0", + "pako": "^2.0.4", + "parse-headers": "^2.0.2", + "threads": "^1.7.0", + "xml-utils": "^1.0.2" + }, + "engines": { + "browsers": "defaults", + "node": ">=10.19" + } + }, + "node_modules/geotiff/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/geotiff/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-observable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz", + "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json-stringify-pretty-compact": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz", + "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==" + }, + "node_modules/lerc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==" + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/mapbox-to-css-font": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz", + "integrity": "sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow==" + }, + "node_modules/mgrs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", + "integrity": "sha1-+5FYjnjJACVnI5XLQLJffNatGCk=" + }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/observable-fns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz", + "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==" + }, + "node_modules/ol": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ol/-/ol-6.12.0.tgz", + "integrity": "sha512-HR87aV//64aiGWbgzfsyRF5zFG+1nM1keRE4SugY0vmYyG/jjoij8qh3uaFHkFNQThdAy99sgLiQwTFk6AvGgw==", + "dependencies": { + "geotiff": "^1.0.8", + "ol-mapbox-style": "^6.8.2", + "pbf": "3.2.1", + "rbush": "^3.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/openlayers" + } + }, + "node_modules/ol-layerswitcher": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.3.tgz", + "integrity": "sha512-UwUhalf/sGXjz3rvr0EjwsaUVlJAhyJCfcIPciKk1QdNbMKq/2ZXNKGafOjwP2eDxiqhkvnhpIrDGD8+gQ19Cg==", + "peerDependencies": { + "ol": ">=5.0.0" + } + }, + "node_modules/ol-mapbox-style": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-6.9.0.tgz", + "integrity": "sha512-Isxk+IPB6pCBD2Pubz9cpQcZjEeuPhxyk/QsLZjb2+KwvyGaIFltdlxnxx/QXJ7rOxUiLvS/XhsOyiK0c7prEw==", + "dependencies": { + "@mapbox/mapbox-gl-style-spec": "^13.20.1", + "mapbox-to-css-font": "^2.4.1", + "webfont-matcher": "^1.1.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/openlayers-dist": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/openlayers-dist/-/openlayers-dist-6.12.0.tgz", + "integrity": "sha512-AN2k4cVk/btW05A0UjnMoR/JzgZK2p0iSjiDONCnjC60doicio6wjQ2eSgONOgt7wZgQeEiPFYpNfwdZZJtsJQ==" + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" + }, + "node_modules/parse-headers": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "node_modules/pbf": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", + "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "dependencies": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, + "node_modules/pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/proj4": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.7.5.tgz", + "integrity": "sha512-5ecXUXbHAfvdhfBQpU7EhUfPCQGUCPmVup/4gnZA3bJY3JcK/xxzm4QQDz1xiXokN6ux65VDczlCtBtKrTSpAQ==", + "dependencies": { + "mgrs": "1.0.0", + "wkt-parser": "^1.3.1" + } + }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, + "node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "dependencies": { + "quickselect": "^2.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "dependencies": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "node_modules/rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "node_modules/rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "dependencies": { + "rx-lite": "*" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/sort-asc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz", + "integrity": "sha1-q3md9h/HPqCVbHnEtTHtHp53J+k=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-desc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz", + "integrity": "sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-object": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz", + "integrity": "sha1-mODRme3kDgfGGoRAPGHWw7KQ+eI=", + "dependencies": { + "sort-asc": "^0.1.0", + "sort-desc": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "dependencies": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/threads": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz", + "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==", + "dependencies": { + "callsites": "^3.1.0", + "debug": "^4.2.0", + "is-observable": "^2.1.0", + "observable-fns": "^0.6.1" + }, + "funding": { + "url": "https://github.com/andywer/threads.js?sponsor=1" + }, + "optionalDependencies": { + "tiny-worker": ">= 2" + } + }, + "node_modules/threads/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/threads/node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/threads/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/tiny-worker": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz", + "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==", + "optional": true, + "dependencies": { + "esm": "^3.2.25" + } + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/webfont-matcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webfont-matcher/-/webfont-matcher-1.1.0.tgz", + "integrity": "sha1-mM6VCXsp4x++czBT4Q5XFkLRxsc=" + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wkt-parser": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.2.tgz", + "integrity": "sha512-A26BOOo7sHAagyxG7iuRhnKMO7Q3mEOiOT4oGUmohtN/Li5wameeU4S6f8vWw6NADTVKljBs8bzA8JPQgSEMVQ==" + }, + "node_modules/word-wrap": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xml-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.0.2.tgz", + "integrity": "sha512-rEn0FvKi+YGjv9omf22oAf+0d6Ly/sgJ/CUufU/nOzS7SRLmgwSujrewc03KojXxt+aPaTRpm593TgehtUBMSQ==" + }, + "node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + }, + "dependencies": { + "@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha1-zlblOfg1UrWNENZy6k1vya3HsjQ=" + }, + "@mapbox/mapbox-gl-style-spec": { + "version": "13.23.1", + "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-style-spec/-/mapbox-gl-style-spec-13.23.1.tgz", + "integrity": "sha512-C6wh8A/5EdsgzhL6y6yl464VCQNIxK0yjrpnvCvchcFe3sNK2RbBw/J9u3m+p8Y6S6MsGuSMt3AkGAXOKMYweQ==", + "requires": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/unitbezier": "^0.0.0", + "csscolorparser": "~1.0.2", + "json-stringify-pretty-compact": "^2.0.0", + "minimist": "^1.2.5", + "rw": "^1.3.3", + "sort-object": "^0.3.2" + } + }, + "@mapbox/point-geometry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", + "integrity": "sha1-ioP5M1x4YO/6Lu7KJUMyqgru2PI=" + }, + "@mapbox/unitbezier": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", + "integrity": "sha1-FWUb1VOme4WB+zmIEMmK2Go0Uk4=" + }, + "@petamoriken/float16": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.6.2.tgz", + "integrity": "sha512-zZnksXtFBqvONcXWuAtSWrl3YXaDbU2ArRCCuzM42mP0GBJclD6e0GC3zEemmrjiMSOHcLPyRC4vOnAsnomJIw==" + }, + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true, + "requires": {} + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "csscolorparser": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", + "integrity": "sha1-s085HupNqPPpgjHizNjfnAQfFxs=" + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "esm": { + "version": "3.2.25", + "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", + "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", + "optional": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extjs-gpl": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/extjs-gpl/-/extjs-gpl-6.2.0.tgz", + "integrity": "sha512-A/l4PKXE89dojDoWkNKqr+2jryF9jX3KuuaXb3NWEKYAKipNyP4CZyVGj7HBJIZF9h/ioxaBm3YJdCklo+XDpQ==" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "geotiff": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-1.0.9.tgz", + "integrity": "sha512-PY+q1OP8RtQZkx1630pVfC3hEkxFnGW9LwIF/glSzcalyShkrH+W8uM/M4RVY12j4QkDQvRXVKOpU65hq6t0iQ==", + "requires": { + "@petamoriken/float16": "^3.4.7", + "lerc": "^3.0.0", + "lru-cache": "^6.0.0", + "pako": "^2.0.4", + "parse-headers": "^2.0.2", + "threads": "^1.7.0", + "xml-utils": "^1.0.2" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + } + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-observable": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-observable/-/is-observable-2.1.0.tgz", + "integrity": "sha512-DailKdLb0WU+xX8K5w7VsJhapwHLZ9jjmazqCJq4X12CTgqq73TKnbRcnSLuXYPOoLQgV5IrD7ePiX/h1vnkBw==" + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-pretty-compact": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-2.0.0.tgz", + "integrity": "sha512-WRitRfs6BGq4q8gTgOy4ek7iPFXjbra0H3PmDLKm2xnZ+Gh1HUhiKGgCZkSPNULlP7mvfu6FV/mOLhCarspADQ==" + }, + "lerc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==" + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "mapbox-to-css-font": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-2.4.1.tgz", + "integrity": "sha512-QQ/iKiM43DM9+aujTL45Iz5o7gDeSFmy4LPl3HZmNcwCE++NxGazf+yFpY+wCb+YS23sDa1ghpo3zrNFOcHlow==" + }, + "mgrs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", + "integrity": "sha1-+5FYjnjJACVnI5XLQLJffNatGCk=" + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "observable-fns": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/observable-fns/-/observable-fns-0.6.1.tgz", + "integrity": "sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==" + }, + "ol": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/ol/-/ol-6.12.0.tgz", + "integrity": "sha512-HR87aV//64aiGWbgzfsyRF5zFG+1nM1keRE4SugY0vmYyG/jjoij8qh3uaFHkFNQThdAy99sgLiQwTFk6AvGgw==", + "requires": { + "geotiff": "^1.0.8", + "ol-mapbox-style": "^6.8.2", + "pbf": "3.2.1", + "rbush": "^3.0.1" + } + }, + "ol-layerswitcher": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.3.tgz", + "integrity": "sha512-UwUhalf/sGXjz3rvr0EjwsaUVlJAhyJCfcIPciKk1QdNbMKq/2ZXNKGafOjwP2eDxiqhkvnhpIrDGD8+gQ19Cg==", + "requires": {} + }, + "ol-mapbox-style": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-6.9.0.tgz", + "integrity": "sha512-Isxk+IPB6pCBD2Pubz9cpQcZjEeuPhxyk/QsLZjb2+KwvyGaIFltdlxnxx/QXJ7rOxUiLvS/XhsOyiK0c7prEw==", + "requires": { + "@mapbox/mapbox-gl-style-spec": "^13.20.1", + "mapbox-to-css-font": "^2.4.1", + "webfont-matcher": "^1.1.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "openlayers-dist": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/openlayers-dist/-/openlayers-dist-6.12.0.tgz", + "integrity": "sha512-AN2k4cVk/btW05A0UjnMoR/JzgZK2p0iSjiDONCnjC60doicio6wjQ2eSgONOgt7wZgQeEiPFYpNfwdZZJtsJQ==" + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg==" + }, + "parse-headers": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "pbf": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", + "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "requires": { + "ieee754": "^1.1.12", + "resolve-protobuf-schema": "^2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "proj4": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.7.5.tgz", + "integrity": "sha512-5ecXUXbHAfvdhfBQpU7EhUfPCQGUCPmVup/4gnZA3bJY3JcK/xxzm4QQDz1xiXokN6ux65VDczlCtBtKrTSpAQ==", + "requires": { + "mgrs": "1.0.0", + "wkt-parser": "^1.3.1" + } + }, + "protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, + "rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "requires": { + "quickselect": "^2.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "requires": { + "protocol-buffers-schema": "^3.3.1" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "*" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "sort-asc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.1.0.tgz", + "integrity": "sha1-q3md9h/HPqCVbHnEtTHtHp53J+k=" + }, + "sort-desc": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.1.1.tgz", + "integrity": "sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4=" + }, + "sort-object": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-0.3.2.tgz", + "integrity": "sha1-mODRme3kDgfGGoRAPGHWw7KQ+eI=", + "requires": { + "sort-asc": "^0.1.0", + "sort-desc": "^0.1.1" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "threads": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/threads/-/threads-1.7.0.tgz", + "integrity": "sha512-Mx5NBSHX3sQYR6iI9VYbgHKBLisyB+xROCBGjjWm1O9wb9vfLxdaGtmT/KCjUqMsSNW6nERzCW3T6H43LqjDZQ==", + "requires": { + "callsites": "^3.1.0", + "debug": "^4.2.0", + "is-observable": "^2.1.0", + "observable-fns": "^0.6.1", + "tiny-worker": ">= 2" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "tiny-worker": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tiny-worker/-/tiny-worker-2.3.0.tgz", + "integrity": "sha512-pJ70wq5EAqTAEl9IkGzA+fN0836rycEuz2Cn6yeZ6FRzlVS5IDOkFHpIoEsksPRQV34GDqXm65+OlnZqUSyK2g==", + "optional": true, + "requires": { + "esm": "^3.2.25" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "webfont-matcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webfont-matcher/-/webfont-matcher-1.1.0.tgz", + "integrity": "sha1-mM6VCXsp4x++czBT4Q5XFkLRxsc=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wkt-parser": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.2.tgz", + "integrity": "sha512-A26BOOo7sHAagyxG7iuRhnKMO7Q3mEOiOT4oGUmohtN/Li5wameeU4S6f8vWw6NADTVKljBs8bzA8JPQgSEMVQ==" + }, + "word-wrap": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "xml-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.0.2.tgz", + "integrity": "sha512-rEn0FvKi+YGjv9omf22oAf+0d6Ly/sgJ/CUufU/nOzS7SRLmgwSujrewc03KojXxt+aPaTRpm593TgehtUBMSQ==" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } +} diff --git a/legacy/package.json b/legacy/package.json new file mode 100644 index 00000000..d8c43c6b --- /dev/null +++ b/legacy/package.json @@ -0,0 +1,18 @@ +{ + "name": "traccar-web", + "dependencies": { + "extjs-gpl": "^6.2.0", + "ol": "^6.12.0", + "ol-layerswitcher": "^3.8.3", + "openlayers-dist": "^6.12.0", + "proj4": "^2.7.5" + }, + "devDependencies": { + "eslint": "^4.4.1" + }, + "scripts": { + "postinstall": "/bin/bash -c 'mkdir -p web/lib/{ol,ol-layerswitcher,proj4,extjs} && cp node_modules/openlayers-dist/{ol.js,ol.css} web/lib/ol/ && cp node_modules/ol-layerswitcher/dist/{ol-layerswitcher.js,ol-layerswitcher.css} web/lib/ol-layerswitcher/ && cp node_modules/proj4/dist/proj4.js web/lib/proj4/ && cp node_modules/extjs-gpl/build/ext-all.js web/lib/extjs/ && mkdir -p web/lib/extjs/classic && cp -r node_modules/extjs-gpl/build/classic/locale web/lib/extjs/classic/locale && cp -r node_modules/extjs-gpl/build/classic/theme-triton web/lib/extjs/classic/theme-triton && mkdir -p web/lib/extjs/packages/charts && cp -r node_modules/extjs-gpl/build/packages/charts/classic web/lib/extjs/packages/charts/classic'", + "build": "sencha compile --classpath=web/app.js,web/app,node_modules/extjs-gpl/packages/core/src,node_modules/extjs-gpl/packages/core/overrides,node_modules/extjs-gpl/classic/classic/src,node_modules/extjs-gpl/classic/classic/overrides exclude -all and include -recursive -file web/app.js and exclude -namespace=Ext and concatenate -closure web/app.min.js", + "lint": "./node_modules/.bin/eslint web/." + } +} diff --git a/legacy/web/app.css b/legacy/web/app.css new file mode 100644 index 00000000..f9f28bb9 --- /dev/null +++ b/legacy/web/app.css @@ -0,0 +1,62 @@ +.view-color-green { + background-color: rgba(77, 250, 144, 0.3); +} +.view-color-yellow { + background-color: rgba(250, 190, 77, 0.3); +} +.view-color-red { + background-color: rgba(255, 84, 104, 0.3); +} + +.view-item-disabled { + opacity: 0.5; +} + +.toolbar-header-style { + background-color: #5fa2dd !important; +} + +body.x-border-layout-ct, div.x-border-layout-ct { + background-color: #bbbbbb !important; +} + +.x-fieldset { + overflow: visible !important; /* workaround for Safari issue */ +} + +#update { + position: absolute; + width: 100%; + top: 20px; + font-weight: bold; + text-align: center; +} + +#attribution { + position: absolute; + bottom: 10px; + right: 15px; + font-size: x-small; +} + +#spinner:before { + content: ''; + box-sizing: border-box; + position: absolute; + top: 50%; + left: 50%; + width: 60px; + height: 60px; + margin-top: -30px; + margin-left: -30px; + border-radius: 50%; + border-top: 6px solid #5fa2dd; + border-right: 6px solid transparent; + animation: spinner .6s linear infinite; +} + +@keyframes spinner { + to { + transform: rotate(360deg); + } +} diff --git a/legacy/web/app.js b/legacy/web/app.js new file mode 100644 index 00000000..cc95b0a9 --- /dev/null +++ b/legacy/web/app.js @@ -0,0 +1,21 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.application({ + name: 'Traccar', + extend: 'Traccar.Application' +}); diff --git a/legacy/web/app/Application.js b/legacy/web/app/Application.js new file mode 100644 index 00000000..dd9210dc --- /dev/null +++ b/legacy/web/app/Application.js @@ -0,0 +1,246 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.Application', { + extend: 'Ext.app.Application', + name: 'Traccar', + + requires: [ + 'Traccar.Style', + 'Traccar.AttributeFormatter', + 'Traccar.view.TouchFix62' + ], + + models: [ + 'Server', + 'User', + 'Group', + 'Device', + 'Position', + 'Attribute', + 'Command', + 'Event', + 'Geofence', + 'Notification', + 'ReportSummary', + 'ReportTrip', + 'ReportStop', + 'Calendar', + 'KnownAttribute', + 'Driver', + 'KnownCommand', + 'KnownNotification', + 'Maintenance' + ], + + stores: [ + 'Groups', + 'Devices', + 'AllGroups', + 'AllDevices', + 'AlarmTypes', + 'Positions', + 'LatestPositions', + 'EventPositions', + 'Users', + 'Attributes', + 'MapTypes', + 'DistanceUnits', + 'SpeedUnits', + 'CoordinateFormats', + 'CommandTypes', + 'TimeUnits', + 'Languages', + 'Events', + 'Geofences', + 'AllGeofences', + 'Notifications', + 'AllNotifications', + 'GeofenceTypes', + 'ReportRoute', + 'ReportEvents', + 'ReportTrips', + 'ReportStops', + 'ReportSummary', + 'ReportTypes', + 'ReportEventTypes', + 'ReportChartTypes', + 'ReportPeriods', + 'Statistics', + 'DeviceImages', + 'Calendars', + 'AllCalendars', + 'AllTimezones', + 'VisibleDevices', + 'DeviceStatuses', + 'CommonDeviceAttributes', + 'DeviceAttributes', + 'GeofenceAttributes', + 'GroupAttributes', + 'ServerAttributes', + 'CommonUserAttributes', + 'UserAttributes', + 'ComputedAttributes', + 'AllComputedAttributes', + 'PositionAttributes', + 'AttributeValueTypes', + 'Drivers', + 'AllDrivers', + 'KnownCommands', + 'VolumeUnits', + 'AllCommandTypes', + 'Commands', + 'AllCommands', + 'DeviceCommands', + 'AllNotificationTypes', + 'Maintenances', + 'AllMaintenances', + 'MaintenanceTypes', + 'HoursUnits', + 'AllNotificators' + ], + + controllers: [ + 'Root' + ], + + isMobile: function () { + return window.matchMedia && window.matchMedia('(max-width: 768px)').matches; + }, + + getVehicleFeaturesDisabled: function () { + return this.getBooleanAttributePreference('ui.disableVehicleFeatures'); + }, + + getEventString: function (eventType) { + var key = 'event' + eventType.charAt(0).toUpperCase() + eventType.slice(1); + return Strings[key] || key; + }, + + getNotificatorString: function (eventType) { + var key = 'notificator' + eventType.charAt(0).toUpperCase() + eventType.slice(1); + return Strings[key] || key; + }, + + showReports: function (show) { + var rootPanel = Ext.getCmp('rootPanel'); + if (rootPanel) { + rootPanel.setActiveItem(show ? 1 : 0); + } + }, + + showEvents: function (show) { + var rootPanel = Ext.getCmp('rootPanel'); + if (rootPanel) { + rootPanel.setActiveItem(show ? 2 : 0); + } + }, + + updateNotificationToken: function (token) { + var attributes = Ext.clone(this.user.get('attributes')); + if (!attributes.notificationTokens || attributes.notificationTokens.indexOf(token) < 0) { + if (!attributes.notificationTokens) { + attributes.notificationTokens = token; + } else { + attributes.notificationTokens += ',' + token; + } + this.user.set('attributes', attributes); + this.user.save(); + } + }, + + setUser: function (data) { + var reader = Ext.create('Ext.data.reader.Json', { + model: 'Traccar.model.User' + }); + this.user = reader.readRecords(data).getRecords()[0]; + }, + + getUser: function () { + return this.user; + }, + + setServer: function (data) { + var reader = Ext.create('Ext.data.reader.Json', { + model: 'Traccar.model.Server' + }); + this.server = reader.readRecords(data).getRecords()[0]; + }, + + getServer: function () { + return this.server; + }, + + getPreference: function (key, defaultValue) { + if (this.getServer().get('forceSettings')) { + return this.getServer().get(key) || this.getUser().get(key) || defaultValue; + } else { + return this.getUser().get(key) || this.getServer().get(key) || defaultValue; + } + }, + + getAttributePreference: function (key, defaultValue) { + if (this.getServer().get('forceSettings')) { + return this.getServer().get('attributes')[key] || this.getUser().get('attributes')[key] || defaultValue; + } else { + return this.getUser().get('attributes')[key] || this.getServer().get('attributes')[key] || defaultValue; + } + }, + + getBooleanAttributePreference: function (key) { + return this.getAttributePreference(key, false).toString() === 'true'; + }, + + getReportColor: function (deviceId) { + var index, reportColor, device = Ext.getStore('Devices').getById(deviceId); + if (device) { + reportColor = device.get('attributes')['web.reportColor']; + } + if (reportColor) { + return reportColor; + } else { + index = 0; + if (deviceId !== undefined) { + index = deviceId % Traccar.Style.mapRouteColor.length; + } + return Traccar.Style.mapRouteColor[index]; + } + }, + + showError: function (error) { + if (Ext.isString(error)) { + Ext.Msg.alert(Strings.errorTitle, error); + } else if (error.responseText) { + Ext.Msg.alert(Strings.errorTitle, Strings.errorGeneral + + '<br><br><textarea readonly rows="5" style="resize: none; width: 100%;">' + + error.responseText + '</textarea>'); + } else if (error.statusText) { + Ext.Msg.alert(Strings.errorTitle, error.statusText); + } else { + Ext.Msg.alert(Strings.errorTitle, Strings.errorConnection); + } + }, + + showToast: function (message, title) { + Ext.toast({ + html: message, + title: title, + width: Traccar.Style.toastWidth, + align: 'br' + }); + } +}); diff --git a/legacy/web/app/AttributeFormatter.js b/legacy/web/app/AttributeFormatter.js new file mode 100644 index 00000000..d207ef1e --- /dev/null +++ b/legacy/web/app/AttributeFormatter.js @@ -0,0 +1,311 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.AttributeFormatter', { + singleton: true, + + numberFormatterFactory: function (precision, suffix) { + return function (value) { + if (value !== undefined) { + return Number(value.toFixed(precision)) + ' ' + suffix; + } + return null; + }; + }, + + coordinateFormatter: function (key, value) { + return Ext.getStore('CoordinateFormats').formatValue(key, value, Traccar.app.getPreference('coordinateFormat')); + }, + + speedFormatter: function (value) { + return Ext.getStore('SpeedUnits').formatValue(value, Traccar.app.getAttributePreference('speedUnit')); + }, + + speedConverter: function (value) { + return Ext.getStore('SpeedUnits').convertValue(value, Traccar.app.getAttributePreference('speedUnit')); + }, + + courseFormatter: function (value) { + var courseValues = ['N', 'NE', 'E', 'SE', 'S', 'SW', 'W', 'NW']; + return courseValues[Math.floor(value / 45)]; + }, + + distanceFormatter: function (value) { + return Ext.getStore('DistanceUnits').formatValue(value, Traccar.app.getAttributePreference('distanceUnit')); + }, + + distanceConverter: function (value) { + return Ext.getStore('DistanceUnits').convertValue(value, Traccar.app.getAttributePreference('distanceUnit')); + }, + + volumeFormatter: function (value) { + return Ext.getStore('VolumeUnits').formatValue(value, Traccar.app.getAttributePreference('volumeUnit')); + }, + + volumeConverter: function (value) { + return Ext.getStore('VolumeUnits').convertValue(value, Traccar.app.getAttributePreference('volumeUnit')); + }, + + hoursFormatter: function (value) { + return Ext.getStore('HoursUnits').formatValue(value, 'h'); + }, + + hoursConverter: function (value) { + return Ext.getStore('HoursUnits').convertValue(value, 'h'); + }, + + durationFormatter: function (value) { + return Ext.getStore('HoursUnits').formatValue(value, 'h', true); + }, + + deviceIdFormatter: function (value) { + var device, store; + if (value !== 0) { + store = Ext.getStore('AllDevices'); + if (store.getTotalCount() === 0) { + store = Ext.getStore('Devices'); + } + device = store.getById(value); + return device ? device.get('name') : ''; + } + return null; + }, + + groupIdFormatter: function (value) { + var group, store; + if (value !== 0) { + store = Ext.getStore('AllGroups'); + if (store.getTotalCount() === 0) { + store = Ext.getStore('Groups'); + } + group = store.getById(value); + return group ? group.get('name') : value; + } + return null; + }, + + geofenceIdFormatter: function (value) { + var geofence, store; + if (value !== 0) { + store = Ext.getStore('AllGeofences'); + if (store.getTotalCount() === 0) { + store = Ext.getStore('Geofences'); + } + geofence = store.getById(value); + return geofence ? geofence.get('name') : ''; + } + return null; + }, + + calendarIdFormatter: function (value) { + var calendar, store; + if (value !== 0) { + store = Ext.getStore('AllCalendars'); + if (store.getTotalCount() === 0) { + store = Ext.getStore('Calendars'); + } + calendar = store.getById(value); + return calendar ? calendar.get('name') : ''; + } + return null; + }, + + driverUniqueIdFormatter: function (value) { + var driver, store; + if (value !== 0) { + store = Ext.getStore('AllDrivers'); + if (store.getTotalCount() === 0) { + store = Ext.getStore('Drivers'); + } + driver = store.findRecord('uniqueId', value, 0, false, true, true); + return driver ? value + ' (' + driver.get('name') + ')' : value; + } + return null; + }, + + maintenanceIdFormatter: function (value) { + var maintenance, store; + if (value !== 0) { + store = Ext.getStore('AllMaintenances'); + if (store.getTotalCount() === 0) { + store = Ext.getStore('Maintenances'); + } + maintenance = store.getById(value); + return maintenance ? maintenance.get('name') : ''; + } + return null; + }, + + lastUpdateFormatter: function (value) { + var seconds, interval; + if (value) { + seconds = Math.floor((new Date() - value) / 1000); + if (seconds < 0) { + seconds = 0; + } + interval = Math.floor(seconds / 86400); + if (interval > 1) { + return interval + ' ' + Strings.sharedDays; + } + interval = Math.floor(seconds / 3600); + if (interval > 1) { + return interval + ' ' + Strings.sharedHours; + } + return Math.floor(seconds / 60) + ' ' + Strings.sharedMinutes; + } + return null; + }, + + commandTypeFormatter: function (value) { + var name = Strings['command' + value.charAt(0).toUpperCase() + value.slice(1)]; + return name ? name : value; + }, + + defaultFormatter: function (value) { + if (typeof value === 'number') { + return Number(value.toFixed(Traccar.Style.numberPrecision)); + } else if (typeof value === 'boolean') { + return value ? Ext.Msg.buttonText.yes : Ext.Msg.buttonText.no; + } else if (value instanceof Date) { + if (Traccar.app.getPreference('twelveHourFormat', false)) { + return Ext.Date.format(value, Traccar.Style.dateTimeFormat12); + } else { + return Ext.Date.format(value, Traccar.Style.dateTimeFormat24); + } + } + return value; + }, + + dateFormatter: function (value) { + return Ext.Date.format(value, Traccar.Style.dateFormat); + }, + + getFormatter: function (key) { + var self = this; + + switch (key) { + case 'latitude': + case 'longitude': + return function (value) { + return self.coordinateFormatter(key, value); + }; + case 'speed': + return this.speedFormatter; + case 'course': + return this.courseFormatter; + case 'distance': + case 'accuracy': + return this.distanceFormatter; + case 'duration': + return this.durationFormatter; + case 'deviceId': + return this.deviceIdFormatter; + case 'groupId': + return this.groupIdFormatter; + case 'geofenceId': + return this.geofenceIdFormatter; + case 'maintenanceId': + return this.maintenanceIdFormatter; + case 'calendarId': + return this.calendarIdFormatter; + case 'lastUpdate': + return this.lastUpdateFormatter; + case 'spentFuel': + return this.volumeFormatter; + case 'driverUniqueId': + return this.driverUniqueIdFormatter; + case 'commandType': + return this.commandTypeFormatter; + default: + return this.defaultFormatter; + } + }, + + getConverter: function (key) { + switch (key) { + case 'speed': + return this.speedConverter; + case 'distance': + case 'accuracy': + return this.distanceConverter; + case 'spentFuel': + return this.volumeConverter; + default: + return function (value) { + return value; + }; + } + }, + + getAttributeFormatter: function (key) { + var dataType = Ext.getStore('PositionAttributes').getAttributeDataType(key); + + switch (dataType) { + case 'distance': + return this.distanceFormatter; + case 'speed': + return this.speedFormatter; + case 'driverUniqueId': + return this.driverUniqueIdFormatter; + case 'voltage': + return this.numberFormatterFactory(Traccar.Style.numberPrecision, Strings.sharedVoltAbbreviation); + case 'percentage': + return this.numberFormatterFactory(Traccar.Style.numberPrecision, '%'); + case 'temperature': + return this.numberFormatterFactory(Traccar.Style.numberPrecision, '°C'); + case 'volume': + return this.volumeFormatter; + case 'hours': + return this.hoursFormatter; + case 'consumption': + return this.numberFormatterFactory(Traccar.Style.numberPrecision, Strings.sharedLiterPerHourAbbreviation); + default: + return this.defaultFormatter; + } + }, + + getAttributeConverter: function (key) { + var dataType = Ext.getStore('PositionAttributes').getAttributeDataType(key); + + switch (dataType) { + case 'distance': + return this.distanceConverter; + case 'speed': + return this.speedConverter; + case 'volume': + return this.volumeConverter; + case 'hours': + return this.hoursConverter; + default: + return function (value) { + return value; + }; + } + }, + + renderAttribute: function (value, attribute) { + if (attribute && attribute.get('dataType') === 'speed') { + return Ext.getStore('SpeedUnits').formatValue(value, Traccar.app.getAttributePreference('speedUnit', 'kn'), true); + } else if (attribute && attribute.get('dataType') === 'distance') { + return Ext.getStore('DistanceUnits').formatValue(value, Traccar.app.getAttributePreference('distanceUnit', 'km'), true); + } else if (attribute && attribute.get('dataType') === 'hours') { + return Ext.getStore('HoursUnits').formatValue(value, 'h', true); + } else { + return value; + } + } +}); diff --git a/legacy/web/app/DeviceImages.js b/legacy/web/app/DeviceImages.js new file mode 100644 index 00000000..af45ce90 --- /dev/null +++ b/legacy/web/app/DeviceImages.js @@ -0,0 +1,99 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.DeviceImages', { + singleton: true, + + getImageSvg: function (color, zoom, angle, category) { + var i, info, svg, width, height, rotateTransform, scaleTransform, fill; + + info = Ext.getStore('DeviceImages').findRecord('key', category || 'default', 0, false, false, true); + svg = Ext.clone(info.get('svg')); + if (!svg) { + svg = this.cloneDocument(info.get('svg')); + } + + width = parseFloat(svg.documentElement.getAttribute('width')); + height = parseFloat(svg.documentElement.getAttribute('height')); + + fill = info.get('fillId'); + if (!Ext.isArray(fill)) { + fill = [fill]; + } + for (i = 0; i < fill.length; i++) { + svg.getElementById(fill[i]).style.fill = color; + } + + rotateTransform = 'rotate(' + angle + ' ' + width / 2 + ' ' + height / 2 + ')'; + svg.getElementById(info.get('rotateId')).setAttribute('transform', rotateTransform); + + if (zoom) { + width *= Traccar.Style.mapScaleSelected; + height *= Traccar.Style.mapScaleSelected; + scaleTransform = 'scale(' + Traccar.Style.mapScaleSelected + ') '; + } else { + width *= Traccar.Style.mapScaleNormal; + height *= Traccar.Style.mapScaleNormal; + scaleTransform = 'scale(' + Traccar.Style.mapScaleNormal + ') '; + } + + if (info.get('scaleId') !== info.get('rotateId')) { + svg.getElementById(info.get('scaleId')).setAttribute('transform', scaleTransform); + } else { + svg.getElementById(info.get('scaleId')).setAttribute('transform', scaleTransform + ' ' + rotateTransform); + } + + svg.documentElement.setAttribute('width', width); + svg.documentElement.setAttribute('height', height); + svg.documentElement.setAttribute('viewBox', '0 0 ' + width + ' ' + height); + + return svg; + }, + + formatSrc: function (svg) { + return 'data:image/svg+xml;charset=utf-8,' + + encodeURIComponent(new XMLSerializer().serializeToString(svg.documentElement)); + }, + + cloneDocument: function (svgDocument) { + var newDocument, newNode; + newDocument = svgDocument.implementation.createDocument(svgDocument.namespaceURI, null, null); + newNode = newDocument.importNode(svgDocument.documentElement, true); + newDocument.appendChild(newNode); + return newDocument; + }, + + getImageIcon: function (color, zoom, angle, category) { + var image, svg, width, height; + + svg = this.getImageSvg(color, zoom, angle, category); + width = parseFloat(svg.documentElement.getAttribute('width')); + height = parseFloat(svg.documentElement.getAttribute('height')); + + image = new ol.style.Icon({ + imgSize: [width, height], + src: this.formatSrc(svg) + }); + image.fill = color; + image.zoom = zoom; + image.angle = angle; + image.category = category; + + return image; + } +}); diff --git a/legacy/web/app/GeofenceConverter.js b/legacy/web/app/GeofenceConverter.js new file mode 100644 index 00000000..688f2233 --- /dev/null +++ b/legacy/web/app/GeofenceConverter.js @@ -0,0 +1,101 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.GeofenceConverter', { + singleton: true, + + wktToGeometry: function (mapView, wkt) { + var geometry, projection, resolutionAtEquator, pointResolution, resolutionFactor, + points = [], center, radius, content, i, lat, lon, coordinates; + if (wkt.lastIndexOf('POLYGON', 0) === 0) { + content = wkt.match(/\([^()]+\)/); + if (content !== null) { + coordinates = content[0].match(/-?\d+\.?\d*/g); + if (coordinates !== null) { + projection = mapView.getProjection(); + for (i = 0; i < coordinates.length; i += 2) { + lat = Number(coordinates[i]); + lon = Number(coordinates[i + 1]); + points.push(ol.proj.transform([lon, lat], 'EPSG:4326', projection)); + } + geometry = new ol.geom.Polygon([points]); + } + } + } else if (wkt.lastIndexOf('CIRCLE', 0) === 0) { + content = wkt.match(/\([^()]+\)/); + if (content !== null) { + coordinates = content[0].match(/-?\d+\.?\d*/g); + if (coordinates !== null) { + projection = mapView.getProjection(); + center = ol.proj.transform([Number(coordinates[1]), Number(coordinates[0])], 'EPSG:4326', projection); + resolutionAtEquator = mapView.getResolution(); + pointResolution = ol.proj.getPointResolution(projection, resolutionAtEquator, center); + resolutionFactor = resolutionAtEquator / pointResolution; + radius = Number(coordinates[2]) / ol.proj.Units.METERS_PER_UNIT.m * resolutionFactor; + geometry = new ol.geom.Circle(center, radius); + } + } + } else if (wkt.lastIndexOf('LINESTRING', 0) === 0) { + content = wkt.match(/\([^()]+\)/); + if (content !== null) { + coordinates = content[0].match(/-?\d+\.?\d*/g); + if (coordinates !== null) { + projection = mapView.getProjection(); + for (i = 0; i < coordinates.length; i += 2) { + lat = Number(coordinates[i]); + lon = Number(coordinates[i + 1]); + points.push(ol.proj.transform([lon, lat], 'EPSG:4326', projection)); + } + geometry = new ol.geom.LineString(points); + } + } + } + return geometry; + }, + + geometryToWkt: function (projection, geometry) { + var result, i, center, radius, edgeCoordinate, groundRadius, points; + if (geometry instanceof ol.geom.Circle) { + center = geometry.getCenter(); + radius = geometry.getRadius(); + edgeCoordinate = [center[0] + radius, center[1]]; + center = ol.proj.transform(center, projection, 'EPSG:4326'); + groundRadius = ol.sphere.getDistance( + center, ol.proj.transform(edgeCoordinate, projection, 'EPSG:4326'), 6378137); + result = 'CIRCLE ('; + result += center[1] + ' ' + center[0] + ', '; + result += groundRadius.toFixed(1) + ')'; + } else if (geometry instanceof ol.geom.Polygon) { + geometry.transform(projection, 'EPSG:4326'); + points = geometry.getCoordinates(); + result = 'POLYGON(('; + for (i = 0; i < points[0].length; i += 1) { + result += points[0][i][1] + ' ' + points[0][i][0] + ', '; + } + result = result.substring(0, result.length - 2) + '))'; + } else if (geometry instanceof ol.geom.LineString) { + geometry.transform(projection, 'EPSG:4326'); + points = geometry.getCoordinates(); + result = 'LINESTRING ('; + for (i = 0; i < points.length; i += 1) { + result += points[i][1] + ' ' + points[i][0] + ', '; + } + result = result.substring(0, result.length - 2) + ')'; + } + return result; + } +}); diff --git a/legacy/web/app/Style.js b/legacy/web/app/Style.js new file mode 100644 index 00000000..371e05a1 --- /dev/null +++ b/legacy/web/app/Style.js @@ -0,0 +1,95 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.Style', { + singleton: true, + + refreshPeriod: 60 * 1000, + reconnectTimeout: 60 * 1000, + reportTimeout: 120 * 1000, + + normalPadding: 10, + + windowWidth: 800, + windowHeight: 600, + + formFieldWidth: 275, + + dateTimeFormat24: 'Y-m-d H:i:s', + dateTimeFormat12: 'Y-m-d g:i:s a', + timeFormat24: 'H:i', + timeFormat12: 'g:i a', + dateFormat: 'Y-m-d', + weekStartDay: 1, + + deviceWidth: 400, + toastWidth: 300, + + reportHeight: 250, + + columnWidthNormal: 100, + + mapDefaultLat: 48.8567, + mapDefaultLon: 2.3508, + mapDefaultZoom: 4, + + mapRouteColor: [ + '#F06292', + '#BA68C8', + '#4DD0E1', + '#4DB6AC', + '#FF8A65', + '#A1887F' + ], + mapRouteWidth: 5, + + mapTextColor: 'rgba(50, 50, 50, 1.0)', + mapTextStrokeColor: 'rgba(255, 255, 255, 1.0)', + mapTextStrokeWidth: 2, + mapTextOffset: 2, + mapTextFont: 'bold 12px sans-serif', + + mapColorOnline: 'rgba(77, 250, 144, 1.0)', + mapColorUnknown: 'rgba(250, 190, 77, 1.0)', + mapColorOffline: 'rgba(255, 162, 173, 1.0)', + + mapScaleNormal: 1, + mapScaleSelected: 1.5, + + mapMaxZoom: 18, + mapDelay: 500, + + mapAccuracyColor: 'rgba(96, 96, 96, 1.0)', + + mapGeofenceTextColor: 'rgba(14, 88, 141, 1.0)', + mapGeofenceColor: 'rgba(21, 127, 204, 1.0)', + mapGeofenceOverlayOpacity: 0.2, + mapGeofenceWidth: 5, + mapGeofenceRadius: 9, + + mapAnimateMarkerDuration: 2000, + mapAnimateMarkerTimeout: 40, + + coordinatePrecision: 6, + numberPrecision: 2, + + reportGridStyle: 'borderTop: 1px solid lightgray', + + chartPadding: '20 40 10 10', + chartMarkerRadius: 3, + chartMarkerHighlightScaling: 1.5 +}); diff --git a/legacy/web/app/controller/Root.js b/legacy/web/app/controller/Root.js new file mode 100644 index 00000000..22869f45 --- /dev/null +++ b/legacy/web/app/controller/Root.js @@ -0,0 +1,363 @@ +/* + * Copyright 2015 - 2022 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.controller.Root', { + extend: 'Ext.app.Controller', + alias: 'controller.root', + + requires: [ + 'Traccar.view.dialog.Login', + 'Traccar.view.Main', + 'Traccar.view.MainMobile', + 'Traccar.model.Position' + ], + + init: function () { + var i, data, attribute, chartTypesStore, maintenanceTypesStore; + chartTypesStore = Ext.getStore('ReportChartTypes'); + maintenanceTypesStore = Ext.getStore('MaintenanceTypes'); + Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); + data = Ext.getStore('PositionAttributes').getData().items; + for (i = 0; i < data.length; i++) { + attribute = data[i]; + Traccar.model.Position.addFields([{ + name: 'attribute.' + attribute.get('key'), + attributeKey: attribute.get('key'), + calculate: this.calculateAttribute, + persist: false + }]); + if (attribute.get('valueType') === 'number') { + chartTypesStore.add({ + key: 'attribute.' + attribute.get('key'), + name: attribute.get('name') + }); + maintenanceTypesStore.add(attribute); + } + } + }, + + calculateAttribute: function (data) { + var value = data.attributes[this.attributeKey]; + if (value !== undefined) { + return Traccar.AttributeFormatter.getAttributeConverter(this.attributeKey)(value); + } + return value; + }, + + onLaunch: function () { + Ext.Ajax.request({ + scope: this, + url: 'api/server', + callback: this.onServerReturn + }); + }, + + showAnnouncement: function (announcement) { + var maxWidth = Ext.getBody().getViewSize().width - 2 * Traccar.Style.normalPadding; + if (maxWidth > Traccar.Style.windowWidth) { + maxWidth = Traccar.Style.windowWidth; + } + Ext.Msg.show({ + msg: announcement, + buttons: Ext.Msg.OK, + closable: false, + modal: false, + maxWidth: maxWidth + }).alignTo(Ext.getBody(), 't-t', [0, Traccar.Style.normalPadding]); + }, + + onServerReturn: function (options, success, response) { + var announcement, token, parameters = {}; + if (success) { + Traccar.app.setServer(Ext.decode(response.responseText)); + announcement = Traccar.app.getServer().get('announcement'); + if (announcement) { + this.showAnnouncement(announcement); + } + token = Ext.Object.fromQueryString(window.location.search).token; + if (token) { + parameters.token = token; + } + Ext.Ajax.request({ + scope: this, + url: 'api/session', + method: 'GET', + params: parameters, + callback: this.onSessionReturn + }); + } else { + Traccar.app.showError(response); + } + }, + + onSessionReturn: function (options, success, response) { + var passwordReset, dialog; + Ext.get('spinner').setVisible(false); + if (success) { + Traccar.app.setUser(Ext.decode(response.responseText)); + this.loadApp(); + } else { + this.login = Ext.create('widget.login', { + listeners: { + scope: this, + login: this.onLogin + } + }); + this.login.show(); + + passwordReset = Ext.Object.fromQueryString(window.location.search).passwordReset; + if (passwordReset) { + dialog = Ext.Msg.prompt(Strings.loginReset, Strings.userPassword, function (btn, text) { + dialog.textField.inputEl.dom.type = 'text'; + if (btn === 'ok') { + Ext.Ajax.request({ + scope: this, + method: 'POST', + url: 'api/password/update', + params: { + token: passwordReset, + password: text + }, + callback: function (options, success, response) { + if (success) { + Traccar.app.showToast(Strings.loginUpdateSuccess); + this.removeUrlParameter('passwordReset'); + } else { + Traccar.app.showError(response.responseText); + } + } + }); + } + }, this); + dialog.textField.inputEl.dom.type = 'password'; + } + } + }, + + onLogin: function () { + this.login.close(); + this.loadApp(); + }, + + loadApp: function () { + var updateView, attributionView, eventId; + + if (window.webkit && window.webkit.messageHandlers.appInterface) { + window.webkit.messageHandlers.appInterface.postMessage('login'); + } + if (window.appInterface) { + window.appInterface.postMessage('login'); + } + + Ext.getStore('Groups').load(); + Ext.getStore('Drivers').load(); + Ext.getStore('Geofences').load(); + Ext.getStore('Calendars').load(); + Ext.getStore('Maintenances').load(); + Ext.getStore('ComputedAttributes').load(); + Ext.getStore('AllCommandTypes').load(); + Ext.getStore('Commands').load(); + Ext.getStore('AllNotificationTypes').load({ + callback: function (records, operation, success) { + var store = Ext.getStore('ReportEventTypes'); + if (success) { + store.add({ + type: Traccar.store.ReportEventTypes.allEvents, + name: Strings.eventAll + }); + store.loadData(records, true); + } + } + }); + Ext.getStore('AllNotificators').load(); + Ext.getStore('Notifications').load(); + + Ext.getStore('ServerAttributes').loadData(Ext.getStore('CommonDeviceAttributes').getData().items, true); + Ext.getStore('ServerAttributes').loadData(Ext.getStore('CommonUserAttributes').getData().items, true); + Ext.getStore('UserAttributes').loadData(Ext.getStore('CommonUserAttributes').getData().items, true); + Ext.getStore('DeviceAttributes').loadData(Ext.getStore('CommonDeviceAttributes').getData().items, true); + Ext.getStore('GroupAttributes').loadData(Ext.getStore('CommonDeviceAttributes').getData().items, true); + + Ext.getStore('Devices').load({ + scope: this, + callback: function () { + this.asyncUpdate(true); + } + }); + updateView = Ext.get('update'); + if (updateView) { + updateView.remove(); + } + attributionView = Ext.get('attribution'); + if (attributionView) { + attributionView.remove(); + } + if (Traccar.app.isMobile()) { + Ext.create('widget.mainMobile'); + } else { + Ext.create('widget.main'); + } + eventId = Ext.Object.fromQueryString(window.location.search).eventId; + if (eventId) { + this.fireEvent('showsingleevent', eventId); + this.removeUrlParameter('eventId'); + } + }, + + beep: function () { + if (!this.beepSound) { + this.beepSound = new Audio('beep.wav'); + } + this.beepSound.play(); + }, + + soundPressed: function () { + var soundButton = Ext.getCmp('soundButton'); + return soundButton && soundButton.pressed; + }, + + removeUrlParameter: function (param) { + var params = Ext.Object.fromQueryString(window.location.search); + delete params[param]; + if (Ext.Object.isEmpty(params)) { + window.history.pushState(null, null, window.location.pathname); + } else { + window.history.pushState(null, null, window.location.pathname + '?' + Ext.Object.toQueryString(params)); + } + }, + + asyncUpdate: function (first) { + var self = this, protocol, pathname, socket; + protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:'; + pathname = window.location.pathname.substring(0, window.location.pathname.lastIndexOf('/') + 1); + socket = new WebSocket(protocol + '//' + window.location.host + pathname + 'api/socket'); + + socket.onclose = function () { + Ext.Ajax.request({ + url: 'api/devices', + success: function (response) { + self.updateDevices(Ext.decode(response.responseText)); + }, + failure: function (response) { + if (response.status === 401) { + window.location.reload(); + } + } + }); + + Ext.Ajax.request({ + url: 'api/positions', + headers: { + Accept: 'application/json' + }, + success: function (response) { + self.updatePositions(Ext.decode(response.responseText)); + } + }); + + setTimeout(function () { + self.asyncUpdate(false); + }, Traccar.Style.reconnectTimeout); + }; + + socket.onmessage = function (event) { + var data = Ext.decode(event.data); + + if (data.devices) { + self.updateDevices(data.devices); + } + if (data.positions) { + self.updatePositions(data.positions, first); + first = false; + } + if (data.events) { + self.updateEvents(data.events); + } + }; + }, + + updateDevices: function (array) { + var i, store, entity; + store = Ext.getStore('Devices'); + for (i = 0; i < array.length; i++) { + entity = store.getById(array[i].id); + if (entity) { + entity.set({ + status: array[i].status, + lastUpdate: array[i].lastUpdate + }, { + dirty: false + }); + } + } + }, + + updatePositions: function (array, first) { + var i, store, entity, uniqueId, device; + store = Ext.getStore('LatestPositions'); + for (i = 0; i < array.length; i++) { + entity = store.findRecord('deviceId', array[i].deviceId, 0, false, false, true); + if (entity) { + entity.set(array[i]); + } else { + store.add(Ext.create('Traccar.model.Position', array[i])); + } + if (Ext.getStore('Events').findRecord('positionId', array[i].id, 0, false, false, true)) { + Ext.getStore('EventPositions').add(Ext.create('Traccar.model.Position', array[i])); + } + } + if (first) { + uniqueId = Ext.Object.fromQueryString(window.location.search).deviceId; + if (uniqueId) { + device = Ext.getStore('VisibleDevices').findRecord('uniqueId', uniqueId, 0, false, true, true); + if (device) { + this.fireEvent('selectdevice', device, true); + } + } + if (!device) { + this.zoomToAllDevices(); + } + } + }, + + updateEvents: function (array) { + var i, store, device; + store = Ext.getStore('Events'); + for (i = 0; i < array.length; i++) { + store.insert(0, array[i]); + device = Ext.getStore('Devices').getById(array[i].deviceId); + if (device) { + if (this.soundPressed()) { + this.beep(); + } + Traccar.app.showToast(array[i].text, device.get('name')); + } else { + Traccar.app.showToast(array[i].text); + } + } + }, + + zoomToAllDevices: function () { + var lat, lon, zoom; + lat = Traccar.app.getPreference('latitude', 0); + lon = Traccar.app.getPreference('longitude', 0); + zoom = Traccar.app.getPreference('zoom', 0); + if (lat === 0 && lon === 0 && zoom === 0) { + this.fireEvent('zoomtoalldevices'); + } + } +}); diff --git a/legacy/web/app/model/Attribute.js b/legacy/web/app/model/Attribute.js new file mode 100644 index 00000000..b1586a73 --- /dev/null +++ b/legacy/web/app/model/Attribute.js @@ -0,0 +1,33 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Attribute', { + extend: 'Ext.data.Model', + + fields: [{ + name: 'priority', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'value' + }, { + name: 'attribute', + type: 'string' + }] +}); diff --git a/legacy/web/app/model/Calendar.js b/legacy/web/app/model/Calendar.js new file mode 100644 index 00000000..8c44d625 --- /dev/null +++ b/legacy/web/app/model/Calendar.js @@ -0,0 +1,34 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Calendar', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'data' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/Command.js b/legacy/web/app/model/Command.js new file mode 100644 index 00000000..f64d2a4b --- /dev/null +++ b/legacy/web/app/model/Command.js @@ -0,0 +1,40 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Command', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'description', + type: 'string' + }, { + name: 'deviceId', + type: 'int' + }, { + name: 'type', + type: 'string' + }, { + name: 'textChannel', + type: 'boolean' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/ComputedAttribute.js b/legacy/web/app/model/ComputedAttribute.js new file mode 100644 index 00000000..16a78ef1 --- /dev/null +++ b/legacy/web/app/model/ComputedAttribute.js @@ -0,0 +1,39 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.ComputedAttribute', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'description', + type: 'string' + }, { + name: 'type', + type: 'string' + }, { + name: 'attribute', + type: 'string' + }, { + name: 'expression', + type: 'string' + }] +}); diff --git a/legacy/web/app/model/Device.js b/legacy/web/app/model/Device.js new file mode 100644 index 00000000..ca1e07a6 --- /dev/null +++ b/legacy/web/app/model/Device.js @@ -0,0 +1,64 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Device', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'uniqueId', + type: 'string' + }, { + name: 'phone', + type: 'string', + allowNull: true + }, { + name: 'model', + type: 'string', + allowNull: true + }, { + name: 'contact', + type: 'string', + allowNull: true + }, { + name: 'category', + type: 'string', + allowNull: true + }, { + name: 'status', + type: 'string', + allowNull: true + }, { + name: 'lastUpdate', + type: 'date', + dateFormat: 'c' + }, { + name: 'groupId', + type: 'int' + }, { + name: 'disabled', + type: 'boolean' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/Driver.js b/legacy/web/app/model/Driver.js new file mode 100644 index 00000000..3c3b30e5 --- /dev/null +++ b/legacy/web/app/model/Driver.js @@ -0,0 +1,35 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Driver', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'uniqueId', + type: 'string' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/Event.js b/legacy/web/app/model/Event.js new file mode 100644 index 00000000..d1297dd7 --- /dev/null +++ b/legacy/web/app/model/Event.js @@ -0,0 +1,81 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Event', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'type', + type: 'string' + }, { + name: 'eventTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'deviceId', + type: 'int' + }, { + name: 'positionId', + type: 'int' + }, { + name: 'geofenceId', + type: 'int' + }, { + name: 'maintenanceId', + type: 'int' + }, { + name: 'text', + convert: function (v, rec) { + var text, alarmKey, geofence, maintenance; + if (rec.get('type') === 'commandResult') { + text = Strings.eventCommandResult + ': ' + rec.get('attributes')['result']; + } else if (rec.get('type') === 'alarm') { + alarmKey = rec.get('attributes')['alarm']; + alarmKey = 'alarm' + alarmKey.charAt(0).toUpperCase() + alarmKey.slice(1); + text = Strings[alarmKey] || alarmKey; + } else if (rec.get('type') === 'textMessage') { + text = Strings.eventTextMessage + ': ' + rec.get('attributes')['message']; + } else if (rec.get('type') === 'driverChanged') { + text = Strings.eventDriverChanged + ': ' + + Traccar.AttributeFormatter.driverUniqueIdFormatter(rec.get('attributes')['driverUniqueId']); + } else { + text = Traccar.app.getEventString(rec.get('type')); + } + if (rec.get('geofenceId')) { + geofence = Ext.getStore('Geofences').getById(rec.get('geofenceId')); + if (geofence) { + text += ' "' + geofence.get('name') + '"'; + } + } + if (rec.get('maintenanceId')) { + maintenance = Ext.getStore('Maintenances').getById(rec.get('maintenanceId')); + if (maintenance) { + text += ' "' + maintenance.get('name') + '"'; + } + } + return text; + }, + depends: ['type', 'attributes', 'geofenceId', 'maintenanceId'] + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/Geofence.js b/legacy/web/app/model/Geofence.js new file mode 100644 index 00000000..12a9f878 --- /dev/null +++ b/legacy/web/app/model/Geofence.js @@ -0,0 +1,40 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Geofence', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'description', + type: 'string' + }, { + name: 'area', + type: 'string' + }, { + name: 'calendarId', + type: 'int' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/Group.js b/legacy/web/app/model/Group.js new file mode 100644 index 00000000..8230fda1 --- /dev/null +++ b/legacy/web/app/model/Group.js @@ -0,0 +1,34 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Group', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'groupId', + type: 'int' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/KnownAttribute.js b/legacy/web/app/model/KnownAttribute.js new file mode 100644 index 00000000..f6f41a73 --- /dev/null +++ b/legacy/web/app/model/KnownAttribute.js @@ -0,0 +1,35 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.model.KnownAttribute', { + extend: 'Ext.data.Model', + idProperty: 'key', + + fields: [{ + name: 'key', + type: 'string' + }, { + name: 'name', + type: 'string' + }, { + name: 'valueType', + type: 'string' + }, { + name: 'dataType', + type: 'string' + }] +}); diff --git a/legacy/web/app/model/KnownCommand.js b/legacy/web/app/model/KnownCommand.js new file mode 100644 index 00000000..06610e32 --- /dev/null +++ b/legacy/web/app/model/KnownCommand.js @@ -0,0 +1,34 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.model.KnownCommand', { + extend: 'Ext.data.Model', + idProperty: 'type', + + fields: [{ + name: 'type', + type: 'string' + }, { + name: 'name', + convert: function (v, rec) { + return Traccar.AttributeFormatter.getFormatter('commandType')(rec.get('type')); + }, + depends: ['type'] + }, { + name: 'parameters' + }] +}); diff --git a/legacy/web/app/model/KnownNotification.js b/legacy/web/app/model/KnownNotification.js new file mode 100644 index 00000000..f42ef972 --- /dev/null +++ b/legacy/web/app/model/KnownNotification.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.model.KnownNotification', { + extend: 'Ext.data.Model', + idProperty: 'type', + + fields: [{ + name: 'type', + type: 'string' + }, { + name: 'name', + convert: function (v, rec) { + return Traccar.app.getEventString(rec.get('type')); + }, + depends: ['type'] + }] +}); diff --git a/legacy/web/app/model/KnownNotificator.js b/legacy/web/app/model/KnownNotificator.js new file mode 100644 index 00000000..7855a12b --- /dev/null +++ b/legacy/web/app/model/KnownNotificator.js @@ -0,0 +1,32 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.model.KnownNotificator', { + extend: 'Ext.data.Model', + idProperty: 'type', + + fields: [{ + name: 'type', + type: 'string' + }, { + name: 'name', + convert: function (v, rec) { + return Traccar.app.getNotificatorString(rec.get('type')); + }, + depends: ['type'] + }] +}); diff --git a/legacy/web/app/model/Maintenance.js b/legacy/web/app/model/Maintenance.js new file mode 100644 index 00000000..a0654275 --- /dev/null +++ b/legacy/web/app/model/Maintenance.js @@ -0,0 +1,41 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Maintenance', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'type', + type: 'string' + }, { + name: 'start', + type: 'float' + }, { + name: 'period', + type: 'float' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/Notification.js b/legacy/web/app/model/Notification.js new file mode 100644 index 00000000..fc9d84d7 --- /dev/null +++ b/legacy/web/app/model/Notification.js @@ -0,0 +1,40 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Notification', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'type', + type: 'string' + }, { + name: 'always', + type: 'bool' + }, { + name: 'attributes' + }, { + name: 'notificators', + type: 'string' + }, { + name: 'calendarId', + type: 'int' + }] +}); diff --git a/legacy/web/app/model/Position.js b/legacy/web/app/model/Position.js new file mode 100644 index 00000000..6db54653 --- /dev/null +++ b/legacy/web/app/model/Position.js @@ -0,0 +1,72 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Position', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'protocol', + type: 'string' + }, { + name: 'deviceId', + type: 'int' + }, { + name: 'serverTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'deviceTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'fixTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'valid', + type: 'boolean' + }, { + name: 'accuracy', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('accuracy') + }, { + name: 'latitude', + type: 'float' + }, { + name: 'longitude', + type: 'float' + }, { + name: 'altitude', + type: 'float' + }, { + name: 'speed', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('speed') + }, { + name: 'course', + type: 'float' + }, { + name: 'address', + type: 'string' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/ReportStop.js b/legacy/web/app/model/ReportStop.js new file mode 100644 index 00000000..9aaa58b0 --- /dev/null +++ b/legacy/web/app/model/ReportStop.js @@ -0,0 +1,58 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.ReportStop', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'deviceId', + type: 'int' + }, { + name: 'deviceName', + type: 'string' + }, { + name: 'duration', + type: 'int' + }, { + name: 'startTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'startOdometer', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'address', + type: 'string' + }, { + name: 'endTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'engineHours', + type: 'int' + }, { + name: 'positionId', + type: 'int' + }, { + name: 'spentFuel', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('spentFuel') + }] +}); diff --git a/legacy/web/app/model/ReportSummary.js b/legacy/web/app/model/ReportSummary.js new file mode 100644 index 00000000..559ffd41 --- /dev/null +++ b/legacy/web/app/model/ReportSummary.js @@ -0,0 +1,61 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.ReportSummary', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'deviceId', + type: 'int' + }, { + name: 'deviceName', + type: 'string' + }, { + name: 'startTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'maxSpeed', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('speed') + }, { + name: 'averageSpeed', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('speed') + }, { + name: 'distance', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'startOdometer', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'endOdometer', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'engineHours', + type: 'int' + }, { + name: 'spentFuel', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('spentFuel') + }] +}); diff --git a/legacy/web/app/model/ReportTrip.js b/legacy/web/app/model/ReportTrip.js new file mode 100644 index 00000000..9d45fc87 --- /dev/null +++ b/legacy/web/app/model/ReportTrip.js @@ -0,0 +1,77 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.ReportTrip', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'deviceId', + type: 'int' + }, { + name: 'deviceName', + type: 'string' + }, { + name: 'maxSpeed', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('speed') + }, { + name: 'averageSpeed', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('speed') + }, { + name: 'distance', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'startOdometer', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'endOdometer', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('distance') + }, { + name: 'duration', + type: 'int' + }, { + name: 'startTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'startAddress', + type: 'string' + }, { + name: 'endTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'endAddress', + type: 'string' + }, { + name: 'spentFuel', + type: 'float', + convert: Traccar.AttributeFormatter.getConverter('spentFuel') + }, { + name: 'driverUniqueId', + type: 'string' + }, { + name: 'driverName', + type: 'string' + }] +}); diff --git a/legacy/web/app/model/Server.js b/legacy/web/app/model/Server.js new file mode 100644 index 00000000..177b4fc4 --- /dev/null +++ b/legacy/web/app/model/Server.js @@ -0,0 +1,88 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Server', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'registration', + type: 'boolean' + }, { + name: 'readonly', + type: 'boolean' + }, { + name: 'deviceReadonly', + type: 'boolean' + }, { + name: 'limitCommands', + type: 'boolean' + }, { + name: 'disableReports', + type: 'boolean' + }, { + name: 'map', + type: 'string' + }, { + name: 'bingKey', + type: 'string' + }, { + name: 'mapUrl', + type: 'string' + }, { + name: 'latitude', + type: 'float' + }, { + name: 'longitude', + type: 'float' + }, { + name: 'zoom', + type: 'int' + }, { + name: 'twelveHourFormat', + type: 'boolean' + }, { + name: 'forceSettings', + type: 'boolean' + }, { + name: 'coordinateFormat', + type: 'string' + }, { + name: 'poiLayer', + type: 'string' + }, { + name: 'announcement', + type: 'string' + }, { + name: 'attributes' + }], + + proxy: { + type: 'ajax', + url: 'api/server', + actionMethods: { + update: 'PUT' + }, + writer: { + type: 'json', + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/model/Statistics.js b/legacy/web/app/model/Statistics.js new file mode 100644 index 00000000..95280ac4 --- /dev/null +++ b/legacy/web/app/model/Statistics.js @@ -0,0 +1,59 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.Statistics', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'captureTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'activeUsers', + type: 'int' + }, { + name: 'activeDevices', + type: 'int' + }, { + name: 'requests', + type: 'int' + }, { + name: 'messagesReceived', + type: 'int' + }, { + name: 'messagesStored', + type: 'int' + }, { + name: 'mailSent', + type: 'int' + }, { + name: 'smsSent', + type: 'int' + }, { + name: 'geocoderRequests', + type: 'int' + }, { + name: 'geolocationRequests', + type: 'int' + }, { + name: 'attributes' + }] +}); diff --git a/legacy/web/app/model/User.js b/legacy/web/app/model/User.js new file mode 100644 index 00000000..455bca64 --- /dev/null +++ b/legacy/web/app/model/User.js @@ -0,0 +1,101 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.model.User', { + extend: 'Ext.data.Model', + identifier: 'negative', + + fields: [{ + name: 'id', + type: 'int' + }, { + name: 'name', + type: 'string' + }, { + name: 'login', + type: 'string' + }, { + name: 'email', + type: 'string' + }, { + name: 'password', + type: 'string' + }, { + name: 'phone', + type: 'string' + }, { + name: 'readonly', + type: 'boolean' + }, { + name: 'administrator', + type: 'boolean' + }, { + name: 'map', + type: 'string' + }, { + name: 'latitude', + type: 'float' + }, { + name: 'longitude', + type: 'float' + }, { + name: 'zoom', + type: 'int' + }, { + name: 'twelveHourFormat', + type: 'boolean' + }, { + name: 'coordinateFormat', + type: 'string' + }, { + name: 'disabled', + type: 'boolean' + }, { + name: 'expirationTime', + type: 'date', + dateFormat: 'c' + }, { + name: 'deviceLimit', + type: 'int' + }, { + name: 'userLimit', + type: 'int' + }, { + name: 'deviceReadonly', + type: 'boolean' + }, { + name: 'limitCommands', + type: 'boolean' + }, { + name: 'disableReports', + type: 'boolean' + }, { + name: 'poiLayer', + type: 'string' + }, { + name: 'attributes' + }], + + proxy: { + type: 'rest', + url: 'api/users', + writer: { + type: 'json', + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/AlarmTypes.js b/legacy/web/app/store/AlarmTypes.js new file mode 100644 index 00000000..1ee7ffe8 --- /dev/null +++ b/legacy/web/app/store/AlarmTypes.js @@ -0,0 +1,34 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.AlarmTypes', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: (function () { + var key, items = []; + for (key in Strings) { + if (Strings.hasOwnProperty(key) && key.lastIndexOf('alarm', 0) === 0) { + items.push({ + key: key.charAt(5).toLowerCase() + key.slice(6), + name: Strings[key] + }); + } + } + return items; + })() +}); diff --git a/legacy/web/app/store/AllCalendars.js b/legacy/web/app/store/AllCalendars.js new file mode 100644 index 00000000..26557287 --- /dev/null +++ b/legacy/web/app/store/AllCalendars.js @@ -0,0 +1,30 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllCalendars', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Calendar', + + proxy: { + type: 'rest', + url: 'api/calendars', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllCommandTypes.js b/legacy/web/app/store/AllCommandTypes.js new file mode 100644 index 00000000..c35f50d9 --- /dev/null +++ b/legacy/web/app/store/AllCommandTypes.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllCommandTypes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownCommand', + + proxy: { + type: 'rest', + url: 'api/commands/types', + listeners: { + exception: function (proxy, response) { + Traccar.app.showError(response); + } + } + } +}); diff --git a/legacy/web/app/store/AllCommands.js b/legacy/web/app/store/AllCommands.js new file mode 100644 index 00000000..7f5e1253 --- /dev/null +++ b/legacy/web/app/store/AllCommands.js @@ -0,0 +1,30 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllCommands', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Command', + + proxy: { + type: 'rest', + url: 'api/commands', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllComputedAttributes.js b/legacy/web/app/store/AllComputedAttributes.js new file mode 100644 index 00000000..e63feb14 --- /dev/null +++ b/legacy/web/app/store/AllComputedAttributes.js @@ -0,0 +1,30 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllComputedAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.ComputedAttribute', + + proxy: { + type: 'rest', + url: 'api/attributes/computed', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllDevices.js b/legacy/web/app/store/AllDevices.js new file mode 100644 index 00000000..338e6be7 --- /dev/null +++ b/legacy/web/app/store/AllDevices.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllDevices', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Device', + + proxy: { + type: 'rest', + url: 'api/devices', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllDrivers.js b/legacy/web/app/store/AllDrivers.js new file mode 100644 index 00000000..9d723885 --- /dev/null +++ b/legacy/web/app/store/AllDrivers.js @@ -0,0 +1,30 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllDrivers', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Driver', + + proxy: { + type: 'rest', + url: 'api/drivers', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllGeofences.js b/legacy/web/app/store/AllGeofences.js new file mode 100644 index 00000000..4042732b --- /dev/null +++ b/legacy/web/app/store/AllGeofences.js @@ -0,0 +1,29 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllGeofences', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Geofence', + + proxy: { + type: 'rest', + url: 'api/geofences', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllGroups.js b/legacy/web/app/store/AllGroups.js new file mode 100644 index 00000000..ba02e715 --- /dev/null +++ b/legacy/web/app/store/AllGroups.js @@ -0,0 +1,29 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllGroups', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Group', + + proxy: { + type: 'rest', + url: 'api/groups', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllMaintenances.js b/legacy/web/app/store/AllMaintenances.js new file mode 100644 index 00000000..8435ad40 --- /dev/null +++ b/legacy/web/app/store/AllMaintenances.js @@ -0,0 +1,30 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllMaintenances', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Maintenance', + + proxy: { + type: 'rest', + url: 'api/maintenance', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllNotificationTypes.js b/legacy/web/app/store/AllNotificationTypes.js new file mode 100644 index 00000000..63fec1bc --- /dev/null +++ b/legacy/web/app/store/AllNotificationTypes.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllNotificationTypes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownNotification', + + proxy: { + type: 'rest', + url: 'api/notifications/types', + listeners: { + exception: function (proxy, response) { + Traccar.app.showError(response); + } + } + } +}); diff --git a/legacy/web/app/store/AllNotifications.js b/legacy/web/app/store/AllNotifications.js new file mode 100644 index 00000000..a3e59e15 --- /dev/null +++ b/legacy/web/app/store/AllNotifications.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllNotifications', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Notification', + + proxy: { + type: 'rest', + url: 'api/notifications', + extraParams: { + all: true + } + } +}); diff --git a/legacy/web/app/store/AllNotificators.js b/legacy/web/app/store/AllNotificators.js new file mode 100644 index 00000000..d81b02fd --- /dev/null +++ b/legacy/web/app/store/AllNotificators.js @@ -0,0 +1,32 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.AllNotificators', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownNotificator', + + proxy: { + type: 'rest', + url: 'api/notifications/notificators', + listeners: { + exception: function (proxy, response) { + Traccar.app.showError(response); + } + } + } +}); diff --git a/legacy/web/app/store/AllTimezones.js b/legacy/web/app/store/AllTimezones.js new file mode 100644 index 00000000..2a7fa371 --- /dev/null +++ b/legacy/web/app/store/AllTimezones.js @@ -0,0 +1,798 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.AllTimezones', { + extend: 'Ext.data.Store', + fields: ['key'], + + sorters: { + property: 'key', + direction: 'ASC' + }, + + data: [{ + key: 'Africa/Abidjan' + }, { + key: 'Africa/Accra' + }, { + key: 'Africa/Bissau' + }, { + key: 'Africa/Casablanca' + }, { + key: 'Africa/El_Aaiun' + }, { + key: 'Africa/Monrovia' + }, { + key: 'America/Danmarkshavn' + }, { + key: 'Antarctica/Troll' + }, { + key: 'Atlantic/Canary' + }, { + key: 'Atlantic/Faroe' + }, { + key: 'Atlantic/Madeira' + }, { + key: 'Atlantic/Reykjavik' + }, { + key: 'GMT' + }, { + key: 'Etc/GMT' + }, { + key: 'Etc/UCT' + }, { + key: 'Etc/UTC' + }, { + key: 'Europe/Dublin' + }, { + key: 'Europe/Lisbon' + }, { + key: 'Europe/London' + }, { + key: 'WET' + }, { + key: 'Africa/Algiers' + }, { + key: 'Africa/Ceuta' + }, { + key: 'Africa/Lagos' + }, { + key: 'Africa/Ndjamena' + }, { + key: 'Africa/Tunis' + }, { + key: 'Africa/Windhoek' + }, { + key: 'CET' + }, { + key: 'Etc/GMT-1' + }, { + key: 'Europe/Amsterdam' + }, { + key: 'Europe/Andorra' + }, { + key: 'Europe/Belgrade' + }, { + key: 'Europe/Berlin' + }, { + key: 'Europe/Brussels' + }, { + key: 'Europe/Budapest' + }, { + key: 'Europe/Copenhagen' + }, { + key: 'Europe/Gibraltar' + }, { + key: 'Europe/Luxembourg' + }, { + key: 'Europe/Madrid' + }, { + key: 'Europe/Malta' + }, { + key: 'Europe/Monaco' + }, { + key: 'Europe/Oslo' + }, { + key: 'Europe/Paris' + }, { + key: 'Europe/Prague' + }, { + key: 'Europe/Rome' + }, { + key: 'Europe/Stockholm' + }, { + key: 'Europe/Tirane' + }, { + key: 'Europe/Vienna' + }, { + key: 'Europe/Warsaw' + }, { + key: 'Europe/Zurich' + }, { + key: 'MET' + }, { + key: 'Africa/Cairo' + }, { + key: 'Africa/Johannesburg' + }, { + key: 'Africa/Maputo' + }, { + key: 'Africa/Tripoli' + }, { + key: 'Asia/Amman' + }, { + key: 'Asia/Beirut' + }, { + key: 'Asia/Damascus' + }, { + key: 'Asia/Gaza' + }, { + key: 'Asia/Hebron' + }, { + key: 'Asia/Jerusalem' + }, { + key: 'Asia/Nicosia' + }, { + key: 'EET' + }, { + key: 'Etc/GMT-2' + }, { + key: 'Europe/Athens' + }, { + key: 'Europe/Bucharest' + }, { + key: 'Europe/Chisinau' + }, { + key: 'Europe/Helsinki' + }, { + key: 'Europe/Kaliningrad' + }, { + key: 'Europe/Kiev' + }, { + key: 'Europe/Riga' + }, { + key: 'Europe/Sofia' + }, { + key: 'Europe/Tallinn' + }, { + key: 'Europe/Uzhgorod' + }, { + key: 'Europe/Vilnius' + }, { + key: 'Europe/Zaporozhye' + }, { + key: 'Africa/Khartoum' + }, { + key: 'Africa/Nairobi' + }, { + key: 'Antarctica/Syowa' + }, { + key: 'Asia/Baghdad' + }, { + key: 'Asia/Famagusta' + }, { + key: 'Asia/Qatar' + }, { + key: 'Asia/Riyadh' + }, { + key: 'Etc/GMT-3' + }, { + key: 'Europe/Istanbul' + }, { + key: 'Europe/Kirov' + }, { + key: 'Europe/Minsk' + }, { + key: 'Europe/Moscow' + }, { + key: 'Europe/Simferopol' + }, { + key: 'Europe/Volgograd' + }, { + key: 'Asia/Tehran' + }, { + key: 'Asia/Baku' + }, { + key: 'Asia/Dubai' + }, { + key: 'Asia/Tbilisi' + }, { + key: 'Asia/Yerevan' + }, { + key: 'Etc/GMT-4' + }, { + key: 'Europe/Astrakhan' + }, { + key: 'Europe/Samara' + }, { + key: 'Europe/Saratov' + }, { + key: 'Europe/Ulyanovsk' + }, { + key: 'Indian/Mahe' + }, { + key: 'Indian/Mauritius' + }, { + key: 'Indian/Reunion' + }, { + key: 'Asia/Kabul' + }, { + key: 'Antarctica/Mawson' + }, { + key: 'Asia/Aqtau' + }, { + key: 'Asia/Aqtobe' + }, { + key: 'Asia/Ashgabat' + }, { + key: 'Asia/Atyrau' + }, { + key: 'Asia/Dushanbe' + }, { + key: 'Asia/Karachi' + }, { + key: 'Asia/Oral' + }, { + key: 'Asia/Samarkand' + }, { + key: 'Asia/Tashkent' + }, { + key: 'Asia/Yekaterinburg' + }, { + key: 'Etc/GMT-5' + }, { + key: 'Indian/Kerguelen' + }, { + key: 'Indian/Maldives' + }, { + key: 'Asia/Colombo' + }, { + key: 'Asia/Kolkata' + }, { + key: 'Asia/Kathmandu' + }, { + key: 'Antarctica/Vostok' + }, { + key: 'Asia/Almaty' + }, { + key: 'Asia/Bishkek' + }, { + key: 'Asia/Dhaka' + }, { + key: 'Asia/Omsk' + }, { + key: 'Asia/Qyzylorda' + }, { + key: 'Asia/Thimphu' + }, { + key: 'Asia/Urumqi' + }, { + key: 'Etc/GMT-6' + }, { + key: 'Indian/Chagos' + }, { + key: 'Asia/Yangon' + }, { + key: 'Indian/Cocos' + }, { + key: 'Antarctica/Davis' + }, { + key: 'Asia/Bangkok' + }, { + key: 'Asia/Barnaul' + }, { + key: 'Asia/Ho_Chi_Minh' + }, { + key: 'Asia/Hovd' + }, { + key: 'Asia/Jakarta' + }, { + key: 'Asia/Krasnoyarsk' + }, { + key: 'Asia/Novokuznetsk' + }, { + key: 'Asia/Novosibirsk' + }, { + key: 'Asia/Pontianak' + }, { + key: 'Asia/Tomsk' + }, { + key: 'Etc/GMT-7' + }, { + key: 'Indian/Christmas' + }, { + key: 'Asia/Brunei' + }, { + key: 'Asia/Choibalsan' + }, { + key: 'Asia/Hong_Kong' + }, { + key: 'Asia/Irkutsk' + }, { + key: 'Asia/Kuala_Lumpur' + }, { + key: 'Asia/Kuching' + }, { + key: 'Asia/Macau' + }, { + key: 'Asia/Makassar' + }, { + key: 'Asia/Manila' + }, { + key: 'Asia/Shanghai' + }, { + key: 'Asia/Singapore' + }, { + key: 'Asia/Taipei' + }, { + key: 'Asia/Ulaanbaatar' + }, { + key: 'Australia/Perth' + }, { + key: 'Etc/GMT-8' + }, { + key: 'Asia/Pyongyang' + }, { + key: 'Australia/Eucla' + }, { + key: 'Asia/Chita' + }, { + key: 'Asia/Dili' + }, { + key: 'Asia/Jayapura' + }, { + key: 'Asia/Khandyga' + }, { + key: 'Asia/Seoul' + }, { + key: 'Asia/Tokyo' + }, { + key: 'Asia/Yakutsk' + }, { + key: 'Etc/GMT-9' + }, { + key: 'Pacific/Palau' + }, { + key: 'Australia/Adelaide' + }, { + key: 'Australia/Broken_Hill' + }, { + key: 'Australia/Darwin' + }, { + key: 'Antarctica/DumontDUrville' + }, { + key: 'Asia/Ust-Nera' + }, { + key: 'Asia/Vladivostok' + }, { + key: 'Australia/Brisbane' + }, { + key: 'Australia/Currie' + }, { + key: 'Australia/Hobart' + }, { + key: 'Australia/Lindeman' + }, { + key: 'Australia/Melbourne' + }, { + key: 'Australia/Sydney' + }, { + key: 'Etc/GMT-10' + }, { + key: 'Pacific/Chuuk' + }, { + key: 'Pacific/Guam' + }, { + key: 'Pacific/Port_Moresby' + }, { + key: 'Australia/Lord_Howe' + }, { + key: 'Antarctica/Casey' + }, { + key: 'Antarctica/Macquarie' + }, { + key: 'Asia/Magadan' + }, { + key: 'Asia/Sakhalin' + }, { + key: 'Asia/Srednekolymsk' + }, { + key: 'Etc/GMT-11' + }, { + key: 'Pacific/Bougainville' + }, { + key: 'Pacific/Efate' + }, { + key: 'Pacific/Guadalcanal' + }, { + key: 'Pacific/Kosrae' + }, { + key: 'Pacific/Norfolk' + }, { + key: 'Pacific/Noumea' + }, { + key: 'Pacific/Pohnpei' + }, { + key: 'Asia/Anadyr' + }, { + key: 'Asia/Kamchatka' + }, { + key: 'Etc/GMT-12' + }, { + key: 'Pacific/Auckland' + }, { + key: 'Pacific/Fiji' + }, { + key: 'Pacific/Funafuti' + }, { + key: 'Pacific/Kwajalein' + }, { + key: 'Pacific/Majuro' + }, { + key: 'Pacific/Nauru' + }, { + key: 'Pacific/Tarawa' + }, { + key: 'Pacific/Wake' + }, { + key: 'Pacific/Wallis' + }, { + key: 'Pacific/Chatham' + }, { + key: 'Etc/GMT-13' + }, { + key: 'Pacific/Apia' + }, { + key: 'Pacific/Enderbury' + }, { + key: 'Pacific/Fakaofo' + }, { + key: 'Pacific/Tongatapu' + }, { + key: 'Etc/GMT-14' + }, { + key: 'Pacific/Kiritimati' + }, { + key: 'America/Scoresbysund' + }, { + key: 'Atlantic/Azores' + }, { + key: 'Atlantic/Cape_Verde' + }, { + key: 'Etc/GMT+1' + }, { + key: 'America/Noronha' + }, { + key: 'Atlantic/South_Georgia' + }, { + key: 'Etc/GMT+2' + }, { + key: 'America/Araguaina' + }, { + key: 'America/Argentina/Buenos_Aires' + }, { + key: 'America/Argentina/Catamarca' + }, { + key: 'America/Argentina/Cordoba' + }, { + key: 'America/Argentina/Jujuy' + }, { + key: 'America/Argentina/La_Rioja' + }, { + key: 'America/Argentina/Mendoza' + }, { + key: 'America/Argentina/Rio_Gallegos' + }, { + key: 'America/Argentina/Salta' + }, { + key: 'America/Argentina/San_Juan' + }, { + key: 'America/Argentina/San_Luis' + }, { + key: 'America/Argentina/Tucuman' + }, { + key: 'America/Argentina/Ushuaia' + }, { + key: 'America/Bahia' + }, { + key: 'America/Belem' + }, { + key: 'America/Cayenne' + }, { + key: 'America/Fortaleza' + }, { + key: 'America/Godthab' + }, { + key: 'America/Maceio' + }, { + key: 'America/Miquelon' + }, { + key: 'America/Montevideo' + }, { + key: 'America/Paramaribo' + }, { + key: 'America/Recife' + }, { + key: 'America/Santarem' + }, { + key: 'America/Sao_Paulo' + }, { + key: 'Antarctica/Rothera' + }, { + key: 'Atlantic/Stanley' + }, { + key: 'Etc/GMT+3' + }, { + key: 'America/St_Johns' + }, { + key: 'America/Asuncion' + }, { + key: 'America/Barbados' + }, { + key: 'America/Blanc-Sablon' + }, { + key: 'America/Boa_Vista' + }, { + key: 'America/Campo_Grande' + }, { + key: 'America/Caracas' + }, { + key: 'America/Cuiaba' + }, { + key: 'America/Curacao' + }, { + key: 'America/Glace_Bay' + }, { + key: 'America/Goose_Bay' + }, { + key: 'America/Grand_Turk' + }, { + key: 'America/Guyana' + }, { + key: 'America/Halifax' + }, { + key: 'America/La_Paz' + }, { + key: 'America/Manaus' + }, { + key: 'America/Martinique' + }, { + key: 'America/Moncton' + }, { + key: 'America/Port_of_Spain' + }, { + key: 'America/Porto_Velho' + }, { + key: 'America/Puerto_Rico' + }, { + key: 'America/Santiago' + }, { + key: 'America/Santo_Domingo' + }, { + key: 'America/Thule' + }, { + key: 'Antarctica/Palmer' + }, { + key: 'Atlantic/Bermuda' + }, { + key: 'Etc/GMT+4' + }, { + key: 'America/Atikokan' + }, { + key: 'America/Bogota' + }, { + key: 'America/Cancun' + }, { + key: 'America/Detroit' + }, { + key: 'America/Eirunepe' + }, { + key: 'America/Guayaquil' + }, { + key: 'America/Havana' + }, { + key: 'America/Indiana/Indianapolis' + }, { + key: 'America/Indiana/Marengo' + }, { + key: 'America/Indiana/Petersburg' + }, { + key: 'America/Indiana/Vevay' + }, { + key: 'America/Indiana/Vincennes' + }, { + key: 'America/Indiana/Winamac' + }, { + key: 'America/Iqaluit' + }, { + key: 'America/Jamaica' + }, { + key: 'America/Kentucky/Louisville' + }, { + key: 'America/Kentucky/Monticello' + }, { + key: 'America/Lima' + }, { + key: 'America/Nassau' + }, { + key: 'America/New_York' + }, { + key: 'America/Nipigon' + }, { + key: 'America/Panama' + }, { + key: 'America/Pangnirtung' + }, { + key: 'America/Port-au-Prince' + }, { + key: 'America/Rio_Branco' + }, { + key: 'America/Thunder_Bay' + }, { + key: 'America/Toronto' + }, { + key: 'EST' + }, { + key: 'EST5EDT' + }, { + key: 'Etc/GMT+5' + }, { + key: 'America/Bahia_Banderas' + }, { + key: 'America/Belize' + }, { + key: 'America/Chicago' + }, { + key: 'America/Costa_Rica' + }, { + key: 'America/El_Salvador' + }, { + key: 'America/Guatemala' + }, { + key: 'America/Indiana/Knox' + }, { + key: 'America/Indiana/Tell_City' + }, { + key: 'America/Managua' + }, { + key: 'America/Matamoros' + }, { + key: 'America/Menominee' + }, { + key: 'America/Merida' + }, { + key: 'America/Mexico_City' + }, { + key: 'America/Monterrey' + }, { + key: 'America/North_Dakota/Beulah' + }, { + key: 'America/North_Dakota/Center' + }, { + key: 'America/North_Dakota/New_Salem' + }, { + key: 'America/Rainy_River' + }, { + key: 'America/Rankin_Inlet' + }, { + key: 'America/Regina' + }, { + key: 'America/Resolute' + }, { + key: 'America/Swift_Current' + }, { + key: 'America/Tegucigalpa' + }, { + key: 'America/Winnipeg' + }, { + key: 'CST6CDT' + }, { + key: 'Etc/GMT+6' + }, { + key: 'Pacific/Easter' + }, { + key: 'Pacific/Galapagos' + }, { + key: 'America/Boise' + }, { + key: 'America/Cambridge_Bay' + }, { + key: 'America/Chihuahua' + }, { + key: 'America/Creston' + }, { + key: 'America/Dawson_Creek' + }, { + key: 'America/Denver' + }, { + key: 'America/Edmonton' + }, { + key: 'America/Fort_Nelson' + }, { + key: 'America/Hermosillo' + }, { + key: 'America/Inuvik' + }, { + key: 'America/Mazatlan' + }, { + key: 'America/Ojinaga' + }, { + key: 'America/Phoenix' + }, { + key: 'America/Yellowknife' + }, { + key: 'Etc/GMT+7' + }, { + key: 'MST' + }, { + key: 'MST7MDT' + }, { + key: 'America/Dawson' + }, { + key: 'America/Los_Angeles' + }, { + key: 'America/Tijuana' + }, { + key: 'America/Vancouver' + }, { + key: 'America/Whitehorse' + }, { + key: 'Etc/GMT+8' + }, { + key: 'Pacific/Pitcairn' + }, { + key: 'PST8PDT' + }, { + key: 'America/Anchorage' + }, { + key: 'America/Juneau' + }, { + key: 'America/Metlakatla' + }, { + key: 'America/Nome' + }, { + key: 'America/Sitka' + }, { + key: 'America/Yakutat' + }, { + key: 'Etc/GMT+9' + }, { + key: 'Pacific/Gambier' + }, { + key: 'Pacific/Marquesas' + }, { + key: 'America/Adak' + }, { + key: 'Etc/GMT+10' + }, { + key: 'HST' + }, { + key: 'Pacific/Honolulu' + }, { + key: 'Pacific/Rarotonga' + }, { + key: 'Pacific/Tahiti' + }, { + key: 'Etc/GMT+11' + }, { + key: 'Pacific/Niue' + }, { + key: 'Pacific/Pago_Pago' + }, { + key: 'Etc/GMT+12' + }] +}); diff --git a/legacy/web/app/store/AttributeValueTypes.js b/legacy/web/app/store/AttributeValueTypes.js new file mode 100644 index 00000000..b80eba39 --- /dev/null +++ b/legacy/web/app/store/AttributeValueTypes.js @@ -0,0 +1,33 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.AttributeValueTypes', { + extend: 'Ext.data.Store', + fields: ['id', 'name'], + proxy: 'memory', + + data: [{ + id: 'string', + name: Strings.sharedTypeString + }, { + id: 'number', + name: Strings.sharedTypeNumber + }, { + id: 'boolean', + name: Strings.sharedTypeBoolean + }] +}); diff --git a/legacy/web/app/store/Attributes.js b/legacy/web/app/store/Attributes.js new file mode 100644 index 00000000..388fa436 --- /dev/null +++ b/legacy/web/app/store/Attributes.js @@ -0,0 +1,25 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Attributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Attribute', + + sorters: [{ + property: 'priority' + }] +}); diff --git a/legacy/web/app/store/Calendars.js b/legacy/web/app/store/Calendars.js new file mode 100644 index 00000000..fa8e5c66 --- /dev/null +++ b/legacy/web/app/store/Calendars.js @@ -0,0 +1,30 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Calendars', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Calendar', + + proxy: { + type: 'rest', + url: 'api/calendars', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/CommandTypes.js b/legacy/web/app/store/CommandTypes.js new file mode 100644 index 00000000..3b898f2e --- /dev/null +++ b/legacy/web/app/store/CommandTypes.js @@ -0,0 +1,32 @@ +/* + * Copyright 2016 Gabor Somogyi (gabor.g.somogyi@gmail.com) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.CommandTypes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownCommand', + + proxy: { + type: 'rest', + url: 'api/commands/types', + listeners: { + 'exception': function (proxy, response) { + Traccar.app.showError(response); + } + } + } +}); diff --git a/legacy/web/app/store/Commands.js b/legacy/web/app/store/Commands.js new file mode 100644 index 00000000..3e5b7604 --- /dev/null +++ b/legacy/web/app/store/Commands.js @@ -0,0 +1,30 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Commands', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Command', + + proxy: { + type: 'rest', + url: 'api/commands', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/CommonDeviceAttributes.js b/legacy/web/app/store/CommonDeviceAttributes.js new file mode 100644 index 00000000..e63daa6b --- /dev/null +++ b/legacy/web/app/store/CommonDeviceAttributes.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.CommonDeviceAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + + data: [{ + key: 'speedLimit', + name: Strings.attributeSpeedLimit, + valueType: 'number', + dataType: 'speed' + }, { + key: 'report.ignoreOdometer', + name: Strings.attributeReportIgnoreOdometer, + valueType: 'boolean' + }] +}); diff --git a/legacy/web/app/store/CommonUserAttributes.js b/legacy/web/app/store/CommonUserAttributes.js new file mode 100644 index 00000000..0619df22 --- /dev/null +++ b/legacy/web/app/store/CommonUserAttributes.js @@ -0,0 +1,90 @@ +/* + * Copyright 2017 - 2022 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.CommonUserAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + + data: [{ + key: 'web.liveRouteLength', + name: Strings.attributeWebLiveRouteLength, + valueType: 'number', + allowDecimals: false + }, { + key: 'web.selectZoom', + name: Strings.attributeWebSelectZoom, + valueType: 'number', + allowDecimals: false, + minValue: Traccar.Style.mapDefaultZoom, + maxValue: Traccar.Style.mapMaxZoom + }, { + key: 'web.maxZoom', + name: Strings.attributeWebMaxZoom, + valueType: 'number', + allowDecimals: false, + minValue: Traccar.Style.mapDefaultZoom, + maxValue: Traccar.Style.mapMaxZoom + }, { + key: 'ui.disableEvents', + name: Strings.attributeUiDisableEvents, + valueType: 'boolean' + }, { + key: 'ui.disableVehicleFeatures', + name: Strings.attributeUiDisableVehicleFeatures, + valueType: 'boolean' + }, { + key: 'ui.disableDrivers', + name: Strings.attributeUiDisableDrivers, + valueType: 'boolean' + }, { + key: 'ui.disableComputedAttributes', + name: Strings.attributeUiDisableComputedAttributes, + valueType: 'boolean' + }, { + key: 'ui.disableCalendars', + name: Strings.attributeUiDisableCalendars, + valueType: 'boolean' + }, { + key: 'ui.disableMaintenance', + name: Strings.attributeUiDisableMaintenance, + valueType: 'boolean' + }, { + key: 'ui.hidePositionAttributes', + name: Strings.attributeUiHidePositionAttributes, + valueType: 'string' + }, { + key: 'distanceUnit', + name: Strings.settingsDistanceUnit, + valueType: 'string', + dataType: 'distanceUnit' + }, { + key: 'speedUnit', + name: Strings.settingsSpeedUnit, + valueType: 'string', + dataType: 'speedUnit' + }, { + key: 'volumeUnit', + name: Strings.settingsVolumeUnit, + valueType: 'string', + dataType: 'volumeUnit' + }, { + key: 'timezone', + name: Strings.sharedTimezone, + valueType: 'string', + dataType: 'timezone' + }] +}); diff --git a/legacy/web/app/store/ComputedAttributes.js b/legacy/web/app/store/ComputedAttributes.js new file mode 100644 index 00000000..33d78298 --- /dev/null +++ b/legacy/web/app/store/ComputedAttributes.js @@ -0,0 +1,30 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ComputedAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.ComputedAttribute', + + proxy: { + type: 'rest', + url: 'api/attributes/computed', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/CoordinateFormats.js b/legacy/web/app/store/CoordinateFormats.js new file mode 100644 index 00000000..d5db871a --- /dev/null +++ b/legacy/web/app/store/CoordinateFormats.js @@ -0,0 +1,56 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.CoordinateFormats', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'dd', + name: Strings.sharedDecimalDegrees + }, { + key: 'ddm', + name: Strings.sharedDegreesDecimalMinutes + }, { + key: 'dms', + name: Strings.sharedDegreesMinutesSeconds + }], + + formatValue: function (key, value, unit) { + var hemisphere, degrees, minutes, seconds; + if (key === 'latitude') { + hemisphere = value >= 0 ? 'N' : 'S'; + } else { + hemisphere = value >= 0 ? 'E' : 'W'; + } + switch (unit) { + case 'ddm': + value = Math.abs(value); + degrees = Math.floor(value); + minutes = (value - degrees) * 60; + return degrees + '° ' + minutes.toFixed(Traccar.Style.coordinatePrecision) + '\' ' + hemisphere; + case 'dms': + value = Math.abs(value); + degrees = Math.floor(value); + minutes = Math.floor((value - degrees) * 60); + seconds = Math.round((value - degrees - minutes / 60) * 3600); + return degrees + '° ' + minutes + '\' ' + seconds + '" ' + hemisphere; + default: + return value.toFixed(Traccar.Style.coordinatePrecision) + '°'; + } + } +}); diff --git a/legacy/web/app/store/DeviceAttributes.js b/legacy/web/app/store/DeviceAttributes.js new file mode 100644 index 00000000..45ae6e3d --- /dev/null +++ b/legacy/web/app/store/DeviceAttributes.js @@ -0,0 +1,52 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.DeviceAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + + data: [{ + key: 'web.reportColor', + name: Strings.attributeWebReportColor, + valueType: 'color' + }, { + key: 'devicePassword', + name: Strings.attributeDevicePassword, + valueType: 'string' + }, { + key: 'processing.copyAttributes', + name: Strings.attributeProcessingCopyAttributes, + valueType: 'string' + }, { + key: 'decoder.timezone', + name: Strings.sharedTimezone, + valueType: 'string', + dataType: 'timezone' + }, { + key: 'deviceInactivityStart', + name: Strings.attributeDeviceInactivityStart, + valueType: 'number', + allowDecimals: false, + minValue: 1 + }, { + key: 'deviceInactivityPeriod', + name: Strings.attributeDeviceInactivityPeriod, + valueType: 'number', + allowDecimals: false, + minValue: 1 + }] +}); diff --git a/legacy/web/app/store/DeviceCommands.js b/legacy/web/app/store/DeviceCommands.js new file mode 100644 index 00000000..7233b3ba --- /dev/null +++ b/legacy/web/app/store/DeviceCommands.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.DeviceCommands', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Command', + + proxy: { + type: 'rest', + url: 'api/commands/send', + listeners: { + 'exception': function (proxy, response) { + Traccar.app.showError(response); + } + } + } +}); diff --git a/legacy/web/app/store/DeviceImages.js b/legacy/web/app/store/DeviceImages.js new file mode 100644 index 00000000..6f8e8cfd --- /dev/null +++ b/legacy/web/app/store/DeviceImages.js @@ -0,0 +1,37 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.DeviceImages', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'svg', 'fillId', 'rotateId', 'scaleId'], + + data: (function () { + var i, key, data = []; + for (i = 0; i < window.Images.length; i++) { + key = window.Images[i]; + data.push({ + key: key, + name: Strings['category' + key.charAt(0).toUpperCase() + key.slice(1)], + svg: document.getElementById(key + 'Svg').contentDocument, + fillId: key === 'arrow' ? 'arrow' : 'background', + rotateId: key === 'arrow' ? 'arrow' : 'background', + scaleId: key === 'arrow' ? 'arrow' : 'layer1' + }); + } + return data; + })() +}); diff --git a/legacy/web/app/store/DeviceStatuses.js b/legacy/web/app/store/DeviceStatuses.js new file mode 100644 index 00000000..eafba241 --- /dev/null +++ b/legacy/web/app/store/DeviceStatuses.js @@ -0,0 +1,35 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.DeviceStatuses', { + extend: 'Ext.data.Store', + fields: ['id', 'name', 'color'], + + data: [{ + id: 'online', + name: Strings.deviceStatusOnline, + color: 'view-color-green' + }, { + id: 'offline', + name: Strings.deviceStatusOffline, + color: 'view-color-red' + }, { + id: 'unknown', + name: Strings.deviceStatusUnknown, + color: 'view-color-yellow' + }] +}); diff --git a/legacy/web/app/store/Devices.js b/legacy/web/app/store/Devices.js new file mode 100644 index 00000000..e69c93fa --- /dev/null +++ b/legacy/web/app/store/Devices.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Devices', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Device', + + proxy: { + type: 'rest', + url: 'api/devices', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/DistanceUnits.js b/legacy/web/app/store/DistanceUnits.js new file mode 100644 index 00000000..e64ce234 --- /dev/null +++ b/legacy/web/app/store/DistanceUnits.js @@ -0,0 +1,53 @@ +/* + * Copyright 2015 - 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.DistanceUnits', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'factor'], + + data: [{ + key: 'km', + name: Strings.sharedKm, + factor: 0.001 + }, { + key: 'mi', + name: Strings.sharedMi, + factor: 0.000621371 + }, { + key: 'nmi', + name: Strings.sharedNmi, + factor: 0.000539957 + }], + + convertValue: function (value, unit, back) { + var model; + if (!unit) { + unit = 'km'; + } + model = this.findRecord('key', unit); + return back ? value / model.get('factor') : value * model.get('factor'); + }, + + formatValue: function (value, unit, convert) { + var model; + if (!unit) { + unit = 'km'; + } + model = this.findRecord('key', unit); + return (convert ? this.convertValue(value, unit) : value).toFixed(2) + ' ' + model.get('name'); + } +}); diff --git a/legacy/web/app/store/Drivers.js b/legacy/web/app/store/Drivers.js new file mode 100644 index 00000000..fd4ca203 --- /dev/null +++ b/legacy/web/app/store/Drivers.js @@ -0,0 +1,30 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Drivers', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Driver', + + proxy: { + type: 'rest', + url: 'api/drivers', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/EventPositions.js b/legacy/web/app/store/EventPositions.js new file mode 100644 index 00000000..d984e4b8 --- /dev/null +++ b/legacy/web/app/store/EventPositions.js @@ -0,0 +1,31 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.EventPositions', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Position', + + trackRemoved: false, + + proxy: { + type: 'rest', + url: 'api/positions', + headers: { + 'Accept': 'application/json' + } + } +}); diff --git a/legacy/web/app/store/Events.js b/legacy/web/app/store/Events.js new file mode 100644 index 00000000..cfa0d568 --- /dev/null +++ b/legacy/web/app/store/Events.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Events', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Event', + + trackRemoved: false, + + proxy: { + type: 'rest', + url: 'api/events' + } +}); diff --git a/legacy/web/app/store/GeofenceAttributes.js b/legacy/web/app/store/GeofenceAttributes.js new file mode 100644 index 00000000..b1d48c19 --- /dev/null +++ b/legacy/web/app/store/GeofenceAttributes.js @@ -0,0 +1,38 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.GeofenceAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + proxy: 'memory', + + data: [{ + key: 'color', + name: Strings.attributeColor, + valueType: 'color' + }, { + key: 'speedLimit', + name: Strings.attributeSpeedLimit, + valueType: 'number', + dataType: 'speed' + }, { + key: 'polylineDistance', + name: Strings.attributePolylineDistance, + valueType: 'number', + dataType: 'distance' + }] +}); diff --git a/legacy/web/app/store/GeofenceTypes.js b/legacy/web/app/store/GeofenceTypes.js new file mode 100644 index 00000000..45b79897 --- /dev/null +++ b/legacy/web/app/store/GeofenceTypes.js @@ -0,0 +1,32 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.GeofenceTypes', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'Polygon', + name: Strings.mapShapePolygon + }, { + key: 'Circle', + name: Strings.mapShapeCircle + }, { + key: 'LineString', + name: Strings.mapShapePolyline + }] +}); diff --git a/legacy/web/app/store/Geofences.js b/legacy/web/app/store/Geofences.js new file mode 100644 index 00000000..5a7172be --- /dev/null +++ b/legacy/web/app/store/Geofences.js @@ -0,0 +1,29 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Geofences', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Geofence', + + proxy: { + type: 'rest', + url: 'api/geofences', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/GroupAttributes.js b/legacy/web/app/store/GroupAttributes.js new file mode 100644 index 00000000..589e4ec2 --- /dev/null +++ b/legacy/web/app/store/GroupAttributes.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.GroupAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + + data: [{ + key: 'processing.copyAttributes', + name: Strings.attributeProcessingCopyAttributes, + valueType: 'string' + }, { + key: 'decoder.timezone', + name: Strings.sharedTimezone, + valueType: 'string', + dataType: 'timezone' + }] +}); diff --git a/legacy/web/app/store/Groups.js b/legacy/web/app/store/Groups.js new file mode 100644 index 00000000..5f8fa60a --- /dev/null +++ b/legacy/web/app/store/Groups.js @@ -0,0 +1,29 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Groups', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Group', + + proxy: { + type: 'rest', + url: 'api/groups', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/HoursUnits.js b/legacy/web/app/store/HoursUnits.js new file mode 100644 index 00000000..02f62c65 --- /dev/null +++ b/legacy/web/app/store/HoursUnits.js @@ -0,0 +1,43 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.HoursUnits', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'fullName'], + + data: [{ + key: 'h', + name: Strings.sharedHourAbbreviation, + fullName: Strings.sharedHour + }], + + convertValue: function (value, unit, back) { + return back ? value * 3600000 : value / 3600000; + }, + + formatValue: function (value, unit, convert) { + var hours, minutes; + if (convert) { + hours = Math.floor(value / 3600000); + minutes = Math.floor(value % 3600000 / 60000); + } else { + hours = Math.floor(value); + minutes = Math.floor(value % 1 * 60); + } + return hours + ' ' + Strings.sharedHourAbbreviation + ' ' + minutes + ' ' + Strings.sharedMinuteAbbreviation; + } +}); diff --git a/legacy/web/app/store/KnownCommands.js b/legacy/web/app/store/KnownCommands.js new file mode 100644 index 00000000..a6089c48 --- /dev/null +++ b/legacy/web/app/store/KnownCommands.js @@ -0,0 +1,241 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.KnownCommands', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownCommand', + + data: [{ + type: 'custom', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'positionPeriodic', + parameters: [{ + key: 'frequency', + name: Strings.commandFrequency, + valueType: 'number', + allowDecimals: false, + minValue: 0, + dataType: 'frequency' + }] + }, { + type: 'setTimezone', + parameters: [{ + key: 'timezone', + name: Strings.commandTimezone, + valueType: 'string', + dataType: 'timezone' + }] + }, { + type: 'sendSms', + parameters: [{ + key: 'phone', + name: Strings.commandPhone, + valueType: 'string' + }, { + key: 'message', + name: Strings.commandMessage, + valueType: 'string' + }] + }, { + type: 'message', + parameters: [{ + key: 'message', + name: Strings.commandMessage, + valueType: 'string' + }] + }, { + type: 'sendUssd', + parameters: [{ + key: 'phone', + name: Strings.commandPhone, + valueType: 'string' + }] + }, { + type: 'sosNumber', + parameters: [{ + key: 'index', + name: Strings.commandIndex, + valueType: 'number', + allowDecimals: false, + minValue: 0 + }, { + key: 'phone', + name: Strings.commandPhone, + valueType: 'string' + }] + }, { + type: 'silenceTime', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'setPhonebook', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'voiceMessage', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'outputControl', + parameters: [{ + key: 'index', + name: Strings.commandIndex, + valueType: 'number', + allowDecimals: false, + minValue: 0 + }, { + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'voiceMonitoring', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'setAgps', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'setIndicator', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'configuration', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'setConnection', + parameters: [{ + key: 'server', + name: Strings.commandServer, + valueType: 'string' + }, { + key: 'port', + name: Strings.commandPort, + valueType: 'number', + allowDecimals: false, + minValue: 1, + maxValue: 65535 + }] + }, { + type: 'setOdometer', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'modePowerSaving', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'modeDeepSleep', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'alarmGeofence', + parameters: [{ + key: 'radius', + name: Strings.commandRadius, + valueType: 'number', + allowDecimals: false, + minValue: 0 + }] + }, { + type: 'alarmBattery', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'alarmSos', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'alarmRemove', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'alarmClock', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'alarmSpeed', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }, { + type: 'alarmFall', + parameters: [{ + key: 'enable', + name: Strings.commandEnable, + valueType: 'boolean' + }] + }, { + type: 'alarmVibration', + parameters: [{ + key: 'data', + name: Strings.commandData, + valueType: 'string' + }] + }] +}); diff --git a/legacy/web/app/store/Languages.js b/legacy/web/app/store/Languages.js new file mode 100644 index 00000000..32d648e0 --- /dev/null +++ b/legacy/web/app/store/Languages.js @@ -0,0 +1,34 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Languages', { + extend: 'Ext.data.Store', + fields: ['code', 'name'], + + data: (function () { + var code, data = []; + for (code in Locale.languages) { + if (Locale.languages.hasOwnProperty(code)) { + data.push({ + code: code, + name: Locale.languages[code].name + }); + } + } + return data; + })() +}); diff --git a/legacy/web/app/store/LatestPositions.js b/legacy/web/app/store/LatestPositions.js new file mode 100644 index 00000000..f7cf5406 --- /dev/null +++ b/legacy/web/app/store/LatestPositions.js @@ -0,0 +1,21 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.LatestPositions', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Position' +}); diff --git a/legacy/web/app/store/MaintenanceTypes.js b/legacy/web/app/store/MaintenanceTypes.js new file mode 100644 index 00000000..468b67ea --- /dev/null +++ b/legacy/web/app/store/MaintenanceTypes.js @@ -0,0 +1,22 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.MaintenanceTypes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute' +}); diff --git a/legacy/web/app/store/Maintenances.js b/legacy/web/app/store/Maintenances.js new file mode 100644 index 00000000..a7aa4a07 --- /dev/null +++ b/legacy/web/app/store/Maintenances.js @@ -0,0 +1,30 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Maintenances', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Maintenance', + + proxy: { + type: 'rest', + url: 'api/maintenance', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/MapTypes.js b/legacy/web/app/store/MapTypes.js new file mode 100644 index 00000000..f517045d --- /dev/null +++ b/legacy/web/app/store/MapTypes.js @@ -0,0 +1,56 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.MapTypes', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'locationIqStreets', + name: Strings.mapLocationIqStreets + }, { + key: 'osm', + name: Strings.mapOsm + }, { + key: 'carto', + name: Strings.mapCarto + }, { + key: 'autoNavi', + name: Strings.mapAutoNavi + }, { + key: 'bingRoad', + name: Strings.mapBingRoad + }, { + key: 'bingAerial', + name: Strings.mapBingAerial + }, { + key: 'bingHybrid', + name: Strings.mapBingHybrid + }, { + key: 'yandexMap', + name: Strings.mapYandexMap + }, { + key: 'yandexSat', + name: Strings.mapYandexSat + }, { + key: 'custom', + name: Strings.mapCustom + }, { + key: 'customArcgis', + name: Strings.mapCustomArcgis + }] +}); diff --git a/legacy/web/app/store/Notifications.js b/legacy/web/app/store/Notifications.js new file mode 100644 index 00000000..b30505fd --- /dev/null +++ b/legacy/web/app/store/Notifications.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Notifications', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Notification', + + proxy: { + type: 'rest', + url: 'api/notifications', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/PositionAttributes.js b/legacy/web/app/store/PositionAttributes.js new file mode 100644 index 00000000..5b1206b7 --- /dev/null +++ b/legacy/web/app/store/PositionAttributes.js @@ -0,0 +1,269 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.PositionAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + proxy: 'memory', + + data: [{ + key: 'raw', + name: Strings.positionRaw, + valueType: 'string' + }, { + key: 'index', + name: Strings.positionIndex, + valueType: 'number' + }, { + key: 'hdop', + name: Strings.positionHdop, + valueType: 'number' + }, { + key: 'vdop', + name: Strings.positionVdop, + valueType: 'number' + }, { + key: 'pdop', + name: Strings.positionPdop, + valueType: 'number' + }, { + key: 'sat', + name: Strings.positionSat, + valueType: 'number' + }, { + key: 'satVisible', + name: Strings.positionSatVisible, + valueType: 'number' + }, { + key: 'rssi', + name: Strings.positionRssi, + valueType: 'number' + }, { + key: 'gps', + name: Strings.positionGps, + valueType: 'number' + }, { + key: 'roaming', + name: Strings.positionRoaming, + valueType: 'boolean' + }, { + key: 'event', + name: Strings.positionEvent, + valueType: 'string' + }, { + key: 'alarm', + name: Strings.positionAlarm, + valueType: 'string' + }, { + key: 'status', + name: Strings.positionStatus, + valueType: 'string' + }, { + key: 'odometer', + name: Strings.positionOdometer, + valueType: 'number', + dataType: 'distance' + }, { + key: 'serviceOdometer', + name: Strings.positionServiceOdometer, + valueType: 'number', + dataType: 'distance' + }, { + key: 'tripOdometer', + name: Strings.positionTripOdometer, + valueType: 'number', + dataType: 'distance' + }, { + key: 'hours', + name: Strings.positionHours, + valueType: 'number', + dataType: 'hours' + }, { + key: 'steps', + name: Strings.positionSteps, + valueType: 'number' + }, { + key: 'input', + name: Strings.positionInput, + valueType: 'string' + }, { + key: 'output', + name: Strings.positionOutput, + valueType: 'string' + }, { + key: 'power', + name: Strings.positionPower, + valueType: 'number', + dataType: 'voltage' + }, { + key: 'battery', + name: Strings.positionBattery, + valueType: 'number', + dataType: 'voltage' + }, { + key: 'batteryLevel', + name: Strings.positionBatteryLevel, + valueType: 'number', + dataType: 'percentage' + }, { + key: 'fuel', + name: Strings.positionFuel, + valueType: 'number', + dataType: 'volume' + }, { + key: 'fuelConsumption', + name: Strings.positionFuelConsumption, + valueType: 'number', + dataType: 'consumption' + }, { + key: 'versionFw', + name: Strings.positionVersionFw, + valueType: 'string' + }, { + key: 'versionHw', + name: Strings.positionVersionHw, + valueType: 'string' + }, { + key: 'type', + name: Strings.sharedType, + valueType: 'string' + }, { + key: 'ignition', + name: Strings.positionIgnition, + valueType: 'boolean' + }, { + key: 'flags', + name: Strings.positionFlags, + valueType: 'string' + }, { + key: 'charge', + name: Strings.positionCharge, + valueType: 'boolean' + }, { + key: 'ip', + name: Strings.positionIp, + valueType: 'string' + }, { + key: 'archive', + name: Strings.positionArchive, + valueType: 'boolean' + }, { + key: 'distance', + name: Strings.positionDistance, + valueType: 'number', + dataType: 'distance' + }, { + key: 'totalDistance', + name: Strings.deviceTotalDistance, + valueType: 'number', + dataType: 'distance' + }, { + key: 'rpm', + name: Strings.positionRpm, + valueType: 'number' + }, { + key: 'vin', + name: Strings.positionVin, + valueType: 'string' + }, { + key: 'approximate', + name: Strings.positionApproximate, + valueType: 'boolean' + }, { + key: 'throttle', + name: Strings.positionThrottle, + valueType: 'number' + }, { + key: 'motion', + name: Strings.positionMotion, + valueType: 'boolean' + }, { + key: 'armed', + name: Strings.positionArmed, + valueType: 'number' + }, { + key: 'geofence', + name: Strings.sharedGeofence, + valueType: 'string' + }, { + key: 'acceleration', + name: Strings.positionAcceleration, + valueType: 'number' + }, { + key: 'deviceTemp', + name: Strings.positionDeviceTemp, + valueType: 'number', + dataType: 'temperature' + }, { + key: 'operator', + name: Strings.positionOperator, + valueType: 'string' + }, { + key: 'command', + name: Strings.deviceCommand, + valueType: 'string' + }, { + key: 'blocked', + name: Strings.positionBlocked, + valueType: 'boolean' + }, { + key: 'dtcs', + name: Strings.positionDtcs, + valueType: 'string' + }, { + key: 'obdSpeed', + name: Strings.positionObdSpeed, + valueType: 'number', + dataType: 'speed' + }, { + key: 'obdOdometer', + name: Strings.positionObdOdometer, + valueType: 'number', + dataType: 'distance' + }, { + key: 'result', + name: Strings.eventCommandResult, + valueType: 'string' + }, { + key: 'driverUniqueId', + name: Strings.positionDriverUniqueId, + valueType: 'string', + dataType: 'driverUniqueId' + }], + + getAttributeName: function (key, capitalize) { + var model = this.getById(key); + if (model) { + return model.get('name'); + } else if (capitalize) { + return key.replace(/^./, function (match) { + return match.toUpperCase(); + }); + } else { + return key; + } + }, + + getAttributeDataType: function (key) { + var model = this.getById(key); + if (model && model.get('dataType')) { + return model.get('dataType'); + } else { + return null; + } + } +}); diff --git a/legacy/web/app/store/Positions.js b/legacy/web/app/store/Positions.js new file mode 100644 index 00000000..388a3320 --- /dev/null +++ b/legacy/web/app/store/Positions.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Positions', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Position', + + proxy: { + type: 'rest', + url: 'api/positions', + headers: { + 'Accept': 'application/json' + } + } +}); diff --git a/legacy/web/app/store/ReportChartTypes.js b/legacy/web/app/store/ReportChartTypes.js new file mode 100644 index 00000000..f53d3197 --- /dev/null +++ b/legacy/web/app/store/ReportChartTypes.js @@ -0,0 +1,33 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportChartTypes', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'speed', + name: Strings.positionSpeed + }, { + key: 'accuracy', + name: Strings.positionAccuracy + }, { + key: 'altitude', + name: Strings.positionAltitude + }] +}); diff --git a/legacy/web/app/store/ReportEventTypes.js b/legacy/web/app/store/ReportEventTypes.js new file mode 100644 index 00000000..001f159b --- /dev/null +++ b/legacy/web/app/store/ReportEventTypes.js @@ -0,0 +1,26 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportEventTypes', { + extend: 'Ext.data.Store', + fields: ['type', 'name'], + + statics: { + allEvents: 'allEvents' + } +}); diff --git a/legacy/web/app/store/ReportEvents.js b/legacy/web/app/store/ReportEvents.js new file mode 100644 index 00000000..061aaa42 --- /dev/null +++ b/legacy/web/app/store/ReportEvents.js @@ -0,0 +1,35 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportEvents', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Event', + + proxy: { + type: 'rest', + url: 'api/reports/events', + timeout: Traccar.Style.reportTimeout, + headers: { + 'Accept': 'application/json' + }, + listeners: { + exception: function (proxy, exception) { + Traccar.app.showError(exception); + } + } + } +}); diff --git a/legacy/web/app/store/ReportPeriods.js b/legacy/web/app/store/ReportPeriods.js new file mode 100644 index 00000000..542fdce9 --- /dev/null +++ b/legacy/web/app/store/ReportPeriods.js @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportPeriods', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'custom', + name: Strings.reportCustom + }, { + key: 'today', + name: Strings.reportToday + }, { + key: 'yesterday', + name: Strings.reportYesterday + }, { + key: 'thisWeek', + name: Strings.reportThisWeek + }, { + key: 'previousWeek', + name: Strings.reportPreviousWeek + }, { + key: 'thisMonth', + name: Strings.reportThisMonth + }, { + key: 'previousMonth', + name: Strings.reportPreviousMonth + }] +}); diff --git a/legacy/web/app/store/ReportRoute.js b/legacy/web/app/store/ReportRoute.js new file mode 100644 index 00000000..7babe163 --- /dev/null +++ b/legacy/web/app/store/ReportRoute.js @@ -0,0 +1,35 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportRoute', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Position', + + proxy: { + type: 'rest', + url: 'api/reports/route', + timeout: Traccar.Style.reportTimeout, + headers: { + 'Accept': 'application/json' + }, + listeners: { + exception: function (proxy, exception) { + Traccar.app.showError(exception); + } + } + } +}); diff --git a/legacy/web/app/store/ReportStops.js b/legacy/web/app/store/ReportStops.js new file mode 100644 index 00000000..75c9fc18 --- /dev/null +++ b/legacy/web/app/store/ReportStops.js @@ -0,0 +1,36 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportStops', { + extend: 'Ext.data.Store', + model: 'Traccar.model.ReportStop', + + proxy: { + type: 'rest', + url: 'api/reports/stops', + timeout: Traccar.Style.reportTimeout, + headers: { + 'Accept': 'application/json' + }, + listeners: { + exception: function (proxy, exception) { + Traccar.app.showError(exception); + } + } + } +}); diff --git a/legacy/web/app/store/ReportSummary.js b/legacy/web/app/store/ReportSummary.js new file mode 100644 index 00000000..f328da2d --- /dev/null +++ b/legacy/web/app/store/ReportSummary.js @@ -0,0 +1,36 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportSummary', { + extend: 'Ext.data.Store', + model: 'Traccar.model.ReportSummary', + + proxy: { + type: 'rest', + url: 'api/reports/summary', + timeout: Traccar.Style.reportTimeout, + headers: { + 'Accept': 'application/json' + }, + listeners: { + exception: function (proxy, exception) { + Traccar.app.showError(exception); + } + } + } +}); diff --git a/legacy/web/app/store/ReportTrips.js b/legacy/web/app/store/ReportTrips.js new file mode 100644 index 00000000..057cc7c0 --- /dev/null +++ b/legacy/web/app/store/ReportTrips.js @@ -0,0 +1,36 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportTrips', { + extend: 'Ext.data.Store', + model: 'Traccar.model.ReportTrip', + + proxy: { + type: 'rest', + url: 'api/reports/trips', + timeout: Traccar.Style.reportTimeout, + headers: { + 'Accept': 'application/json' + }, + listeners: { + exception: function (proxy, exception) { + Traccar.app.showError(exception); + } + } + } +}); diff --git a/legacy/web/app/store/ReportTypes.js b/legacy/web/app/store/ReportTypes.js new file mode 100644 index 00000000..ceaba9d2 --- /dev/null +++ b/legacy/web/app/store/ReportTypes.js @@ -0,0 +1,44 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.ReportTypes', { + extend: 'Ext.data.Store', + fields: ['key', 'name'], + + data: [{ + key: 'route', + name: Strings.reportRoute + }, { + key: 'events', + name: Strings.reportEvents + }, { + key: 'trips', + name: Strings.reportTrips + }, { + key: 'stops', + name: Strings.reportStops + }, { + key: 'summary', + name: Strings.reportSummary + }, { + key: 'daily', + name: Strings.reportDaily + }, { + key: 'chart', + name: Strings.reportChart + }] +}); diff --git a/legacy/web/app/store/ServerAttributes.js b/legacy/web/app/store/ServerAttributes.js new file mode 100644 index 00000000..204f885b --- /dev/null +++ b/legacy/web/app/store/ServerAttributes.js @@ -0,0 +1,23 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.ServerAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + + data: [] +}); diff --git a/legacy/web/app/store/SpeedUnits.js b/legacy/web/app/store/SpeedUnits.js new file mode 100644 index 00000000..a36be928 --- /dev/null +++ b/legacy/web/app/store/SpeedUnits.js @@ -0,0 +1,53 @@ +/* + * Copyright 2015 - 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.SpeedUnits', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'factor'], + + data: [{ + key: 'kn', + name: Strings.sharedKn, + factor: 1 + }, { + key: 'kmh', + name: Strings.sharedKmh, + factor: 1.852 + }, { + key: 'mph', + name: Strings.sharedMph, + factor: 1.15078 + }], + + convertValue: function (value, unit, back) { + var model; + if (!unit) { + unit = 'kn'; + } + model = this.findRecord('key', unit); + return back ? value / model.get('factor') : value * model.get('factor'); + }, + + formatValue: function (value, unit, convert) { + var model; + if (!unit) { + unit = 'kn'; + } + model = this.findRecord('key', unit); + return (convert ? this.convertValue(value, unit) : value).toFixed(1) + ' ' + model.get('name'); + } +}); diff --git a/legacy/web/app/store/Statistics.js b/legacy/web/app/store/Statistics.js new file mode 100644 index 00000000..1d44c6e3 --- /dev/null +++ b/legacy/web/app/store/Statistics.js @@ -0,0 +1,26 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Statistics', { + extend: 'Ext.data.Store', + model: 'Traccar.model.Statistics', + + proxy: { + type: 'rest', + url: 'api/statistics' + } +}); diff --git a/legacy/web/app/store/TimeUnits.js b/legacy/web/app/store/TimeUnits.js new file mode 100644 index 00000000..0d16c4bb --- /dev/null +++ b/legacy/web/app/store/TimeUnits.js @@ -0,0 +1,44 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.TimeUnits', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'factor'], + + data: [{ + key: 's', + name: Strings.sharedSecondAbbreviation, + factor: 1 + }, { + key: 'm', + name: Strings.sharedMinuteAbbreviation, + factor: 60 + }, { + key: 'h', + name: Strings.sharedHourAbbreviation, + factor: 3600 + }], + + convertValue: function (value, unit, back) { + var model; + if (!unit) { + unit = 'kn'; + } + model = this.findRecord('key', unit); + return back ? value * model.get('factor') : value / model.get('factor'); + } +}); diff --git a/legacy/web/app/store/UserAttributes.js b/legacy/web/app/store/UserAttributes.js new file mode 100644 index 00000000..dfe69421 --- /dev/null +++ b/legacy/web/app/store/UserAttributes.js @@ -0,0 +1,70 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.store.UserAttributes', { + extend: 'Ext.data.Store', + model: 'Traccar.model.KnownAttribute', + + data: [{ + key: 'mail.smtp.host', + name: Strings.attributeMailSmtpHost, + valueType: 'string' + }, { + key: 'mail.smtp.port', + name: Strings.attributeMailSmtpPort, + valueType: 'number', + allowDecimals: false, + minValue: 1, + maxValue: 65535 + }, { + key: 'mail.smtp.starttls.enable', + name: Strings.attributeMailSmtpStarttlsEnable, + valueType: 'boolean' + }, { + key: 'mail.smtp.starttls.required', + name: Strings.attributeMailSmtpStarttlsRequired, + valueType: 'boolean' + }, { + key: 'mail.smtp.ssl.enable', + name: Strings.attributeMailSmtpSslEnable, + valueType: 'boolean' + }, { + key: 'mail.smtp.ssl.trust', + name: Strings.attributeMailSmtpSslTrust, + valueType: 'string' + }, { + key: 'mail.smtp.ssl.protocols', + name: Strings.attributeMailSmtpSslProtocols, + valueType: 'string' + }, { + key: 'mail.smtp.from', + name: Strings.attributeMailSmtpFrom, + valueType: 'string' + }, { + key: 'mail.smtp.auth', + name: Strings.attributeMailSmtpAuth, + valueType: 'boolean' + }, { + key: 'mail.smtp.username', + name: Strings.attributeMailSmtpUsername, + valueType: 'string' + }, { + key: 'mail.smtp.password', + name: Strings.attributeMailSmtpPassword, + valueType: 'string' + }] +}); diff --git a/legacy/web/app/store/Users.js b/legacy/web/app/store/Users.js new file mode 100644 index 00000000..0279afea --- /dev/null +++ b/legacy/web/app/store/Users.js @@ -0,0 +1,29 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.Users', { + extend: 'Ext.data.Store', + model: 'Traccar.model.User', + + proxy: { + type: 'rest', + url: 'api/users', + writer: { + writeAllFields: true + } + } +}); diff --git a/legacy/web/app/store/VisibleDevices.js b/legacy/web/app/store/VisibleDevices.js new file mode 100644 index 00000000..db1ca7da --- /dev/null +++ b/legacy/web/app/store/VisibleDevices.js @@ -0,0 +1,22 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.VisibleDevices', { + extend: 'Ext.data.ChainedStore', + source: 'Devices' +}); diff --git a/legacy/web/app/store/VolumeUnits.js b/legacy/web/app/store/VolumeUnits.js new file mode 100644 index 00000000..2bdf6684 --- /dev/null +++ b/legacy/web/app/store/VolumeUnits.js @@ -0,0 +1,57 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.store.VolumeUnits', { + extend: 'Ext.data.Store', + fields: ['key', 'name', 'fullName', 'factor'], + + data: [{ + key: 'ltr', + name: Strings.sharedLiterAbbreviation, + fullName: Strings.sharedLiter, + factor: 1 + }, { + key: 'impGal', + name: Strings.sharedGallonAbbreviation, + fullName: Strings.sharedImpGallon, + factor: 4.546 + }, { + key: 'usGal', + name: Strings.sharedGallonAbbreviation, + fullName: Strings.sharedUsGallon, + factor: 3.785 + }], + + convertValue: function (value, unit, back) { + var model; + if (!unit) { + unit = 'ltr'; + } + model = this.findRecord('key', unit); + return back ? value * model.get('factor') : value / model.get('factor'); + }, + + formatValue: function (value, unit, convert) { + var model; + if (!unit) { + unit = 'ltr'; + } + model = this.findRecord('key', unit); + return (convert ? this.convertValue(value, unit) : value).toFixed(1) + ' ' + model.get('name'); + } +}); diff --git a/legacy/web/app/view/ArrayListFilter.js b/legacy/web/app/view/ArrayListFilter.js new file mode 100644 index 00000000..519096eb --- /dev/null +++ b/legacy/web/app/view/ArrayListFilter.js @@ -0,0 +1,50 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.ArrayListFilter', { + extend: 'Ext.grid.filters.filter.List', + alias: 'grid.filter.arraylist', + + type: 'arraylist', + + constructor: function (config) { + this.callParent([config]); + this.filter.setFilterFn(function (item) { + var i, property, value, splits; + property = item.get(this.getProperty()); + value = this.getValue(); + if (Ext.isArray(property)) { + for (i = 0; i < property.length; i++) { + if (value.indexOf(property[i]) !== -1) { + return true; + } + } + } else if (property.match(/[ ,]+/)) { + splits = property.split(/[ ,]+/).filter(Boolean); + for (i = 0; i < splits.length; i++) { + if (value.indexOf(splits[i]) !== -1) { + return true; + } + } + } else if (value.indexOf(property) !== -1) { + return true; + } + return false; + }); + } +}); diff --git a/legacy/web/app/view/BaseWindow.js b/legacy/web/app/view/BaseWindow.js new file mode 100644 index 00000000..bf698e08 --- /dev/null +++ b/legacy/web/app/view/BaseWindow.js @@ -0,0 +1,32 @@ +/* + * Copyright 2015 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.BaseWindow', { + extend: 'Ext.window.Window', + + width: Traccar.Style.windowWidth, + height: Traccar.Style.windowHeight, + layout: 'fit', + + initComponent: function () { + if (window.innerWidth < Traccar.Style.windowWidth || window.innerHeight < Traccar.Style.windowHeight) { + this.maximized = true; + this.style = 'border-width: 0'; + } + this.callParent(); + } +}); diff --git a/legacy/web/app/view/ClearableComboBox.js b/legacy/web/app/view/ClearableComboBox.js new file mode 100644 index 00000000..cf811d1d --- /dev/null +++ b/legacy/web/app/view/ClearableComboBox.js @@ -0,0 +1,31 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.ClearableComboBox', { + extend: 'Ext.form.field.ComboBox', + xtype: 'clearableComboBox', + + editable: false, + triggers: { + clear: { + cls: 'iconCls: x-fa fa-times', + handler: function (button) { + button.clearValue(); + } + } + } +}); diff --git a/legacy/web/app/view/ColorPicker.js b/legacy/web/app/view/ColorPicker.js new file mode 100644 index 00000000..5de03aa3 --- /dev/null +++ b/legacy/web/app/view/ColorPicker.js @@ -0,0 +1,43 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.ColorPicker', { + extend: 'Ext.form.field.Picker', + xtype: 'customcolorpicker', + + config: { + value: '#008000' + }, + + editable: false, + + createPicker: function () { + return Ext.create('Ext.picker.Color', { + floating: true, + picker: this, + select: function (selColor) { + this.picker.setValue('#' + selColor); + this.picker.collapse(); + } + }); + }, + + setValue: function (color) { + this.callParent([color]); + this.setFieldStyle('background-color:' + color); + } +}); diff --git a/legacy/web/app/view/CustomNumberField.js b/legacy/web/app/view/CustomNumberField.js new file mode 100644 index 00000000..8cfac1ee --- /dev/null +++ b/legacy/web/app/view/CustomNumberField.js @@ -0,0 +1,109 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.CustomNumberField', { + extend: 'Ext.form.field.Number', + xtype: 'customNumberField', + + beforeEl: '<div style="width:100%;display:inline-table;">', + unitEl: '<div id="numberUnitEl" style="display:table-cell;padding-left:10px;vertical-align:middle;width:1px;white-space:nowrap;">', + + constructor: function (config) { + var unitName = ''; + if (config.dataType) { + config.beforeBodyEl = this.beforeEl; + switch (config.dataType) { + case 'speed': + config.units = {}; + config.units.getStore = function () { + return Ext.getStore('SpeedUnits'); + }; + config.units.getValue = function () { + return Traccar.app.getAttributePreference('speedUnit', 'kn'); + }; + unitName = Ext.getStore('SpeedUnits').findRecord('key', config.units.getValue()).get('name'); + break; + case 'distance': + config.units = {}; + config.units.getStore = function () { + return Ext.getStore('DistanceUnits'); + }; + config.units.getValue = function () { + return Traccar.app.getAttributePreference('distanceUnit', 'km'); + }; + unitName = Ext.getStore('DistanceUnits').findRecord('key', config.units.getValue()).get('name'); + break; + case 'frequency': + if (!config.listeners) { + config.listeners = {}; + } + config.listeners.afterrender = function () { + if (!this.units) { + this.units = Ext.create({ + xtype: 'combobox', + renderTo: 'numberUnitEl', + store: 'TimeUnits', + displayField: 'name', + valueField: 'key', + editable: false, + numberField: this, + value: 's', + width: '70px', + listeners: { + select: function () { + this.numberField.step = this.getStore().convertValue(1, this.getValue(), true); + } + } + }); + } + }; + break; + case 'hours': + config.units = {}; + config.units.getStore = function () { + return Ext.getStore('HoursUnits'); + }; + config.units.getValue = function () { + return 'h'; + }; + unitName = Strings.sharedHourAbbreviation; + break; + default: + break; + } + config.afterBodyEl = this.unitEl + unitName + '</div></div>'; + config.rawToValue = function (rawValue) { + if (this.units) { + return this.units.getStore().convertValue(this.parseValue(rawValue), this.units.getValue(), true); + } else { + return this.parseValue(rawValue); + } + }; + config.valueToRaw = function (value) { + if (this.units) { + return String(this.units.getStore().convertValue(value, this.units.getValue(), false)); + } else { + return String(value); + } + }; + if (config.units) { + config.step = config.units.getStore().convertValue(1, config.units.getValue(), true); + } + } + this.callParent(arguments); + } +}); diff --git a/legacy/web/app/view/CustomTimeField.js b/legacy/web/app/view/CustomTimeField.js new file mode 100644 index 00000000..c2b44ce1 --- /dev/null +++ b/legacy/web/app/view/CustomTimeField.js @@ -0,0 +1,30 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.CustomTimeField', { + extend: 'Ext.form.field.Time', + xtype: 'customTimeField', + + constructor: function (config) { + if (Traccar.app.getPreference('twelveHourFormat', false)) { + config.format = Traccar.Style.timeFormat12; + } else { + config.format = Traccar.Style.timeFormat24; + } + this.callParent(arguments); + } +}); diff --git a/legacy/web/app/view/DeviceMenu.js b/legacy/web/app/view/DeviceMenu.js new file mode 100644 index 00000000..06b272ad --- /dev/null +++ b/legacy/web/app/view/DeviceMenu.js @@ -0,0 +1,72 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.DeviceMenu', { + extend: 'Ext.button.Button', + xtype: 'deviceMenu', + + requires: [ + 'Traccar.view.DeviceMenuController' + ], + + glyph: 'xf013@FontAwesome', + tooltip: Strings.settingsTitle, + tooltipType: 'title', + + menu: { + controller: 'deviceMenu', + + items: [{ + text: Strings.sharedDrivers, + glyph: 'xf084@FontAwesome', + handler: 'onDriversClick', + reference: 'menuDriversButton' + }, { + text: Strings.sharedGeofences, + glyph: 'xf21d@FontAwesome', + handler: 'onGeofencesClick', + reference: 'menuGeofencesButton' + }, { + text: Strings.sharedNotifications, + glyph: 'xf003@FontAwesome', + handler: 'onNotificationsClick', + reference: 'menuNotificationsButton' + }, { + text: Strings.sharedComputedAttributes, + glyph: 'xf0ae@FontAwesome', + handler: 'onComputedAttributesClick', + reference: 'menuComputedAttributesButton' + }, { + text: Strings.sharedSavedCommands, + glyph: 'xf093@FontAwesome', + handler: 'onCommandsClick', + reference: 'menuCommandsButton' + }, { + text: Strings.sharedMaintenance, + glyph: 'xf0ad@FontAwesome', + handler: 'onMaintenancesClick', + reference: 'menuMaintenancesButton' + }, { + hidden: true, + text: Strings.sharedDeviceAccumulators, + glyph: 'xf0e4@FontAwesome', + handler: 'onDeviceAccumulatorsClick', + reference: 'menuDeviceAccumulatorsButton' + }] + } +}); diff --git a/legacy/web/app/view/DeviceMenuController.js b/legacy/web/app/view/DeviceMenuController.js new file mode 100644 index 00000000..830ea7ec --- /dev/null +++ b/legacy/web/app/view/DeviceMenuController.js @@ -0,0 +1,134 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.DeviceMenuController', { + extend: 'Ext.app.ViewController', + alias: 'controller.deviceMenu', + + requires: [ + 'Traccar.view.permissions.Geofences', + 'Traccar.view.permissions.Drivers', + 'Traccar.view.permissions.Notifications', + 'Traccar.view.edit.ComputedAttributes', + 'Traccar.view.permissions.SavedCommands', + 'Traccar.view.permissions.Maintenances', + 'Traccar.view.dialog.DeviceAccumulators', + 'Traccar.view.BaseWindow' + ], + + init: function () { + this.lookupReference('menuDriversButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('menuComputedAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); + this.lookupReference('menuCommandsButton').setHidden(Traccar.app.getPreference('limitCommands', false)); + this.lookupReference('menuDeviceAccumulatorsButton').setHidden( + !Traccar.app.getUser().get('administrator') && Traccar.app.getUser().get('userLimit') === 0 || Traccar.app.getVehicleFeaturesDisabled()); + this.lookupReference('menuMaintenancesButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableMaintenance')); + }, + + onGeofencesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedGeofences, + items: { + xtype: 'linkGeofencesView', + baseObjectName: 'deviceId', + linkObjectName: 'geofenceId', + storeName: 'Geofences', + baseObject: this.getView().up('deviceMenu').device.getId() + } + }).show(); + }, + + onNotificationsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedNotifications, + items: { + xtype: 'linkNotificationsView', + baseObjectName: 'deviceId', + linkObjectName: 'notificationId', + storeName: 'Notifications', + baseObject: this.getView().up('deviceMenu').device.getId() + } + }).show(); + }, + + onComputedAttributesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedComputedAttributes, + items: { + xtype: 'linkComputedAttributesView', + baseObjectName: 'deviceId', + linkObjectName: 'attributeId', + storeName: 'ComputedAttributes', + baseObject: this.getView().up('deviceMenu').device.getId() + } + }).show(); + }, + + onDriversClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedDrivers, + items: { + xtype: 'linkDriversView', + baseObjectName: 'deviceId', + linkObjectName: 'driverId', + storeName: 'Drivers', + baseObject: this.getView().up('deviceMenu').device.getId() + } + }).show(); + }, + + onCommandsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedSavedCommands, + items: { + xtype: 'linkSavedCommandsView', + baseObjectName: 'deviceId', + linkObjectName: 'commandId', + storeName: 'Commands', + baseObject: this.getView().up('deviceMenu').device.getId() + } + }).show(); + }, + + onMaintenancesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedMaintenance, + items: { + xtype: 'linkMaintenancesView', + baseObjectName: 'deviceId', + linkObjectName: 'maintenanceId', + storeName: 'Maintenances', + baseObject: this.getView().up('deviceMenu').device.getId() + } + }).show(); + }, + + onDeviceAccumulatorsClick: function () { + var position, dialog = Ext.create('Traccar.view.dialog.DeviceAccumulators'); + dialog.deviceId = this.getView().up('deviceMenu').device.getId(); + position = Ext.getStore('LatestPositions').findRecord('deviceId', dialog.deviceId, 0, false, false, true); + if (position) { + dialog.lookupReference('totalDistance').setValue(position.get('attributes').totalDistance); + dialog.lookupReference('hours').setValue(position.get('attributes').hours); + } + dialog.show(); + } +}); diff --git a/legacy/web/app/view/Events.js b/legacy/web/app/view/Events.js new file mode 100644 index 00000000..439de5af --- /dev/null +++ b/legacy/web/app/view/Events.js @@ -0,0 +1,117 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.Events', { + extend: 'Traccar.view.GridPanel', + xtype: 'eventsView', + + requires: [ + 'Traccar.view.EventsController' + ], + + controller: 'events', + + store: 'Events', + + stateful: true, + stateId: 'events-grid', + + title: Strings.reportEvents, + + sortableColumns: false, + + header: false, + + tbar: { + componentCls: 'toolbar-header-style', + defaults: { + xtype: 'button', + tooltipType: 'title', + stateEvents: ['toggle'], + enableToggle: true, + stateful: { + pressed: true + } + }, + items: [{ + xtype: 'tbtext', + html: Strings.reportEvents, + baseCls: 'x-panel-header-title-default' + }, { + xtype: 'tbfill' + }, { + glyph: 'xf063@FontAwesome', + pressed: true, + toggleHandler: 'onScrollToLastClick', + stateId: 'events-scroll-to-last-button', + tooltip: Strings.eventsScrollToLast, + reference: 'scrollToLastButton' + }, { + id: 'soundButton', + glyph: 'xf0a2@FontAwesome', + tooltip: Strings.sharedSound, + stateId: 'sound-button' + }, { + glyph: 'xf014@FontAwesome', + tooltip: Strings.sharedRemove, + handler: 'onRemoveClick', + reference: 'removeEventButton', + disabled: true, + stateful: false, + enableToggle: false + }, { + glyph: 'xf1f8@FontAwesome', + tooltip: Strings.reportClear, + handler: 'onClearClick', + stateful: false, + enableToggle: false + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedHide, + handler: 'onHideEvents', + reference: 'hideEventsButton', + hidden: true, + stateful: false, + enableToggle: false + }] + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedDevice, + dataIndex: 'deviceId', + renderer: Traccar.AttributeFormatter.getFormatter('deviceId') + }, { + flex: 2, + text: Strings.positionEvent, + dataIndex: 'text' + }, { + text: Strings.positionFixTime, + dataIndex: 'eventTime', + renderer: Traccar.AttributeFormatter.getFormatter('eventTime') + }] + } +}); diff --git a/legacy/web/app/view/EventsController.js b/legacy/web/app/view/EventsController.js new file mode 100644 index 00000000..e11b4ff6 --- /dev/null +++ b/legacy/web/app/view/EventsController.js @@ -0,0 +1,126 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.EventsController', { + extend: 'Ext.app.ViewController', + alias: 'controller.events', + + config: { + listen: { + controller: { + '*': { + selectdevice: 'deselectEvent', + selectreport: 'deselectEvent' + }, + 'map': { + deselectfeature: 'deselectFeature' + } + }, + store: { + '#Events': { + add: 'onAddEvent' + } + } + } + }, + + init: function () { + var self = this; + setInterval(function () { + self.getView().getView().refresh(); + }, Traccar.Style.refreshPeriod); + + if (Traccar.app.isMobile()) { + this.lookupReference('hideEventsButton').setHidden(false); + } + }, + + onRemoveClick: function () { + var event, positionId; + event = this.getView().getSelectionModel().getSelection()[0]; + if (event) { + Ext.getStore('Events').remove(event); + positionId = event.get('positionId'); + if (positionId && !Ext.getStore('Events').findRecord('positionId', positionId, 0, false, false, true)) { + Ext.getStore('EventPositions').remove(Ext.getStore('EventPositions').getById(positionId)); + } + } + }, + + onClearClick: function () { + Ext.getStore('Events').removeAll(); + Ext.getStore('EventPositions').removeAll(); + }, + + onAddEvent: function () { + if (this.lookupReference('scrollToLastButton').pressed) { + this.getView().scrollBy(0, Number.POSITIVE_INFINITY, true); + } + }, + + onScrollToLastClick: function (button, pressed) { + if (pressed) { + this.onAddEvent(); + } + }, + + onHideEvents: function () { + Traccar.app.showEvents(false); + }, + + + deselectEvent: function (object) { + if (object) { + this.deselectFeature(); + } + }, + + deselectFeature: function () { + this.getView().getSelectionModel().deselectAll(); + }, + + onSelectionChange: function (selection, selected) { + var event, positionId, position; + event = selected.length > 0 ? selected[0] : null; + if (event) { + positionId = event.get('positionId'); + if (positionId) { + position = Ext.getStore('EventPositions').getById(positionId); + if (position) { + this.fireEvent('selectevent', position); + } else { + Ext.getStore('EventPositions').load({ + params: { + id: positionId + }, + scope: this, + addRecords: true, + callback: function (records, operation, success) { + if (success && records.length > 0) { + this.fireEvent('selectevent', records[0]); + } + } + }); + } + } else { + this.fireEvent('selectevent'); + } + } + this.lookupReference('removeEventButton').setDisabled(!event); + } +}); diff --git a/legacy/web/app/view/GridPanel.js b/legacy/web/app/view/GridPanel.js new file mode 100644 index 00000000..848af081 --- /dev/null +++ b/legacy/web/app/view/GridPanel.js @@ -0,0 +1,34 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.GridPanel', { + extend: 'Ext.grid.Panel', + xtype: 'customGridPanel', + + requires: [ + 'Ext.grid.filters.Filters' + ], + + plugins: 'gridfilters', + + viewConfig: { + enableTextSelection: true, + getRowClass: function () { + return this.enableTextSelection ? 'x-selectable' : ''; + } + } +}); diff --git a/legacy/web/app/view/Main.js b/legacy/web/app/view/Main.js new file mode 100644 index 00000000..0504245e --- /dev/null +++ b/legacy/web/app/view/Main.js @@ -0,0 +1,84 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.Main', { + extend: 'Ext.container.Viewport', + alias: 'widget.main', + + requires: [ + 'Traccar.view.MainController', + 'Traccar.view.edit.Devices', + 'Traccar.view.State', + 'Traccar.view.Report', + 'Traccar.view.Events', + 'Traccar.view.map.Map' + ], + + controller: 'mainController', + + layout: 'border', + + defaults: { + header: false, + collapsible: true, + split: true + }, + + items: [{ + region: 'west', + layout: 'border', + width: Traccar.Style.deviceWidth, + title: Strings.devicesAndState, + titleCollapse: true, + floatable: false, + stateful: true, + stateId: 'devices-and-state-panel', + + defaults: { + split: true, + flex: 1 + }, + + items: [{ + region: 'center', + xtype: 'devicesView' + }, { + region: 'south', + xtype: 'stateView' + }] + }, { + region: 'south', + xtype: 'reportView', + reference: 'reportView', + height: Traccar.Style.reportHeight, + collapsed: true, + titleCollapse: true, + floatable: false + }, { + region: 'center', + xtype: 'mapView', + collapsible: false + }, { + region: 'east', + xtype: 'eventsView', + reference: 'eventsView', + width: Traccar.Style.deviceWidth, + collapsed: true, + titleCollapse: true, + floatable: false + }] +}); diff --git a/legacy/web/app/view/MainController.js b/legacy/web/app/view/MainController.js new file mode 100644 index 00000000..8ed986af --- /dev/null +++ b/legacy/web/app/view/MainController.js @@ -0,0 +1,26 @@ +/* + * Copyright 2017 - 2022 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.MainController', { + extend: 'Ext.app.ViewController', + alias: 'controller.mainController', + + init: function () { + this.lookupReference('reportView').setHidden(Traccar.app.getPreference('disableReports', false)); + this.lookupReference('eventsView').setHidden(Traccar.app.getBooleanAttributePreference('ui.disableEvents')); + } +}); diff --git a/legacy/web/app/view/MainMobile.js b/legacy/web/app/view/MainMobile.js new file mode 100644 index 00000000..8aab7710 --- /dev/null +++ b/legacy/web/app/view/MainMobile.js @@ -0,0 +1,73 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.MainMobile', { + extend: 'Ext.container.Viewport', + alias: 'widget.mainMobile', + + id: 'rootPanel', + + requires: [ + 'Traccar.view.edit.Devices', + 'Traccar.view.State', + 'Traccar.view.Report', + 'Traccar.view.Events', + 'Traccar.view.map.Map' + ], + + layout: 'card', + + items: [{ + layout: 'border', + + defaults: { + header: false, + collapsible: true, + split: true + }, + + items: [{ + region: 'east', + xtype: 'stateView', + title: Strings.stateTitle, + flex: 4, + collapsed: true, + collapseMode: 'mini', + titleCollapse: true, + floatable: false, + stateId: 'mobile-state-grid' + }, { + region: 'center', + xtype: 'mapView', + collapsible: false, + flex: 2 + }, { + region: 'south', + xtype: 'devicesView', + title: Strings.deviceTitle, + flex: 1, + collapsed: true, + titleCollapse: true, + floatable: false, + stateId: 'mobile-devices-grid' + }] + }, { + xtype: 'reportView' + }, { + xtype: 'eventsView' + }] +}); diff --git a/legacy/web/app/view/Report.js b/legacy/web/app/view/Report.js new file mode 100644 index 00000000..deedb747 --- /dev/null +++ b/legacy/web/app/view/Report.js @@ -0,0 +1,115 @@ +/* + * Copyright 2015 - 2016 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.Report', { + extend: 'Ext.panel.Panel', + xtype: 'reportView', + + requires: [ + 'Traccar.view.ReportController', + 'Traccar.view.GridPanel' + ], + + controller: 'report', + + title: Strings.reportTitle, + + tools: [{ + type: 'close', + tooltip: Strings.sharedHide, + handler: 'hideReports' + }], + + tbar: { + scrollable: true, + items: [{ + xtype: 'tbtext', + html: Strings.sharedType + }, { + xtype: 'combobox', + reference: 'reportTypeField', + store: 'ReportTypes', + displayField: 'name', + valueField: 'key', + editable: false, + listeners: { + change: 'onTypeChange' + } + }, '-', { + text: Strings.reportConfigure, + handler: 'onConfigureClick' + }, '-', { + text: Strings.reportShow, + reference: 'showButton', + disabled: true, + handler: 'onReportClick' + }, { + text: Strings.reportExport, + reference: 'exportButton', + disabled: true, + handler: 'onReportClick' + }, { + text: Strings.reportEmail, + reference: 'emailButton', + disabled: true, + handler: 'onReportClick' + }, { + text: Strings.reportClear, + handler: 'onClearClick' + }] + }, + + layout: 'card', + + items: [{ + xtype: 'customGridPanel', + itemId: 'grid', + listeners: { + selectionchange: 'onSelectionChange' + }, + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [ + ] + }, + style: Traccar.Style.reportGridStyle + }, { + xtype: 'cartesian', + itemId: 'chart', + plugins: { + ptype: 'chartitemevents', + moveEvents: true + }, + store: 'ReportRoute', + axes: [{ + title: Strings.reportChart, + type: 'numeric', + position: 'left' + }, { + type: 'time', + position: 'bottom', + fields: ['fixTime'] + }], + listeners: { + itemclick: 'onChartMarkerClick' + }, + insetPadding: Traccar.Style.chartPadding + }] +}); diff --git a/legacy/web/app/view/ReportController.js b/legacy/web/app/view/ReportController.js new file mode 100644 index 00000000..8f63bd31 --- /dev/null +++ b/legacy/web/app/view/ReportController.js @@ -0,0 +1,678 @@ +/* + * Copyright 2015 - 2016 Anton Tananaev (anton@traccar.org) + * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.ReportController', { + extend: 'Ext.app.ViewController', + alias: 'controller.report', + + requires: [ + 'Traccar.AttributeFormatter', + 'Traccar.model.Position', + 'Traccar.model.ReportTrip', + 'Traccar.view.dialog.ReportConfig', + 'Traccar.store.ReportEventTypes' + ], + + config: { + listen: { + controller: { + '*': { + selectdevice: 'deselectReport', + selectevent: 'deselectReport', + showsingleevent: 'showSingleEvent' + }, + 'map': { + selectreport: 'selectReport', + deselectfeature: 'deselectFeature' + } + }, + global: { + routegeocode: 'onGeocode' + }, + store: { + '#ReportEvents': { + add: 'loadRelatedPositions', + load: 'loadRelatedPositions' + }, + '#ReportRoute': { + load: 'loadRoute' + }, + '#ReportStops': { + load: 'loadRelatedPositions' + } + } + } + }, + + hideReports: function () { + Traccar.app.showReports(false); + }, + + getGrid: function () { + return this.getView().getComponent('grid'); + }, + + getChart: function () { + return this.getView().getComponent('chart'); + }, + + init: function () { + var i, data, attribute; + data = Ext.getStore('PositionAttributes').getData().items; + for (i = 0; i < data.length; i++) { + attribute = data[i]; + this.routeColumns.push({ + text: attribute.get('name'), + dataIndex: 'attribute.' + attribute.get('key'), + renderer: Traccar.AttributeFormatter.getAttributeFormatter(attribute.get('key')), + hidden: true + }); + } + if (Traccar.app.getVehicleFeaturesDisabled()) { + for (i = 0; i < this.summaryColumns.length; i++) { + if (this.summaryColumns[i].dataIndex.match('engineHours|spentFuel')) { + this.summaryColumns[i].hidden = true; + } + } + for (i = 0; i < this.tripsColumns.length; i++) { + if (this.tripsColumns[i].dataIndex.match('spentFuel|driverUniqueId')) { + this.tripsColumns[i].hidden = true; + } + } + for (i = 0; i < this.stopsColumns.length; i++) { + if (this.stopsColumns[i].dataIndex.match('engineHours|spentFuel')) { + this.stopsColumns[i].hidden = true; + } + } + } + }, + + onConfigureClick: function () { + var dialog = Ext.create('Traccar.view.dialog.ReportConfig'); + dialog.lookupReference('eventTypeField').setHidden(this.lookupReference('reportTypeField').getValue() !== 'events'); + dialog.lookupReference('chartTypeField').setHidden(this.lookupReference('reportTypeField').getValue() !== 'chart'); + dialog.callingPanel = this; + dialog.lookupReference('deviceField').setValue(this.deviceId); + dialog.lookupReference('groupField').setValue(this.groupId); + if (this.eventType !== undefined) { + dialog.lookupReference('eventTypeField').setValue(this.eventType); + } else { + dialog.lookupReference('eventTypeField').setValue([Traccar.store.ReportEventTypes.allEvents]); + } + if (this.chartType !== undefined) { + dialog.lookupReference('chartTypeField').setValue(this.chartType); + } + if (this.showMarkers !== undefined) { + dialog.lookupReference('showMarkersField').setValue(this.showMarkers); + } + if (this.fromDate !== undefined) { + dialog.lookupReference('fromDateField').setValue(this.fromDate); + } + if (this.fromTime !== undefined) { + dialog.lookupReference('fromTimeField').setValue(this.fromTime); + } + if (this.toDate !== undefined) { + dialog.lookupReference('toDateField').setValue(this.toDate); + } + if (this.toTime !== undefined) { + dialog.lookupReference('toTimeField').setValue(this.toTime); + } + if (this.period !== undefined) { + dialog.lookupReference('periodField').setValue(this.period); + } + dialog.show(); + }, + + updateButtons: function () { + var reportType, disabled, devices, time; + reportType = this.lookupReference('reportTypeField').getValue(); + devices = this.deviceId && this.deviceId.length !== 0 || this.groupId && this.groupId.length !== 0; + time = this.fromDate && this.fromTime && this.toDate && this.toTime; + disabled = !reportType || !devices || !time || this.reportProgress; + this.lookupReference('showButton').setDisabled(disabled); + this.lookupReference('exportButton').setDisabled(reportType === 'chart' || disabled); + this.lookupReference('emailButton').setDisabled(reportType === 'chart' || disabled); + }, + + onReportClick: function (button) { + var reportType, from, to, store, url, daily; + + this.getGrid().getSelectionModel().deselectAll(); + + reportType = this.lookupReference('reportTypeField').getValue(); + if (reportType && (this.deviceId || this.groupId)) { + from = new Date( + this.fromDate.getFullYear(), this.fromDate.getMonth(), this.fromDate.getDate(), + this.fromTime.getHours(), this.fromTime.getMinutes(), this.fromTime.getSeconds(), this.fromTime.getMilliseconds()); + + to = new Date( + this.toDate.getFullYear(), this.toDate.getMonth(), this.toDate.getDate(), + this.toTime.getHours(), this.toTime.getMinutes(), this.toTime.getSeconds(), this.toTime.getMilliseconds()); + + daily = reportType === 'daily'; + + this.reportProgress = true; + this.updateButtons(); + + if (button.reference === 'showButton') { + if (reportType === 'chart') { + store = this.getChart().getStore(); + this.getChart().setSeries([]); + } else { + store = this.getGrid().getStore(); + } + store.showMarkers = this.showMarkers; + store.load({ + scope: this, + callback: function () { + this.reportProgress = false; + this.updateButtons(); + }, + params: { + deviceId: this.deviceId, + groupId: this.groupId, + type: this.eventType, + from: from.toISOString(), + to: to.toISOString(), + daily: daily + } + }); + } else { + url = this.getGrid().getStore().getProxy().url; + this.excelReport(url, { + deviceId: this.deviceId, + groupId: this.groupId, + type: this.eventType, + from: Ext.Date.format(from, 'c'), + to: Ext.Date.format(to, 'c'), + daily: daily, + mail: button.reference === 'emailButton' + }); + } + } + }, + + onClearClick: function () { + var reportType = this.lookupReference('reportTypeField').getValue(); + this.clearReport(reportType); + }, + + clearReport: function (reportType) { + this.getGrid().getStore().removeAll(); + if (reportType === 'trips' || reportType === 'events' || reportType === 'stops') { + Ext.getStore('ReportRoute').removeAll(); + } + if (reportType === 'chart') { + this.getChart().getStore().removeAll(); + } + }, + + onSelectionChange: function (selection, selected) { + var report; + if (selected.length > 0) { + report = selected[0]; + this.fireEvent('selectreport', report, true); + if (report instanceof Traccar.model.ReportTrip) { + this.selectTrip(report); + } + if (report instanceof Traccar.model.Event || report instanceof Traccar.model.ReportStop) { + this.selectPositionRelated(report); + } + } + }, + + selectReport: function (object) { + var positionRelated, reportType = this.lookupReference('reportTypeField').getValue(); + if (object instanceof Traccar.model.Position) { + if (reportType === 'route') { + this.getGrid().getSelectionModel().select([object], false, true); + this.getGrid().getView().focusRow(object); + } else if (reportType === 'events' || reportType === 'stops') { + positionRelated = this.getGrid().getStore().findRecord('positionId', object.get('id'), 0, false, true, true); + this.getGrid().getSelectionModel().select([positionRelated], false, true); + this.getGrid().getView().focusRow(positionRelated); + } + } + }, + + deselectReport: function (object) { + if (object) { + this.deselectFeature(); + } + }, + + deselectFeature: function () { + if (this.lookupReference('reportTypeField').getValue() !== 'trips') { + this.getGrid().getSelectionModel().deselectAll(); + } + }, + + selectTrip: function (trip) { + var from, to; + from = new Date(trip.get('startTime')); + to = new Date(trip.get('endTime')); + Ext.getStore('ReportRoute').removeAll(); + Ext.getStore('ReportRoute').showMarkers = this.showMarkers; + Ext.getStore('ReportRoute').load({ + params: { + deviceId: trip.get('deviceId'), + from: from.toISOString(), + to: to.toISOString() + } + }); + }, + + selectPositionRelated: function (report) { + var position; + if (report.get('positionId')) { + position = Ext.getStore('ReportRoute').getById(report.get('positionId')); + if (position) { + this.fireEvent('selectreport', position, true); + } + } + }, + + loadRelatedPositions: function (store, data) { + var i, reportObject, positionIds = []; + Ext.getStore('ReportRoute').removeAll(); + if (data) { + for (i = 0; i < data.length; i++) { + reportObject = data[i]; + if (reportObject.get('positionId')) { + positionIds.push(reportObject.get('positionId')); + } + } + } + if (positionIds.length > 0) { + Ext.getStore('Positions').load({ + params: { + id: positionIds + }, + scope: this, + callback: function (records, operation, success) { + if (success) { + Ext.getStore('ReportRoute').showMarkers = this.showMarkers; + Ext.getStore('ReportRoute').add(records); + if (records.length === 1) { + this.fireEvent('selectreport', records[0], false); + } + } + } + }); + } + }, + + loadRoute: function (store) { + var i, deviceIds, chartSeries, deviceStore; + if (this.lookupReference('reportTypeField').getValue() === 'chart') { + this.getChart().getAxes()[0].setTitle( + Ext.getStore('ReportChartTypes').findRecord('key', this.chartType).get('name')); + chartSeries = []; + deviceIds = store.collect('deviceId'); + for (i = 0; i < deviceIds.length; i++) { + deviceStore = Ext.create('Ext.data.ChainedStore', { + source: 'ReportRoute', + filters: [{ + property: 'deviceId', + value: deviceIds[i] + }] + }); + chartSeries.push({ + type: 'line', + store: deviceStore, + yField: this.chartType, + xField: 'fixTime', + highlightCfg: { + scaling: Traccar.Style.chartMarkerHighlightScaling + }, + colors: [Traccar.app.getReportColor(deviceIds[i])], + marker: { + type: 'circle', + radius: Traccar.Style.chartMarkerRadius, + fill: Traccar.app.getReportColor(deviceIds[i]) + } + }); + } + this.getChart().setSeries(chartSeries); + } + }, + + onChartMarkerClick: function (chart, item) { + this.fireEvent('selectreport', item.record, true); + }, + + showSingleEvent: function (eventId) { + this.lookupReference('reportTypeField').setValue('events'); + Ext.getStore('Events').load({ + id: eventId, + scope: this, + callback: function (records, operation, success) { + if (success) { + Ext.getStore('ReportEvents').add(records); + if (records.length > 0) { + if (!records[0].get('positionId')) { + if (Traccar.app.isMobile()) { + Traccar.app.showReports(true); + } else { + this.getView().expand(); + } + } + this.getGrid().getSelectionModel().select([records[0]], false, true); + this.getGrid().getView().focusRow(records[0]); + } + } + } + }); + }, + + excelReport: function (requestUrl, requestParams) { + Ext.Ajax.request({ + url: requestUrl, + method: 'GET', + timeout: Traccar.Style.reportTimeout, + params: requestParams, + headers: { + Accept: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + }, + binary: true, + scope: this, + callback: function (options, success, response) { + var disposition, filename, type, blob, url, downloadUrl; + if (success && !requestParams.mail) { + disposition = response.getResponseHeader('Content-Disposition'); + filename = disposition.slice(disposition.indexOf('=') + 1, disposition.length); + type = response.getResponseHeader('Content-Type'); + blob = new Blob([response.responseBytes], {type: type}); + if (typeof window.navigator.msSaveBlob !== 'undefined') { + // IE workaround + window.navigator.msSaveBlob(blob, filename); + } else { + url = window.URL || window.webkitURL; + downloadUrl = url.createObjectURL(blob); + if (filename) { + Ext.dom.Helper.append(Ext.getBody(), { + tag: 'a', + href: downloadUrl, + download: filename + }).click(); + } + setTimeout(function () { + url.revokeObjectURL(downloadUrl); + }, 100); + } + } + this.reportProgress = false; + this.updateButtons(); + } + }); + }, + + onTypeChange: function (combobox, newValue, oldValue) { + if (oldValue !== null) { + this.clearReport(oldValue); + } + + if (newValue === 'route') { + this.getGrid().reconfigure('ReportRoute', this.routeColumns); + this.getView().getLayout().setActiveItem('grid'); + } else if (newValue === 'events') { + this.getGrid().reconfigure('ReportEvents', this.eventsColumns); + this.getView().getLayout().setActiveItem('grid'); + } else if (newValue === 'summary' || newValue === 'daily') { + this.getGrid().reconfigure('ReportSummary', this.summaryColumns); + this.getView().getLayout().setActiveItem('grid'); + } else if (newValue === 'trips') { + this.getGrid().reconfigure('ReportTrips', this.tripsColumns); + this.getView().getLayout().setActiveItem('grid'); + } else if (newValue === 'stops') { + this.getGrid().reconfigure('ReportStops', this.stopsColumns); + this.getView().getLayout().setActiveItem('grid'); + } else if (newValue === 'chart') { + this.getView().getLayout().setActiveItem('chart'); + } + + this.updateButtons(); + }, + + onGeocode: function (positionId) { + var position = Ext.getStore('ReportRoute').getById(positionId); + if (position && !position.get('address')) { + Ext.Ajax.request({ + scope: this, + method: 'GET', + url: 'api/server/geocode', + params: { + latitude: position.get('latitude'), + longitude: position.get('longitude') + }, + success: function (response) { + position.set('address', response.responseText); + position.commit(); + this.fireEvent('selectReport', position); + }, + failure: function (response) { + Traccar.app.showError(response); + } + }); + } + }, + + routeColumns: [{ + text: Strings.reportDeviceName, + dataIndex: 'deviceId', + renderer: Traccar.AttributeFormatter.getFormatter('deviceId') + }, { + text: Strings.positionValid, + dataIndex: 'valid', + renderer: Traccar.AttributeFormatter.getFormatter('valid') + }, { + text: Strings.positionFixTime, + dataIndex: 'fixTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.getFormatter('fixTime') + }, { + text: Strings.positionLatitude, + dataIndex: 'latitude', + renderer: Traccar.AttributeFormatter.getFormatter('latitude') + }, { + text: Strings.positionLongitude, + dataIndex: 'longitude', + renderer: Traccar.AttributeFormatter.getFormatter('longitude') + }, { + text: Strings.positionAltitude, + dataIndex: 'altitude', + renderer: Traccar.AttributeFormatter.getFormatter('altitude') + }, { + text: Strings.positionSpeed, + dataIndex: 'speed', + renderer: Traccar.AttributeFormatter.getFormatter('speed') + }, { + text: Strings.positionAddress, + dataIndex: 'address', + renderer: function (value, metaData, record) { + if (!value) { + return '<a href="#" onclick="Ext.fireEvent(\'routegeocode\', ' + + record.getId() + ')" >' + + Strings.sharedShowAddress + '</a>'; + } + return Traccar.AttributeFormatter.getFormatter('address')(value); + } + }], + + eventsColumns: [{ + text: Strings.positionFixTime, + dataIndex: 'eventTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.getFormatter('eventTime') + }, { + text: Strings.reportDeviceName, + dataIndex: 'deviceId', + renderer: Traccar.AttributeFormatter.getFormatter('deviceId') + }, { + text: Strings.sharedType, + dataIndex: 'type', + renderer: function (value) { + return Traccar.app.getEventString(value); + } + }, { + text: Strings.positionAlarm, + dataIndex: 'attributes', + renderer: function (value) { + return value['alarm']; + } + }, { + text: Strings.sharedGeofence, + dataIndex: 'geofenceId', + renderer: Traccar.AttributeFormatter.getFormatter('geofenceId') + }, { + text: Strings.sharedMaintenance, + dataIndex: 'maintenanceId', + renderer: Traccar.AttributeFormatter.getFormatter('maintenanceId') + }], + + summaryColumns: [{ + text: Strings.reportDeviceName, + dataIndex: 'deviceId', + renderer: Traccar.AttributeFormatter.getFormatter('deviceId') + }, { + text: Strings.reportStartDate, + dataIndex: 'startTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.dateFormatter + }, { + text: Strings.sharedDistance, + dataIndex: 'distance', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.reportStartOdometer, + dataIndex: 'startOdometer', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.reportEndOdometer, + dataIndex: 'endOdometer', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.reportAverageSpeed, + dataIndex: 'averageSpeed', + renderer: Traccar.AttributeFormatter.getFormatter('speed') + }, { + text: Strings.reportMaximumSpeed, + dataIndex: 'maxSpeed', + renderer: Traccar.AttributeFormatter.getFormatter('speed') + }, { + text: Strings.reportEngineHours, + dataIndex: 'engineHours', + renderer: Traccar.AttributeFormatter.getFormatter('duration') + }, { + text: Strings.reportSpentFuel, + dataIndex: 'spentFuel', + renderer: Traccar.AttributeFormatter.getFormatter('spentFuel') + }], + + tripsColumns: [{ + text: Strings.reportDeviceName, + dataIndex: 'deviceId', + renderer: Traccar.AttributeFormatter.getFormatter('deviceId') + }, { + text: Strings.reportStartTime, + dataIndex: 'startTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.getFormatter('startTime') + }, { + text: Strings.reportStartOdometer, + dataIndex: 'startOdometer', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.reportStartAddress, + dataIndex: 'startAddress', + renderer: Traccar.AttributeFormatter.getFormatter('address') + }, { + text: Strings.reportEndTime, + dataIndex: 'endTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.getFormatter('endTime') + }, { + text: Strings.reportEndOdometer, + dataIndex: 'endOdometer', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.reportEndAddress, + dataIndex: 'endAddress', + renderer: Traccar.AttributeFormatter.getFormatter('address') + }, { + text: Strings.sharedDistance, + dataIndex: 'distance', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.reportAverageSpeed, + dataIndex: 'averageSpeed', + renderer: Traccar.AttributeFormatter.getFormatter('speed') + }, { + text: Strings.reportMaximumSpeed, + dataIndex: 'maxSpeed', + renderer: Traccar.AttributeFormatter.getFormatter('speed') + }, { + text: Strings.reportDuration, + dataIndex: 'duration', + renderer: Traccar.AttributeFormatter.getFormatter('duration') + }, { + text: Strings.reportSpentFuel, + dataIndex: 'spentFuel', + renderer: Traccar.AttributeFormatter.getFormatter('spentFuel') + }, { + text: Strings.sharedDriver, + dataIndex: 'driverUniqueId', + renderer: Traccar.AttributeFormatter.getFormatter('driverUniqueId') + }], + + stopsColumns: [{ + text: Strings.reportDeviceName, + dataIndex: 'deviceId', + renderer: Traccar.AttributeFormatter.getFormatter('deviceId') + }, { + text: Strings.reportStartTime, + dataIndex: 'startTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.getFormatter('startTime') + }, { + text: Strings.positionOdometer, + dataIndex: 'startOdometer', + renderer: Traccar.AttributeFormatter.getFormatter('distance') + }, { + text: Strings.positionAddress, + dataIndex: 'address', + renderer: Traccar.AttributeFormatter.getFormatter('address') + }, { + text: Strings.reportEndTime, + dataIndex: 'endTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.getFormatter('endTime') + }, { + text: Strings.reportDuration, + dataIndex: 'duration', + renderer: Traccar.AttributeFormatter.getFormatter('duration') + }, { + text: Strings.reportEngineHours, + dataIndex: 'engineHours', + renderer: Traccar.AttributeFormatter.getFormatter('duration') + }, { + text: Strings.reportSpentFuel, + dataIndex: 'spentFuel', + renderer: Traccar.AttributeFormatter.getFormatter('spentFuel') + }] +}); diff --git a/legacy/web/app/view/SettingsMenu.js b/legacy/web/app/view/SettingsMenu.js new file mode 100644 index 00000000..0a81d520 --- /dev/null +++ b/legacy/web/app/view/SettingsMenu.js @@ -0,0 +1,111 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.SettingsMenu', { + extend: 'Ext.button.Button', + xtype: 'settingsMenu', + + requires: [ + 'Traccar.view.SettingsMenuController' + ], + + glyph: 'xf013@FontAwesome', + tooltip: Strings.settingsTitle, + tooltipType: 'title', + + menu: { + controller: 'settings', + + items: [{ + hidden: true, + text: Strings.settingsUser, + glyph: 'xf007@FontAwesome', + handler: 'onUserClick', + reference: 'settingsUserButton' + }, { + hidden: true, + text: Strings.settingsGroups, + glyph: 'xf247@FontAwesome', + handler: 'onGroupsClick', + reference: 'settingsGroupsButton' + }, { + hidden: true, + text: Strings.sharedDrivers, + glyph: 'xf084@FontAwesome', + handler: 'onDriversClick', + reference: 'settingsDriversButton' + }, { + hidden: true, + text: Strings.sharedGeofences, + glyph: 'xf21d@FontAwesome', + handler: 'onGeofencesClick', + reference: 'settingsGeofencesButton' + }, { + hidden: true, + text: Strings.settingsServer, + glyph: 'xf233@FontAwesome', + handler: 'onServerClick', + reference: 'settingsServerButton' + }, { + hidden: true, + text: Strings.settingsUsers, + glyph: 'xf0c0@FontAwesome', + handler: 'onUsersClick', + reference: 'settingsUsersButton' + }, { + hidden: true, + text: Strings.sharedNotifications, + glyph: 'xf003@FontAwesome', + handler: 'onNotificationsClick', + reference: 'settingsNotificationsButton' + }, { + hidden: true, + text: Strings.sharedComputedAttributes, + glyph: 'xf0ae@FontAwesome', + handler: 'onComputedAttributesClick', + reference: 'settingsComputedAttributesButton' + }, { + hidden: true, + text: Strings.statisticsTitle, + glyph: 'xf080@FontAwesome', + handler: 'onStatisticsClick', + reference: 'settingsStatisticsButton' + }, { + hidden: true, + text: Strings.sharedCalendars, + glyph: 'xf073@FontAwesome', + handler: 'onCalendarsClick', + reference: 'settingsCalendarsButton' + }, { + hidden: true, + text: Strings.sharedSavedCommands, + glyph: 'xf093@FontAwesome', + handler: 'onCommandsClick', + reference: 'settingsCommandsButton' + }, { + hidden: true, + text: Strings.sharedMaintenance, + glyph: 'xf0ad@FontAwesome', + handler: 'onMaintenancesClick', + reference: 'settingsMaintenancesButton' + }, { + text: Strings.loginLogout, + glyph: 'xf08b@FontAwesome', + handler: 'onLogoutClick' + }] + } +}); diff --git a/legacy/web/app/view/SettingsMenuController.js b/legacy/web/app/view/SettingsMenuController.js new file mode 100644 index 00000000..c8018f66 --- /dev/null +++ b/legacy/web/app/view/SettingsMenuController.js @@ -0,0 +1,176 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.SettingsMenuController', { + extend: 'Ext.app.ViewController', + alias: 'controller.settings', + + requires: [ + 'Traccar.view.dialog.LoginController', + 'Traccar.view.dialog.User', + 'Traccar.view.dialog.Server', + 'Traccar.view.edit.Users', + 'Traccar.view.edit.Groups', + 'Traccar.view.edit.Geofences', + 'Traccar.view.edit.Drivers', + 'Traccar.view.edit.Notifications', + 'Traccar.view.edit.ComputedAttributes', + 'Traccar.view.Statistics', + 'Traccar.view.edit.Calendars', + 'Traccar.view.edit.SavedCommands', + 'Traccar.view.edit.Maintenances', + 'Traccar.view.BaseWindow' + ], + + init: function () { + var admin, manager, readonly; + admin = Traccar.app.getUser().get('administrator'); + manager = Traccar.app.getUser().get('userLimit') !== 0; + readonly = Traccar.app.getPreference('readonly', false); + if (admin) { + this.lookupReference('settingsServerButton').setHidden(false); + this.lookupReference('settingsStatisticsButton').setHidden(false); + this.lookupReference('settingsComputedAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); + } + if (admin || manager) { + this.lookupReference('settingsUsersButton').setHidden(false); + } + if (admin || !readonly) { + this.lookupReference('settingsUserButton').setHidden(false); + this.lookupReference('settingsGroupsButton').setHidden(false); + this.lookupReference('settingsGeofencesButton').setHidden(false); + this.lookupReference('settingsNotificationsButton').setHidden(false); + this.lookupReference('settingsCalendarsButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableCalendars')); + this.lookupReference('settingsDriversButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('settingsCommandsButton').setHidden(Traccar.app.getPreference('limitCommands', false)); + this.lookupReference('settingsMaintenancesButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableMaintenance')); + } + }, + + onUserClick: function () { + var dialog = Ext.create('Traccar.view.dialog.User', { + selfEdit: true + }); + dialog.down('form').loadRecord(Traccar.app.getUser()); + dialog.lookupReference('testNotificationButton').setHidden(false); + dialog.show(); + }, + + onGroupsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.settingsGroups, + items: { + xtype: 'groupsView' + } + }).show(); + }, + + onGeofencesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedGeofences, + items: { + xtype: 'geofencesView' + } + }).show(); + }, + + onServerClick: function () { + var dialog = Ext.create('Traccar.view.dialog.Server'); + dialog.down('form').loadRecord(Traccar.app.getServer()); + dialog.show(); + }, + + onUsersClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.settingsUsers, + items: { + xtype: 'usersView' + } + }).show(); + }, + + onNotificationsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedNotifications, + items: { + xtype: 'notificationsView' + } + }).show(); + }, + + onComputedAttributesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedComputedAttributes, + items: { + xtype: 'computedAttributesView' + } + }).show(); + }, + + onStatisticsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.statisticsTitle, + items: { + xtype: 'statisticsView' + } + }).show(); + }, + + onCalendarsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedCalendars, + items: { + xtype: 'calendarsView' + } + }).show(); + }, + + onDriversClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedDrivers, + items: { + xtype: 'driversView' + } + }).show(); + }, + + onCommandsClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedSavedCommands, + items: { + xtype: 'savedCommandsView' + } + }).show(); + }, + + onMaintenancesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedMaintenance, + items: { + xtype: 'maintenancesView' + } + }).show(); + }, + + onLogoutClick: function () { + Ext.create('Traccar.view.dialog.LoginController').logout(); + } +}); diff --git a/legacy/web/app/view/State.js b/legacy/web/app/view/State.js new file mode 100644 index 00000000..c0a430d9 --- /dev/null +++ b/legacy/web/app/view/State.js @@ -0,0 +1,85 @@ +/* + * Copyright 2015 - 2022 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.State', { + extend: 'Traccar.view.GridPanel', + xtype: 'stateView', + + requires: [ + 'Traccar.view.StateController' + ], + + controller: 'state', + store: 'Attributes', + + stateful: true, + stateId: 'state-grid', + + tbar: { + componentCls: 'toolbar-header-style', + items: [{ + xtype: 'tbtext', + html: Strings.stateTitle, + baseCls: 'x-panel-header-title-default' + }, { + xtype: 'tbfill' + }, { + xtype: 'button', + disabled: true, + handler: 'onComputedAttributesClick', + reference: 'computedAttributesButton', + glyph: 'xf0ae@FontAwesome', + tooltip: Strings.sharedComputedAttributes, + tooltipType: 'title' + }] + }, + + columns: { + defaults: { + minWidth: Traccar.Style.columnWidthNormal, + flex: 1 + }, + items: [{ + text: Strings.stateName, + dataIndex: 'name' + }, { + text: Strings.stateValue, + dataIndex: 'value', + cellWrap: true, + renderer: function (value, metaData, record) { + var position, device, attribute; + attribute = record.get('attribute'); + if (attribute === 'alarm') { + metaData.tdCls = 'view-color-red'; + } else if (attribute === 'address' && !value) { + return '<a href="#" onclick="Ext.fireEvent(\'stategeocode\')" >' + + Strings.sharedShowAddress + '</a>'; + } else if (attribute === 'image' || attribute === 'video' || attribute === 'audio') { + position = this.getController().position; + if (position) { + device = Ext.getStore('Devices').getById(position.get('deviceId')); + if (device) { + return '<a target="_blank" href="/api/media/' + + device.get('uniqueId') + '/' + value + '" >' + value + '</a>'; + } + } + } + return value; + } + }] + } +}); diff --git a/legacy/web/app/view/StateController.js b/legacy/web/app/view/StateController.js new file mode 100644 index 00000000..f04d7185 --- /dev/null +++ b/legacy/web/app/view/StateController.js @@ -0,0 +1,216 @@ +/* + * Copyright 2015 - 2022 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.StateController', { + extend: 'Ext.app.ViewController', + alias: 'controller.state', + + requires: [ + 'Traccar.AttributeFormatter', + 'Traccar.model.Attribute', + 'Traccar.model.Position', + 'Traccar.view.BaseWindow', + 'Traccar.view.edit.ComputedAttributes' + ], + + config: { + listen: { + controller: { + '*': { + selectdevice: 'selectDevice', + selectreport: 'selectPosition', + selectevent: 'selectPosition', + deselectfeature: 'deselectFeature' + } + }, + global: { + stategeocode: 'onGeocode' + }, + store: { + '#LatestPositions': { + add: 'updateLatest', + update: 'updateLatest' + }, + '#ReportRoute': { + clear: 'clearReport' + } + } + } + }, + + init: function () { + var i, hideAttributesPreference, attributesList; + if (Traccar.app.getUser().get('administrator') || + !Traccar.app.getUser().get('deviceReadonly') && !Traccar.app.getPreference('readonly', false)) { + this.lookupReference('computedAttributesButton').setDisabled( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); + } + hideAttributesPreference = Traccar.app.getAttributePreference('ui.hidePositionAttributes'); + this.hideAttributes = {}; + if (hideAttributesPreference) { + attributesList = hideAttributesPreference.split(/[ ,]+/).filter(Boolean); + for (i = 0; i < attributesList.length; i++) { + this.hideAttributes[attributesList[i]] = true; + } + } + }, + + onComputedAttributesClick: function () { + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedComputedAttributes, + items: { + xtype: 'computedAttributesView' + } + }).show(); + }, + + keys: (function () { + var i, list, result; + result = {}; + list = ['fixTime', 'latitude', 'longitude', 'valid', 'accuracy', 'altitude', 'speed', 'course', 'address', 'protocol']; + for (i = 0; i < list.length; i++) { + result[list[i]] = { + priority: i, + name: Strings['position' + list[i].replace(/^\w/g, function (s) { + return s.toUpperCase(); + })] + }; + } + return result; + })(), + + updateLatest: function (store, data) { + var i; + if (!Ext.isArray(data)) { + data = [data]; + } + for (i = 0; i < data.length; i++) { + if (this.deviceId === data[i].get('deviceId')) { + this.position = data[i]; + this.updatePosition(); + } + } + }, + + formatValue: function (value) { + if (typeof id === 'number') { + return Number(value.toFixed(2)); + } else { + return value; + } + }, + + findAttribute: function (record) { + return record.get('deviceId') === this.position.get('deviceId') && record.get('attribute') === this.lookupAttribute; + }, + + updatePosition: function () { + var attributes, store, key, name, value; + store = Ext.getStore('Attributes'); + store.removeAll(); + + for (key in this.position.data) { + if (this.position.data.hasOwnProperty(key) && this.keys[key] !== undefined) { + store.add(Ext.create('Traccar.model.Attribute', { + priority: this.keys[key].priority, + name: this.keys[key].name, + attribute: key, + value: Traccar.AttributeFormatter.getFormatter(key)(this.position.get(key)) + })); + } + } + + attributes = this.position.get('attributes'); + if (attributes instanceof Object) { + for (key in attributes) { + if (attributes.hasOwnProperty(key) && !this.hideAttributes[key]) { + this.lookupAttribute = key; + name = Ext.getStore('PositionAttributes').getAttributeName(key, true); + if (this.position.get('attribute.' + key) !== undefined) { + value = Traccar.AttributeFormatter.getAttributeFormatter(key)(this.position.get('attribute.' + key)); + } else { + value = Traccar.AttributeFormatter.defaultFormatter(attributes[key]); + } + store.add(Ext.create('Traccar.model.Attribute', { + priority: 1024, + name: name, + attribute: key, + value: value + })); + } + } + } + }, + + selectDevice: function (device) { + var position; + this.deviceId = device.get('id'); + position = Ext.getStore('LatestPositions').findRecord('deviceId', this.deviceId, 0, false, false, true); + if (position) { + this.position = position; + this.updatePosition(); + } else { + this.position = null; + Ext.getStore('Attributes').removeAll(); + } + }, + + selectPosition: function (position) { + if (position instanceof Traccar.model.Position) { + this.deviceId = null; + this.position = position; + this.updatePosition(); + } + }, + + deselectFeature: function () { + this.deviceId = null; + this.position = null; + Ext.getStore('Attributes').removeAll(); + }, + + clearReport: function () { + if (!this.deviceId) { + this.position = null; + Ext.getStore('Attributes').removeAll(); + } + }, + + onGeocode: function () { + var positionId = this.position.getId(); + if (!this.position.get('address')) { + Ext.Ajax.request({ + scope: this, + method: 'GET', + url: 'api/server/geocode', + params: { + latitude: this.position.get('latitude'), + longitude: this.position.get('longitude') + }, + success: function (response) { + if (this.position && this.position.getId() === positionId) { + this.position.set('address', response.responseText); + this.updatePosition(); + } + }, + failure: function (response) { + Traccar.app.showError(response); + } + }); + } + } +}); diff --git a/legacy/web/app/view/Statistics.js b/legacy/web/app/view/Statistics.js new file mode 100644 index 00000000..af199a02 --- /dev/null +++ b/legacy/web/app/view/Statistics.js @@ -0,0 +1,93 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * 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. + */ + +Ext.define('Traccar.view.Statistics', { + extend: 'Traccar.view.GridPanel', + xtype: 'statisticsView', + + requires: [ + 'Traccar.view.StatisticsController' + ], + + controller: 'statistics', + store: 'Statistics', + + tbar: { + scrollable: true, + items: [{ + xtype: 'tbtext', + html: Strings.reportFrom + }, { + xtype: 'datefield', + reference: 'fromDateField', + startDay: Traccar.Style.weekStartDay, + format: Traccar.Style.dateFormat, + value: new Date(new Date().getTime() - 24 * 60 * 60 * 1000) + }, '-', { + xtype: 'tbtext', + html: Strings.reportTo + }, { + xtype: 'datefield', + reference: 'toDateField', + startDay: Traccar.Style.weekStartDay, + format: Traccar.Style.dateFormat, + value: new Date() + }, '-', { + text: Strings.reportShow, + handler: 'onShowClick' + }] + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.statisticsCaptureTime, + dataIndex: 'captureTime', + xtype: 'datecolumn', + renderer: Traccar.AttributeFormatter.defaultFormatter() + }, { + text: Strings.statisticsActiveUsers, + dataIndex: 'activeUsers' + }, { + text: Strings.statisticsActiveDevices, + dataIndex: 'activeDevices' + }, { + text: Strings.statisticsRequests, + dataIndex: 'requests' + }, { + text: Strings.statisticsMessagesReceived, + dataIndex: 'messagesReceived' + }, { + text: Strings.statisticsMessagesStored, + dataIndex: 'messagesStored' + }, { + text: Strings.notificatorMail, + dataIndex: 'mailSent' + }, { + text: Strings.notificatorSms, + dataIndex: 'smsSent' + }, { + text: Strings.statisticsGeocoder, + dataIndex: 'geocoderRequests' + }, { + text: Strings.statisticsGeolocation, + dataIndex: 'geolocationRequests' + }] + } +}); diff --git a/legacy/web/app/view/StatisticsController.js b/legacy/web/app/view/StatisticsController.js new file mode 100644 index 00000000..c4ce9d37 --- /dev/null +++ b/legacy/web/app/view/StatisticsController.js @@ -0,0 +1,29 @@ +/* + * Copyright 2016 Anton Tananaev (anton@traccar.org) + * + * 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. + */ + +Ext.define('Traccar.view.StatisticsController', { + extend: 'Ext.app.ViewController', + alias: 'controller.statistics', + + onShowClick: function () { + Ext.getStore('Statistics').load({ + params: { + from: this.lookupReference('fromDateField').getValue().toISOString(), + to: this.lookupReference('toDateField').getValue().toISOString() + } + }); + } +}); diff --git a/legacy/web/app/view/TouchFix62.js b/legacy/web/app/view/TouchFix62.js new file mode 100644 index 00000000..300d4f70 --- /dev/null +++ b/legacy/web/app/view/TouchFix62.js @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * Workaround for bug in ExtJs 6.2.0. + * Resolved in current yet unreleased version + */ + +Ext.define('Traccar.view.TouchFix62', { + override: 'Ext.dom.Element' +}, +function () { + var additiveEvents = this.prototype.additiveEvents, + eventMap = this.prototype.eventMap; + if (Ext.supports.TouchEvents && Ext.firefoxVersion >= 52 && Ext.os.is.Desktop) { + eventMap['touchstart'] = 'mousedown'; + eventMap['touchmove'] = 'mousemove'; + eventMap['touchend'] = 'mouseup'; + eventMap['touchcancel'] = 'mouseup'; + eventMap['click'] = 'click'; + eventMap['dblclick'] = 'dblclick'; + additiveEvents['mousedown'] = 'mousedown'; + additiveEvents['mousemove'] = 'mousemove'; + additiveEvents['mouseup'] = 'mouseup'; + additiveEvents['touchstart'] = 'touchstart'; + additiveEvents['touchmove'] = 'touchmove'; + additiveEvents['touchend'] = 'touchend'; + additiveEvents['touchcancel'] = 'touchcancel'; + additiveEvents['pointerdown'] = 'mousedown'; + additiveEvents['pointermove'] = 'mousemove'; + additiveEvents['pointerup'] = 'mouseup'; + additiveEvents['pointercancel'] = 'mouseup'; + } +}); diff --git a/legacy/web/app/view/UnescapedTextAreaField.js b/legacy/web/app/view/UnescapedTextAreaField.js new file mode 100644 index 00000000..5de267ce --- /dev/null +++ b/legacy/web/app/view/UnescapedTextAreaField.js @@ -0,0 +1,29 @@ +/* + * Copyright 2019 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.UnescapedTextAreaField', { + extend: 'Ext.form.field.TextArea', + xtype: 'unescapedTextAreaField', + + initComponent: function () { + this.callParent(); + this.on('change', this.onValueChange); + }, + + onValueChange: function (field, newValue) { + field.setValue(Ext.String.htmlDecode(newValue)); + } +}); diff --git a/legacy/web/app/view/UnescapedTextField.js b/legacy/web/app/view/UnescapedTextField.js new file mode 100644 index 00000000..3b1b2798 --- /dev/null +++ b/legacy/web/app/view/UnescapedTextField.js @@ -0,0 +1,29 @@ +/* + * Copyright 2019 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.UnescapedTextField', { + extend: 'Ext.form.field.Text', + xtype: 'unescapedTextField', + + initComponent: function () { + this.callParent(); + this.on('change', this.onValueChange); + }, + + onValueChange: function (field, newValue) { + field.setValue(Ext.String.htmlDecode(newValue)); + } +}); diff --git a/legacy/web/app/view/dialog/Attribute.js b/legacy/web/app/view/dialog/Attribute.js new file mode 100644 index 00000000..a85cad05 --- /dev/null +++ b/legacy/web/app/view/dialog/Attribute.js @@ -0,0 +1,65 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Attribute', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.AttributeController', + 'Traccar.view.ColorPicker', + 'Traccar.view.CustomNumberField', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'attribute', + title: Strings.sharedAttribute, + + items: { + xtype: 'form', + listeners: { + validitychange: 'onValidityChange' + }, + items: [{ + xtype: 'unescapedTextField', + reference: 'nameTextField', + name: 'name', + allowBlank: false, + fieldLabel: Strings.sharedName + }, { + xtype: 'textfield', + name: 'value', + reference: 'valueField', + allowBlank: false, + fieldLabel: Strings.stateValue + }] + }, + + buttons: [{ + glyph: 'xf00c@FontAwesome', + reference: 'saveButton', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/AttributeController.js b/legacy/web/app/view/dialog/AttributeController.js new file mode 100644 index 00000000..9fd452a4 --- /dev/null +++ b/legacy/web/app/view/dialog/AttributeController.js @@ -0,0 +1,126 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.AttributeController', { + extend: 'Ext.app.ViewController', + alias: 'controller.attribute', + + onSaveClick: function (button) { + var dialog, store, record; + dialog = button.up('window').down('form'); + dialog.updateRecord(); + record = dialog.getRecord(); + store = record.store; + if (store) { + if (record.phantom) { + store.add(record); + } + store.sync({ + failure: function (batch) { + store.rejectChanges(); + Traccar.app.showError(batch.exceptions[0].getError().response); + } + }); + } else { + record.save(); + } + button.up('window').close(); + }, + + onValidityChange: function (form, valid) { + this.lookupReference('saveButton').setDisabled(!valid); + }, + + defaultFieldConfig: { + name: 'value', + reference: 'valueField', + allowBlank: false, + fieldLabel: Strings.stateValue + }, + + onNameChange: function (combobox, newValue) { + var config, attribute, valueField = this.lookupReference('valueField'); + attribute = combobox.getStore().getById(newValue); + if (attribute) { + config = Ext.clone(this.defaultFieldConfig); + switch (attribute.get('valueType')) { + case 'number': + config.xtype = 'customNumberField'; + if (attribute.get('allowDecimals') !== undefined) { + config.allowDecimals = attribute.get('allowDecimals'); + } else { + config.allowDecimals = true; + } + config.dataType = attribute.get('dataType'); + config.maxValue = attribute.get('maxValue'); + config.minValue = attribute.get('minValue'); + break; + case 'boolean': + config.xtype = 'checkboxfield'; + config.inputValue = true; + config.uncheckedValue = false; + break; + case 'color': + config.xtype = 'customcolorpicker'; + break; + default: + if (attribute.get('dataType')) { + config.xtype = 'combobox'; + config.queryMode = 'local'; + config.editable = false; + switch (attribute.get('dataType')) { + case 'distanceUnit': + config.store = 'DistanceUnits'; + config.displayField = 'name'; + config.valueField = 'key'; + break; + case 'speedUnit': + config.store = 'SpeedUnits'; + config.displayField = 'name'; + config.valueField = 'key'; + break; + case 'volumeUnit': + config.store = 'VolumeUnits'; + config.displayField = 'fullName'; + config.valueField = 'key'; + break; + case 'timezone': + config.store = 'AllTimezones'; + config.displayField = 'key'; + break; + default: + break; + } + } else { + config.xtype = 'textfield'; + } + break; + } + if (valueField.getXType() !== config.xtype || + config.xtype === 'customNumberField' && valueField.dataType !== config.dataType) { + this.getView().down('form').insert(this.getView().down('form').items.indexOf(valueField), config); + this.getView().down('form').remove(valueField); + } else if (config.xtype === 'customNumberField') { + valueField.setConfig(config); + valueField.validate(); + } else if (config.xtype === 'combobox') { + valueField.setConfig(config); + valueField.setValue(); + } + } + } +}); diff --git a/legacy/web/app/view/dialog/Base.js b/legacy/web/app/view/dialog/Base.js new file mode 100644 index 00000000..6affb370 --- /dev/null +++ b/legacy/web/app/view/dialog/Base.js @@ -0,0 +1,32 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Base', { + extend: 'Ext.window.Window', + + bodyPadding: Traccar.Style.normalPadding, + resizable: false, + scrollable: true, + constrain: true, + + initComponent: function () { + if (window.innerHeight) { + this.maxHeight = window.innerHeight - Traccar.Style.normalPadding * 2; + } + this.callParent(); + } +}); diff --git a/legacy/web/app/view/dialog/BaseEdit.js b/legacy/web/app/view/dialog/BaseEdit.js new file mode 100644 index 00000000..286afba5 --- /dev/null +++ b/legacy/web/app/view/dialog/BaseEdit.js @@ -0,0 +1,46 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.BaseEdit', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.BaseEditController' + ], + + controller: 'baseEdit', + + buttons: [{ + text: Strings.sharedAttributes, + handler: 'showAttributesView' + }, { + xtype: 'tbfill' + }, { + glyph: 'xf00c@FontAwesome', + reference: 'saveButton', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/BaseEditController.js b/legacy/web/app/view/dialog/BaseEditController.js new file mode 100644 index 00000000..91379e2d --- /dev/null +++ b/legacy/web/app/view/dialog/BaseEditController.js @@ -0,0 +1,61 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.BaseEditController', { + extend: 'Ext.app.ViewController', + alias: 'controller.baseEdit', + + requires: [ + 'Traccar.view.BaseWindow', + 'Traccar.view.edit.Attributes' + ], + + onSaveClick: function (button) { + var dialog, store, record; + dialog = button.up('window').down('form'); + dialog.updateRecord(); + record = dialog.getRecord(); + store = record.store; + if (store) { + if (record.phantom) { + store.add(record); + } + store.sync({ + failure: function (batch) { + store.rejectChanges(); + Traccar.app.showError(batch.exceptions[0].getError().response); + } + }); + } else { + record.save(); + } + this.closeView(); + }, + + showAttributesView: function (button) { + var dialog, record; + dialog = button.up('window').down('form'); + record = dialog.getRecord(); + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedAttributes, + items: { + xtype: 'attributesView', + record: record + } + }).show(); + } +}); diff --git a/legacy/web/app/view/dialog/Calendar.js b/legacy/web/app/view/dialog/Calendar.js new file mode 100644 index 00000000..5f00a8be --- /dev/null +++ b/legacy/web/app/view/dialog/Calendar.js @@ -0,0 +1,63 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Calendar', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.dialog.CalendarController', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'calendar', + title: Strings.sharedCalendar, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName, + allowBlank: false + }, { + xtype: 'filefield', + name: 'file', + fieldLabel: Strings.sharedFile, + allowBlank: false, + buttonConfig: { + glyph: 'xf093@FontAwesome', + text: '', + tooltip: Strings.sharedSelectFile, + tooltipType: 'title', + minWidth: 0 + }, + listeners: { + change: 'onFileChange' + } + }] + }, { + xtype: 'hiddenfield', + name: 'data', + allowBlank: false, + reference: 'dataField' + }] + } +}); diff --git a/legacy/web/app/view/dialog/CalendarController.js b/legacy/web/app/view/dialog/CalendarController.js new file mode 100644 index 00000000..fb8cbff6 --- /dev/null +++ b/legacy/web/app/view/dialog/CalendarController.js @@ -0,0 +1,37 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.CalendarController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.calendar', + + onFileChange: function (fileField) { + var reader; + if (fileField.fileInputEl.dom.files.length > 0) { + reader = new FileReader(); + reader.onload = function (event) { + fileField.up('window').lookupReference('dataField').setValue( + event.target.result.substr(event.target.result.indexOf(',') + 1)); + }; + reader.onerror = function (event) { + Traccar.app.showError(event.target.error); + }; + reader.readAsDataURL(fileField.fileInputEl.dom.files[0]); + } + } +}); diff --git a/legacy/web/app/view/dialog/ComputedAttribute.js b/legacy/web/app/view/dialog/ComputedAttribute.js new file mode 100644 index 00000000..adae7f7b --- /dev/null +++ b/legacy/web/app/view/dialog/ComputedAttribute.js @@ -0,0 +1,84 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.ComputedAttribute', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.dialog.ComputedAttributeController', + 'Traccar.view.UnescapedTextField', + 'Traccar.view.UnescapedTextAreaField' + ], + + controller: 'computedAttribute', + title: Strings.sharedComputedAttribute, + + items: { + xtype: 'form', + items: [{ + xtype: 'unescapedTextField', + name: 'description', + fieldLabel: Strings.sharedDescription + }, { + xtype: 'combobox', + name: 'attribute', + fieldLabel: Strings.sharedAttribute, + store: 'PositionAttributes', + displayField: 'name', + valueField: 'key', + listeners: { + change: 'onAttributeChange' + } + }, { + xtype: 'unescapedTextAreaField', + reference: 'expressionField', + name: 'expression', + fieldLabel: Strings.sharedExpression, + allowBlank: false + }, { + xtype: 'combobox', + name: 'type', + reference: 'typeComboField', + store: 'AttributeValueTypes', + fieldLabel: Strings.sharedType, + displayField: 'name', + valueField: 'id', + editable: false + }] + }, + + buttons: [{ + glyph: 'xf128@FontAwesome', + tooltip: Strings.sharedCheckComputedAttribute, + tooltipType: 'title', + minWidth: 0, + handler: 'onCheckClick' + }, { + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/ComputedAttributeController.js b/legacy/web/app/view/dialog/ComputedAttributeController.js new file mode 100644 index 00000000..f680b1b5 --- /dev/null +++ b/legacy/web/app/view/dialog/ComputedAttributeController.js @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.ComputedAttributeController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.computedAttribute', + + requires: [ + 'Traccar.view.dialog.SelectDevice' + ], + + onAttributeChange: function (combobox, newValue) { + var attribute = Ext.getStore('PositionAttributes').getById(newValue); + if (attribute) { + this.getView().lookupReference('typeComboField').setValue(attribute.get('valueType')); + this.getView().lookupReference('typeComboField').setReadOnly(true); + } else { + this.getView().lookupReference('typeComboField').setReadOnly(false); + } + }, + + onCheckClick: function (button) { + var dialog, form; + dialog = Ext.create('Traccar.view.dialog.SelectDevice'); + form = button.up('window').down('form'); + form.updateRecord(); + dialog.record = form.getRecord(); + dialog.show(); + } +}); diff --git a/legacy/web/app/view/dialog/Device.js b/legacy/web/app/view/dialog/Device.js new file mode 100644 index 00000000..60a8f716 --- /dev/null +++ b/legacy/web/app/view/dialog/Device.js @@ -0,0 +1,99 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Device', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.dialog.DeviceController', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'device', + title: Strings.sharedDevice, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName, + allowBlank: false + }, { + xtype: 'unescapedTextField', + name: 'uniqueId', + fieldLabel: Strings.deviceIdentifier, + allowBlank: false + }] + }, { + xtype: 'fieldset', + title: Strings.sharedExtra, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'clearableComboBox', + name: 'groupId', + fieldLabel: Strings.groupParent, + store: 'Groups', + queryMode: 'local', + displayField: 'name', + valueField: 'id' + }, { + xtype: 'unescapedTextField', + name: 'phone', + fieldLabel: Strings.sharedPhone + }, { + xtype: 'unescapedTextField', + name: 'model', + fieldLabel: Strings.deviceModel + }, { + xtype: 'unescapedTextField', + name: 'contact', + fieldLabel: Strings.deviceContact + }, { + xtype: 'combobox', + name: 'category', + fieldLabel: Strings.deviceCategory, + store: 'DeviceImages', + queryMode: 'local', + displayField: 'name', + valueField: 'key', + editable: false, + listConfig: { + getInnerTpl: function () { + return '<table><tr valign="middle" ><td><div align="center" style="width:40px;height:40px;" >' + + '{[new XMLSerializer().serializeToString(Traccar.DeviceImages.getImageSvg(' + + 'Traccar.Style.mapColorOnline, false, 0, values.key))]}</div></td>' + + '<td>{name}</td></tr></table>'; + } + } + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'disabled', + fieldLabel: Strings.sharedDisabled, + hidden: true, + reference: 'disabledField' + }] + }] + } +}); diff --git a/legacy/web/app/view/dialog/DeviceAccumulators.js b/legacy/web/app/view/dialog/DeviceAccumulators.js new file mode 100644 index 00000000..eaa4e9f5 --- /dev/null +++ b/legacy/web/app/view/dialog/DeviceAccumulators.js @@ -0,0 +1,55 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.DeviceAccumulators', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.DeviceAccumulatorsController' + ], + + controller: 'deviceAccumulators', + title: Strings.sharedDeviceAccumulators, + + items: [{ + xtype: 'customNumberField', + dataType: 'distance', + reference: 'totalDistance', + fieldLabel: Strings.deviceTotalDistance + }, { + xtype: 'customNumberField', + dataType: 'hours', + reference: 'hours', + fieldLabel: Strings.positionHours + }], + + buttons: [{ + reference: 'setButton', + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSet, + tooltipType: 'title', + minWidth: 0, + handler: 'onSetClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/DeviceAccumulatorsController.js b/legacy/web/app/view/dialog/DeviceAccumulatorsController.js new file mode 100644 index 00000000..2fdae6c5 --- /dev/null +++ b/legacy/web/app/view/dialog/DeviceAccumulatorsController.js @@ -0,0 +1,48 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.DeviceAccumulatorsController', { + extend: 'Ext.app.ViewController', + alias: 'controller.deviceAccumulators', + + onSetClick: function () { + var totalDistance, hours, data = { + deviceId: this.getView().deviceId + }; + totalDistance = this.lookupReference('totalDistance'); + if (!isNaN(totalDistance.getRawValue())) { + data.totalDistance = totalDistance.getValue(); + } + hours = this.lookupReference('hours'); + if (!isNaN(hours.getRawValue())) { + data.hours = hours.getValue(); + } + Ext.Ajax.request({ + scope: this, + method: 'PUT', + url: 'api/devices/' + data.deviceId + '/accumulators', + jsonData: Ext.util.JSON.encode(data), + callback: function (options, success, response) { + if (!success) { + Traccar.app.showError(response); + } + } + }); + this.closeView(); + } +}); diff --git a/legacy/web/app/view/dialog/DeviceController.js b/legacy/web/app/view/dialog/DeviceController.js new file mode 100644 index 00000000..d7a4493b --- /dev/null +++ b/legacy/web/app/view/dialog/DeviceController.js @@ -0,0 +1,29 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.DeviceController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.device', + + init: function () { + if (Traccar.app.getUser().get('administrator')) { + this.lookupReference('disabledField').setHidden(false); + } + } + +}); diff --git a/legacy/web/app/view/dialog/Driver.js b/legacy/web/app/view/dialog/Driver.js new file mode 100644 index 00000000..9b1c17b5 --- /dev/null +++ b/legacy/web/app/view/dialog/Driver.js @@ -0,0 +1,46 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Driver', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.UnescapedTextField' + ], + + title: Strings.sharedDriver, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName, + allowBlank: false + }, { + xtype: 'unescapedTextField', + name: 'uniqueId', + fieldLabel: Strings.deviceIdentifier, + allowBlank: false + }] + }] + } +}); diff --git a/legacy/web/app/view/dialog/Geofence.js b/legacy/web/app/view/dialog/Geofence.js new file mode 100644 index 00000000..1e22cd7b --- /dev/null +++ b/legacy/web/app/view/dialog/Geofence.js @@ -0,0 +1,89 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Geofence', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.dialog.GeofenceController', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'geofence', + title: Strings.sharedGeofence, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName + }] + }, { + xtype: 'fieldset', + title: Strings.sharedExtra, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'unescapedTextField', + name: 'description', + fieldLabel: Strings.sharedDescription + }, { + xtype: 'clearableComboBox', + reference: 'calendarCombo', + name: 'calendarId', + store: 'Calendars', + queryMode: 'local', + displayField: 'name', + valueField: 'id', + fieldLabel: Strings.sharedCalendar + }, { + xtype: 'hiddenfield', + name: 'area', + allowBlank: false, + reference: 'areaField' + }] + }] + }, + + buttons: [{ + text: Strings.sharedArea, + glyph: 'xf21d@FontAwesome', + handler: 'onAreaClick' + }, { + text: Strings.sharedAttributes, + handler: 'showAttributesView' + }, { + xtype: 'tbfill' + }, { + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/GeofenceController.js b/legacy/web/app/view/dialog/GeofenceController.js new file mode 100644 index 00000000..e4ac5a2e --- /dev/null +++ b/legacy/web/app/view/dialog/GeofenceController.js @@ -0,0 +1,58 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.GeofenceController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.geofence', + + requires: [ + 'Traccar.view.BaseWindow', + 'Traccar.view.map.GeofenceMap' + ], + + config: { + listen: { + controller: { + '*': { + savearea: 'saveArea' + } + } + } + }, + + init: function () { + this.lookupReference('calendarCombo').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableCalendars')); + }, + + saveArea: function (value) { + this.lookupReference('areaField').setValue(value); + }, + + onAreaClick: function (button) { + var dialog, record; + dialog = button.up('window').down('form'); + record = dialog.getRecord(); + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedArea, + items: { + xtype: 'geofenceMapView', + area: record.get('area') + } + }).show(); + } +}); diff --git a/legacy/web/app/view/dialog/Group.js b/legacy/web/app/view/dialog/Group.js new file mode 100644 index 00000000..61ca193d --- /dev/null +++ b/legacy/web/app/view/dialog/Group.js @@ -0,0 +1,55 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Group', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.UnescapedTextField' + ], + + title: Strings.groupDialog, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName, + allowBlank: false + }] + }, { + xtype: 'fieldset', + title: Strings.sharedExtra, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'clearableComboBox', + name: 'groupId', + fieldLabel: Strings.groupParent, + store: 'Groups', + queryMode: 'local', + displayField: 'name', + valueField: 'id' + }] + }] + } +}); diff --git a/legacy/web/app/view/dialog/Login.js b/legacy/web/app/view/dialog/Login.js new file mode 100644 index 00000000..592efb33 --- /dev/null +++ b/legacy/web/app/view/dialog/Login.js @@ -0,0 +1,151 @@ +/* + * Copyright 2015 - 2023 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Login', { + extend: 'Traccar.view.dialog.Base', + alias: 'widget.login', + + requires: [ + 'Traccar.view.dialog.LoginController' + ], + + controller: 'login', + + header: false, + closable: false, + + items: { + xtype: 'form', + reference: 'form', + + autoEl: { + tag: 'form', + method: 'POST', + action: 'fake-login.html', + target: 'submitTarget' + }, + + items: [{ + xtype: 'image', + src: 'logo.svg', + alt: Strings.loginLogo, + width: 240, + height: 64, + style: { + display: 'block', + margin: '10px auto 25px' + } + }, { + xtype: 'pickerfield', + fieldLabel: Strings.settingsServer, + editable: false, + value: window.location.host, + hidden: !window.appInterface && !(window.webkit && window.webkit.messageHandlers.appInterface), + createPicker: function () { + var self = this, popup = Ext.create({ + xtype: 'window', + closeAction: 'hide', + referenceHolder: true, + minWidth: 204, + layout: 'form', + header: false, + resizable: true, + items: [{ + xtype: 'textfield', + anchor: '100%', + reference: 'serverAddress', + value: window.location.href + }], + fbar: [{ + text: Strings.sharedSet, + handler: function () { + var message = 'server|' + popup.lookupReference('serverAddress').getValue(); + if (window.webkit && window.webkit.messageHandlers.appInterface) { + window.webkit.messageHandlers.appInterface.postMessage(message); + } + if (window.appInterface) { + window.appInterface.postMessage(message); + } + } + }, { + text: Strings.sharedCancel, + handler: function () { + self.collapse(); + } + }] + }); + return popup; + } + }, { + xtype: 'combobox', + name: 'language', + fieldLabel: Strings.loginLanguage, + store: 'Languages', + displayField: 'name', + valueField: 'code', + editable: false, + submitValue: false, + listeners: { + select: 'onSelectLanguage' + }, + reference: 'languageField' + }, { + xtype: 'textfield', + name: 'email', + reference: 'userField', + fieldLabel: Strings.userEmail, + allowBlank: false, + enableKeyEvents: true, + listeners: { + specialKey: 'onSpecialKey', + afterrender: 'onAfterRender' + }, + inputAttrTpl: ['autocomplete="on" autocapitalize="none"'] + }, { + xtype: 'textfield', + name: 'password', + reference: 'passwordField', + fieldLabel: Strings.userPassword, + inputType: 'password', + allowBlank: false, + enableKeyEvents: true, + listeners: { + specialKey: 'onSpecialKey' + }, + inputAttrTpl: ['autocomplete="on"'] + }, { + xtype: 'component', + html: '<iframe id="submitTarget" name="submitTarget" style="display:none"></iframe>' + }, { + xtype: 'component', + html: '<input type="submit" id="submitButton" style="display:none">' + }] + }, + + buttons: [{ + text: Strings.loginReset, + handler: 'onResetClick', + reference: 'resetButton' + }, { + text: Strings.loginRegister, + handler: 'onRegisterClick', + reference: 'registerButton' + }, { + text: Strings.loginLogin, + handler: 'onLoginClick' + }] +}); diff --git a/legacy/web/app/view/dialog/LoginController.js b/legacy/web/app/view/dialog/LoginController.js new file mode 100644 index 00000000..a21866eb --- /dev/null +++ b/legacy/web/app/view/dialog/LoginController.js @@ -0,0 +1,132 @@ +/* + * Copyright 2015 - 2023 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.LoginController', { + extend: 'Ext.app.ViewController', + alias: 'controller.login', + + requires: [ + 'Traccar.view.dialog.Register' + ], + + init: function () { + this.lookupReference('resetButton').setHidden(!Traccar.app.getServer().get('emailEnabled')); + this.lookupReference('registerButton').setDisabled(!Traccar.app.getServer().get('registration')); + this.lookupReference('languageField').setValue(Locale.language); + }, + + login: function () { + var form = this.lookupReference('form'); + if (form.isValid()) { + Ext.get('spinner').setVisible(true); + this.getView().setVisible(false); + Ext.Ajax.request({ + scope: this, + method: 'POST', + url: 'api/session', + params: form.getValues(), + callback: function (options, success, response) { + Ext.get('spinner').setVisible(false); + if (success) { + Traccar.app.setUser(Ext.decode(response.responseText)); + this.fireViewEvent('login'); + } else { + this.getView().setVisible(true); + if (response.status === 401) { + Traccar.app.showError(Strings.loginFailed); + } else { + Traccar.app.showError(response.responseText); + } + } + } + }); + } + }, + + logout: function () { + Ext.util.Cookies.clear('user'); + Ext.util.Cookies.clear('password'); + Ext.Ajax.request({ + scope: this, + method: 'DELETE', + url: 'api/session', + callback: function () { + window.location.reload(); + } + }); + }, + + onSelectLanguage: function (selected) { + var paramName, paramValue, url, prefix, suffix; + paramName = 'locale'; + paramValue = selected.getValue(); + url = window.location.href; + if (url.indexOf(paramName + '=') >= 0) { + prefix = url.substring(0, url.indexOf(paramName)); + suffix = url.substring(url.indexOf(paramName)); + suffix = suffix.substring(suffix.indexOf('=') + 1); + suffix = suffix.indexOf('&') >= 0 ? suffix.substring(suffix.indexOf('&')) : ''; + url = prefix + paramName + '=' + paramValue + suffix; + } else if (url.indexOf('?') < 0) { + url += '?' + paramName + '=' + paramValue; + } else { + url += '&' + paramName + '=' + paramValue; + } + window.location.href = url; + }, + + onAfterRender: function (field) { + field.focus(); + }, + + onSpecialKey: function (field, e) { + if (e.getKey() === e.ENTER) { + this.login(); + } + }, + + onLoginClick: function () { + Ext.getElementById('submitButton').click(); + this.login(); + }, + + onRegisterClick: function () { + Ext.create('Traccar.view.dialog.Register').show(); + }, + + onResetClick: function () { + Ext.Msg.prompt(Strings.loginReset, Strings.userEmail, function (btn, text) { + if (btn === 'ok') { + Ext.Ajax.request({ + scope: this, + method: 'POST', + url: 'api/password/reset', + params: { + email: text + }, + callback: function (options, success, response) { + if (success) { + Traccar.app.showToast(Strings.loginResetSuccess); + } else { + Traccar.app.showError(response.responseText); + } + } + }); + } + }); + } +}); diff --git a/legacy/web/app/view/dialog/Maintenance.js b/legacy/web/app/view/dialog/Maintenance.js new file mode 100644 index 00000000..d844d259 --- /dev/null +++ b/legacy/web/app/view/dialog/Maintenance.js @@ -0,0 +1,75 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Maintenance', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.dialog.MaintenanceController', + 'Traccar.view.CustomNumberField', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'maintenance', + + title: Strings.sharedMaintenance, + + items: { + xtype: 'form', + listeners: { + validitychange: 'onValidityChange' + }, + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName, + allowBlank: false + }, { + xtype: 'combobox', + name: 'type', + reference: 'typeComboField', + fieldLabel: Strings.sharedType, + displayField: 'name', + valueField: 'key', + allowBlank: false, + queryMode: 'local', + store: 'MaintenanceTypes', + listeners: { + change: 'onNameChange' + } + }, { + xtype: 'customNumberField', + name: 'start', + reference: 'startField', + fieldLabel: Strings.maintenanceStart + }, { + xtype: 'customNumberField', + name: 'period', + reference: 'periodField', + allowBlank: false, + fieldLabel: Strings.maintenancePeriod, + validator: function (value) { + return this.parseValue(value) !== 0 ? true : Strings.errorZero; + } + }] + }] + } +}); diff --git a/legacy/web/app/view/dialog/MaintenanceController.js b/legacy/web/app/view/dialog/MaintenanceController.js new file mode 100644 index 00000000..d5a27b54 --- /dev/null +++ b/legacy/web/app/view/dialog/MaintenanceController.js @@ -0,0 +1,65 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.MaintenanceController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.maintenance', + + init: function () { + this.startConfig = Ext.clone(this.lookupReference('startField').initialConfig); + this.startConfig.value = 0; + this.periodConfig = Ext.clone(this.lookupReference('periodField').initialConfig); + this.periodConfig.value = 0; + this.lookupReference('saveButton').setDisabled(true); + }, + + onValidityChange: function (form, valid) { + this.lookupReference('saveButton').setDisabled(!valid); + }, + + updateFieldConfig: function (fieldReference, initialConfig, newConfig) { + var field = this.lookupReference(fieldReference); + if (field.dataType !== newConfig.dataType) { + this.getView().down('fieldset').insert(this.getView().down('fieldset').items.indexOf(field), + Ext.merge({}, initialConfig, newConfig)); + this.getView().down('fieldset').remove(field); + this.lookupReference(fieldReference).validate(); + } else { + field.setConfig(newConfig); + field.validate(); + } + }, + + onNameChange: function (combobox, newValue) { + var attribute, config = {}; + attribute = combobox.getStore().getById(newValue); + if (attribute) { + if (attribute.get('allowDecimals') !== undefined) { + config.allowDecimals = attribute.get('allowDecimals'); + } else { + config.allowDecimals = true; + } + config.dataType = attribute.get('dataType'); + config.maxValue = attribute.get('maxValue'); + config.minValue = attribute.get('minValue'); + } + + this.updateFieldConfig('startField', this.startConfig, config); + this.updateFieldConfig('periodField', this.periodConfig, config); + } +}); diff --git a/legacy/web/app/view/dialog/MapPickerController.js b/legacy/web/app/view/dialog/MapPickerController.js new file mode 100644 index 00000000..8641e377 --- /dev/null +++ b/legacy/web/app/view/dialog/MapPickerController.js @@ -0,0 +1,42 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.MapPickerController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.mapPicker', + + config: { + listen: { + controller: { + '*': { + mapstate: 'setMapState' + } + } + } + }, + + getMapState: function () { + this.fireEvent('mapstaterequest'); + }, + + setMapState: function (lat, lon, zoom) { + this.lookupReference('latitude').setValue(lat); + this.lookupReference('longitude').setValue(lon); + this.lookupReference('zoom').setValue(zoom); + } +}); diff --git a/legacy/web/app/view/dialog/Notification.js b/legacy/web/app/view/dialog/Notification.js new file mode 100644 index 00000000..51af5b8e --- /dev/null +++ b/legacy/web/app/view/dialog/Notification.js @@ -0,0 +1,95 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Notification', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.dialog.NotificationController' + ], + + controller: 'notification', + title: Strings.sharedNotification, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'combobox', + name: 'type', + fieldLabel: Strings.sharedType, + store: 'AllNotificationTypes', + queryMode: 'local', + displayField: 'name', + valueField: 'type', + editable: false, + allowBlank: false, + listeners: { + change: 'onTypeChange' + } + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'always', + fieldLabel: Strings.notificationAlways + }, { + xtype: 'tagfield', + reference: 'alarmsField', + fieldLabel: Strings.sharedAlarms, + maxWidth: Traccar.Style.formFieldWidth, + store: 'AlarmTypes', + valueField: 'key', + displayField: 'name', + queryMode: 'local', + hidden: true, + listeners: { + beforerender: 'onAlarmsLoad', + change: 'onAlarmsChange' + } + }, { + xtype: 'tagfield', + fieldLabel: Strings.notificationNotificators, + name: 'notificators', + maxWidth: Traccar.Style.formFieldWidth, + store: 'AllNotificators', + valueField: 'type', + displayField: 'name', + queryMode: 'local' + }] + }, { + xtype: 'fieldset', + title: Strings.sharedExtra, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'clearableComboBox', + reference: 'calendarCombo', + name: 'calendarId', + store: 'Calendars', + queryMode: 'local', + displayField: 'name', + valueField: 'id', + fieldLabel: Strings.sharedCalendar + }] + }] + } +}); diff --git a/legacy/web/app/view/dialog/NotificationController.js b/legacy/web/app/view/dialog/NotificationController.js new file mode 100644 index 00000000..5da669a4 --- /dev/null +++ b/legacy/web/app/view/dialog/NotificationController.js @@ -0,0 +1,53 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.NotificationController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.notification', + + init: function () { + this.lookupReference('calendarCombo').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableCalendars')); + }, + + onTypeChange: function (view, value) { + this.lookupReference('alarmsField').setHidden(value !== 'alarm'); + }, + + onAlarmsLoad: function (view) { + var attributes, record = view.up('form').getRecord(); + attributes = record.get('attributes') || {}; + if (attributes['alarms']) { + view.suspendEvents(false); + view.setValue(attributes['alarms'].split(',')); + view.resumeEvents(); + } + }, + + onAlarmsChange: function (view, value) { + var attributes, record = view.up('window').down('form').getRecord(); + attributes = record.get('attributes') || {}; + + value = value.join(); + if (attributes['alarms'] !== value) { + attributes['alarms'] = value; + record.set('attributes', attributes); + record.dirty = true; + } + } +}); diff --git a/legacy/web/app/view/dialog/Register.js b/legacy/web/app/view/dialog/Register.js new file mode 100644 index 00000000..f9608cef --- /dev/null +++ b/legacy/web/app/view/dialog/Register.js @@ -0,0 +1,67 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Register', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.RegisterController' + ], + + controller: 'register', + + title: Strings.loginRegister, + + items: { + xtype: 'form', + reference: 'form', + jsonSubmit: true, + + items: [{ + xtype: 'textfield', + name: 'name', + fieldLabel: Strings.sharedName, + allowBlank: false + }, { + xtype: 'textfield', + name: 'email', + fieldLabel: Strings.userEmail, + validator: function (val) { + if (/(.+)@(.+)\.(.{2,})/.test(val)) { + return true; + } else { + return Ext.form.field.VTypes.emailText; + } + }, + allowBlank: false + }, { + xtype: 'textfield', + name: 'password', + fieldLabel: Strings.userPassword, + inputType: 'password', + allowBlank: false + }] + }, + + buttons: [{ + text: Strings.sharedSave, + handler: 'onCreateClick' + }, { + text: Strings.sharedCancel, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/RegisterController.js b/legacy/web/app/view/dialog/RegisterController.js new file mode 100644 index 00000000..c102581e --- /dev/null +++ b/legacy/web/app/view/dialog/RegisterController.js @@ -0,0 +1,44 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.RegisterController', { + extend: 'Ext.app.ViewController', + alias: 'controller.register', + + onCreateClick: function () { + var form = this.lookupReference('form'); + if (form.isValid()) { + Ext.Ajax.request({ + scope: this, + method: 'POST', + url: 'api/users', + jsonData: form.getValues(), + callback: this.onCreateReturn + }); + } + }, + + onCreateReturn: function (options, success, response) { + if (success) { + this.closeView(); + Traccar.app.showToast(Strings.loginCreated); + } else { + Traccar.app.showError(response); + } + } + +}); diff --git a/legacy/web/app/view/dialog/ReportConfig.js b/legacy/web/app/view/dialog/ReportConfig.js new file mode 100644 index 00000000..35cc95b4 --- /dev/null +++ b/legacy/web/app/view/dialog/ReportConfig.js @@ -0,0 +1,136 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.ReportConfig', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.ReportConfigController', + 'Traccar.view.CustomTimeField' + ], + + controller: 'reportConfig', + title: Strings.reportConfigure, + + items: [{ + fieldLabel: Strings.reportDevice, + xtype: 'tagfield', + reference: 'deviceField', + maxWidth: Traccar.Style.formFieldWidth, + store: 'Devices', + valueField: 'id', + displayField: 'name', + queryMode: 'local' + }, { + fieldLabel: Strings.reportGroup, + xtype: 'tagfield', + reference: 'groupField', + maxWidth: Traccar.Style.formFieldWidth, + store: 'Groups', + valueField: 'id', + displayField: 'name', + queryMode: 'local' + }, { + fieldLabel: Strings.reportEventTypes, + xtype: 'tagfield', + reference: 'eventTypeField', + maxWidth: Traccar.Style.formFieldWidth, + store: 'ReportEventTypes', + hidden: true, + valueField: 'type', + displayField: 'name', + queryMode: 'local' + }, { + fieldLabel: Strings.reportChartType, + xtype: 'combobox', + reference: 'chartTypeField', + store: 'ReportChartTypes', + hidden: true, + value: 'speed', + valueField: 'key', + displayField: 'name', + queryMode: 'local' + }, { + fieldLabel: Strings.reportShowMarkers, + xtype: 'checkbox', + reference: 'showMarkersField', + inputValue: true, + uncheckedValue: false, + value: false + }, { + fieldLabel: Strings.reportPeriod, + reference: 'periodField', + xtype: 'combobox', + store: 'ReportPeriods', + editable: false, + valueField: 'key', + displayField: 'name', + queryMode: 'local', + listeners: { + change: 'onPeriodChange' + } + }, { + xtype: 'fieldcontainer', + layout: 'vbox', + reference: 'fromContainer', + hidden: true, + fieldLabel: Strings.reportFrom, + items: [{ + xtype: 'datefield', + reference: 'fromDateField', + startDay: Traccar.Style.weekStartDay, + format: Traccar.Style.dateFormat, + value: new Date(new Date().getTime() - 30 * 60 * 1000) + }, { + xtype: 'customTimeField', + reference: 'fromTimeField', + value: new Date(new Date().getTime() - 30 * 60 * 1000) + }] + }, { + xtype: 'fieldcontainer', + layout: 'vbox', + reference: 'toContainer', + hidden: true, + fieldLabel: Strings.reportTo, + items: [{ + xtype: 'datefield', + reference: 'toDateField', + startDay: Traccar.Style.weekStartDay, + format: Traccar.Style.dateFormat, + value: new Date() + }, { + xtype: 'customTimeField', + reference: 'toTimeField', + value: new Date() + }] + }], + + buttons: [{ + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/ReportConfigController.js b/legacy/web/app/view/dialog/ReportConfigController.js new file mode 100644 index 00000000..6d029428 --- /dev/null +++ b/legacy/web/app/view/dialog/ReportConfigController.js @@ -0,0 +1,99 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.ReportConfigController', { + extend: 'Ext.app.ViewController', + alias: 'controller.reportConfig', + + requires: [ + 'Traccar.store.ReportEventTypes', + 'Traccar.store.AllNotifications' + ], + + onSaveClick: function (button) { + var eventType, callingPanel; + callingPanel = this.getView().callingPanel; + + callingPanel.deviceId = this.lookupReference('deviceField').getValue(); + callingPanel.groupId = this.lookupReference('groupField').getValue(); + eventType = this.lookupReference('eventTypeField').getValue(); + if (eventType.indexOf(Traccar.store.ReportEventTypes.allEvents) > -1) { + eventType = [Traccar.store.ReportEventTypes.allEvents]; + } else if (eventType.length === this.lookupReference('eventTypeField').getStore().getCount() - 1) { + eventType = [Traccar.store.ReportEventTypes.allEvents]; + } + callingPanel.eventType = eventType; + callingPanel.chartType = this.lookupReference('chartTypeField').getValue(); + callingPanel.showMarkers = this.lookupReference('showMarkersField').getValue(); + callingPanel.fromDate = this.lookupReference('fromDateField').getValue(); + callingPanel.fromTime = this.lookupReference('fromTimeField').getValue(); + callingPanel.toDate = this.lookupReference('toDateField').getValue(); + callingPanel.toTime = this.lookupReference('toTimeField').getValue(); + callingPanel.period = this.lookupReference('periodField').getValue(); + callingPanel.updateButtons(); + button.up('window').close(); + }, + + onPeriodChange: function (combobox, newValue) { + var day, first, from, to, custom = newValue === 'custom'; + this.lookupReference('fromContainer').setHidden(!custom); + this.lookupReference('toContainer').setHidden(!custom); + if (!custom) { + from = new Date(); + to = new Date(); + switch (newValue) { + case 'today': + to.setDate(to.getDate() + 1); + break; + case 'yesterday': + from.setDate(to.getDate() - 1); + break; + case 'thisWeek': + day = from.getDay(); + first = from.getDate() - day + (day === 0 ? -6 : 1); + from.setDate(first); + to.setDate(first + 7); + break; + case 'previousWeek': + day = from.getDay(); + first = from.getDate() - day + (day === 0 ? -6 : 1); + from.setDate(first - 7); + to.setDate(first); + break; + case 'thisMonth': + from.setDate(1); + to.setDate(1); + to.setMonth(from.getMonth() + 1); + break; + case 'previousMonth': + from.setDate(1); + from.setMonth(from.getMonth() - 1); + to.setDate(1); + break; + default: + break; + } + from.setHours(0, 0, 0, 0); + to.setHours(0, 0, 0, 0); + this.lookupReference('fromDateField').setValue(from); + this.lookupReference('fromTimeField').setValue(from); + this.lookupReference('toDateField').setValue(to); + this.lookupReference('toTimeField').setValue(to); + } + } +}); diff --git a/legacy/web/app/view/dialog/SavedCommand.js b/legacy/web/app/view/dialog/SavedCommand.js new file mode 100644 index 00000000..b1aeae73 --- /dev/null +++ b/legacy/web/app/view/dialog/SavedCommand.js @@ -0,0 +1,83 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.SavedCommand', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.dialog.SavedCommandController', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'savedCommand', + title: Strings.sharedSavedCommand, + + items: [{ + xtype: 'form', + listeners: { + validitychange: 'onValidityChange' + }, + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'description', + fieldLabel: Strings.sharedDescription + }, { + xtype: 'checkboxfield', + name: 'textChannel', + inputValue: true, + uncheckedValue: false, + fieldLabel: Strings.commandSendSms + }, { + xtype: 'combobox', + name: 'type', + reference: 'commandType', + fieldLabel: Strings.sharedType, + store: 'AllCommandTypes', + queryMode: 'local', + displayField: 'name', + valueField: 'type', + editable: false, + allowBlank: false, + listeners: { + change: 'onTypeChange' + } + }, { + xtype: 'fieldcontainer', + reference: 'parameters' + }] + }] + }], + + buttons: [{ + glyph: 'xf00c@FontAwesome', + reference: 'saveButton', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + disabled: true, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/SavedCommandController.js b/legacy/web/app/view/dialog/SavedCommandController.js new file mode 100644 index 00000000..37c56603 --- /dev/null +++ b/legacy/web/app/view/dialog/SavedCommandController.js @@ -0,0 +1,99 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.SavedCommandController', { + extend: 'Traccar.view.dialog.BaseEditController', + alias: 'controller.savedCommand', + + defaultFieldConfig: { + allowBlank: false + }, + + onTypeChange: function (combo, newValue) { + var i, config, command, parameters, parameter, record; + record = combo.up('window').down('form').getRecord(); + this.lookupReference('parameters').removeAll(); + command = Ext.getStore('KnownCommands').getById(newValue); + if (command && command.get('parameters')) { + parameters = command.get('parameters'); + for (i = 0; i < parameters.length; i++) { + parameter = new Traccar.model.KnownAttribute(parameters[i]); + config = Ext.clone(this.defaultFieldConfig); + config.key = parameter.get('key'); + config.fieldLabel = parameter.get('name'); + if (record.get('attributes')) { + config.value = record.get('attributes')[parameter.get('key')]; + } + config.disabled = combo.isDisabled(); + switch (parameter.get('valueType')) { + case 'number': + config.xtype = 'customNumberField'; + if (parameter.get('allowDecimals') !== undefined) { + config.allowDecimals = parameter.get('allowDecimals'); + } else { + config.allowDecimals = true; + } + config.dataType = parameter.get('dataType'); + config.maxValue = parameter.get('maxValue'); + config.minValue = parameter.get('minValue'); + break; + case 'boolean': + config.xtype = 'checkboxfield'; + config.inputValue = true; + config.uncheckedValue = false; + break; + default: + if (parameter.get('dataType') === 'timezone') { + config.xtype = 'combobox'; + config.queryMode = 'local'; + config.displayField = 'key'; + config.editable = false; + config.store = 'AllTimezones'; + } else { + config.xtype = 'textfield'; + } + } + this.lookupReference('parameters').add(config); + } + } + }, + + fillAttributes: function (button) { + var i, form, record, parameters, attributes = {}; + + form = button.up('window').down('form'); + form.updateRecord(); + record = form.getRecord(); + parameters = this.lookupReference('parameters').items.items; + + for (i = 0; i < parameters.length; i++) { + attributes[parameters[i].key] = parameters[i].getValue(); + } + + record.set('attributes', attributes); + }, + + onSaveClick: function (button) { + this.fillAttributes(button); + this.callParent(arguments); + }, + + onValidityChange: function (form, valid) { + this.lookupReference('saveButton').setDisabled(!valid); + } + +}); diff --git a/legacy/web/app/view/dialog/SelectDevice.js b/legacy/web/app/view/dialog/SelectDevice.js new file mode 100644 index 00000000..5b11c03f --- /dev/null +++ b/legacy/web/app/view/dialog/SelectDevice.js @@ -0,0 +1,59 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.dialog.SelectDevice', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.SelectDeviceController' + ], + + controller: 'selectDevice', + title: Strings.sharedDevice, + + items: { + xtype: 'form', + items: [{ + xtype: 'combobox', + reference: 'deviceField', + store: 'Devices', + queryMode: 'local', + displayField: 'name', + valueField: 'id', + editable: false, + listeners: { + change: 'onDeviceChange' + } + }] + }, + + buttons: [{ + glyph: 'xf00c@FontAwesome', + reference: 'saveButton', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick', + disabled: true + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/SelectDeviceController.js b/legacy/web/app/view/dialog/SelectDeviceController.js new file mode 100644 index 00000000..9437991c --- /dev/null +++ b/legacy/web/app/view/dialog/SelectDeviceController.js @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.SelectDeviceController', { + extend: 'Ext.app.ViewController', + alias: 'controller.selectDevice', + + onSaveClick: function (button) { + var deviceId, record; + deviceId = this.lookupReference('deviceField').getValue(); + record = this.getView().record.data; + Ext.Ajax.request({ + url: 'api/attributes/computed/test?deviceId=' + deviceId, + method: 'POST', + jsonData: Ext.util.JSON.encode(record), + callback: function (options, success, response) { + if (success) { + Ext.Msg.alert(Strings.sharedInfoTitle, response.responseText || response.statusText); + } else { + Traccar.app.showError(response); + } + } + }); + button.up('window').close(); + }, + + onDeviceChange: function (combobox, newValue) { + this.lookupReference('saveButton').setDisabled(newValue === null); + } +}); diff --git a/legacy/web/app/view/dialog/SendCommand.js b/legacy/web/app/view/dialog/SendCommand.js new file mode 100644 index 00000000..79954739 --- /dev/null +++ b/legacy/web/app/view/dialog/SendCommand.js @@ -0,0 +1,98 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.SendCommand', { + extend: 'Traccar.view.dialog.Base', + + requires: [ + 'Traccar.view.dialog.SendCommandController' + ], + + controller: 'sendCommand', + title: Strings.commandTitle, + + items: [{ + xtype: 'combobox', + reference: 'commandsComboBox', + fieldLabel: Strings.deviceCommand, + displayField: 'description', + valueField: 'id', + store: 'DeviceCommands', + queryMode: 'local', + editable: false, + allowBlank: false, + listeners: { + select: 'onCommandSelect' + } + }, { + xtype: 'form', + listeners: { + validitychange: 'onValidityChange' + }, + items: [{ + xtype: 'fieldset', + reference: 'newCommandFields', + disabled: true, + items: [{ + xtype: 'checkboxfield', + name: 'textChannel', + reference: 'textChannelCheckBox', + inputValue: true, + uncheckedValue: false, + fieldLabel: Strings.commandSendSms, + listeners: { + change: 'onTextChannelChange' + } + }, { + xtype: 'combobox', + name: 'type', + reference: 'commandType', + fieldLabel: Strings.sharedType, + store: 'CommandTypes', + displayField: 'name', + valueField: 'type', + editable: false, + allowBlank: false, + listeners: { + change: 'onTypeChange' + } + }, { + xtype: 'fieldcontainer', + reference: 'parameters' + }] + }] + }], + + buttons: [{ + xtype: 'tbfill' + }, { + glyph: 'xf093@FontAwesome', + tooltip: Strings.sharedSend, + tooltipType: 'title', + minWidth: 0, + disabled: true, + reference: 'sendButton', + handler: 'onSendClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/SendCommandController.js b/legacy/web/app/view/dialog/SendCommandController.js new file mode 100644 index 00000000..c6351587 --- /dev/null +++ b/legacy/web/app/view/dialog/SendCommandController.js @@ -0,0 +1,78 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.SendCommandController', { + extend: 'Traccar.view.dialog.SavedCommandController', + alias: 'controller.sendCommand', + + requires: [ + 'Traccar.view.permissions.SavedCommands' + ], + + onSendClick: function (button) { + var record; + this.fillAttributes(button); + record = button.up('window').down('form').getRecord(); + + Ext.Ajax.request({ + scope: this, + url: 'api/commands/send', + jsonData: record.getData(), + callback: this.onSendResult + }); + }, + + onValidityChange: function (form, valid) { + this.lookupReference('sendButton').setDisabled(!valid || + this.lookupReference('commandsComboBox').getValue() === null); + }, + + onTextChannelChange: function (checkbox, newValue) { + var typesStore = this.lookupReference('commandType').getStore(); + typesStore.getProxy().setExtraParam('textChannel', newValue); + typesStore.reload(); + }, + + onCommandSelect: function (selected) { + var record, form, command = selected.getStore().getById(selected.getValue()); + command.set('deviceId', this.getView().deviceId); + form = selected.up('window').down('form'); + record = form.getRecord(); + form.loadRecord(command); + if (record && command.get('type') === record.get('type')) { + this.onTypeChange(this.lookupReference('commandType'), command.get('type')); + } + + this.lookupReference('newCommandFields').setDisabled(command.getId() !== 0); + this.lookupReference('sendButton').setDisabled(command.getId() === 0); + }, + + onSendResult: function (options, success, response) { + if (success) { + this.closeView(); + Traccar.app.showToast(response.status === 202 ? Strings.commandQueued : Strings.commandSent); + } else { + Traccar.app.showError(response); + } + }, + + closeView: function () { + this.lookupReference('commandsComboBox').getStore().removeAll(); + this.callParent(arguments); + } +}); diff --git a/legacy/web/app/view/dialog/Server.js b/legacy/web/app/view/dialog/Server.js new file mode 100644 index 00000000..6ee250b6 --- /dev/null +++ b/legacy/web/app/view/dialog/Server.js @@ -0,0 +1,159 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.Server', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.dialog.MapPickerController', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'mapPicker', + title: Strings.serverTitle, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedPreferences, + items: [{ + xtype: 'clearableComboBox', + name: 'map', + fieldLabel: Strings.mapLayer, + store: 'MapTypes', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'unescapedTextField', + name: 'bingKey', + fieldLabel: Strings.mapBingKey + }, { + xtype: 'unescapedTextField', + reference: 'mapUrlField', + name: 'mapUrl', + fieldLabel: Strings.mapCustomLabel + }, { + xtype: 'numberfield', + reference: 'latitude', + name: 'latitude', + fieldLabel: Strings.positionLatitude, + decimalPrecision: Traccar.Style.coordinatePrecision + }, { + xtype: 'numberfield', + reference: 'longitude', + name: 'longitude', + fieldLabel: Strings.positionLongitude, + decimalPrecision: Traccar.Style.coordinatePrecision + }, { + xtype: 'numberfield', + reference: 'zoom', + name: 'zoom', + fieldLabel: Strings.serverZoom + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'twelveHourFormat', + fieldLabel: Strings.settingsTwelveHourFormat + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'forceSettings', + fieldLabel: Strings.serverForceSettings + }, { + xtype: 'clearableComboBox', + name: 'coordinateFormat', + fieldLabel: Strings.settingsCoordinateFormat, + store: 'CoordinateFormats', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'unescapedTextField', + name: 'poiLayer', + fieldLabel: Strings.mapPoiLayer + }, { + xtype: 'unescapedTextField', + name: 'announcement', + fieldLabel: Strings.serverAnnouncement + }] + }, { + xtype: 'fieldset', + title: Strings.sharedPermissions, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'registration', + fieldLabel: Strings.serverRegistration + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'readonly', + fieldLabel: Strings.serverReadonly + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'deviceReadonly', + fieldLabel: Strings.userDeviceReadonly + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'limitCommands', + fieldLabel: Strings.userLimitCommands + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'disableReports', + fieldLabel: Strings.userDisableReports + }] + }] + }, + + buttons: [{ + text: Strings.sharedAttributes, + handler: 'showAttributesView' + }, { + glyph: 'xf041@FontAwesome', + minWidth: 0, + handler: 'getMapState', + tooltip: Strings.sharedGetMapState, + tooltipType: 'title' + }, { + xtype: 'tbfill' + }, { + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/User.js b/legacy/web/app/view/dialog/User.js new file mode 100644 index 00000000..5da56424 --- /dev/null +++ b/legacy/web/app/view/dialog/User.js @@ -0,0 +1,211 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.User', { + extend: 'Traccar.view.dialog.BaseEdit', + + requires: [ + 'Traccar.view.ClearableComboBox', + 'Traccar.view.dialog.UserController', + 'Traccar.view.UnescapedTextField' + ], + + controller: 'user', + title: Strings.settingsUser, + + items: { + xtype: 'form', + items: [{ + xtype: 'fieldset', + title: Strings.sharedRequired, + items: [{ + xtype: 'unescapedTextField', + name: 'name', + fieldLabel: Strings.sharedName + }, { + xtype: 'unescapedTextField', + name: 'email', + fieldLabel: Strings.userEmail, + allowBlank: false + }, { + xtype: 'textfield', + name: 'password', + fieldLabel: Strings.userPassword, + inputType: 'password', + allowBlank: false + }] + }, { + xtype: 'fieldset', + title: Strings.sharedPreferences, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'unescapedTextField', + name: 'phone', + fieldLabel: Strings.sharedPhone + }, { + xtype: 'clearableComboBox', + name: 'map', + fieldLabel: Strings.mapLayer, + store: 'MapTypes', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'numberfield', + reference: 'latitude', + name: 'latitude', + fieldLabel: Strings.positionLatitude, + decimalPrecision: Traccar.Style.coordinatePrecision + }, { + xtype: 'numberfield', + reference: 'longitude', + name: 'longitude', + fieldLabel: Strings.positionLongitude, + decimalPrecision: Traccar.Style.coordinatePrecision + }, { + xtype: 'numberfield', + reference: 'zoom', + name: 'zoom', + fieldLabel: Strings.serverZoom + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'twelveHourFormat', + fieldLabel: Strings.settingsTwelveHourFormat + }, { + xtype: 'clearableComboBox', + name: 'coordinateFormat', + fieldLabel: Strings.settingsCoordinateFormat, + store: 'CoordinateFormats', + displayField: 'name', + valueField: 'key' + }, { + xtype: 'unescapedTextField', + name: 'poiLayer', + fieldLabel: Strings.mapPoiLayer + }] + }, { + xtype: 'fieldset', + title: Strings.sharedPermissions, + collapsible: true, + collapsed: true, + items: [{ + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'disabled', + fieldLabel: Strings.sharedDisabled, + disabled: true, + reference: 'disabledField' + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'administrator', + fieldLabel: Strings.userAdmin, + disabled: true, + reference: 'adminField' + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'readonly', + fieldLabel: Strings.serverReadonly, + disabled: true, + reference: 'readonlyField' + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'deviceReadonly', + fieldLabel: Strings.userDeviceReadonly, + disabled: true, + reference: 'deviceReadonlyField' + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'limitCommands', + fieldLabel: Strings.userLimitCommands, + disabled: true, + reference: 'limitCommandsField' + }, { + xtype: 'checkboxfield', + inputValue: true, + uncheckedValue: false, + name: 'disableReports', + fieldLabel: Strings.userDisableReports, + disabled: true, + reference: 'disableReportsField' + }, { + xtype: 'datefield', + name: 'expirationTime', + fieldLabel: Strings.userExpirationTime, + disabled: true, + reference: 'expirationTimeField', + startDay: Traccar.Style.weekStartDay, + format: Traccar.Style.dateFormat + }, { + xtype: 'numberfield', + name: 'deviceLimit', + fieldLabel: Strings.userDeviceLimit, + disabled: true, + reference: 'deviceLimitField' + }, { + xtype: 'numberfield', + name: 'userLimit', + fieldLabel: Strings.userUserLimit, + disabled: true, + reference: 'userLimitField' + }] + }] + }, + + buttons: [{ + text: Strings.sharedAttributes, + handler: 'showAttributesView' + }, { + glyph: 'xf041@FontAwesome', + minWidth: 0, + handler: 'getMapState', + tooltip: Strings.sharedGetMapState, + tooltipType: 'title' + }, { + glyph: 'xf003@FontAwesome', + minWidth: 0, + handler: 'testNotification', + hidden: true, + reference: 'testNotificationButton', + tooltip: Strings.sharedTestNotification, + tooltipType: 'title' + }, { + xtype: 'tbfill' + }, { + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'closeView' + }] +}); diff --git a/legacy/web/app/view/dialog/UserController.js b/legacy/web/app/view/dialog/UserController.js new file mode 100644 index 00000000..0d620614 --- /dev/null +++ b/legacy/web/app/view/dialog/UserController.js @@ -0,0 +1,69 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.dialog.UserController', { + extend: 'Traccar.view.dialog.MapPickerController', + alias: 'controller.user', + + init: function () { + if (Traccar.app.getUser().get('administrator')) { + this.lookupReference('adminField').setDisabled(false); + this.lookupReference('deviceLimitField').setDisabled(false); + this.lookupReference('userLimitField').setDisabled(false); + } + if (Traccar.app.getUser().get('administrator') || !this.getView().selfEdit) { + this.lookupReference('readonlyField').setDisabled(false); + this.lookupReference('disabledField').setDisabled(false); + this.lookupReference('expirationTimeField').setDisabled(false); + this.lookupReference('deviceReadonlyField').setDisabled(false); + this.lookupReference('limitCommandsField').setDisabled(false); + this.lookupReference('disableReportsField').setDisabled(false); + } + }, + + testNotification: function () { + Ext.Ajax.request({ + url: 'api/notifications/test', + method: 'POST', + failure: function (response) { + Traccar.app.showError(response); + } + }); + }, + + onSaveClick: function (button) { + var dialog, record, store; + dialog = button.up('window').down('form'); + dialog.updateRecord(); + record = dialog.getRecord(); + if (record === Traccar.app.getUser()) { + record.save(); + } else { + store = Ext.getStore('Users'); + if (record.phantom) { + store.add(record); + } + store.sync({ + failure: function (batch) { + store.rejectChanges(); + Traccar.app.showError(batch.exceptions[0].getError().response); + } + }); + } + button.up('window').close(); + } +}); diff --git a/legacy/web/app/view/edit/Attributes.js b/legacy/web/app/view/edit/Attributes.js new file mode 100644 index 00000000..af4f5a90 --- /dev/null +++ b/legacy/web/app/view/edit/Attributes.js @@ -0,0 +1,65 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Attributes', { + extend: 'Traccar.view.GridPanel', + xtype: 'attributesView', + + requires: [ + 'Traccar.view.edit.AttributesController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'attributes', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string', + renderer: function (value) { + var attribute; + if (this.attributesStore) { + attribute = Ext.getStore(this.attributesStore).getById(value); + } + return attribute && attribute.get('name') || value; + } + }, { + text: Strings.stateValue, + dataIndex: 'value', + renderer: function (value, metaData, record) { + var attribute; + if (this.attributesStore) { + attribute = Ext.getStore(this.attributesStore).getById(record.get('name')); + } + return Traccar.AttributeFormatter.renderAttribute(value, attribute); + } + }] + } +}); diff --git a/legacy/web/app/view/edit/AttributesController.js b/legacy/web/app/view/edit/AttributesController.js new file mode 100644 index 00000000..84ff6adf --- /dev/null +++ b/legacy/web/app/view/edit/AttributesController.js @@ -0,0 +1,124 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.AttributesController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.attributes', + + requires: [ + 'Traccar.view.dialog.Attribute', + 'Traccar.store.Attributes', + 'Traccar.model.Attribute' + ], + + removeTitle: Strings.stateName, + + init: function () { + var store, propertyName, i = 0, attributes; + store = Ext.create('Traccar.store.Attributes'); + store.setProxy(Ext.create('Ext.data.proxy.Memory')); + if (typeof this.getView().record.get('attributes') === 'undefined') { + this.getView().record.set('attributes', {}); + } + 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: attributes[propertyName] + })); + } + } + store.addListener('add', function (store, records) { + var i, view; + view = this.getView(); + for (i = 0; i < records.length; i++) { + view.record.get('attributes')[records[i].get('name')] = records[i].get('value'); + } + view.record.dirty = true; + }, this); + store.addListener('update', function (store, record, operation) { + var view; + view = this.getView(); + if (operation === Ext.data.Model.EDIT) { + if (record.modified.name !== record.get('name')) { + delete view.record.get('attributes')[record.modified.name]; + } + view.record.get('attributes')[record.get('name')] = record.get('value'); + view.record.dirty = true; + } + }, this); + store.addListener('remove', function (store, records) { + var i, view; + view = this.getView(); + for (i = 0; i < records.length; i++) { + delete view.record.get('attributes')[records[i].get('name')]; + } + view.record.dirty = true; + }, this); + + this.getView().setStore(store); + if (this.getView().record instanceof Traccar.model.Device) { + this.getView().attributesStore = 'DeviceAttributes'; + } else if (this.getView().record instanceof Traccar.model.Geofence) { + this.getView().attributesStore = 'GeofenceAttributes'; + } else if (this.getView().record instanceof Traccar.model.Group) { + this.getView().attributesStore = 'GroupAttributes'; + } else if (this.getView().record instanceof Traccar.model.Server) { + this.getView().attributesStore = 'ServerAttributes'; + } else if (this.getView().record instanceof Traccar.model.User) { + this.getView().attributesStore = 'UserAttributes'; + } + }, + + comboConfig: { + xtype: 'combobox', + reference: 'nameComboField', + name: 'name', + fieldLabel: Strings.sharedName, + displayField: 'name', + valueField: 'key', + allowBlank: false, + queryMode: 'local', + listeners: { + change: 'onNameChange' + } + }, + + initDialog: function (record) { + var nameTextField, dialog = Ext.create('Traccar.view.dialog.Attribute'); + if (this.getView().attributesStore) { + this.comboConfig.store = this.getView().attributesStore; + nameTextField = dialog.lookupReference('nameTextField'); + dialog.down('form').insert(0, this.comboConfig); + dialog.down('form').remove(nameTextField); + } + dialog.down('form').loadRecord(record); + dialog.show(); + }, + + onAddClick: function () { + var objectInstance = Ext.create('Traccar.model.Attribute'); + objectInstance.store = this.getView().getStore(); + this.initDialog(objectInstance); + }, + + onEditClick: function () { + this.initDialog(this.getView().getSelectionModel().getSelection()[0]); + } +}); diff --git a/legacy/web/app/view/edit/Calendars.js b/legacy/web/app/view/edit/Calendars.js new file mode 100644 index 00000000..23f20e25 --- /dev/null +++ b/legacy/web/app/view/edit/Calendars.js @@ -0,0 +1,50 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Calendars', { + extend: 'Traccar.view.GridPanel', + xtype: 'calendarsView', + + requires: [ + 'Traccar.view.edit.CalendarsController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'calendars', + store: 'Calendars', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }] + } +}); diff --git a/legacy/web/app/view/edit/CalendarsController.js b/legacy/web/app/view/edit/CalendarsController.js new file mode 100644 index 00000000..d11ec379 --- /dev/null +++ b/legacy/web/app/view/edit/CalendarsController.js @@ -0,0 +1,31 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.CalendarsController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.calendars', + + requires: [ + 'Traccar.view.dialog.Calendar', + 'Traccar.model.Calendar' + ], + + objectModel: 'Traccar.model.Calendar', + objectDialog: 'Traccar.view.dialog.Calendar', + removeTitle: Strings.sharedCalendar +}); diff --git a/legacy/web/app/view/edit/ComputedAttributes.js b/legacy/web/app/view/edit/ComputedAttributes.js new file mode 100644 index 00000000..9f0b9396 --- /dev/null +++ b/legacy/web/app/view/edit/ComputedAttributes.js @@ -0,0 +1,80 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.ComputedAttributes', { + extend: 'Traccar.view.GridPanel', + xtype: 'computedAttributesView', + + requires: [ + 'Traccar.view.edit.ComputedAttributesController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'computedAttributes', + store: 'ComputedAttributes', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedDescription, + dataIndex: 'description', + filter: 'string' + }, { + text: Strings.sharedAttribute, + dataIndex: 'attribute', + filter: { + type: 'list', + labelField: 'name', + store: 'PositionAttributes' + }, + renderer: function (value) { + return Ext.getStore('PositionAttributes').getAttributeName(value); + } + }, { + text: Strings.sharedExpression, + dataIndex: 'expression' + }, { + text: Strings.sharedType, + dataIndex: 'type', + filter: { + type: 'list', + labelField: 'name', + store: 'AttributeValueTypes' + }, + renderer: function (value) { + var type = Ext.getStore('AttributeValueTypes').getById(value); + if (type) { + return type.get('name'); + } else { + return value; + } + } + }] + } +}); diff --git a/legacy/web/app/view/edit/ComputedAttributesController.js b/legacy/web/app/view/edit/ComputedAttributesController.js new file mode 100644 index 00000000..6ae14102 --- /dev/null +++ b/legacy/web/app/view/edit/ComputedAttributesController.js @@ -0,0 +1,31 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.ComputedAttributesController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.computedAttributes', + + requires: [ + 'Traccar.view.dialog.ComputedAttribute', + 'Traccar.model.ComputedAttribute' + ], + + objectModel: 'Traccar.model.ComputedAttribute', + objectDialog: 'Traccar.view.dialog.ComputedAttribute', + removeTitle: Strings.sharedComputedAttribute +}); diff --git a/legacy/web/app/view/edit/Devices.js b/legacy/web/app/view/edit/Devices.js new file mode 100644 index 00000000..5f54202a --- /dev/null +++ b/legacy/web/app/view/edit/Devices.js @@ -0,0 +1,161 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Devices', { + extend: 'Traccar.view.GridPanel', + xtype: 'devicesView', + + requires: [ + 'Traccar.AttributeFormatter', + 'Traccar.view.edit.DevicesController', + 'Traccar.view.ArrayListFilter', + 'Traccar.view.DeviceMenu' + ], + + controller: 'devices', + + store: 'VisibleDevices', + + stateful: true, + stateId: 'devices-grid', + + tbar: { + componentCls: 'toolbar-header-style', + defaults: { + xtype: 'button', + disabled: true, + tooltipType: 'title' + }, + items: [{ + xtype: 'tbtext', + html: Strings.deviceTitle, + baseCls: 'x-panel-header-title-default' + }, { + xtype: 'tbfill', + disabled: false + }, { + handler: 'onAddClick', + reference: 'toolbarAddButton', + glyph: 'xf067@FontAwesome', + tooltip: Strings.sharedAdd + }, { + handler: 'onEditClick', + reference: 'toolbarEditButton', + glyph: 'xf040@FontAwesome', + tooltip: Strings.sharedEdit + }, { + handler: 'onRemoveClick', + reference: 'toolbarRemoveButton', + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedRemove + }, { + handler: 'onCommandClick', + reference: 'deviceCommandButton', + glyph: 'xf093@FontAwesome', + tooltip: Strings.deviceCommand + }, { + xtype: 'deviceMenu', + reference: 'toolbarDeviceMenu', + enableToggle: false + }] + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + viewConfig: { + enableTextSelection: true, + getRowClass: function (record) { + var result = '', status = record.get('status'); + if (record.get('disabled')) { + result = 'view-item-disabled '; + } + if (status) { + result += Ext.getStore('DeviceStatuses').getById(status).get('color'); + } + return result; + } + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }, { + text: Strings.deviceIdentifier, + dataIndex: 'uniqueId', + hidden: true, + filter: 'string' + }, { + text: Strings.sharedPhone, + dataIndex: 'phone', + hidden: true + }, { + text: Strings.deviceModel, + dataIndex: 'model', + hidden: true + }, { + text: Strings.deviceContact, + dataIndex: 'contact', + hidden: true + }, { + text: Strings.groupDialog, + dataIndex: 'groupId', + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'Groups' + }, + renderer: Traccar.AttributeFormatter.getFormatter('groupId') + }, { + text: Strings.sharedDisabled, + dataIndex: 'disabled', + renderer: Traccar.AttributeFormatter.getFormatter('disabled'), + hidden: true, + filter: 'boolean' + }, { + text: Strings.deviceStatus, + dataIndex: 'status', + filter: { + type: 'list', + labelField: 'name', + store: 'DeviceStatuses' + }, + renderer: function (value) { + var status; + if (value) { + status = Ext.getStore('DeviceStatuses').getById(value); + if (status) { + return status.get('name'); + } + } + return null; + } + }, { + text: Strings.deviceLastUpdate, + dataIndex: 'lastUpdate', + renderer: Traccar.AttributeFormatter.getFormatter('lastUpdate') + }] + } +}); diff --git a/legacy/web/app/view/edit/DevicesController.js b/legacy/web/app/view/edit/DevicesController.js new file mode 100644 index 00000000..16e54b21 --- /dev/null +++ b/legacy/web/app/view/edit/DevicesController.js @@ -0,0 +1,139 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.DevicesController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.devices', + + requires: [ + 'Traccar.view.dialog.SendCommand', + 'Traccar.view.dialog.Device', + 'Traccar.view.permissions.Geofences', + 'Traccar.view.permissions.ComputedAttributes', + 'Traccar.view.permissions.Drivers', + 'Traccar.view.permissions.SavedCommands', + 'Traccar.view.BaseWindow', + 'Traccar.model.Device', + 'Traccar.model.Command' + ], + + config: { + listen: { + controller: { + '*': { + selectreport: 'deselectDevice', + selectevent: 'deselectDevice' + }, + 'root': { + selectdevice: 'selectDevice' + }, + 'map': { + selectdevice: 'selectDevice', + deselectfeature: 'deselectFeature' + } + }, + store: { + '#Devices': { + update: 'onUpdateDevice' + } + } + } + }, + + objectModel: 'Traccar.model.Device', + objectDialog: 'Traccar.view.dialog.Device', + removeTitle: Strings.sharedDevice, + + init: function () { + var self = this, readonly, deviceReadonly; + deviceReadonly = Traccar.app.getPreference('deviceReadonly', false) && !Traccar.app.getUser().get('administrator'); + readonly = Traccar.app.getPreference('readonly', false) && !Traccar.app.getUser().get('administrator'); + this.lookupReference('toolbarAddButton').setDisabled(readonly || deviceReadonly); + this.lookupReference('toolbarDeviceMenu').setHidden(readonly || deviceReadonly); + + setInterval(function () { + self.getView().getView().refresh(); + }, Traccar.Style.refreshPeriod); + }, + + onCommandClick: function () { + var device, deviceId, dialog, typesStore, commandsStore; + device = this.getView().getSelectionModel().getSelection()[0]; + deviceId = device.get('id'); + + dialog = Ext.create('Traccar.view.dialog.SendCommand'); + dialog.deviceId = deviceId; + + commandsStore = dialog.lookupReference('commandsComboBox').getStore(); + commandsStore.getProxy().setExtraParam('deviceId', deviceId); + if (!Traccar.app.getPreference('limitCommands', false)) { + commandsStore.add({ + id: 0, + description: Strings.sharedNew + }); + } + commandsStore.load({ + addRecords: true + }); + + typesStore = dialog.lookupReference('commandType').getStore(); + typesStore.getProxy().setExtraParam('deviceId', deviceId); + typesStore.load(); + + dialog.show(); + }, + + updateButtons: function (selected) { + var readonly, deviceReadonly, empty, deviceMenu; + deviceReadonly = Traccar.app.getPreference('deviceReadonly', false) && !Traccar.app.getUser().get('administrator'); + readonly = Traccar.app.getPreference('readonly', false) && !Traccar.app.getUser().get('administrator'); + empty = selected.length === 0; + this.lookupReference('toolbarEditButton').setDisabled(empty || readonly || deviceReadonly); + this.lookupReference('toolbarRemoveButton').setDisabled(empty || readonly || deviceReadonly); + deviceMenu = this.lookupReference('toolbarDeviceMenu'); + deviceMenu.device = empty ? null : selected[0]; + deviceMenu.setDisabled(empty); + this.lookupReference('deviceCommandButton').setDisabled(empty || readonly); + }, + + onSelectionChange: function (el, records) { + if (records && records.length) { + this.updateButtons(records); + this.fireEvent('selectdevice', records[0], true); + } + }, + + selectDevice: function (device) { + this.getView().getSelectionModel().select([device], false, true); + this.updateButtons(this.getView().getSelectionModel().getSelected().items); + this.getView().getView().focusRow(device); + }, + + deselectDevice: function (object) { + if (object) { + this.deselectFeature(); + } + }, + + onUpdateDevice: function () { + this.updateButtons(this.getView().getSelectionModel().getSelected().items); + }, + + deselectFeature: function () { + this.getView().getSelectionModel().deselectAll(); + } +}); diff --git a/legacy/web/app/view/edit/Drivers.js b/legacy/web/app/view/edit/Drivers.js new file mode 100644 index 00000000..7bd10a68 --- /dev/null +++ b/legacy/web/app/view/edit/Drivers.js @@ -0,0 +1,54 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Drivers', { + extend: 'Traccar.view.GridPanel', + xtype: 'driversView', + + requires: [ + 'Traccar.view.edit.DriversController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'drivers', + store: 'Drivers', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }, { + text: Strings.deviceIdentifier, + dataIndex: 'uniqueId', + filter: 'string' + }] + } +}); diff --git a/legacy/web/app/view/edit/DriversController.js b/legacy/web/app/view/edit/DriversController.js new file mode 100644 index 00000000..6c8a63cc --- /dev/null +++ b/legacy/web/app/view/edit/DriversController.js @@ -0,0 +1,31 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.DriversController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.drivers', + + requires: [ + 'Traccar.view.dialog.Driver', + 'Traccar.model.Driver' + ], + + objectModel: 'Traccar.model.Driver', + objectDialog: 'Traccar.view.dialog.Driver', + removeTitle: Strings.sharedDriver +}); diff --git a/legacy/web/app/view/edit/Geofences.js b/legacy/web/app/view/edit/Geofences.js new file mode 100644 index 00000000..0e1e6773 --- /dev/null +++ b/legacy/web/app/view/edit/Geofences.js @@ -0,0 +1,63 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Geofences', { + extend: 'Traccar.view.GridPanel', + xtype: 'geofencesView', + + requires: [ + 'Traccar.view.edit.GeofencesController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'geofences', + store: 'Geofences', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }, { + text: Strings.sharedDescription, + dataIndex: 'description', + filter: 'string' + }, { + text: Strings.sharedCalendar, + dataIndex: 'calendarId', + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllCalendars' + }, + renderer: Traccar.AttributeFormatter.getFormatter('calendarId') + }] + } +}); diff --git a/legacy/web/app/view/edit/GeofencesController.js b/legacy/web/app/view/edit/GeofencesController.js new file mode 100644 index 00000000..73d367ac --- /dev/null +++ b/legacy/web/app/view/edit/GeofencesController.js @@ -0,0 +1,30 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.GeofencesController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.geofences', + + requires: [ + 'Traccar.view.dialog.Geofence', + 'Traccar.model.Geofence' + ], + + objectModel: 'Traccar.model.Geofence', + objectDialog: 'Traccar.view.dialog.Geofence', + removeTitle: Strings.sharedGeofence +}); diff --git a/legacy/web/app/view/edit/Groups.js b/legacy/web/app/view/edit/Groups.js new file mode 100644 index 00000000..8b09316c --- /dev/null +++ b/legacy/web/app/view/edit/Groups.js @@ -0,0 +1,109 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Groups', { + extend: 'Traccar.view.GridPanel', + xtype: 'groupsView', + + requires: [ + 'Traccar.AttributeFormatter', + 'Traccar.view.edit.GroupsController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'groups', + store: 'Groups', + + tbar: { + xtype: 'editToolbar', + items: [{ + xtype: 'button', + disabled: true, + handler: 'onGeofencesClick', + reference: 'toolbarGeofencesButton', + glyph: 'xf21d@FontAwesome', + tooltip: Strings.sharedGeofences, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onAttributesClick', + reference: 'toolbarAttributesButton', + glyph: 'xf0ae@FontAwesome', + tooltip: Strings.sharedComputedAttributes, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onDriversClick', + reference: 'toolbarDriversButton', + glyph: 'xf084@FontAwesome', + tooltip: Strings.sharedDrivers, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onCommandsClick', + reference: 'toolbarCommandsButton', + glyph: 'xf093@FontAwesome', + tooltip: Strings.sharedSavedCommands, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onNotificationsClick', + reference: 'toolbarNotificationsButton', + glyph: 'xf003@FontAwesome', + tooltip: Strings.sharedNotifications, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onMaintenancesClick', + reference: 'toolbarMaintenancesButton', + glyph: 'xf0ad@FontAwesome', + tooltip: Strings.sharedMaintenance, + tooltipType: 'title' + }] + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }, { + text: Strings.groupDialog, + dataIndex: 'groupId', + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllGroups' + }, + renderer: Traccar.AttributeFormatter.getFormatter('groupId') + }] + } +}); diff --git a/legacy/web/app/view/edit/GroupsController.js b/legacy/web/app/view/edit/GroupsController.js new file mode 100644 index 00000000..ae96a248 --- /dev/null +++ b/legacy/web/app/view/edit/GroupsController.js @@ -0,0 +1,141 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.GroupsController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.groups', + + requires: [ + 'Traccar.view.dialog.Group', + 'Traccar.view.permissions.Geofences', + 'Traccar.view.permissions.ComputedAttributes', + 'Traccar.view.permissions.Drivers', + 'Traccar.view.permissions.SavedCommands', + 'Traccar.view.permissions.Maintenances', + 'Traccar.view.BaseWindow', + 'Traccar.model.Group' + ], + + objectModel: 'Traccar.model.Group', + objectDialog: 'Traccar.view.dialog.Group', + removeTitle: Strings.groupDialog, + + init: function () { + this.lookupReference('toolbarDriversButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('toolbarAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); + this.lookupReference('toolbarCommandsButton').setHidden(Traccar.app.getPreference('limitCommands', false)); + this.lookupReference('toolbarMaintenancesButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableMaintenance')); + }, + + onGeofencesClick: function () { + var group = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedGeofences, + items: { + xtype: 'linkGeofencesView', + baseObjectName: 'groupId', + linkObjectName: 'geofenceId', + storeName: 'Geofences', + baseObject: group.getId() + } + }).show(); + }, + + onAttributesClick: function () { + var group = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedComputedAttributes, + items: { + xtype: 'linkComputedAttributesView', + baseObjectName: 'groupId', + linkObjectName: 'attributeId', + storeName: 'ComputedAttributes', + baseObject: group.getId() + } + }).show(); + }, + + onDriversClick: function () { + var group = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedDrivers, + items: { + xtype: 'linkDriversView', + baseObjectName: 'groupId', + linkObjectName: 'driverId', + storeName: 'Drivers', + baseObject: group.getId() + } + }).show(); + }, + + onCommandsClick: function () { + var group = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedSavedCommands, + items: { + xtype: 'linkSavedCommandsView', + baseObjectName: 'groupId', + linkObjectName: 'commandId', + storeName: 'Commands', + baseObject: group.getId() + } + }).show(); + }, + + onNotificationsClick: function () { + var group = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedNotifications, + items: { + xtype: 'linkNotificationsView', + baseObjectName: 'groupId', + linkObjectName: 'notificationId', + storeName: 'Notifications', + baseObject: group.getId() + } + }).show(); + }, + + onMaintenancesClick: function () { + var group = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedMaintenance, + items: { + xtype: 'linkMaintenancesView', + baseObjectName: 'groupId', + linkObjectName: 'maintenanceId', + storeName: 'Maintenances', + baseObject: group.getId() + } + }).show(); + }, + + onSelectionChange: function (selection, selected) { + var disabled = selected.length === 0; + this.lookupReference('toolbarGeofencesButton').setDisabled(disabled); + this.lookupReference('toolbarAttributesButton').setDisabled(disabled); + this.lookupReference('toolbarDriversButton').setDisabled(disabled); + this.lookupReference('toolbarCommandsButton').setDisabled(disabled); + this.lookupReference('toolbarNotificationsButton').setDisabled(disabled); + this.lookupReference('toolbarMaintenancesButton').setDisabled(disabled); + this.callParent(arguments); + } +}); diff --git a/legacy/web/app/view/edit/Maintenances.js b/legacy/web/app/view/edit/Maintenances.js new file mode 100644 index 00000000..da129154 --- /dev/null +++ b/legacy/web/app/view/edit/Maintenances.js @@ -0,0 +1,77 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Maintenances', { + extend: 'Traccar.view.GridPanel', + xtype: 'maintenancesView', + + requires: [ + 'Traccar.view.edit.MaintenancesController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'maintenances', + store: 'Maintenances', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }, { + text: Strings.sharedType, + dataIndex: 'type', + filter: { + type: 'list', + idField: 'key', + labelField: 'name', + store: 'MaintenanceTypes' + }, + renderer: function (value) { + var attribute = Ext.getStore('MaintenanceTypes').getById(value); + return attribute && attribute.get('name') || value; + } + }, { + text: Strings.maintenanceStart, + dataIndex: 'start', + renderer: function (value, metaData, record) { + return Traccar.AttributeFormatter.renderAttribute( + value, Ext.getStore('MaintenanceTypes').getById(record.get('type'))); + } + }, { + text: Strings.maintenancePeriod, + dataIndex: 'period', + renderer: function (value, metaData, record) { + return Traccar.AttributeFormatter.renderAttribute( + value, Ext.getStore('MaintenanceTypes').getById(record.get('type'))); + } + }] + } +}); diff --git a/legacy/web/app/view/edit/MaintenancesController.js b/legacy/web/app/view/edit/MaintenancesController.js new file mode 100644 index 00000000..19762e61 --- /dev/null +++ b/legacy/web/app/view/edit/MaintenancesController.js @@ -0,0 +1,31 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.MaintenancesController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.maintenances', + + requires: [ + 'Traccar.view.dialog.Maintenance', + 'Traccar.model.Maintenance' + ], + + objectModel: 'Traccar.model.Maintenance', + objectDialog: 'Traccar.view.dialog.Maintenance', + removeTitle: Strings.sharedMaintenance +}); diff --git a/legacy/web/app/view/edit/Notifications.js b/legacy/web/app/view/edit/Notifications.js new file mode 100644 index 00000000..9cf97b19 --- /dev/null +++ b/legacy/web/app/view/edit/Notifications.js @@ -0,0 +1,111 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Notifications', { + extend: 'Traccar.view.GridPanel', + xtype: 'notificationsView', + + requires: [ + 'Traccar.view.edit.NotificationsController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'notifications', + store: 'Notifications', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.notificationType, + dataIndex: 'type', + flex: 2, + renderer: function (value) { + return Traccar.app.getEventString(value); + }, + filter: { + type: 'list', + idField: 'type', + labelField: 'name', + store: 'AllNotificationTypes' + } + }, { + text: Strings.notificationAlways, + dataIndex: 'always', + renderer: Traccar.AttributeFormatter.getFormatter('always'), + filter: 'boolean' + }, { + text: Strings.sharedAlarms, + dataIndex: 'attributes', + renderer: function (value) { + var i, key, result = '', alarms = value && value['alarms']; + if (alarms) { + alarms = alarms.split(','); + for (i = 0; i < alarms.length; i++) { + key = 'alarm' + alarms[i].charAt(0).toUpperCase() + alarms[i].slice(1); + if (result) { + result += ', '; + } + result += Strings[key] || key; + } + } + return result; + } + }, { + text: Strings.notificationNotificators, + dataIndex: 'notificators', + flex: 2, + filter: { + type: 'arraylist', + idField: 'type', + labelField: 'name', + store: 'AllNotificators' + }, + renderer: function (value) { + var result = '', i, notificators; + if (value) { + notificators = value.split(/[ ,]+/).filter(Boolean); + for (i = 0; i < notificators.length; i++) { + result += Traccar.app.getNotificatorString(notificators[i]) + (i < notificators.length - 1 ? ', ' : ''); + } + } + return result; + } + }, { + text: Strings.sharedCalendar, + dataIndex: 'calendarId', + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllCalendars' + }, + renderer: Traccar.AttributeFormatter.getFormatter('calendarId') + }] + } +}); diff --git a/legacy/web/app/view/edit/NotificationsController.js b/legacy/web/app/view/edit/NotificationsController.js new file mode 100644 index 00000000..ad22a686 --- /dev/null +++ b/legacy/web/app/view/edit/NotificationsController.js @@ -0,0 +1,31 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.NotificationsController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.notifications', + + requires: [ + 'Traccar.view.dialog.Notification', + 'Traccar.model.Notification' + ], + + objectModel: 'Traccar.model.Notification', + objectDialog: 'Traccar.view.dialog.Notification', + removeTitle: Strings.sharedNotification +}); diff --git a/legacy/web/app/view/edit/SavedCommands.js b/legacy/web/app/view/edit/SavedCommands.js new file mode 100644 index 00000000..9e5f4869 --- /dev/null +++ b/legacy/web/app/view/edit/SavedCommands.js @@ -0,0 +1,65 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.SavedCommands', { + extend: 'Traccar.view.GridPanel', + xtype: 'savedCommandsView', + + requires: [ + 'Traccar.view.edit.SavedCommandsController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'savedCommands', + store: 'Commands', + + tbar: { + xtype: 'editToolbar' + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedDescription, + dataIndex: 'description', + filter: 'string' + }, { + text: Strings.sharedType, + dataIndex: 'type', + filter: { + type: 'list', + idField: 'type', + labelField: 'name', + store: 'AllCommandTypes' + }, + renderer: Traccar.AttributeFormatter.getFormatter('commandType') + }, { + text: Strings.commandSendSms, + dataIndex: 'textChannel', + renderer: Traccar.AttributeFormatter.getFormatter('textChannel'), + filter: 'boolean' + }] + } +}); diff --git a/legacy/web/app/view/edit/SavedCommandsController.js b/legacy/web/app/view/edit/SavedCommandsController.js new file mode 100644 index 00000000..1511661e --- /dev/null +++ b/legacy/web/app/view/edit/SavedCommandsController.js @@ -0,0 +1,31 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.SavedCommandsController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.savedCommands', + + requires: [ + 'Traccar.view.dialog.SavedCommand', + 'Traccar.model.Command' + ], + + objectModel: 'Traccar.model.Command', + objectDialog: 'Traccar.view.dialog.SavedCommand', + removeTitle: Strings.sharedSavedCommand +}); diff --git a/legacy/web/app/view/edit/Toolbar.js b/legacy/web/app/view/edit/Toolbar.js new file mode 100644 index 00000000..6999030b --- /dev/null +++ b/legacy/web/app/view/edit/Toolbar.js @@ -0,0 +1,49 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Toolbar', { + extend: 'Ext.toolbar.Toolbar', + xtype: 'editToolbar', + + initComponent: function () { + this.callParent(arguments); + this.add(0, [{ + xtype: 'button', + handler: 'onAddClick', + reference: 'toolbarAddButton', + glyph: 'xf067@FontAwesome', + tooltip: Strings.sharedAdd, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onEditClick', + reference: 'toolbarEditButton', + glyph: 'xf040@FontAwesome', + tooltip: Strings.sharedEdit, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onRemoveClick', + reference: 'toolbarRemoveButton', + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedRemove, + tooltipType: 'title' + }]); + } +}); diff --git a/legacy/web/app/view/edit/ToolbarController.js b/legacy/web/app/view/edit/ToolbarController.js new file mode 100644 index 00000000..d3ca9de6 --- /dev/null +++ b/legacy/web/app/view/edit/ToolbarController.js @@ -0,0 +1,70 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.edit.ToolbarController', { + extend: 'Ext.app.ViewController', + alias: 'controller.toolbarController', + + onAddClick: function () { + var dialog, objectInstance = Ext.create(this.objectModel); + objectInstance.store = this.getView().getStore(); + if (objectInstance.store instanceof Ext.data.ChainedStore) { + objectInstance.store = objectInstance.store.getSource(); + } + dialog = Ext.create(this.objectDialog); + dialog.down('form').loadRecord(objectInstance); + dialog.show(); + }, + + onEditClick: function () { + var dialog, objectInstance = this.getView().getSelectionModel().getSelection()[0]; + dialog = Ext.create(this.objectDialog); + dialog.down('form').loadRecord(objectInstance); + dialog.show(); + }, + + onRemoveClick: function () { + var objectInstance = this.getView().getSelectionModel().getSelection()[0]; + Ext.Msg.show({ + title: this.removeTitle, + message: Strings.sharedRemoveConfirm, + buttons: Ext.Msg.YESNO, + buttonText: { + yes: Strings.sharedRemove, + no: Strings.sharedCancel + }, + fn: function (btn) { + var store = objectInstance.store; + if (btn === 'yes') { + store.remove(objectInstance); + store.sync({ + failure: function (batch) { + store.rejectChanges(); + Traccar.app.showError(batch.exceptions[0].getError().response); + } + }); + } + } + }); + }, + + onSelectionChange: function (selection, selected) { + var disabled = selected.length === 0; + this.lookupReference('toolbarEditButton').setDisabled(disabled); + this.lookupReference('toolbarRemoveButton').setDisabled(disabled); + } +}); diff --git a/legacy/web/app/view/edit/Users.js b/legacy/web/app/view/edit/Users.js new file mode 100644 index 00000000..5d9a14f0 --- /dev/null +++ b/legacy/web/app/view/edit/Users.js @@ -0,0 +1,156 @@ +/* + * Copyright 2015 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.Users', { + extend: 'Traccar.view.GridPanel', + xtype: 'usersView', + + requires: [ + 'Traccar.view.edit.UsersController', + 'Traccar.view.edit.Toolbar' + ], + + controller: 'users', + store: 'Users', + + tbar: { + xtype: 'editToolbar', + scrollable: true, + items: [{ + disabled: true, + handler: 'onGeofencesClick', + reference: 'userGeofencesButton', + glyph: 'xf21d@FontAwesome', + tooltip: Strings.sharedGeofences, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onDevicesClick', + reference: 'userDevicesButton', + glyph: 'xf248@FontAwesome', + tooltip: Strings.deviceTitle, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onGroupsClick', + reference: 'userGroupsButton', + glyph: 'xf247@FontAwesome', + tooltip: Strings.settingsGroups, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onUsersClick', + reference: 'userUsersButton', + glyph: 'xf0c0@FontAwesome', + tooltip: Strings.settingsUsers, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onNotificationsClick', + reference: 'userNotificationsButton', + glyph: 'xf003@FontAwesome', + tooltip: Strings.sharedNotifications, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onCalendarsClick', + reference: 'userCalendarsButton', + glyph: 'xf073@FontAwesome', + tooltip: Strings.sharedCalendars, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onAttributesClick', + reference: 'userAttributesButton', + glyph: 'xf0ae@FontAwesome', + tooltip: Strings.sharedComputedAttributes, + tooltipType: 'title' + }, { + disabled: true, + handler: 'onDriversClick', + reference: 'userDriversButton', + glyph: 'xf084@FontAwesome', + tooltip: Strings.sharedDrivers, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onCommandsClick', + reference: 'userCommandsButton', + glyph: 'xf093@FontAwesome', + tooltip: Strings.sharedSavedCommands, + tooltipType: 'title' + }, { + xtype: 'button', + disabled: true, + handler: 'onMaintenancesClick', + reference: 'userMaintenancesButton', + glyph: 'xf0ad@FontAwesome', + tooltip: Strings.sharedMaintenance, + tooltipType: 'title' + }] + }, + + listeners: { + selectionchange: 'onSelectionChange' + }, + + columns: { + defaults: { + flex: 1, + minWidth: Traccar.Style.columnWidthNormal + }, + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + filter: 'string' + }, { + text: Strings.userEmail, + dataIndex: 'email', + filter: 'string' + }, { + text: Strings.userAdmin, + dataIndex: 'administrator', + renderer: Traccar.AttributeFormatter.getFormatter('administrator'), + filter: 'boolean' + }, { + text: Strings.serverReadonly, + dataIndex: 'readonly', + hidden: true, + renderer: Traccar.AttributeFormatter.getFormatter('readonly'), + filter: 'boolean' + }, { + text: Strings.userDeviceReadonly, + dataIndex: 'deviceReadonly', + renderer: Traccar.AttributeFormatter.getFormatter('deviceReadonly'), + hidden: true, + filter: 'boolean' + }, { + text: Strings.sharedDisabled, + dataIndex: 'disabled', + renderer: Traccar.AttributeFormatter.getFormatter('disabled'), + filter: 'boolean' + }, { + text: Strings.userExpirationTime, + dataIndex: 'expirationTime', + hidden: true, + renderer: Traccar.AttributeFormatter.getFormatter('expirationTime'), + filter: 'date' + }] + } +}); diff --git a/legacy/web/app/view/edit/UsersController.js b/legacy/web/app/view/edit/UsersController.js new file mode 100644 index 00000000..9e810435 --- /dev/null +++ b/legacy/web/app/view/edit/UsersController.js @@ -0,0 +1,244 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.edit.UsersController', { + extend: 'Traccar.view.edit.ToolbarController', + alias: 'controller.users', + + requires: [ + 'Traccar.view.dialog.User', + 'Traccar.view.permissions.Devices', + 'Traccar.view.permissions.Groups', + 'Traccar.view.permissions.Geofences', + 'Traccar.view.permissions.Calendars', + 'Traccar.view.permissions.Users', + 'Traccar.view.permissions.ComputedAttributes', + 'Traccar.view.permissions.Drivers', + 'Traccar.view.permissions.SavedCommands', + 'Traccar.view.permissions.Notifications', + 'Traccar.view.permissions.Maintenances', + 'Traccar.view.BaseWindow', + 'Traccar.model.User' + ], + + objectModel: 'Traccar.model.User', + objectDialog: 'Traccar.view.dialog.User', + removeTitle: Strings.settingsUser, + + init: function () { + Ext.getStore('Users').load(); + this.lookupReference('userUsersButton').setHidden(!Traccar.app.getUser().get('administrator')); + this.lookupReference('userDriversButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableDrivers')); + this.lookupReference('userAttributesButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableComputedAttributes')); + this.lookupReference('userCalendarsButton').setHidden( + Traccar.app.getBooleanAttributePreference('ui.disableCalendars')); + this.lookupReference('userCommandsButton').setHidden(Traccar.app.getPreference('limitCommands', false)); + this.lookupReference('userMaintenancesButton').setHidden( + Traccar.app.getVehicleFeaturesDisabled() || Traccar.app.getBooleanAttributePreference('ui.disableMaintenance')); + }, + + onEditClick: function () { + var dialog, user = this.getView().getSelectionModel().getSelection()[0]; + dialog = Ext.create('Traccar.view.dialog.User', { + selfEdit: user.get('id') === Traccar.app.getUser().get('id') + }); + dialog.down('form').loadRecord(user); + dialog.show(); + }, + + onAddClick: function () { + var user, dialog; + user = Ext.create('Traccar.model.User'); + if (Traccar.app.getUser().get('administrator')) { + user.set('deviceLimit', -1); + } + if (Traccar.app.getUser().get('expirationTime')) { + user.set('expirationTime', Traccar.app.getUser().get('expirationTime')); + } + dialog = Ext.create('Traccar.view.dialog.User'); + dialog.down('form').loadRecord(user); + dialog.show(); + }, + + onDevicesClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.getStore('AllGroups').load(); + Ext.create('Traccar.view.BaseWindow', { + title: Strings.deviceTitle, + items: { + xtype: 'linkDevicesView', + baseObjectName: 'userId', + linkObjectName: 'deviceId', + storeName: 'AllDevices', + linkStoreName: 'Devices', + baseObject: user.getId() + } + }).show(); + }, + + onGroupsClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.settingsGroups, + items: { + xtype: 'linkGroupsView', + baseObjectName: 'userId', + linkObjectName: 'groupId', + storeName: 'AllGroups', + linkStoreName: 'Groups', + baseObject: user.getId() + } + }).show(); + }, + + onGeofencesClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedGeofences, + items: { + xtype: 'linkGeofencesView', + baseObjectName: 'userId', + linkObjectName: 'geofenceId', + storeName: 'AllGeofences', + linkStoreName: 'Geofences', + baseObject: user.getId() + } + }).show(); + }, + + onNotificationsClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedNotifications, + items: { + xtype: 'linkNotificationsView', + baseObjectName: 'userId', + linkObjectName: 'notificationId', + storeName: 'AllNotifications', + linkStoreName: 'Notifications', + baseObject: user.getId() + } + }).show(); + }, + + onCalendarsClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedCalendars, + items: { + xtype: 'linkCalendarsView', + baseObjectName: 'userId', + linkObjectName: 'calendarId', + storeName: 'AllCalendars', + linkStoreName: 'Calendars', + baseObject: user.getId() + } + }).show(); + }, + + onUsersClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.settingsUsers, + items: { + xtype: 'linkUsersView', + baseObjectName: 'userId', + linkObjectName: 'managedUserId', + storeName: 'Users', + baseObject: user.getId() + } + }).show(); + }, + + onAttributesClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedComputedAttributes, + items: { + xtype: 'linkComputedAttributesView', + baseObjectName: 'userId', + linkObjectName: 'attributeId', + storeName: 'AllComputedAttributes', + linkStoreName: 'ComputedAttributes', + baseObject: user.getId() + } + }).show(); + }, + + onDriversClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedDrivers, + items: { + xtype: 'linkDriversView', + baseObjectName: 'userId', + linkObjectName: 'driverId', + storeName: 'AllDrivers', + linkStoreName: 'Drivers', + baseObject: user.getId() + } + }).show(); + }, + + onCommandsClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedSavedCommands, + items: { + xtype: 'linkSavedCommandsView', + baseObjectName: 'userId', + linkObjectName: 'commandId', + storeName: 'AllCommands', + linkStoreName: 'Commands', + baseObject: user.getId() + } + }).show(); + }, + + onMaintenancesClick: function () { + var user = this.getView().getSelectionModel().getSelection()[0]; + Ext.create('Traccar.view.BaseWindow', { + title: Strings.sharedMaintenance, + items: { + xtype: 'linkMaintenancesView', + baseObjectName: 'userId', + linkObjectName: 'maintenanceId', + storeName: 'AllMaintenances', + linkStoreName: 'Maintenances', + baseObject: user.getId() + } + }).show(); + }, + + onSelectionChange: function (selection, selected) { + var disabled = selected.length === 0; + this.lookupReference('userDevicesButton').setDisabled(disabled); + this.lookupReference('userGroupsButton').setDisabled(disabled); + this.lookupReference('userGeofencesButton').setDisabled(disabled); + this.lookupReference('userNotificationsButton').setDisabled(disabled); + this.lookupReference('userCalendarsButton').setDisabled(disabled); + this.lookupReference('userAttributesButton').setDisabled(disabled); + this.lookupReference('userDriversButton').setDisabled(disabled); + this.lookupReference('userCommandsButton').setDisabled(disabled); + this.lookupReference('userMaintenancesButton').setDisabled(disabled); + this.lookupReference('userUsersButton').setDisabled(disabled || selected[0].get('userLimit') === 0); + this.callParent(arguments); + } +}); diff --git a/legacy/web/app/view/map/BaseMap.js b/legacy/web/app/view/map/BaseMap.js new file mode 100644 index 00000000..9192a53b --- /dev/null +++ b/legacy/web/app/view/map/BaseMap.js @@ -0,0 +1,243 @@ +/* + * Copyright 2016 - 2021 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.map.BaseMap', { + extend: 'Ext.panel.Panel', + xtype: 'baseMapView', + + layout: 'fit', + + getMap: function () { + return this.map; + }, + + getMapView: function () { + return this.mapView; + }, + + initMap: function () { + var server, layer, type, bingKey, locationIqKey, lat, lon, zoom, maxZoom, target, poiLayer, self = this; + + server = Traccar.app.getServer(); + + type = Traccar.app.getPreference('map', null); + bingKey = server.get('bingKey'); + locationIqKey = Traccar.app.getAttributePreference('locationIqKey', 'pk.0f147952a41c555a5b70614039fd148b'); + + layer = new ol.layer.Group({ + title: Strings.mapLayer, + layers: [ + new ol.layer.Tile({ + title: Strings.mapCustom, + type: 'base', + visible: type === 'custom', + source: new ol.source.XYZ({ + url: Ext.String.htmlDecode(server.get('mapUrl')), + attributions: '' + }) + }), + new ol.layer.Tile({ + title: Strings.mapCustomArcgis, + type: 'base', + visible: type === 'customArcgis', + source: new ol.source.TileArcGISRest({ + url: Ext.String.htmlDecode(server.get('mapUrl')) + }) + }), + new ol.layer.Tile({ + title: Strings.mapBingRoad, + type: 'base', + visible: type === 'bingRoad', + source: new ol.source.BingMaps({ + key: bingKey, + imagerySet: 'Road' + }) + }), + new ol.layer.Tile({ + title: Strings.mapBingAerial, + type: 'base', + visible: type === 'bingAerial', + source: new ol.source.BingMaps({ + key: bingKey, + imagerySet: 'Aerial' + }) + }), + new ol.layer.Tile({ + title: Strings.mapBingHybrid, + type: 'base', + visible: type === 'bingHybrid', + source: new ol.source.BingMaps({ + key: bingKey, + imagerySet: 'AerialWithLabels' + }) + }), + new ol.layer.Tile({ + title: Strings.mapCarto, + type: 'base', + visible: type === 'carto', + source: new ol.source.XYZ({ + url: 'https://cartodb-basemaps-{a-d}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png', + attributions: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> ' + + 'contributors, © <a href="https://carto.com/attributions">CARTO</a>' + }) + }), + new ol.layer.Tile({ + title: Strings.mapAutoNavi, + type: 'base', + visible: type === 'autoNavi' || type === 'baidu', + source: new ol.source.OSM({ + url: 'https://webrd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}' + }) + }), + new ol.layer.Tile({ + title: Strings.mapYandexMap, + type: 'base', + visible: type === 'yandexMap', + source: new ol.source.XYZ({ + url: 'https://core-renderer-tiles.maps.yandex.net/tiles?l=map&x={x}&y={y}&z={z}', + projection: 'EPSG:3395', + attributions: '© <a href="https://yandex.com/maps/">Yandex</a>' + }) + }), + new ol.layer.Tile({ + title: Strings.mapYandexSat, + type: 'base', + visible: type === 'yandexSat', + source: new ol.source.XYZ({ + url: 'https://core-sat.maps.yandex.net/tiles?l=sat&x={x}&y={y}&z={z}', + projection: 'EPSG:3395', + attributions: '© <a href="https://yandex.com/maps/">Yandex</a>' + }) + }), + new ol.layer.Tile({ + title: Strings.mapOsm, + type: 'base', + visible: type === 'osm', + source: new ol.source.OSM({}) + }), + new ol.layer.Tile({ + title: Strings.mapLocationIqStreets, + type: 'base', + visible: type === 'locationIqStreets' || type === 'wikimedia' || !type, + source: new ol.source.XYZ({ + url: 'https://{a-c}-tiles.locationiq.com/v3/streets/r/{z}/{x}/{y}.png?key=' + locationIqKey, + attributions: '© <a href="https://locationiq.com/">LocationIQ</a>' + }) + }) + ] + }); + + lat = Traccar.app.getPreference('latitude', Traccar.Style.mapDefaultLat); + lon = Traccar.app.getPreference('longitude', Traccar.Style.mapDefaultLon); + zoom = Traccar.app.getPreference('zoom', Traccar.Style.mapDefaultZoom); + maxZoom = Traccar.app.getAttributePreference('web.maxZoom', Traccar.Style.mapMaxZoom); + + this.mapView = new ol.View({ + center: ol.proj.fromLonLat([lon, lat]), + zoom: zoom, + maxZoom: maxZoom + }); + + this.map = new ol.Map({ + target: this.body.dom.id, + layers: [layer], + view: this.mapView + }); + + poiLayer = Traccar.app.getPreference('poiLayer', null); + + if (poiLayer) { + this.map.addLayer(new ol.layer.Vector({ + source: new ol.source.Vector({ + url: poiLayer, + format: new ol.format.KML() + }) + })); + } + + switch (Traccar.app.getAttributePreference('distanceUnit', 'km')) { + case 'mi': + this.map.addControl(new ol.control.ScaleLine({ + units: 'us' + })); + break; + case 'nmi': + this.map.addControl(new ol.control.ScaleLine({ + units: 'nautical' + })); + break; + default: + this.map.addControl(new ol.control.ScaleLine()); + break; + } + + this.map.addControl(new ol.control.LayerSwitcher()); + + target = this.map.getTarget(); + if (typeof target === 'string') { + target = Ext.get(target).dom; + } + + this.map.on('pointermove', function (e) { + var hit = this.forEachFeatureAtPixel(e.pixel, function () { + return true; + }); + if (hit) { + target.style.cursor = 'pointer'; + } else { + target.style.cursor = ''; + } + }); + + this.map.on('click', function (e) { + var i, features = self.map.getFeaturesAtPixel(e.pixel, { + layerFilter: function (layer) { + return !layer.get('name'); + } + }); + if (features) { + for (i = 0; i < features.length; i++) { + self.fireEvent('selectfeature', features[i]); + } + } else { + self.fireEvent('deselectfeature'); + } + }); + + this.map.once('postrender', function () { + self.fireEvent('mapready'); + }); + }, + + listeners: { + afterrender: function () { + this.initMap(); + }, + + resize: function () { + this.map.updateSize(); + } + } +}, function () { + var projection; + proj4.defs('EPSG:3395', '+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs'); + ol.proj.proj4.register(proj4); + projection = ol.proj.get('EPSG:3395'); + if (projection) { + projection.setExtent([-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244]); + } +}); diff --git a/legacy/web/app/view/map/GeofenceMap.js b/legacy/web/app/view/map/GeofenceMap.js new file mode 100644 index 00000000..cc1b7efe --- /dev/null +++ b/legacy/web/app/view/map/GeofenceMap.js @@ -0,0 +1,150 @@ +/* + * Copyright 2016 - 2021 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.map.GeofenceMap', { + extend: 'Traccar.view.map.BaseMap', + xtype: 'geofenceMapView', + + requires: [ + 'Traccar.view.map.GeofenceMapController', + 'Traccar.GeofenceConverter' + ], + + controller: 'geofenceMap', + bodyBorder: true, + + tbar: { + items: [{ + xtype: 'combobox', + store: 'GeofenceTypes', + valueField: 'key', + displayField: 'name', + editable: false, + listeners: { + select: 'onTypeSelect' + } + }, '-', { + xtype: 'tbtext', + html: Strings.sharedImport + }, { + xtype: 'filefield', + name: 'file', + buttonConfig: { + glyph: 'xf093@FontAwesome', + text: '', + tooltip: Strings.sharedSelectFile, + tooltipType: 'title' + }, + listeners: { + change: 'onFileChange', + afterrender: function (fileField) { + fileField.fileInputEl.set({ + accept: '.gpx' + }); + } + } + }, { + xtype: 'tbfill' + }, { + glyph: 'xf00c@FontAwesome', + tooltip: Strings.sharedSave, + tooltipType: 'title', + minWidth: 0, + handler: 'onSaveClick' + }, { + glyph: 'xf00d@FontAwesome', + tooltip: Strings.sharedCancel, + tooltipType: 'title', + minWidth: 0, + handler: 'onCancelClick' + }] + }, + + getFeatures: function () { + return this.features; + }, + + initMap: function () { + var map, mapView, featureOverlay, geometry, fillColor; + this.callParent(); + + map = this.map; + mapView = this.mapView; + + this.features = new ol.Collection(); + if (this.area) { + geometry = Traccar.GeofenceConverter.wktToGeometry(mapView, this.area); + this.features.push(new ol.Feature(geometry)); + this.map.once('postrender', function () { + mapView.fit(geometry, { + padding: [20, 20, 20, 20] + }); + }); + } else { + this.controller.fireEvent('mapstaterequest'); + } + fillColor = ol.color.asArray(Traccar.Style.mapGeofenceColor); + fillColor[3] = Traccar.Style.mapGeofenceOverlayOpacity; + featureOverlay = new ol.layer.Vector({ + source: new ol.source.Vector({ + features: this.features + }), + style: new ol.style.Style({ + fill: new ol.style.Fill({ + color: fillColor + }), + stroke: new ol.style.Stroke({ + color: Traccar.Style.mapGeofenceColor, + width: Traccar.Style.mapGeofenceWidth + }), + image: new ol.style.Circle({ + radius: Traccar.Style.mapGeofenceRadius, + fill: new ol.style.Fill({ + color: Traccar.Style.mapGeofenceColor + }) + }) + }) + }); + featureOverlay.setMap(map); + + map.addInteraction(new ol.interaction.Modify({ + features: this.features, + deleteCondition: function (event) { + return ol.events.condition.shiftKeyOnly(event) && ol.events.condition.singleClick(event); + } + })); + }, + + addInteraction: function (type) { + var self = this; + this.draw = new ol.interaction.Draw({ + features: this.features, + type: type + }); + this.draw.on('drawstart', function () { + self.features.clear(); + }); + this.map.addInteraction(this.draw); + }, + + removeInteraction: function () { + if (this.draw) { + this.map.removeInteraction(this.draw); + this.draw = null; + } + } +}); diff --git a/legacy/web/app/view/map/GeofenceMapController.js b/legacy/web/app/view/map/GeofenceMapController.js new file mode 100644 index 00000000..31ab586c --- /dev/null +++ b/legacy/web/app/view/map/GeofenceMapController.js @@ -0,0 +1,85 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.map.GeofenceMapController', { + extend: 'Ext.app.ViewController', + alias: 'controller.geofenceMap', + + requires: [ + 'Traccar.GeofenceConverter' + ], + + config: { + listen: { + controller: { + '*': { + mapstate: 'setMapState' + } + } + } + }, + + onFileChange: function (fileField) { + var reader, view = this.getView(); + if (fileField.fileInputEl.dom.files.length > 0) { + reader = new FileReader(); + reader.onload = function () { + var parser, xml, segment, projection, points = []; + parser = new DOMParser(); + xml = parser.parseFromString(reader.result, 'text/xml'); + segment = xml.getElementsByTagName('trkseg')[0]; + projection = view.mapView.getProjection(); + Array.from(segment.getElementsByTagName('trkpt')).forEach(function (point) { + var lat, lon; + lat = Number(point.getAttribute('lat')); + lon = Number(point.getAttribute('lon')); + points.push(ol.proj.transform([lon, lat], 'EPSG:4326', projection)); + }); + view.getFeatures().clear(); + view.getFeatures().push(new ol.Feature(new ol.geom.LineString(points))); + }; + reader.onerror = function (event) { + Traccar.app.showError(event.target.error); + }; + reader.readAsText(fileField.fileInputEl.dom.files[0]); + } + }, + + onSaveClick: function (button) { + var geometry, projection; + if (this.getView().getFeatures().getLength() > 0) { + geometry = this.getView().getFeatures().pop().getGeometry(); + projection = this.getView().getMapView().getProjection(); + this.fireEvent('savearea', Traccar.GeofenceConverter.geometryToWkt(projection, geometry)); + button.up('window').close(); + } + }, + + onCancelClick: function (button) { + button.up('window').close(); + }, + + onTypeSelect: function (combo) { + this.getView().removeInteraction(); + this.getView().addInteraction(combo.getValue()); + }, + + setMapState: function (lat, lon, zoom) { + this.getView().getMapView().setCenter(ol.proj.fromLonLat([lon, lat])); + this.getView().getMapView().setZoom(zoom); + } +}); diff --git a/legacy/web/app/view/map/Map.js b/legacy/web/app/view/map/Map.js new file mode 100644 index 00000000..36e81de7 --- /dev/null +++ b/legacy/web/app/view/map/Map.js @@ -0,0 +1,158 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.map.Map', { + extend: 'Traccar.view.map.BaseMap', + xtype: 'mapView', + + requires: [ + 'Traccar.view.map.MapController', + 'Traccar.view.SettingsMenu' + ], + + controller: 'map', + + title: Strings.mapTitle, + tbar: { + componentCls: 'toolbar-header-style', + defaults: { + xtype: 'button', + tooltipType: 'title', + stateEvents: ['toggle'], + enableToggle: true, + stateful: { + pressed: true + } + }, + items: [{ + xtype: 'tbtext', + html: Strings.mapTitle, + baseCls: 'x-panel-header-title-default' + }, { + xtype: 'tbfill' + }, { + handler: 'showReports', + reference: 'showReportsButton', + glyph: 'xf0f6@FontAwesome', + stateful: false, + enableToggle: false, + tooltip: Strings.reportTitle + }, { + handler: 'showEvents', + reference: 'showEventsButton', + glyph: 'xf27b@FontAwesome', + stateful: false, + enableToggle: false, + tooltip: Strings.reportEvents + }, { + handler: 'updateGeofences', + reference: 'showGeofencesButton', + glyph: 'xf21d@FontAwesome', + pressed: true, + stateId: 'show-geofences-button', + tooltip: Strings.sharedGeofences + }, { + handler: 'showAccuracy', + reference: 'showAccuracyButton', + glyph: 'xf140@FontAwesome', + pressed: true, + stateId: 'show-accuracy-button', + tooltip: Strings.positionAccuracy + }, { + handler: 'showCurrentLocation', + glyph: 'xf124@FontAwesome', + tooltip: Strings.mapCurrentLocation + }, { + handler: 'showLiveRoutes', + reference: 'showLiveRoutes', + glyph: 'xf1b0@FontAwesome', + stateId: 'show-live-routes-button', + tooltip: Strings.mapLiveRoutes + }, { + reference: 'deviceFollowButton', + glyph: 'xf05b@FontAwesome', + tooltip: Strings.deviceFollow, + stateId: 'device-follow-button', + toggleHandler: 'onFollowClick' + }, { + xtype: 'settingsMenu', + enableToggle: false + }] + }, + + getMarkersSource: function () { + return this.markersSource; + }, + + getAccuracySource: function () { + return this.accuracySource; + }, + + getAccuracyLayer: function () { + return this.accuracyLayer; + }, + + getRouteSource: function () { + return this.routeSource; + }, + + getGeofencesSource: function () { + return this.geofencesSource; + }, + + getLiveRouteSource: function () { + return this.liveRouteSource; + }, + + getLiveRouteLayer: function () { + return this.liveRouteLayer; + }, + + initMap: function () { + this.callParent(); + + this.geofencesSource = new ol.source.Vector({}); + this.map.addLayer(new ol.layer.Vector({ + name: 'geofencesLayer', + source: this.geofencesSource + })); + + this.liveRouteSource = new ol.source.Vector({}); + this.liveRouteLayer = new ol.layer.Vector({ + source: this.liveRouteSource, + visible: this.lookupReference('showLiveRoutes').pressed + }); + this.map.addLayer(this.liveRouteLayer); + + this.routeSource = new ol.source.Vector({}); + this.map.addLayer(new ol.layer.Vector({ + source: this.routeSource + })); + + this.accuracySource = new ol.source.Vector({}); + this.accuracyLayer = new ol.layer.Vector({ + name: 'accuracyLayer', + source: this.accuracySource + }); + this.map.addLayer(this.accuracyLayer); + + this.markersSource = new ol.source.Vector({}); + this.map.addLayer(new ol.layer.Vector({ + source: this.markersSource + })); + } +}); diff --git a/legacy/web/app/view/map/MapController.js b/legacy/web/app/view/map/MapController.js new file mode 100644 index 00000000..f6d88eed --- /dev/null +++ b/legacy/web/app/view/map/MapController.js @@ -0,0 +1,101 @@ +/* + * Copyright 2015 - 2022 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.map.MapController', { + extend: 'Traccar.view.map.MapMarkerController', + alias: 'controller.map', + + requires: [ + 'Traccar.GeofenceConverter' + ], + + config: { + listen: { + controller: { + '*': { + mapstaterequest: 'getMapState', + zoomtoalldevices: 'zoomToAllDevices' + } + }, + store: { + '#Geofences': { + load: 'updateGeofences', + add: 'updateGeofences', + update: 'updateGeofences', + remove: 'updateGeofences' + } + } + } + }, + + init: function () { + this.callParent(); + this.lookupReference('showReportsButton').setVisible( + Traccar.app.isMobile() && !Traccar.app.getPreference('disableReports', false)); + this.lookupReference('showEventsButton').setVisible( + Traccar.app.isMobile() && !Traccar.app.getBooleanAttributePreference('ui.disableEvents')); + }, + + showReports: function () { + Traccar.app.showReports(true); + }, + + showEvents: function () { + Traccar.app.showEvents(true); + }, + + onFollowClick: function (button, pressed) { + if (pressed && this.selectedMarker) { + this.getView().getMapView().setCenter(this.selectedMarker.getGeometry().getCoordinates()); + } + }, + + showLiveRoutes: function (button) { + this.getView().getLiveRouteLayer().setVisible(button.pressed); + }, + + showAccuracy: function (button) { + this.getView().getAccuracyLayer().setVisible(button.pressed); + }, + + getMapState: function () { + var zoom, center, projection; + projection = this.getView().getMapView().getProjection(); + center = ol.proj.transform(this.getView().getMapView().getCenter(), projection, 'EPSG:4326'); + zoom = this.getView().getMapView().getZoom(); + this.fireEvent('mapstate', center[1], center[0], zoom); + }, + + updateGeofences: function () { + this.getView().getGeofencesSource().clear(); + if (this.lookupReference('showGeofencesButton').pressed) { + Ext.getStore('Geofences').each(function (geofence) { + var feature = new ol.Feature( + Traccar.GeofenceConverter.wktToGeometry(this.getView().getMapView(), geofence.get('area'))); + feature.setStyle(this.getAreaStyle( + Ext.String.htmlDecode(geofence.get('name')), + geofence.get('attributes') ? geofence.get('attributes').color : null)); + this.getView().getGeofencesSource().addFeature(feature); + return true; + }, this); + } + }, + + zoomToAllDevices: function () { + this.zoomToAllPositions(Ext.getStore('LatestPositions').getData().items); + } +}); diff --git a/legacy/web/app/view/map/MapMarkerController.js b/legacy/web/app/view/map/MapMarkerController.js new file mode 100644 index 00000000..2fef4870 --- /dev/null +++ b/legacy/web/app/view/map/MapMarkerController.js @@ -0,0 +1,687 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.map.MapMarkerController', { + extend: 'Ext.app.ViewController', + alias: 'controller.mapMarker', + + requires: [ + 'Traccar.model.Position', + 'Traccar.model.Device', + 'Traccar.DeviceImages' + ], + + config: { + listen: { + controller: { + '*': { + selectdevice: 'selectDevice', + selectreport: 'selectReport', + selectevent: 'selectEvent' + }, + 'devices': { + deselectfeature: 'deselectDevice' + } + }, + store: { + '#Devices': { + add: 'updateDevice', + update: 'updateDevice', + remove: 'removeDevice' + }, + '#VisibleDevices': { + add: 'updateVisibleDevices', + update: 'updateVisibleDevices', + remove: 'updateVisibleDevices', + refresh: 'filterDevices' + }, + '#LatestPositions': { + add: 'updateLatest', + update: 'updateLatest' + }, + '#ReportRoute': { + add: 'addReportMarkers', + load: 'loadReport', + clear: 'clearReport' + }, + '#Events': { + remove: 'clearEvent', + clear: 'clearEvent' + } + }, + component: { + '#': { + mapready: 'initGeolocation', + selectfeature: 'selectFeature', + deselectfeature: 'deselectFeature' + } + } + } + }, + + init: function () { + this.latestMarkers = {}; + this.reportMarkers = {}; + this.accuracyCircles = {}; + this.liveRoutes = {}; + this.liveRouteLength = Traccar.app.getAttributePreference('web.liveRouteLength', 10); + this.selectZoom = Traccar.app.getAttributePreference('web.selectZoom', 0); + }, + + initGeolocation: function () { + var geolocation, accuracyFeature, positionFeature; + + geolocation = new ol.Geolocation({ + trackingOptions: { + enableHighAccuracy: true + }, + projection: this.getView().getMapView().getProjection() + }); + + geolocation.on('error', function (error) { + Traccar.app.showError(error.message); + }); + + accuracyFeature = new ol.Feature(); + geolocation.on('change:accuracyGeometry', function () { + accuracyFeature.setGeometry(geolocation.getAccuracyGeometry()); + }); + + positionFeature = new ol.Feature(); + positionFeature.setStyle(new ol.style.Style({ + image: new ol.style.Circle({ + radius: 6, + fill: new ol.style.Fill({ + color: '#3399CC' + }), + stroke: new ol.style.Stroke({ + color: '#fff', + width: 2 + }) + }) + })); + + geolocation.on('change:position', function () { + var coordinates = geolocation.getPosition(); + positionFeature.setGeometry(coordinates ? new ol.geom.Point(coordinates) : null); + }); + + this.getView().getAccuracySource().addFeature(accuracyFeature); + this.getView().getMarkersSource().addFeature(positionFeature); + + this.geolocation = geolocation; + }, + + showCurrentLocation: function (view) { + this.geolocation.setTracking(view.pressed); + }, + + getAreaStyle: function (label, color) { + var fillColor, strokeColor, styleConfig; + if (color) { + fillColor = ol.color.asArray(color); + strokeColor = color; + } else { + fillColor = ol.color.asArray(Traccar.Style.mapGeofenceColor); + strokeColor = Traccar.Style.mapGeofenceColor; + } + fillColor[3] = Traccar.Style.mapGeofenceOverlayOpacity; + styleConfig = { + fill: new ol.style.Fill({ + color: fillColor + }), + stroke: new ol.style.Stroke({ + color: strokeColor, + width: Traccar.Style.mapGeofenceWidth + }) + }; + if (label) { + styleConfig.text = new ol.style.Text({ + text: label, + overflow: true, + fill: new ol.style.Fill({ + color: Traccar.Style.mapGeofenceTextColor + }), + stroke: new ol.style.Stroke({ + color: Traccar.Style.mapTextStrokeColor, + width: Traccar.Style.mapTextStrokeWidth + }), + font: Traccar.Style.mapTextFont + }); + } + return new ol.style.Style(styleConfig); + }, + + getDeviceColor: function (device) { + switch (device.get('status')) { + case 'online': + return Traccar.Style.mapColorOnline; + case 'offline': + return Traccar.Style.mapColorOffline; + default: + return Traccar.Style.mapColorUnknown; + } + }, + + updateDevice: function (store, data) { + var i, device, deviceId, deviceName, marker, style; + + if (!Ext.isArray(data)) { + data = [data]; + } + + for (i = 0; i < data.length; i++) { + device = data[i]; + deviceId = device.get('id'); + + if (deviceId in this.latestMarkers) { + marker = this.latestMarkers[deviceId]; + style = marker.getStyle(); + if (style.getImage().fill !== this.getDeviceColor(device) || + style.getImage().category !== device.get('category')) { + this.updateDeviceMarker(style, this.getDeviceColor(device), device.get('category')); + marker.changed(); + } + deviceName = Ext.String.htmlDecode(device.get('name')); + if (style.getText().getText() !== deviceName) { + style.getText().setText(deviceName); + marker.changed(); + } + } + } + }, + + removeDevice: function (store, data) { + var i, deviceId, markersSource; + if (!Ext.isArray(data)) { + data = [data]; + } + + markersSource = this.getView().getMarkersSource(); + + for (i = 0; i < data.length; i++) { + deviceId = data[i].get('id'); + if (this.latestMarkers[deviceId]) { + if (markersSource.getFeatureById(this.latestMarkers[deviceId].getId())) { + markersSource.removeFeature(this.latestMarkers[deviceId]); + } + delete this.latestMarkers[deviceId]; + } + if (this.accuracyCircles[deviceId]) { + if (markersSource.getFeatureById(this.accuracyCircles[deviceId].getId())) { + markersSource.removeFeature(this.accuracyCircles[deviceId]); + } + delete this.accuracyCircles[deviceId]; + } + if (this.liveRoutes[deviceId]) { + if (markersSource.getFeatureById(this.liveRoutes[deviceId].getId())) { + markersSource.removeFeature(this.liveRoutes[deviceId]); + } + delete this.liveRoutes[deviceId]; + } + } + }, + + animateMarker: function (marker, geometry, course) { + var start, end, duration, timeout, line, updatePosition, self, follow; + + start = marker.getGeometry().getCoordinates(); + end = geometry.getCoordinates(); + line = new ol.geom.LineString([start, end]); + duration = Traccar.Style.mapAnimateMarkerDuration; + timeout = Traccar.Style.mapAnimateMarkerTimeout; + self = this; + follow = this.lookupReference('deviceFollowButton').pressed; + + updatePosition = function (position, marker) { + var coordinate, style; + coordinate = marker.get('line').getCoordinateAt(position / (duration / timeout)); + style = marker.getStyle(); + marker.setGeometry(new ol.geom.Point(coordinate)); + if (marker === self.selectedMarker && follow) { + self.getView().getMapView().setCenter(marker.getGeometry().getCoordinates()); + } + if (position < duration / timeout) { + setTimeout(updatePosition, timeout, position + 1, marker); + } else { + if (style.getImage().angle !== marker.get('nextCourse')) { + self.rotateMarker(style, marker.get('nextCourse')); + } + marker.set('animating', false); + } + }; + + marker.set('line', line); + marker.set('nextCourse', course); + if (!marker.get('animating')) { + marker.set('animating', true); + updatePosition(1, marker); + } + }, + + updateLatest: function (store, data) { + var i, position, device, deviceStore; + + if (!Ext.isArray(data)) { + data = [data]; + } + + deviceStore = Ext.getStore('Devices'); + + for (i = 0; i < data.length; i++) { + position = data[i]; + device = deviceStore.getById(position.get('deviceId')); + + if (device) { + this.updateAccuracy(position, device); + this.updateLatestMarker(position, device); + this.updateLiveRoute(position, device); + } + } + }, + + updateAccuracy: function (position, device) { + var center, radius, feature; + feature = this.accuracyCircles[position.get('deviceId')]; + + if (position.get('accuracy')) { + center = ol.proj.fromLonLat([position.get('longitude'), position.get('latitude')]); + radius = Ext.getStore('DistanceUnits').convertValue( + position.get('accuracy'), Traccar.app.getAttributePreference('distanceUnit'), true); + + if (feature) { + feature.getGeometry().setCenter(center); + feature.getGeometry().setRadius(radius); + } else { + feature = new ol.Feature(new ol.geom.Circle(center, radius)); + feature.setStyle(this.getAreaStyle(null, Traccar.Style.mapAccuracyColor)); + feature.setId(position.get('deviceId')); + this.accuracyCircles[position.get('deviceId')] = feature; + if (this.isDeviceVisible(device)) { + this.getView().getAccuracySource().addFeature(feature); + } + } + } else { + if (feature && this.getView().getAccuracySource().getFeatureById(feature.getId())) { + this.getView().getAccuracySource().removeFeature(feature); + } + delete this.accuracyCircles[position.get('deviceId')]; + } + }, + + updateLatestMarker: function (position, device) { + var geometry, deviceId, marker, style; + geometry = new ol.geom.Point(ol.proj.fromLonLat([ + position.get('longitude'), + position.get('latitude') + ])); + deviceId = position.get('deviceId'); + if (deviceId in this.latestMarkers) { + marker = this.latestMarkers[deviceId]; + this.animateMarker(marker, geometry, position.get('course')); + } else { + marker = new ol.Feature(geometry); + marker.set('record', device); + + style = this.getLatestMarker(this.getDeviceColor(device), + position.get('course'), + device.get('category')); + style.getText().setText(Ext.String.htmlDecode(device.get('name'))); + marker.setStyle(style); + marker.setId(device.get('id')); + this.latestMarkers[deviceId] = marker; + if (this.isDeviceVisible(device)) { + this.getView().getMarkersSource().addFeature(marker); + } + if (marker === this.selectedMarker && this.lookupReference('deviceFollowButton').pressed) { + this.getView().getMapView().setCenter(marker.getGeometry().getCoordinates()); + } + } + }, + + updateLiveRoute: function (position, device) { + var deviceId, liveLine, liveCoordinates, lastLiveCoordinates, newCoordinates; + deviceId = position.get('deviceId'); + if (deviceId in this.liveRoutes) { + liveCoordinates = this.liveRoutes[deviceId].getGeometry().getCoordinates(); + lastLiveCoordinates = liveCoordinates[liveCoordinates.length - 1]; + newCoordinates = ol.proj.fromLonLat([position.get('longitude'), position.get('latitude')]); + if (lastLiveCoordinates[0] === newCoordinates[0] && + lastLiveCoordinates[1] === newCoordinates[1]) { + return; + } + if (liveCoordinates.length >= this.liveRouteLength) { + liveCoordinates.shift(); + } + liveCoordinates.push(newCoordinates); + this.liveRoutes[deviceId].getGeometry().setCoordinates(liveCoordinates); + } else { + liveLine = new ol.Feature({ + geometry: new ol.geom.LineString([ + ol.proj.fromLonLat([ + position.get('longitude'), + position.get('latitude') + ]) + ]) + }); + liveLine.setStyle(this.getRouteStyle(deviceId)); + liveLine.setId(deviceId); + this.liveRoutes[deviceId] = liveLine; + if (this.isDeviceVisible(device)) { + this.getView().getMarkersSource().addFeature(liveLine); + } + } + }, + + loadReport: function (store, data) { + var i, position, point, routeSource; + if (data) { + this.addReportMarkers(store, data); + routeSource = this.getView().getRouteSource(); + + this.reportRoute = []; + for (i = 0; i < data.length; i++) { + position = data[i]; + point = ol.proj.fromLonLat([ + position.get('longitude'), + position.get('latitude') + ]); + if (i === 0 || data[i].get('deviceId') !== data[i - 1].get('deviceId')) { + this.reportRoute.push(new ol.Feature({ + geometry: new ol.geom.LineString([]) + })); + this.reportRoute[this.reportRoute.length - 1].setStyle(this.getRouteStyle(data[i].get('deviceId'))); + routeSource.addFeature(this.reportRoute[this.reportRoute.length - 1]); + } + this.reportRoute[this.reportRoute.length - 1].getGeometry().appendCoordinate(point); + } + } + }, + + addReportMarker: function (position) { + var geometry, marker, style, point = ol.proj.fromLonLat([ + position.get('longitude'), + position.get('latitude') + ]); + geometry = new ol.geom.Point(point); + marker = new ol.Feature(geometry); + marker.set('record', position); + style = this.getReportMarker(position.get('deviceId'), position.get('course')); + marker.setStyle(style); + this.getView().getMarkersSource().addFeature(marker); + return marker; + }, + + addReportMarkers: function (store, data) { + var i; + this.clearReport(); + for (i = 0; i < data.length; i++) { + if (store.showMarkers) { + this.reportMarkers[data[i].get('id')] = this.addReportMarker(data[i]); + } + } + this.zoomToAllPositions(data); + }, + + clearReport: function () { + var key, i, reportSource, markersSource; + + reportSource = this.getView().getRouteSource(); + + if (this.reportRoute) { + for (i = 0; i < this.reportRoute.length; i++) { + reportSource.removeFeature(this.reportRoute[i]); + } + this.reportRoute = null; + } + + if (this.reportMarkers) { + markersSource = this.getView().getMarkersSource(); + for (key in this.reportMarkers) { + if (this.reportMarkers.hasOwnProperty(key)) { + markersSource.removeFeature(this.reportMarkers[key]); + } + } + this.reportMarkers = {}; + } + + if (this.selectedMarker && !this.selectedMarker.get('event') && + this.selectedMarker.get('record') instanceof Traccar.model.Position) { + this.selectedMarker = null; + } + }, + + clearEvent: function () { + if (this.selectedMarker && this.selectedMarker.get('event')) { + this.selectMarker(null, false); + } + }, + + getRouteStyle: function (deviceId) { + return new ol.style.Style({ + stroke: new ol.style.Stroke({ + color: Traccar.app.getReportColor(deviceId), + width: Traccar.Style.mapRouteWidth + }) + }); + }, + + getMarkerStyle: function (zoom, color, angle, category) { + var image = Traccar.DeviceImages.getImageIcon(color, zoom, angle, category); + return new ol.style.Style({ + image: image, + text: new ol.style.Text({ + textBaseline: 'bottom', + fill: new ol.style.Fill({ + color: Traccar.Style.mapTextColor + }), + stroke: new ol.style.Stroke({ + color: Traccar.Style.mapTextStrokeColor, + width: Traccar.Style.mapTextStrokeWidth + }), + offsetY: -image.getSize()[1] / 2 - Traccar.Style.mapTextOffset, + font: Traccar.Style.mapTextFont + }) + }); + }, + + getLatestMarker: function (color, angle, category) { + return this.getMarkerStyle(false, color, angle, category); + }, + + getReportMarker: function (deviceId, angle) { + return this.getMarkerStyle(false, Traccar.app.getReportColor(deviceId), angle, 'arrow'); + }, + + resizeMarker: function (style, zoom) { + var image, text; + image = Traccar.DeviceImages.getImageIcon( + style.getImage().fill, zoom, style.getImage().angle, style.getImage().category); + text = style.getText(); + text.setOffsetY(-image.getSize()[1] / 2 - Traccar.Style.mapTextOffset); + style.setText(text); + style.setImage(image); + }, + + rotateMarker: function (style, angle) { + style.setImage(Traccar.DeviceImages.getImageIcon( + style.getImage().fill, style.getImage().zoom, angle, style.getImage().category)); + }, + + updateDeviceMarker: function (style, color, category) { + var image, text; + image = Traccar.DeviceImages.getImageIcon( + color, style.getImage().zoom, style.getImage().angle, category); + text = style.getText(); + text.setOffsetY(-image.getSize()[1] / 2 - Traccar.Style.mapTextOffset); + style.setText(text); + style.setImage(image); + }, + + selectMarker: function (marker, center) { + if (this.selectedMarker) { + if (this.selectedMarker.get('event')) { + this.getView().getMarkersSource().removeFeature(this.selectedMarker); + } else if (!Ext.getStore('ReportRoute').showMarkers && + this.selectedMarker.get('record') instanceof Traccar.model.Position) { + this.getView().getMarkersSource().removeFeature(this.selectedMarker); + delete this.reportMarkers[this.selectedMarker.get('record').get('id')]; + } else { + this.resizeMarker(this.selectedMarker.getStyle(), false); + this.selectedMarker.getStyle().setZIndex(0); + this.selectedMarker.changed(); + } + } + + if (marker) { + this.resizeMarker(marker.getStyle(), true); + marker.getStyle().setZIndex(1); + marker.changed(); + if (center) { + this.getView().getMapView().setCenter(marker.getGeometry().getCoordinates()); + if (this.selectZoom !== 0 && this.selectZoom > this.getView().getMapView().getZoom()) { + this.getView().getMapView().setZoom(this.selectZoom); + } + } + } + + this.selectedMarker = marker; + }, + + selectDevice: function (device, center) { + this.selectMarker(this.latestMarkers[device.get('id')], center); + }, + + selectReport: function (position, center) { + if (position instanceof Traccar.model.Position) { + if (!Ext.getStore('ReportRoute').showMarkers) { + this.reportMarkers[position.get('id')] = this.addReportMarker(position); + } + this.selectMarker(this.reportMarkers[position.get('id')], center); + } else if (this.selectedMarker) { + this.selectMarker(null, false); + } + }, + + selectEvent: function (position) { + var marker; + if (position) { + marker = this.addReportMarker(position); + marker.set('event', true); + this.selectMarker(marker, true); + } else if (this.selectedMarker && this.selectedMarker.get('event')) { + this.selectMarker(null, false); + } + }, + + selectFeature: function (feature) { + var record = feature.get('record'); + if (record) { + if (record instanceof Traccar.model.Device) { + this.fireEvent('selectdevice', record, false); + } else { + this.fireEvent('selectreport', record, false); + } + } + }, + + deselectFeature: function () { + this.deselectDevice(); + this.fireEvent('deselectfeature'); + }, + + deselectDevice: function () { + this.selectMarker(null, false); + }, + + zoomToAllPositions: function (data) { + var i, point, minx, miny, maxx, maxy; + for (i = 0; i < data.length; i++) { + point = ol.proj.fromLonLat([ + data[i].get('longitude'), + data[i].get('latitude') + ]); + if (i === 0) { + minx = maxx = point[0]; + miny = maxy = point[1]; + } else { + minx = Math.min(point[0], minx); + miny = Math.min(point[1], miny); + maxx = Math.max(point[0], maxx); + maxy = Math.max(point[1], maxy); + } + } + if (minx !== maxx || miny !== maxy) { + this.getView().getMapView().fit([minx, miny, maxx, maxy]); + } else if (point) { + this.getView().getMapView().fit(new ol.geom.Point(point)); + } + }, + + updateVisibleDevices: function (store, data) { + var i, device; + + if (!Ext.isArray(data)) { + data = [data]; + } + + for (i = 0; i < data.length; i++) { + device = data[i]; + if (device.get('id') in this.latestMarkers) { + this.updateDeviceVisibility(device); + } + } + }, + + isDeviceVisible: function (device) { + return Ext.getStore('VisibleDevices').contains(device); + }, + + updateDeviceVisibility: function (device) { + var deviceId, accuracy, liveLine, marker; + deviceId = device.get('id'); + marker = this.latestMarkers[deviceId]; + accuracy = this.accuracyCircles[deviceId]; + liveLine = this.liveRoutes[deviceId]; + if (this.isDeviceVisible(device)) { + if (marker && !this.getView().getMarkersSource().getFeatureById(marker.getId())) { + this.getView().getMarkersSource().addFeature(marker); + } + if (accuracy && !this.getView().getAccuracySource().getFeatureById(accuracy.getId())) { + this.getView().getAccuracySource().addFeature(accuracy); + } + if (liveLine && !this.getView().getLiveRouteSource().getFeatureById(liveLine.getId())) { + this.getView().getLiveRouteSource().addFeature(liveLine); + } + } else { + if (marker && this.getView().getMarkersSource().getFeatureById(marker.getId())) { + this.getView().getMarkersSource().removeFeature(marker); + } + if (accuracy && this.getView().getAccuracySource().getFeatureById(accuracy.getId())) { + this.getView().getAccuracySource().removeFeature(accuracy); + } + if (liveLine && this.getView().getLiveRouteSource().getFeatureById(liveLine.getId())) { + this.getView().getLiveRouteSource().removeFeature(liveLine); + } + } + }, + + filterDevices: function () { + Ext.getStore('Devices').each(this.updateDeviceVisibility, this, false); + } +}); diff --git a/legacy/web/app/view/permissions/Base.js b/legacy/web/app/view/permissions/Base.js new file mode 100644 index 00000000..57017531 --- /dev/null +++ b/legacy/web/app/view/permissions/Base.js @@ -0,0 +1,37 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +Ext.define('Traccar.view.permissions.Base', { + extend: 'Traccar.view.GridPanel', + + requires: [ + 'Traccar.view.permissions.BaseController' + ], + + controller: 'base', + + selModel: { + selType: 'checkboxmodel', + checkOnly: true, + showHeaderCheckbox: false + }, + + listeners: { + beforedeselect: 'onBeforeDeselect', + beforeselect: 'onBeforeSelect' + } +}); diff --git a/legacy/web/app/view/permissions/BaseController.js b/legacy/web/app/view/permissions/BaseController.js new file mode 100644 index 00000000..5cb9c302 --- /dev/null +++ b/legacy/web/app/view/permissions/BaseController.js @@ -0,0 +1,84 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.BaseController', { + extend: 'Ext.app.ViewController', + alias: 'controller.base', + + init: function () { + var params = {}, linkStoreName, storeName; + params[this.getView().baseObjectName] = this.getView().baseObject; + linkStoreName = this.getView().linkStoreName; + storeName = this.getView().storeName; + linkStoreName = typeof linkStoreName === 'undefined' ? storeName : linkStoreName; + this.getView().setStore(Ext.getStore(storeName)); + this.getView().getStore().load({ + scope: this, + callback: function () { + var linkStore = Ext.create('Traccar.store.' + linkStoreName); + linkStore.load({ + params: params, + scope: this, + callback: function (records, operation, success) { + var i, index; + if (success) { + for (i = 0; i < records.length; i++) { + index = this.getView().getStore().getById(records[i].getId()); + this.getView().getSelectionModel().select(index, true, true); + } + } + } + }); + } + }); + }, + + onBeforeSelect: function (selection, record) { + var data = {}; + data[this.getView().baseObjectName] = this.getView().baseObject; + data[this.getView().linkObjectName] = record.getId(); + Ext.Ajax.request({ + scope: this, + url: 'api/permissions', + jsonData: Ext.util.JSON.encode(data), + callback: function (options, success, response) { + if (!success) { + selection.deselect(record, true); + Traccar.app.showError(response); + } + } + }); + }, + + onBeforeDeselect: function (selection, record) { + var data = {}; + data[this.getView().baseObjectName] = this.getView().baseObject; + data[this.getView().linkObjectName] = record.getId(); + Ext.Ajax.request({ + scope: this, + method: 'DELETE', + url: 'api/permissions', + jsonData: Ext.util.JSON.encode(data), + callback: function (options, success, response) { + if (!success) { + selection.select(record, true, true); + Traccar.app.showError(response); + } + } + }); + } +}); diff --git a/legacy/web/app/view/permissions/Calendars.js b/legacy/web/app/view/permissions/Calendars.js new file mode 100644 index 00000000..3d08efca --- /dev/null +++ b/legacy/web/app/view/permissions/Calendars.js @@ -0,0 +1,32 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2016 - 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Calendars', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkCalendarsView', + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }] + } +}); diff --git a/legacy/web/app/view/permissions/ComputedAttributes.js b/legacy/web/app/view/permissions/ComputedAttributes.js new file mode 100644 index 00000000..19af72ad --- /dev/null +++ b/legacy/web/app/view/permissions/ComputedAttributes.js @@ -0,0 +1,45 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.ComputedAttributes', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkComputedAttributesView', + + columns: { + items: [{ + text: Strings.sharedDescription, + dataIndex: 'description', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.sharedAttribute, + dataIndex: 'attribute', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: { + type: 'list', + labelField: 'name', + store: 'PositionAttributes' + }, + renderer: function (value) { + return Ext.getStore('PositionAttributes').getAttributeName(value); + } + }] + } +}); diff --git a/legacy/web/app/view/permissions/Devices.js b/legacy/web/app/view/permissions/Devices.js new file mode 100644 index 00000000..3180b107 --- /dev/null +++ b/legacy/web/app/view/permissions/Devices.js @@ -0,0 +1,82 @@ +/* + * Copyright 2015 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Devices', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkDevicesView', + + requires: [ + 'Traccar.AttributeFormatter' + ], + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.deviceIdentifier, + dataIndex: 'uniqueId', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.sharedPhone, + dataIndex: 'phone', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: 'string' + }, { + text: Strings.deviceModel, + dataIndex: 'model', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: 'string' + }, { + text: Strings.deviceContact, + dataIndex: 'contact', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: 'string' + }, { + text: Strings.sharedDisabled, + dataIndex: 'disabled', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + renderer: Traccar.AttributeFormatter.getFormatter('disabled'), + hidden: true, + filter: 'boolean' + }, { + text: Strings.groupDialog, + dataIndex: 'groupId', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllGroups' + }, + renderer: Traccar.AttributeFormatter.getFormatter('groupId') + }] + } +}); diff --git a/legacy/web/app/view/permissions/Drivers.js b/legacy/web/app/view/permissions/Drivers.js new file mode 100644 index 00000000..33cf2f76 --- /dev/null +++ b/legacy/web/app/view/permissions/Drivers.js @@ -0,0 +1,38 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Drivers', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkDriversView', + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.deviceIdentifier, + dataIndex: 'uniqueId', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }] + } +}); diff --git a/legacy/web/app/view/permissions/Geofences.js b/legacy/web/app/view/permissions/Geofences.js new file mode 100644 index 00000000..e2e85a36 --- /dev/null +++ b/legacy/web/app/view/permissions/Geofences.js @@ -0,0 +1,43 @@ +/* + * Copyright 2016 - 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Geofences', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkGeofencesView', + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.sharedCalendar, + dataIndex: 'calendarId', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllCalendars' + }, + renderer: Traccar.AttributeFormatter.getFormatter('calendarId') + }] + } +}); diff --git a/legacy/web/app/view/permissions/Groups.js b/legacy/web/app/view/permissions/Groups.js new file mode 100644 index 00000000..91a639c0 --- /dev/null +++ b/legacy/web/app/view/permissions/Groups.js @@ -0,0 +1,47 @@ +/* + * Copyright 2016 - 2017 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Groups', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkGroupsView', + + requires: [ + 'Traccar.AttributeFormatter' + ], + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.groupDialog, + dataIndex: 'groupId', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllGroups' + }, + renderer: Traccar.AttributeFormatter.getFormatter('groupId') + }] + } +}); diff --git a/legacy/web/app/view/permissions/Maintenances.js b/legacy/web/app/view/permissions/Maintenances.js new file mode 100644 index 00000000..c5255769 --- /dev/null +++ b/legacy/web/app/view/permissions/Maintenances.js @@ -0,0 +1,65 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Maintenances', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkMaintenancesView', + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.sharedType, + dataIndex: 'type', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: { + type: 'list', + idField: 'key', + labelField: 'name', + store: 'MaintenanceTypes' + }, + renderer: function (value) { + var attribute = Ext.getStore('MaintenanceTypes').getById(value); + return attribute && attribute.get('name') || value; + } + }, { + text: Strings.maintenanceStart, + dataIndex: 'start', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + renderer: function (value, metaData, record) { + return Traccar.AttributeFormatter.renderAttribute( + value, Ext.getStore('MaintenanceTypes').getById(record.get('type'))); + } + }, { + text: Strings.maintenancePeriod, + dataIndex: 'period', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + renderer: function (value, metaData, record) { + return Traccar.AttributeFormatter.renderAttribute( + value, Ext.getStore('MaintenanceTypes').getById(record.get('type'))); + } + }] + } +}); diff --git a/legacy/web/app/view/permissions/Notifications.js b/legacy/web/app/view/permissions/Notifications.js new file mode 100644 index 00000000..a8570fea --- /dev/null +++ b/legacy/web/app/view/permissions/Notifications.js @@ -0,0 +1,78 @@ +/* + * Copyright 2017 - 2018 Anton Tananaev (anton@traccar.org) + * Copyright 2017 - 2018 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Notifications', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkNotificationsView', + + columns: { + items: [{ + text: Strings.notificationType, + dataIndex: 'type', + flex: 2, + renderer: function (value) { + return Traccar.app.getEventString(value); + }, + filter: { + type: 'list', + idField: 'type', + labelField: 'name', + store: 'AllNotificationTypes' + } + }, { + text: Strings.notificationAlways, + dataIndex: 'always', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + renderer: Traccar.AttributeFormatter.getFormatter('always'), + filter: 'boolean' + }, { + text: Strings.notificationNotificators, + dataIndex: 'notificators', + flex: 2, + filter: { + type: 'arraylist', + idField: 'type', + labelField: 'name', + store: 'AllNotificators' + }, + renderer: function (value) { + var result = '', i, notificators; + if (value) { + notificators = value.split(/[ ,]+/).filter(Boolean); + for (i = 0; i < notificators.length; i++) { + result += Traccar.app.getNotificatorString(notificators[i]) + (i < notificators.length - 1 ? ', ' : ''); + } + } + return result; + } + }, { + text: Strings.sharedCalendar, + dataIndex: 'calendarId', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + hidden: true, + filter: { + type: 'list', + labelField: 'name', + store: 'AllCalendars' + }, + renderer: Traccar.AttributeFormatter.getFormatter('calendarId') + }] + } +}); diff --git a/legacy/web/app/view/permissions/SavedCommands.js b/legacy/web/app/view/permissions/SavedCommands.js new file mode 100644 index 00000000..b57c07a0 --- /dev/null +++ b/legacy/web/app/view/permissions/SavedCommands.js @@ -0,0 +1,50 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.SavedCommands', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkSavedCommandsView', + + columns: { + items: [{ + text: Strings.sharedDescription, + dataIndex: 'description', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }, { + text: Strings.sharedType, + dataIndex: 'type', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: { + type: 'list', + idField: 'type', + labelField: 'name', + store: 'AllCommandTypes' + }, + renderer: Traccar.AttributeFormatter.getFormatter('commandType') + }, { + text: Strings.commandSendSms, + dataIndex: 'textChannel', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'boolean' + }] + } +}); diff --git a/legacy/web/app/view/permissions/Users.js b/legacy/web/app/view/permissions/Users.js new file mode 100644 index 00000000..66cf5d62 --- /dev/null +++ b/legacy/web/app/view/permissions/Users.js @@ -0,0 +1,32 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 Andrey Kunitsyn (andrey@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +Ext.define('Traccar.view.permissions.Users', { + extend: 'Traccar.view.permissions.Base', + xtype: 'linkUsersView', + + columns: { + items: [{ + text: Strings.sharedName, + dataIndex: 'name', + flex: 1, + minWidth: Traccar.Style.columnWidthNormal, + filter: 'string' + }] + } +}); diff --git a/legacy/web/apple-touch-icon.png b/legacy/web/apple-touch-icon.png Binary files differnew file mode 100644 index 00000000..880c4493 --- /dev/null +++ b/legacy/web/apple-touch-icon.png diff --git a/legacy/web/beep.wav b/legacy/web/beep.wav Binary files differnew file mode 100644 index 00000000..c2364f11 --- /dev/null +++ b/legacy/web/beep.wav diff --git a/legacy/web/debug.html b/legacy/web/debug.html new file mode 100644 index 00000000..08b6e07d --- /dev/null +++ b/legacy/web/debug.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> +<title>${title}</title> +<link rel="icon" sizes="192x192" href="/icon.png"> +<link rel="apple-touch-icon" href="/apple-touch-icon.png"> +<link rel="stylesheet" href="app.css"> +</head> +<body> +<div id="spinner"></div> +<div id="attribution">Powered by <a href="https://www.traccar.org/" target="_blank">Traccar GPS Tracking System</a></div> +<script id="loadScript" mode="debug" src="load.js"></script> +</body> +</html> diff --git a/legacy/web/favicon.ico b/legacy/web/favicon.ico Binary files differnew file mode 100644 index 00000000..6be99dda --- /dev/null +++ b/legacy/web/favicon.ico diff --git a/legacy/web/icon.png b/legacy/web/icon.png Binary files differnew file mode 100644 index 00000000..afa15c7b --- /dev/null +++ b/legacy/web/icon.png diff --git a/legacy/web/images/animal.svg b/legacy/web/images/animal.svg new file mode 100644 index 00000000..a077029b --- /dev/null +++ b/legacy/web/images/animal.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m19.525 15.802q0 0.5865-0.17372 1.1144-0.17372 0.51808-0.57602 0.8993t-0.96004 0.38122q-0.69489 0-1.2618-0.55718-0.56688-0.56695-0.84118-1.3294t-0.2743-1.476q0-0.5865 0.17372-1.1046 0.17372-0.52785 0.57602-0.90908 0.4023-0.38122 0.96004-0.38122 0.70403 0 1.2618 0.56695 0.56688 0.55718 0.84118 1.3196 0.2743 0.75268 0.2743 1.476zm-3.127 4.7213q0 0.782-0.38402 1.3587-0.38402 0.57672-1.088 0.57672-0.69489 0-1.2983-0.53763-0.59431-0.5474-0.91432-1.3099-0.32001-0.76245-0.32001-1.4858 0-0.782 0.38402-1.3587 0.38402-0.5865 1.088-0.5865 0.69488 0 1.2892 0.5474 0.60345 0.53763 0.92347 1.3099 0.32001 0.76245 0.32001 1.4858zm3.602-0.264q1.0789 0 2.3315 0.95795 1.2526 0.94818 2.0938 2.3167 0.84118 1.3587 0.84118 2.4829 0 0.44965-0.15544 0.7429-0.15544 0.30302-0.44802 0.43988-0.28344 0.14662-0.58517 0.1955-0.30173 0.05865-0.69489 0.05865-0.62174 0-1.7189-0.43988-1.088-0.44-1.664-0.44-0.60345 0-1.7646 0.4301-1.152 0.43988-1.8286 0.43988-1.6732 0-1.6732-1.4272 0-0.84065 0.51202-1.867 0.51202-1.0362 1.2709-1.8866 0.76803-0.85043 1.7189-1.4272 0.951-0.577 1.765-0.577zm2.1852-2.0625q-0.55774 0-0.96004-0.38122t-0.57602-0.8993q-0.17372-0.52785-0.17372-1.1144 0-0.72335 0.2743-1.476 0.2743-0.76245 0.83204-1.3196 0.56688-0.56695 1.2709-0.56695 0.55774 0 0.96004 0.38122t0.57602 0.90908q0.17372 0.51808 0.17372 1.1046 0 0.71358-0.2743 1.476-0.2743 0.76245-0.84118 1.3294-0.56688 0.55718-1.2618 0.55718zm3.9499-1.0166q0.70403 0 1.088 0.5865 0.38402 0.57673 0.38402 1.3587 0 0.72335-0.32001 1.4858t-0.92347 1.3099q-0.59431 0.53763-1.2892 0.53763-0.70403 0-1.088-0.57672-0.38402-0.57673-0.38402-1.3587 0-0.72335 0.32001-1.4858 0.32001-0.77222 0.91432-1.3099 0.60345-0.5474 1.2983-0.5474z"/> + </g> +</svg> diff --git a/legacy/web/images/arrow.svg b/legacy/web/images/arrow.svg new file mode 100644 index 00000000..1aed6e03 --- /dev/null +++ b/legacy/web/images/arrow.svg @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg3369" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="26" viewBox="0 0 26 26" width="26" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> + <polygon id="arrow" stroke="#000" points="19 22 13 19 7 22 13 4" stroke-width="1px" fill="#008000"/> +</svg> diff --git a/legacy/web/images/bicycle.svg b/legacy/web/images/bicycle.svg new file mode 100644 index 00000000..4eb82eaa --- /dev/null +++ b/legacy/web/images/bicycle.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m16.793 22.105h-2.5821q-0.32893 0-0.47695-0.28781-0.1398-0.28782 0.05757-0.55096l1.546-2.064q-0.53451-0.25492-1.1266-0.25492-1.0855 0-1.8585 0.77299-0.77299 0.77299-0.77299 1.8585t0.77299 1.8585q0.77299 0.77299 1.8585 0.77299 0.94568 0 1.6693-0.59208 0.72365-0.6003 0.91278-1.5131zm-1.5295-1.0526h1.5295q-0.14802-0.69898-0.61674-1.217l-0.91278 1.217zm3.9472 0 2.3683-3.1577h-3.9472l-0.8141 1.0855q0.86344 0.847 1.0361 2.0723h1.3568zm8.4371 2.3848q0.77299-0.77299 0.77299-1.8585t-0.77299-1.8585q-0.77299-0.77299-1.8585-0.77299-0.4934 0-0.99502 0.19736l1.4308 2.1381q0.12335 0.18914 0.08224 0.40294-0.04112 0.2138-0.22203 0.32893-0.12335 0.09046-0.29604 0.09046-0.28781 0-0.43583-0.23847l-1.4308-2.1381q-0.76476 0.78121-0.76476 1.8502 0 1.0855 0.77299 1.8585 0.77299 0.77299 1.8585 0.77299t1.8585-0.77299zm0.74009-4.457q1.0855 1.0772 1.0855 2.5986 0 1.5213-1.0855 2.6068-1.0772 1.0772-2.5986 1.0772-1.5213 0-2.6068-1.0772-1.0772-1.0855-1.0772-2.6068 0-0.79766 0.32071-1.5049 0.32893-0.71542 0.90456-1.2335l-0.53451-0.80588-2.9028 3.8567q-0.14802 0.2138-0.41939 0.2138h-1.62q-0.18914 1.3486-1.2253 2.2532-1.0361 0.90456-2.4176 0.90456-1.5213 0-2.6068-1.0772-1.0772-1.0855-1.0772-2.6068t1.0772-2.5986q1.0855-1.0855 2.6068-1.0855 0.93745 0 1.768 0.45228l1.1266-1.5049h-1.842q-0.21381 0-0.37005-0.15624t-0.15624-0.37005q0-0.2138 0.15624-0.37005 0.15624-0.15624 0.37005-0.15624h3.1577v1.0526h3.5771l-0.69898-1.0526h-1.8256q-0.21381 0-0.37005-0.15624t-0.15624-0.37005 0.15624-0.37005 0.37005-0.15624h2.1052q0.27137 0 0.43583 0.23025l2.1956 3.2893q0.74832-0.36182 1.5789-0.36182 1.5213 0 2.5986 1.0855z"/> + </g> +</svg> diff --git a/legacy/web/images/boat.svg b/legacy/web/images/boat.svg new file mode 100644 index 00000000..f1620ca6 --- /dev/null +++ b/legacy/web/images/boat.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" stroke-width=".78953" d="m20 11.146c-2.1317 5.5267-6.3162 6.785-6.3162 6.785l6.316 1.9v-8.685zm0 8.6848h-6.711v0.64149c0 0.93043 0.77808 1.7633 1.8011 2.3686-0.36215 0.12387-0.72989 0.14804-1.0116 0.14804-0.55267 0-1.4212-0.15791-1.9738-0.78953v1.5791c0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.15791 1.9738-0.78953 0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.15791 1.9738-0.78953 0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.15791 1.9738-0.78953 0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.15791 1.9738-0.78953v-1.5791c-0.55267 0.63162-1.4212 0.78953-1.9738 0.78953-0.39586 0-0.94322-0.09201-1.431-0.37009 1.0794-0.59227 2.1544-1.4653 2.9361-2.788h-2.6893-4.7372zm4.7372 0s0.0099-4.0167-3.3062-7.2538c0.63162 4.3424-0.64149 5.9215-0.64149 5.9215l3.9476 1.3323zm-12.632 4.7372v1.5791c0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.1579 1.9738-0.78953 0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.1579 1.9738-0.78953 0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.1579 1.9738-0.78953 0.55267 0.63162 1.4212 0.78953 1.9738 0.78953 0.55267 0 1.4212-0.1579 1.9738-0.78953v-1.5791c-0.55267 0.63162-1.4212 0.78953-1.9738 0.78953-0.55267 0-1.4212-0.1579-1.9738-0.78953-0.55267 0.63162-1.4212 0.78953-1.9738 0.78953-0.55267 0-1.4212-0.1579-1.9738-0.78953-0.55267 0.63162-1.4212 0.78953-1.9738 0.78953-0.55267 0-1.4212-0.1579-1.9738-0.78953-0.55267 0.63162-1.4212 0.78953-1.9738 0.78953-0.55267 0-1.4212-0.1579-1.9738-0.78953z"/> + </g> +</svg> diff --git a/legacy/web/images/bus.svg b/legacy/web/images/bus.svg new file mode 100644 index 00000000..2f3b9234 --- /dev/null +++ b/legacy/web/images/bus.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m16.144 23.756q0.34724-0.34724 0.34724-0.83154t-0.34724-0.8224q-0.3381-0.34724-0.8224-0.34724-0.48431 0-0.83154 0.34724-0.3381 0.3381-0.3381 0.8224 0 0.48431 0.3381 0.83154 0.34724 0.3381 0.83154 0.3381t0.8224-0.3381zm9.3571 0q0.34724-0.34724 0.34724-0.83154t-0.34724-0.8224q-0.3381-0.34724-0.8224-0.34724-0.48431 0-0.83154 0.34724-0.3381 0.3381-0.3381 0.8224 0 0.48431 0.3381 0.83154 0.34724 0.3381 0.83154 0.3381t0.8224-0.3381zm-0.0731-4.4501-0.65793-3.5089q-0.04569-0.21017-0.21017-0.3381-0.15534-0.13707-0.36551-0.13707h-8.3885q-0.21017 0-0.37465 0.13707-0.15534 0.12793-0.20103 0.3381l-0.65792 3.5089q-0.046 0.274 0.128 0.484t0.448 0.21h9.7044q0.27414 0 0.44775-0.21017 0.17362-0.21017 0.12794-0.48431zm-2.193-5.282q0.12794-0.12794 0.12794-0.31069 0-0.18276-0.12794-0.31069-0.12793-0.12794-0.31069-0.12794h-5.8482q-0.18276 0-0.31069 0.12794-0.12793 0.12793-0.12793 0.31069t0.12793 0.31069q0.12794 0.12794 0.31069 0.12794h5.8482q0.18276 0 0.31069-0.12794zm3.7831 6.3142v5.5101h-1.1696v1.1696q0 0.48431-0.34724 0.8224-0.3381 0.34724-0.8224 0.34724-0.48431 0-0.83154-0.34724-0.3381-0.3381-0.3381-0.8224v-1.1696h-7.0179v1.1696q0 0.48431-0.34724 0.8224-0.3381 0.34724-0.8224 0.34724-0.48431 0-0.83154-0.34724-0.3381-0.3381-0.3381-0.8224v-1.1696h-1.1696v-5.5101q0-1.0234 0.22844-2.0377l0.9412-4.1486q0.08224-0.71275 0.88637-1.2519 0.81327-0.53913 2.1017-0.81327 1.2976-0.27414 2.8601-0.27414 1.5626 0 2.851 0.27414 1.2976 0.27413 2.1017 0.81327 0.81327 0.53913 0.89551 1.2519l0.95948 4.1486q0.21017 0.93206 0.21017 2.0377z"/> + </g> +</svg> diff --git a/legacy/web/images/car.svg b/legacy/web/images/car.svg new file mode 100644 index 00000000..da5b5553 --- /dev/null +++ b/legacy/web/images/car.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1" stroke="#333"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m15.029 22.296q0.39535-0.39535 0.39535-0.95053t-0.39535-0.95053q-0.396-0.395-0.951-0.395-0.55518 0-0.95053 0.39535t-0.39535 0.95053 0.39535 0.95053 0.95053 0.39535 0.95053-0.39535zm0.69818-3.6423h8.5463l-0.74865-3.003q-0.01682-0.06729-0.11777-0.143-0.10094-0.08412-0.17665-0.08412h-6.4602q-0.07572 0-0.17665 0.08412-0.10095 0.07571-0.11777 0.143l-0.74865 3.003zm11.146 3.6423q0.39535-0.39535 0.39535-0.95053t-0.39535-0.95053q-0.396-0.395-0.951-0.395-0.55518 0-0.95053 0.39535t-0.39535 0.95053 0.39535 0.95053 0.95053 0.39535 0.95053-0.39535zm1.7412-1.7581v3.2301q0 0.11777-0.07571 0.19347-0.07572 0.07571-0.19347 0.07571h-0.80753v1.0767q0 0.67294-0.47106 1.144t-1.144 0.47106-1.144-0.47106-0.47106-1.144v-1.0767h-8.6136v1.0767q0 0.67294-0.47106 1.144t-1.144 0.47106-1.144-0.47106-0.47106-1.144v-1.0767h-0.80753q-0.11777 0-0.19347-0.07571-0.07571-0.07572-0.07571-0.19347v-3.2301q0-0.78229 0.54676-1.3291 0.55518-0.55518 1.3375-0.55518h0.23553l0.88324-3.5245q0.19347-0.7907 0.87482-1.3206 0.68135-0.53835 1.5057-0.53835h6.4602q0.82435 0 1.5057 0.53835 0.68135 0.52994 0.87482 1.3206l0.88323 3.5245h0.23553q0.78229 0 1.3291 0.55518 0.55518 0.54676 0.55518 1.3291z" stroke-width=".1"/> + </g> +</svg> diff --git a/legacy/web/images/crane.svg b/legacy/web/images/crane.svg new file mode 100644 index 00000000..6b66b779 --- /dev/null +++ b/legacy/web/images/crane.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" stroke-width=".75357" d="m24.334 12.464-4.2153 3.0143c0.10399 0.11605 0.20347 0.23888 0.28259 0.37679l0.51808 0.91842 2.0252-1.4601-1.5778 2.2372 0.49453 0.87132c0.14017 0.18613 0.25282 0.39374 0.32969 0.61228l4.5921-6.5702h-2.4491zm2.4491 1.3188-1.5071 2.143v4.074c0 0.41597 0.3376 0.75357 0.75358 0.75357 0.41522 0 0.75357 0.33836 0.75357 0.75358s-0.33836 0.75357-0.75357 0.75357c-0.41522 0-0.75358-0.33835-0.75358-0.75357h-1.5071c0 1.3858 1.2521 2.4766 2.6846 2.2136 0.88771-0.16277 1.6164-0.87999 1.7897-1.7662 0.22909-1.1718-0.45328-2.2074-1.4601-2.5669v-5.6047zm-12.057 1.6955c-0.8327 0-1.5071 0.67445-1.5071 1.5071v3.7679c0 0.41597 0.3376 0.75358 0.75358 0.75358h0.75357v0.75357h5.275v-0.75357h0.75358c0.41597 0 0.75358-0.3376 0.75358-0.75358v-1.5071l-1.8368-3.0143c-0.269-0.468-0.756-0.753-1.296-0.753h-3.6501zm1.5071 1.5071h2.143l1.2952 2.2607h-3.4382v-2.2607zm-2.2607 6.0286c-1.2487 0-2.2607 1.0121-2.2607 2.2607 0 1.2487 1.012 2.2607 2.2607 2.2607h6.7822c1.2487 0 2.2607-1.0121 2.2607-2.2607 0-1.2487-1.0121-2.2607-2.2607-2.2607h-6.7822zm0 1.5071c0.41597 0 0.75357 0.3376 0.75357 0.75357s-0.3376 0.75358-0.75357 0.75358-0.75358-0.3376-0.75358-0.75358c0-0.41597 0.3376-0.75357 0.75358-0.75357zm2.2607 0c0.41597 0 0.75358 0.3376 0.75358 0.75357s-0.3376 0.75358-0.75358 0.75358c-0.41597 0-0.75357-0.3376-0.75357-0.75358 0-0.41597 0.3376-0.75357 0.75357-0.75357zm2.2607 0c0.41597 0 0.75358 0.3376 0.75358 0.75357s-0.3376 0.75358-0.75358 0.75358c-0.41597 0-0.75357-0.3376-0.75357-0.75358 0-0.41597 0.3376-0.75357 0.75357-0.75357zm2.2607 0c0.41597 0 0.75358 0.3376 0.75358 0.75357s-0.3376 0.75358-0.75358 0.75358c-0.41597 0-0.75358-0.3376-0.75358-0.75358 0-0.41597 0.3376-0.75357 0.75358-0.75357z"/> + </g> +</svg> diff --git a/legacy/web/images/default.svg b/legacy/web/images/default.svg new file mode 100644 index 00000000..f2e9790b --- /dev/null +++ b/legacy/web/images/default.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <circle id="icon" cx="20" cy="20" r="5.8251"/> + </g> +</svg> diff --git a/legacy/web/images/helicopter.svg b/legacy/web/images/helicopter.svg new file mode 100644 index 00000000..f9c82419 --- /dev/null +++ b/legacy/web/images/helicopter.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" stroke-width=".88712" d="m14.606 13.91v1.7742h6.2098v0.88712c-2.6614 0-3.5165 1.7281-3.5485 1.7742h-3.5485v0.88712 0.88712l3.5485 0.88712c0 1.3236 1.3378 2.6614 2.6614 2.6614h2.6614c2.6614 0 4.4356-0.76026 4.4356-2.6614 0-1.6225-2.2284-3.988-5.3227-4.3802v-0.94256h6.2098v-1.7742l-6.2098 0.88712v-0.44356c0-0.24485-0.19872-0.44356-0.44356-0.44356s-0.44356 0.19871-0.44356 0.44356v0.44356l-6.2098-0.88712zm-0.88712 5.3227c0-0.97989-0.79436-1.7742-1.7742-1.7742-0.97988 0-1.7742 0.79435-1.7742 1.7742 0 0.97988 0.79436 1.7742 1.7742 1.7742 0.97989 0 1.7742-0.79436 1.7742-1.7742zm7.9841-0.88712c0.2821-0.03992 2.8831 0.79042 3.5485 2.6614h-3.5485v-2.6614zm4.4356 5.3227v0.88712h-8.8712v1.7742h8.8712c0.98027 0 1.7742-0.79397 1.7742-1.7742v-0.88712h-1.7742z"/> + </g> +</svg> diff --git a/legacy/web/images/motorcycle.svg b/legacy/web/images/motorcycle.svg new file mode 100644 index 00000000..d8d18f1d --- /dev/null +++ b/legacy/web/images/motorcycle.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m29.386 21.143q0.09803 0.8414-0.17972 1.6256-0.27774 0.77605-0.80873 1.3315-0.53098 0.55549-1.2989 0.86591-0.75971 0.31042-1.6011 0.25324-1.3152-0.08986-2.2873-1.0211-0.96394-0.93126-1.0946-2.2383-0.09803-0.90675 0.22056-1.7155 0.32676-0.8169 0.9721-1.3969l-0.58-0.87408q-0.78422 0.65352-1.2335 1.5848-0.44929 0.93126-0.44929 1.9932 0 0.22056-0.15521 0.38394-0.14704 0.15521-0.3676 0.15521h-2.0913-0.56366q-0.18789 1.3397-1.2172 2.2383-1.0293 0.89858-2.4017 0.89858-1.5113 0-2.5896-1.0701-1.0701-1.0783-1.0701-2.5896t1.0701-2.5814q1.0783-1.0783 2.5896-1.0783 0.62084 0 1.2417 0.22056l0.19606-0.3676q-1.0048-0.89858-2.4834-0.89858h-0.52281q-0.21239 0-0.3676-0.15521t-0.15521-0.3676 0.15521-0.3676 0.3676-0.15521h1.0456q0.63718 0 1.1845 0.11437 0.54732 0.1062 0.9476 0.31042 0.40845 0.20422 0.58816 0.32676 0.17972 0.11437 0.41662 0.29408h4.1825 0.93943l-0.69436-1.0456h-1.8135q-0.24507 0-0.40028-0.17972-0.15521-0.18789-0.11437-0.43296 0.03267-0.18789 0.18788-0.31042t0.35126-0.12253h2.0667q0.26958 0 0.43296 0.22873l0.57183 0.85774 0.93126-0.93126q0.15521-0.15521 0.37577-0.15521h0.82506q0.21239 0 0.3676 0.15521t0.15521 0.3676v1.0456q0 0.21239-0.15521 0.3676t-0.3676 0.15521h-1.4622l0.93943 1.4051q1.0701-0.51465 2.2465-0.29408 1.1682 0.21239 1.9932 1.1028 0.82506 0.88225 0.96394 2.0667zm-15.137 3.039q0.93943 0 1.6583-0.58816 0.71887-0.59634 0.90675-1.5031h-2.5651q-0.28591 0-0.44929-0.25324-0.14704-0.26141-0.0082-0.51464l1.2008-2.2628q-0.38394-0.1062-0.74338-0.1062-1.0783 0-1.8462 0.76788-0.76788 0.76788-0.76788 1.8462t0.76788 1.8462q0.76788 0.76788 1.8462 0.76788zm9.6557-0.76788q0.76788 0.76788 1.8462 0.76788t1.8462-0.76788q0.76788-0.76788 0.76788-1.8462t-0.76788-1.8462q-0.76788-0.76788-1.8462-0.76788-0.49014 0-0.98844 0.19606l1.4214 2.1239q0.12254 0.18789 0.0817 0.40028-0.04085 0.21239-0.22056 0.32676-0.12253 0.08986-0.29408 0.08986-0.28591 0-0.43296-0.2369l-1.4214-2.1239q-0.75971 0.77605-0.75971 1.838 0 1.0783 0.76788 1.8462z"/> + </g> +</svg> diff --git a/legacy/web/images/offroad.svg b/legacy/web/images/offroad.svg new file mode 100644 index 00000000..51c9c812 --- /dev/null +++ b/legacy/web/images/offroad.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" style="block-progression:tb;text-transform:none;text-indent:0" stroke-width=".80151" overflow="visible" d="m12.987 13.989c-0.51858 0-0.78749 0.10941-1.052 0.55104-0.2645 0.44164-1.5529 4.3925-1.5529 5.0345v2.7803c0 0.65003 0.60274 1.2524 1.2023 1.2524h0.40076c0 1.3281 1.0764 2.4045 2.4045 2.4045s2.4045-1.0764 2.4045-2.4045h7.2136c0 1.3281 1.0764 2.4045 2.4045 2.4045s2.4045-1.0764 2.4045-2.4045c0-0.07005-0.01918-0.13186-0.02505-0.20038 0.37553-0.28539 0.82656-0.80321 0.82656-1.052v-2.2292c0-0.86884-1.5457-1.1858-4.258-1.8535 0 0-2.4963-2.9345-3.156-3.732-0.42881-0.51858-0.98827-0.55104-1.4026-0.55104h-7.8148zm2.655 1.2774h1.9537v3.5317h-2.8303c-0.36549 0-0.64622-0.1066-0.52599-0.70132 0.12504-0.62037 0.51638-2.1555 0.62618-2.4296 0.12504-0.31099 0.38132-0.40076 0.77647-0.40076zm3.5567 0h1.7283c0.30858 0 0.65684 0.09879 0.85161 0.32562l2.2793 2.7051c0.25408 0.33664 0.14287 0.50095-0.17533 0.50095h-4.6838v-3.5317zm-4.8091 7.1385c0.66285 0 1.2023 0.53942 1.2023 1.2023 0 0.66285-0.53942 1.2023-1.2023 1.2023-0.66285 0-1.2023-0.53942-1.2023-1.2023 0-0.66285 0.53942-1.2023 1.2023-1.2023zm12.023 0c0.66285 0 1.2023 0.53942 1.2023 1.2023 0 0.66285-0.53942 1.2023-1.2023 1.2023-0.66285 0-1.2023-0.53942-1.2023-1.2023 0-0.66285 0.53942-1.2023 1.2023-1.2023z"/> + </g> +</svg> diff --git a/legacy/web/images/person.svg b/legacy/web/images/person.svg new file mode 100644 index 00000000..124bbaf7 --- /dev/null +++ b/legacy/web/images/person.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m26.287 24.941q0 1.0708-0.6189 1.837-0.60907 0.76625-1.4736 0.76625h-8.3895q-0.86449 0-1.4834-0.76625-0.60907-0.76625-0.60907-1.837 0-0.83502 0.07859-1.5718 0.08841-0.7466 0.31436-1.4932 0.22595-0.75643 0.56978-1.2869 0.35366-0.54031 0.92343-0.87432 0.5796-0.34383 1.3262-0.34383 1.2869 1.2574 3.0748 1.2574t3.0748-1.2574q0.7466 0 1.3164 0.34383 0.5796 0.33401 0.92343 0.87432 0.35366 0.53048 0.5796 1.2869 0.22595 0.7466 0.30454 1.4932 0.08842 0.73678 0.08842 1.5718zm-3.625-11.376q1.1101 1.1003 1.1101 2.6622 0 1.562-1.1101 2.6721-1.1 1.101-2.662 1.101t-2.6721-1.1003q-1.1003-1.1101-1.1003-2.6721t1.1003-2.6622q1.11-1.11 2.672-1.11t2.6622 1.1101z"/> + </g> +</svg> diff --git a/legacy/web/images/pickup.svg b/legacy/web/images/pickup.svg new file mode 100644 index 00000000..50bf57be --- /dev/null +++ b/legacy/web/images/pickup.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" stroke-width=".88152" d="m17.19 14.711a0.8816 0.8816 0 0 0 -0.68868 0.66114l-0.71623 2.8649h-3.2781c-0.96967 0-1.763 0.79336-1.763 1.763v2.1211c0 0.35261 0.17079 0.62257 0.5234 0.79887l1.2672 0.4683c0.14704 1.0824 1.0477 1.9008 2.1762 1.9008 1.0799 0 1.9462-0.75066 2.1487-1.763h7.1623c0.20247 1.0124 1.0688 1.763 2.1487 1.763 1.157 0 2.0652-0.85999 2.1762-1.9834l0.4683-0.30302c0.26446-0.1763 0.44076-0.52891 0.44076-0.88152v-1.5151c0-0.35261-0.25344-0.68318-0.60604-0.77133l-3.9668-1.3498-2.1762-2.7272-0.0551-0.08264-0.02755 0.02755c-0.44623-0.66103-1.2059-0.99171-1.9008-0.99171h-3.1679a0.8816 0.8816 0 0 0 -0.08265 0 0.8816 0.8816 0 0 0 -0.08264 0zm0.85397 1.763h2.4793c0.33302 0 0.40036 0.03368 0.49585 0.19283a0.8816 0.8816 0 0 0 0.0551 0.08264l1.1845 1.4876h-4.6555l0.44076-1.763zm-3.3332 5.8125c0.44076 0 0.79887 0.35812 0.79887 0.79887 0 0.44076-0.35812 0.79887-0.79887 0.79887-0.44076 0-0.79887-0.35812-0.79887-0.79887 0-0.44076 0.35812-0.79887 0.79887-0.79887zm11.46 0c0.44076 0 0.79887 0.35812 0.79887 0.79887 0 0.44076-0.35812 0.79887-0.79887 0.79887-0.44076 0-0.79887-0.35812-0.79887-0.79887 0-0.44076 0.35812-0.79887 0.79887-0.79887z"/> + </g> +</svg> diff --git a/legacy/web/images/plane.svg b/legacy/web/images/plane.svg new file mode 100644 index 00000000..a46eb748 --- /dev/null +++ b/legacy/web/images/plane.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m26.238 13.763q0.4325 0.51114 0.11796 1.4548-0.31455 0.94364-1.0616 1.6907l-1.5826 1.5826 1.5727 6.8414q0.04915 0.18676-0.11796 0.32438l-1.2582 0.94364q-0.06881 0.05897-0.18676 0.05897-0.03931 0-0.06881-0.0099-0.14744-0.0295-0.20642-0.15727l-2.7425-4.9934-2.5459 2.5459 0.52097 1.9069q0.04915 0.1671-0.07864 0.30472l-0.94364 0.94364q-0.08847 0.08847-0.22608 0.08847h-0.01966q-0.14744-0.01966-0.23591-0.12778l-1.8578-2.477-2.4771-1.8578q-0.10813-0.06881-0.12778-0.22608-0.0099-0.12778 0.08847-0.24574l0.94364-0.95343q0.08847-0.08847 0.22608-0.08847 0.05898 0 0.07864 0.0099l1.9069 0.52097 2.5459-2.5459-4.9934-2.7425q-0.13762-0.07863-0.1671-0.23591-0.01966-0.15728 0.08847-0.2654l1.2582-1.2582q0.13762-0.12778 0.29489-0.07864l6.5367 1.5629 1.5727-1.5727q0.74705-0.74705 1.6907-1.0616 0.94364-0.31455 1.4548 0.11796z"/> + </g> +</svg> diff --git a/legacy/web/images/scooter.svg b/legacy/web/images/scooter.svg new file mode 100644 index 00000000..c7b531cb --- /dev/null +++ b/legacy/web/images/scooter.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" style="text-decoration-color:#000000;block-progression:tb;isolation:auto;mix-blend-mode:normal;text-indent:0;text-decoration-line:none;white-space:normal;text-transform:none;text-decoration-style:solid" stroke-width=".60887" d="m20.609 12.298a0.60893 0.60893 0 1 0 0 1.2177h1.3795l2.0228 6.443-2.5163 3.9077h-5.871c-0.25412-0.70466-0.92507-1.2177-1.7124-1.2177-1.0016 0-1.8266 0.82501-1.8266 1.8266s0.82501 1.8266 1.8266 1.8266c0.78736 0 1.4583-0.51307 1.7124-1.2177h6.2028a0.60893 0.60893 0 0 0 0.51135 -0.27946l2.1477-3.3345 0.49232 1.5697c-0.43114 0.33547-0.71589 0.85238-0.71589 1.4354 0 1.0016 0.82501 1.8266 1.8266 1.8266s1.8266-0.82501 1.8266-1.8266c0-0.98654-0.80143-1.7976-1.7826-1.8218l-3.1157-9.9286a0.60893 0.60893 0 0 0 -0.58151 -0.42692h-1.8266zm-6.6975 11.568c0.33112 0 0.58355 0.24891 0.60173 0.57438a0.60893 0.60893 0 0 0 0 0.07017c-0.01874 0.32487-0.27102 0.57319-0.60173 0.57319-0.34348 0-0.60887-0.26539-0.60887-0.60887s0.26539-0.60887 0.60887-0.60887zm12.177 0c0.34348 0 0.60887 0.26539 0.60887 0.60886 0 0.34348-0.26539 0.60887-0.60887 0.60887s-0.60886-0.26539-0.60886-0.60887 0.26539-0.60886 0.60886-0.60886z" white-space="normal" overflow="visible" font-weight="400"/> + </g> +</svg> diff --git a/legacy/web/images/ship.svg b/legacy/web/images/ship.svg new file mode 100644 index 00000000..f94a6bbe --- /dev/null +++ b/legacy/web/images/ship.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m26.094 25.102q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.99107 0.99107-0.69685 0.69685-0.64265-0.64265-0.64265 0.64265q-0.13937 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.99107-0.99107 0.69685-0.69685 0.64265 0.64265 0.64265-0.64265q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.64265 0.64265-0.64265q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.64265 0.64265-0.64265q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.64265 0.64265-0.64265q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.64265 0.64265-0.64265q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.64265 0.64265-0.64265q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.64265 0.64265-0.64265zm-12.188-0.294q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.99107-0.99107 0.69685-0.69685 0.64265 0.6349 0.64265-0.6349q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.6349 0.49554-0.49554v-2.2686l-1.626-2.4312q-0.13163-0.20131-0.0542-0.43359 0.07743-0.24003 0.30971-0.31745l1.3705-0.44908v-2.3151h0.99107v-0.99107h1.9821v-0.99107h1.9821v0.99107h1.9821v0.99107h0.99107v2.3151l1.3705 0.44908q0.23228 0.07742 0.30971 0.31745 0.07743 0.23228-0.0542 0.43359l-1.626 2.4312v2.2686l0.14711-0.13937q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.64265 0.6349 0.64265-0.6349q0.14711-0.14711 0.34842-0.14711t0.34842 0.14711l0.99107 0.99107-0.69685 0.69685-0.64265-0.64265-0.64265 0.64265q-0.13937 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64264-0.64265-0.64265 0.64265q-0.14711 0.14711-0.34842 0.14711t-0.34842-0.14711l-0.64265-0.64265-0.64265 0.64265zm3.1203-8.7725v0.99107l2.974-0.991 2.9732 0.99107v-0.99107h-0.99107v-0.99107h-3.9643v0.99107h-0.99107z"/> + </g> +</svg> diff --git a/legacy/web/images/tractor.svg b/legacy/web/images/tractor.svg new file mode 100644 index 00000000..96643ef9 --- /dev/null +++ b/legacy/web/images/tractor.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" stroke-width=".84153" d="m13.105 12.427a0.84162 0.84162 0 0 0 -0.68375 0.84153v5.0492a0.84162 0.84162 0 0 0 0 0.07889v1.8672c0.84153-0.67323 1.8514-1.1045 2.9454-1.1045 2.5246 0 4.6284 2.1038 4.6284 4.6284v0.42077h3.7869c-0.25895 0.34961-0.42077 0.78515-0.42077 1.2623 0 1.1781 0.92569 2.1038 2.1038 2.1038s2.1038-0.92569 2.1038-2.1038c0-0.55373-0.21318-1.0478-0.55226-1.4201 0.49718-0.2262 0.85521-0.67323 0.97302-1.2623l0.42077-2.7087c0.08415-0.42077-0.33661-0.92043-0.84153-0.92043l-7.1267-0.78894-1.3149-5.3122a0.84162 0.84162 0 0 0 -0.81524 -0.63115h-5.0492a0.84162 0.84162 0 0 0 -0.07889 0 0.84162 0.84162 0 0 0 -0.07889 0zm0.99932 1.6831h3.5502l1.0256 4.0499-4.5758-0.49966v-3.5502zm10.098 0v3.6291l1.6831 0.23668v-3.8658h-1.6831zm-8.8361 5.8907c-2.1038 0-3.7869 1.6831-3.7869 3.7869s1.6831 3.7869 3.7869 3.7869 3.7869-1.6831 3.7869-3.7869-1.6831-3.7869-3.7869-3.7869zm0 1.2623c1.4306 0 2.5246 1.094 2.5246 2.5246s-1.094 2.5246-2.5246 2.5246-2.5246-1.094-2.5246-2.5246 1.094-2.5246 2.5246-2.5246zm10.098 3.3661c0.50492 0 0.84154 0.33661 0.84154 0.84154 0 0.50492-0.33661 0.84153-0.84154 0.84153-0.50492 0-0.84153-0.33661-0.84153-0.84153s0.33661-0.84154 0.84153-0.84154z"/> + </g> +</svg> diff --git a/legacy/web/images/train.svg b/legacy/web/images/train.svg new file mode 100644 index 00000000..e4b10ace --- /dev/null +++ b/legacy/web/images/train.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m18.127 11.484c-0.59864 0-1.0869 0.44565-1.1707 1.0217h-0.362c-1.3143 0-2.3839 1.027-2.3839 2.2881v9.7272c0 0.878 0.51749 1.6389 1.2771 2.0221l-1.6389 1.3622c-0.14633 0.12106-0.16895 0.3379-0.04789 0.48423s0.3379 0.16895 0.48423 0.04789l1.9688-1.6496c0.11175 0.01596 0.22482 0.02128 0.34056 0.02128h6.8111c0.11574 0 0.22881-0.0054 0.34056-0.02128l1.9688 1.6496c0.14633 0.12106 0.36317 0.09844 0.48423-0.04789s0.09844-0.36317-0.04789-0.48423l-1.6389-1.3622c0.7596-0.38313 1.2771-1.1441 1.2771-2.0221v-9.727c0-1.2611-1.0696-2.2881-2.3839-2.2881h-0.36183c-0.08381-0.57602-0.57203-1.0217-1.1707-1.0217-0.59864 0-1.0869 0.44565-1.1707 1.0217h-1.4048c-0.08381-0.57602-0.57203-1.0217-1.1707-1.0217zm0 0.68111c0.28202 0 0.51084 0.22881 0.51084 0.51084 0 0.28202-0.22881 0.51084-0.51084 0.51084-0.28202 0-0.51084-0.22881-0.51084-0.51084 0-0.28202 0.22881-0.51084 0.51084-0.51084zm3.7461 0c0.28202 0 0.51084 0.22881 0.51084 0.51084 0 0.28202-0.22881 0.51084-0.51084 0.51084-0.28202 0-0.51084-0.22881-0.51084-0.51084 0-0.28202 0.22881-0.51084 0.51084-0.51084zm-3.9164 2.7245h4.0867c0.1889 0 0.34056 0.15298 0.34056 0.34056v0.68111h-4.7678v-0.68111c0-0.18757 0.15298-0.34056 0.34056-0.34056zm-1.3622 1.7028h6.8111c0.37648 0 0.68111 0.28336 0.68111 0.6279v2.4903c0 0.34455-0.30464 0.6279-0.68111 0.6279h-6.8111c-0.37648 0-0.68111-0.28335-0.68111-0.6279v-2.4903c0-0.34455 0.30464-0.6279 0.68111-0.6279zm0.34056 6.13c0.56405 0 1.0217 0.45762 1.0217 1.0217 0 0.56405-0.45762 1.0217-1.0217 1.0217-0.56405 0-1.0217-0.45762-1.0217-1.0217 0-0.56405 0.45762-1.0217 1.0217-1.0217zm6.13 0c0.56405 0 1.0217 0.45762 1.0217 1.0217 0 0.56405-0.45762 1.0217-1.0217 1.0217-0.56405 0-1.0217-0.45762-1.0217-1.0217 0-0.56405 0.45762-1.0217 1.0217-1.0217z"/> + </g> +</svg> diff --git a/legacy/web/images/tram.svg b/legacy/web/images/tram.svg new file mode 100644 index 00000000..70a03078 --- /dev/null +++ b/legacy/web/images/tram.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m20 11.299c-2.5762 0-3.8283 0.45542-3.8283 1.3921 0 0.19168 0.15634 0.34802 0.34802 0.34802s0.34802-0.15634 0.34802-0.34802c0-0.17129 0.34666-0.45134 1.4247-0.59817l0.294 1.719c-2.8141 0.3154-4.5026 1.5512-4.5026 2.7081v8.1024c0 1.0726 0.7545 1.978 1.7836 2.2513l-1.4574 1.2181c-0.14546 0.12235-0.16586 0.33307-0.0435 0.47853 0.06797 0.08157 0.16314 0.13051 0.26102 0.13051 0.07749 0 0.16314-0.03264 0.22839-0.087l1.9794-1.6531h6.3297l1.9794 1.6531c0.06525 0.05438 0.1509 0.087 0.22839 0.087 0.09788 0 0.19304-0.04894 0.26102-0.13051 0.12235-0.14546 0.10196-0.35618-0.0435-0.47853l-1.4574-1.2181c1.0291-0.27325 1.7836-1.1787 1.7836-2.2513v-8.1024c0-1.1569-1.6885-2.3927-4.5026-2.7081l0.29364-1.7184c1.0781 0.14682 1.4247 0.42687 1.4247 0.59817 0 0.19168 0.15498 0.34802 0.34802 0.34802s0.34802-0.15634 0.34802-0.34802c0-0.93667-1.2521-1.3921-3.8283-1.3921zm0 0.69605c0.37793 0 0.70285 0.01359 1.0006 0.03264l-0.29365 1.7292c-0.23111-0.01223-0.46358-0.02175-0.70692-0.02175-0.24335 0-0.47581 0.0095-0.70692 0.02175l-0.294-1.729c0.29772-0.01903 0.62264-0.03264 1.0006-0.03264zm-2.0881 3.8283h4.1763c0.19304 0 0.34802 0.15634 0.34802 0.34802v0.69605h-4.8723v-0.69605c0-0.19168 0.15634-0.34802 0.34803-0.34802zm-1.3921 1.7401h6.9605c0.38473 0 0.69605 0.28957 0.69605 0.64167v2.5449c0 0.3521-0.31132 0.64167-0.69605 0.64167h-6.9605c-0.38473 0-0.69605-0.28957-0.69605-0.64167v-2.5449c0-0.3521 0.31132-0.64167 0.69605-0.64167zm0.34802 5.5684c0.57641 0 1.0441 0.46766 1.0441 1.0441 0 0.57642-0.46766 1.0441-1.0441 1.0441-0.57642 0-1.0441-0.46766-1.0441-1.0441 0-0.57642 0.46766-1.0441 1.0441-1.0441zm6.2644 0c0.57641 0 1.0441 0.46766 1.0441 1.0441 0 0.57642-0.46766 1.0441-1.0441 1.0441-0.57642 0-1.0441-0.46766-1.0441-1.0441 0-0.57642 0.46766-1.0441 1.0441-1.0441z"/> + </g> +</svg> diff --git a/legacy/web/images/trolleybus.svg b/legacy/web/images/trolleybus.svg new file mode 100644 index 00000000..344ae8db --- /dev/null +++ b/legacy/web/images/trolleybus.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m16.909 11.561c-0.10947 0.01846-0.20311 0.091-0.24927 0.19256-0.04615 0.10024-0.03956 0.21894 0.01715 0.31389l0.70692 1.1817h-1.7726c-1.3031 0-2.3634 1.0604-2.3634 2.3634v10.467c0 0.29807 0.13189 0.56316 0.33763 0.74912v0.60141c0 0.55788 0.45501 1.0129 1.0129 1.0129h1.3505c0.55789 0 1.0129-0.45502 1.0129-1.0129v-0.33763h6.0774v0.33763c0 0.55788 0.45501 1.0129 1.0129 1.0129h1.3505c0.55789 0 1.0129-0.45502 1.0129-1.0129v-0.601c0.204-0.186 0.336-0.451 0.336-0.749v-10.467c0-1.3031-1.0604-2.3634-2.3634-2.3634h-1.7726l0.70692-1.1817c0.06594-0.1121 0.062-0.25191-0.0092-0.35874-0.07254-0.10815-0.20047-0.16618-0.3284-0.14771-0.09892 0.01846-0.18332 0.08045-0.23212 0.16882l-0.90739 1.5193h-3.693l-0.908-1.518c-0.06726-0.12002-0.20179-0.18596-0.33763-0.16882zm-0.96014 3.3763h8.1032c0.57371 0 1.0129 0.43919 1.0129 1.0129v4.7269c0 0.57371-0.43919 1.0129-1.0129 1.0129h-8.1032c-0.57371 0-1.0129-0.43919-1.0129-1.0129v-4.7269c0-0.57371 0.43919-1.0129 1.0129-1.0129zm-3.0387 2.0258c-0.39171 0-0.67527 0.28356-0.67527 0.67526v2.0258c0 0.39171 0.28356 0.67527 0.67527 0.67527zm14.181 0v3.3763c0.39171 0 0.67527-0.28356 0.67527-0.67527v-2.0258c0-0.39171-0.28356-0.67526-0.67527-0.67526zm-11.142 6.415c0.5592 0 1.0129 0.4537 1.0129 1.0129s-0.4537 1.0129-1.0129 1.0129c-0.55921 0-1.0129-0.45369-1.0129-1.0129 0-0.5592 0.45369-1.0129 1.0129-1.0129zm8.1032 0c0.5592 0 1.0129 0.4537 1.0129 1.0129s-0.4537 1.0129-1.0129 1.0129c-0.55921 0-1.0129-0.45369-1.0129-1.0129 0-0.5592 0.45369-1.0129 1.0129-1.0129z"/> + </g> +</svg> diff --git a/legacy/web/images/truck.svg b/legacy/web/images/truck.svg new file mode 100644 index 00000000..708744d2 --- /dev/null +++ b/legacy/web/images/truck.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816l-1.131 3.3907a12.374 12.374 0 0 1 1.131 -0.0625 12.374 12.374 0 0 1 1.129 0.0566l-1.129-3.3848zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" d="m17.031 24.899q0.34603-0.34603 0.34603-0.81955t-0.34603-0.81955-0.81955-0.34603-0.81955 0.34603-0.34603 0.81955 0.34603 0.81955 0.81955 0.34603 0.81955-0.34603zm-3.1507-5.4819h3.4968v-2.3312h-1.4388q-0.11838 0-0.20034 0.08196l-1.7757 1.7757q-0.08196 0.08196-0.08196 0.20033v0.27318zm11.31 5.4819q0.34603-0.34603 0.34603-0.81955t-0.34603-0.81955-0.81955-0.34603-0.81955 0.34603-0.34603 0.81955 0.34603 0.81955 0.81955 0.34603 0.81955-0.34603zm2.6772-10.727v9.3247q0 0.13659-0.03642 0.24587-0.03642 0.10017-0.12749 0.16391-0.08196 0.06375-0.1457 0.10927-0.06374 0.03642-0.21855 0.05463-0.1457 0.0091-0.20034 0.01821-0.05463 0-0.23676 0-0.17302-0.0091-0.20034-0.0091 0 0.96525-0.68296 1.6482-0.68296 0.68296-1.6482 0.68296-0.96525 0-1.6482-0.68296-0.68296-0.68292-0.68296-1.6482h-3.4968q0 0.96525-0.68296 1.6482-0.68296 0.68296-1.6482 0.68296-0.96525 0-1.6482-0.68296-0.68296-0.68296-0.68296-1.6482h-0.58279q-0.02732 0-0.20944 0.0091-0.17302 0-0.22765 0-0.05463-0.0091-0.20944-0.01821-0.1457-0.01821-0.20944-0.05463-0.06375-0.04553-0.1548-0.10927-0.08196-0.06375-0.11838-0.16391-0.03642-0.10927-0.03642-0.24586 0-0.23676 0.17302-0.40978t0.40978-0.17302v-2.914q0-0.07285-0.0091-0.31871 0-0.24587 0-0.34603 0.0091-0.10017 0.02732-0.30961 0.01821-0.21855 0.05463-0.33693 0.04554-0.12749 0.12749-0.28229 0.09106-0.1548 0.20944-0.27318l1.803-1.803q0.17302-0.17302 0.45531-0.2914 0.2914-0.11838 0.53726-0.11838h1.457v-1.7484q0-0.23676 0.17302-0.40978t0.40978-0.17302h9.3247q0.23676 0 0.40978 0.17302t0.17302 0.40978z"/> + </g> +</svg> diff --git a/legacy/web/images/van.svg b/legacy/web/images/van.svg new file mode 100644 index 00000000..3394b88f --- /dev/null +++ b/legacy/web/images/van.svg @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg4145" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="40" width="40" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" viewBox="0 0 40 40"> + <g id="layer1"> + <path id="background" d="m20.002 3.6816-1.1309 3.3906a12.374 12.374 0 0 1 1.1309 -0.0625 12.374 12.374 0 0 1 1.1289 0.056641l-1.129-3.3847zm-0.002 3.9434a12.374 12.374 0 0 0 -12.375 12.375 12.374 12.374 0 0 0 12.375 12.375 12.374 12.374 0 0 0 12.375 -12.375 12.374 12.374 0 0 0 -12.375 -12.375z" stroke="#333" stroke-width="1.9" fill="#008000"/> + <path id="icon" stroke-width="0.87" d="m12.17 13.91c-0.48024 0-0.87 0.38976-0.87 0.87v3.48 4.35c0 0.96135 0.77865 1.74 1.74 1.74h0.05438c0.20276 0.99123 1.0693 1.74 2.1206 1.74s1.9179-0.74877 2.1206-1.74h5.3287c0.20277 0.99123 1.0693 1.74 2.1206 1.74s1.9179-0.74877 2.1206-1.74h0.05438c0.96135 0 1.74-0.77865 1.74-1.74v-3.2081-0.27188s-1.1719-3.5328-3.2625-5.0841c-0.13137-0.09831-0.29863-0.13594-0.46219-0.13594h-12.805zm10.44 1.74h2.0119c0.74211 0.65859 1.3787 1.7078 1.8216 2.61h-3.8334v-2.61zm-7.395 7.395c0.47937 0 0.87 0.39063 0.87 0.87s-0.39063 0.87-0.87 0.87-0.87-0.39063-0.87-0.87 0.39063-0.87 0.87-0.87zm9.57 0c0.47937 0 0.87 0.39063 0.87 0.87s-0.39063 0.87-0.87 0.87-0.87-0.39063-0.87-0.87 0.39063-0.87 0.87-0.87z"/> + </g> +</svg> diff --git a/legacy/web/l10n/af.json b/legacy/web/l10n/af.json new file mode 100644 index 00000000..5ecd845e --- /dev/null +++ b/legacy/web/l10n/af.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Laai tans...", + "sharedHide": "Verberg", + "sharedSave": "Stoor", + "sharedUpload": "Upload", + "sharedSet": "Stel", + "sharedCancel": "Kanselleer", + "sharedCopy": "Copy", + "sharedAdd": "Sit by", + "sharedEdit": "Redigeer", + "sharedRemove": "Verwyder", + "sharedRemoveConfirm": "Verwyder item", + "sharedNoData": "Geen data", + "sharedSubject": "Subject", + "sharedYes": "Ja", + "sharedNo": "Nee", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Uur", + "sharedMinute": "Minuut", + "sharedSecond": "Sekonde", + "sharedDays": "dae", + "sharedHours": "ure", + "sharedMinutes": "minute", + "sharedDecimalDegrees": "Desimale grade", + "sharedDegreesDecimalMinutes": "Grade Desimale minute", + "sharedDegreesMinutesSeconds": "Grade minute sekondes", + "sharedName": "Naam", + "sharedDescription": "Beskrywing", + "sharedSearch": "Soek", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geografiese omheining", + "sharedGeofences": "Geografiese omheinings", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Kennisgewings", + "sharedNotification": "Kennisgewing", + "sharedAttributes": "Attribute", + "sharedAttribute": "Attribuut", + "sharedDrivers": "Bestuurders", + "sharedDriver": "Bestuurder", + "sharedArea": "Gebied", + "sharedSound": "Kennisgewing klank", + "sharedType": "Tiepe", + "sharedDistance": "Afstand", + "sharedHourAbbreviation": "u", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "I", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "V.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Kry Kaartstaat", + "sharedComputedAttribute": "Berekende attribuut", + "sharedComputedAttributes": "Berekende attribute", + "sharedCheckComputedAttribute": "Kontroleer Berekende attribuut", + "sharedExpression": "Uitdrukking", + "sharedDevice": "Toestel", + "sharedTest": "Test", + "sharedTestNotification": "Stuur Toets Kennisgewing", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalenders", + "sharedFile": "Lêer", + "sharedSearchDevices": "Soek Toestelle", + "sharedSortBy": "Sorteer Volgens", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Selekteer Lêer", + "sharedPhone": "Foon", + "sharedRequired": "Word Vereis", + "sharedPreferences": "Voorkeure", + "sharedPermissions": "Toelaatbaarhede", + "sharedConnections": "Verbindings", + "sharedExtra": "Ekstra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Nommer", + "sharedTypeBoolean": "Boole", + "sharedTimezone": "Tydsone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Gestoorde Bevel", + "sharedSavedCommands": "Gestoorde Bevele", + "sharedNew": "Nuut...", + "sharedShowAddress": "Wys Adres", + "sharedShowDetails": "Addisionele besonderhede", + "sharedDisabled": "Buite aksie gestel", + "sharedMaintenance": "Onderhoud", + "sharedDeviceAccumulators": "Akkumulators ", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Kolomme", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Spoedgrens", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polielynafstand", + "attributeReportIgnoreOdometer": "Verslag: Ignoreer Odometer", + "attributeWebReportColor": "Web: Rapporteer kleur", + "attributeDevicePassword": "Toestelwagwoord", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Verwerking: Kopieër attribute", + "attributeColor": "Kleur", + "attributeWebLiveRouteLength": "Web: Regstreekse Roete Lengte", + "attributeWebSelectZoom": "Web: Zoom op Kies", + "attributeWebMaxZoom": "Web: Maksimum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Pos: SMTP-gasheer", + "attributeMailSmtpPort": "Pos: SMTP-poort", + "attributeMailSmtpStarttlsEnable": "Pos: SMTP STARTTLS Aktiveer", + "attributeMailSmtpStarttlsRequired": "Pos: SMTP STARTTLS word vereis", + "attributeMailSmtpSslEnable": "Pos: SMTP SSL Aktiveer", + "attributeMailSmtpSslTrust": "Pos: SMTP SSL Vertrou", + "attributeMailSmtpSslProtocols": "Pos: SMTP SSL-protokolle", + "attributeMailSmtpFrom": "Pos: SMTP vanaf", + "attributeMailSmtpAuth": "Pos: SMTP Auth Aktiveer", + "attributeMailSmtpUsername": "Pos: SMTP-gebruikersnaam", + "attributeMailSmtpPassword": "Pos: SMTP wagwoord", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: deaktiveer gebeure", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: deaktiveer bestuurders", + "attributeUiDisableComputedAttributes": "UI: deaktiveer berekende attribute", + "attributeUiDisableCalendars": "UI: deaktiveer kalenders", + "attributeUiDisableMaintenance": "UI: deaktiveer onderhoud", + "attributeUiHidePositionAttributes": "UI: Verberg posisie attribute", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Fout", + "errorGeneral": "Ongeldige parameters of beperking oortreding", + "errorConnection": "Verbindings fout", + "errorSocket": "Web aansluiting verbinding fout", + "errorZero": "Kan nie nul wees nie", + "userEmail": "E-pos", + "userPassword": "Wagwoord", + "userAdmin": "Admin", + "userRemember": "Onthou", + "userExpirationTime": "Verval", + "userDeviceLimit": "Toestel Limiet", + "userUserLimit": "Gebruiker Limiet", + "userDeviceReadonly": "Toestel Leesalleen", + "userLimitCommands": "Beperk Bevele", + "userDisableReports": "Deaktiveer Verslae", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Teken aan", + "loginLanguage": "Taal", + "loginReset": "Herstel Wagwoord", + "loginRegister": "Registreer", + "loginLogin": "Teken aan", + "loginOpenId": "Login with OpenID", + "loginFailed": "Verkeerde e-posadres of wagwoord", + "loginCreated": "Nuwe gebruiker is geregistreer", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "Nuwe wagwoord is ingestel", + "loginLogout": "Teken uit", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Toestelle en staat", + "deviceSelected": "Selected Device", + "deviceTitle": "Toestelle", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifiseerder", + "deviceModel": "Model", + "deviceContact": "Kontak", + "deviceCategory": "Kategorie", + "deviceLastUpdate": "Laaste Opdatering", + "deviceCommand": "Bevel", + "deviceFollow": "Volg", + "deviceTotalDistance": "Totale Afstand", + "deviceStatus": "Toestand", + "deviceStatusOnline": "Aanlyn", + "deviceStatusOffline": "Van lyn af", + "deviceStatusUnknown": "Onbekend", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Groep", + "groupParent": "Groep", + "groupNoGroup": "Geen Groep", + "settingsTitle": "Instellings", + "settingsUser": "Rekening", + "settingsGroups": "Groepe", + "settingsServer": "Bediener", + "settingsUsers": "Gebruikers", + "settingsDistanceUnit": "Afstand Eenheid", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Spoed Eenheid", + "settingsVolumeUnit": "Volume Eenheid", + "settingsTwelveHourFormat": "12-uur Formaat", + "settingsCoordinateFormat": "Koördinate Formaat", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Verslae", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Toestel", + "reportGroup": "Groep", + "reportFrom": "Van", + "reportTo": "Na", + "reportShow": "Wys", + "reportClear": "Maak skoon", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Toestel Tyd", + "positionServerTime": "Server Time", + "positionValid": "Geldig", + "positionAccuracy": "Akkuraatheid", + "positionLatitude": "Breedtegraad", + "positionLongitude": "Lengtegraad", + "positionAltitude": "Hoogte", + "positionSpeed": "Spoed", + "positionCourse": "Koers", + "positionAddress": "Adres", + "positionProtocol": "Protokol", + "positionDistance": "Afstand", + "positionRpm": "RPM", + "positionFuel": "Brandstof", + "positionPower": "Krag", + "positionBattery": "Battery", + "positionRaw": "Rou", + "positionIndex": "Indeks", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelliete", + "positionSatVisible": "Sigbare Satelliete", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Wandel", + "positionEvent": "Gebeurtenis", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Diens Odometer", + "positionTripOdometer": "Reis Odometer", + "positionHours": "Ure", + "positionSteps": "Stappe", + "positionInput": "Inset", + "positionHeartRate": "Heart Rate", + "positionOutput": "Uitset", + "positionBatteryLevel": "Batteryvlak", + "positionFuelConsumption": "Brandstofverbruik", + "positionRfid": "RFID", + "positionVersionFw": "Firmware-weergawe", + "positionVersionHw": "Hardeware weergawe", + "positionIgnition": "Ontsteking", + "positionFlags": "Vlae", + "positionCharge": "Herlaai", + "positionIp": "IP", + "positionArchive": "Argiveer", + "positionVin": "VIN", + "positionApproximate": "Benader", + "positionThrottle": "Versneller", + "positionMotion": "Beweging ", + "positionArmed": "Gereed", + "positionAcceleration": "Versnelling", + "positionTemp": "Temperatuur", + "positionDeviceTemp": "Toestel Temperatuur", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operateur", + "positionCommand": "Bevel", + "positionBlocked": "Geblokkeer", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Spoed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Bestuurder unieke identiteit", + "positionCard": "Card", + "positionImage": "Beeld", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Bedienerinstellings", + "serverZoom": "Zoom", + "serverRegistration": "Registrasie", + "serverReadonly": "Leesalleen", + "serverForceSettings": "Dwing instellings", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Kaart", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Sleutel", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Kaartlaag", + "mapCustom": "Pasgemaak (XYZ)", + "mapCustomArcgis": "Pasgemaak (ArcGIS)", + "mapCustomLabel": "Pasgemaakte kaart", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Kaart Sleutel", + "mapBingRoad": "Bing Kaart Pad", + "mapBingAerial": "Bing Kaart Lug", + "mapBingHybrid": "Bing Kaart Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Kaart", + "mapYandexSat": "Yandex Satelliet", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Toegang Sleutel", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Sleutel", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Toegang Sleutel", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Sleutel", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Sleutel", + "mapShapePolygon": "Veelhoek", + "mapShapeCircle": "Sirkel", + "mapShapePolyline": "Veelhoeklyn", + "mapLiveRoutes": "Lewendige Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Vlak", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Toestand", + "stateName": "Attribuut", + "stateValue": "Waarde", + "commandTitle": "Bevel", + "commandSend": "Stuur", + "commandSent": "Bevel gestuur", + "commandQueued": "Bevel in ry", + "commandUnit": "Eenheid", + "commandCustom": "Pasgemaakte bevel", + "commandDeviceIdentification": "Toestel Identifisering", + "commandPositionSingle": "Enkel Verslag", + "commandPositionPeriodic": "Periodiese Verslag", + "commandPositionStop": "Halt Verslag", + "commandEngineStop": "Engin Stop", + "commandEngineResume": "Engin Herbegin", + "commandAlarmArm": "Aktivering Alarm", + "commandAlarmDisarm": "Onaktivering Alarm", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Stel Tydsone", + "commandRequestPhoto": "Versoek Foto", + "commandPowerOff": "Skakel Toestel Af", + "commandRebootDevice": "Herbegin Toestel", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Stuur SMS", + "commandSendUssd": "Stuur USSD", + "commandSosNumber": "Stel SOS Nommer", + "commandSilenceTime": "Stel Stil Tyd", + "commandSetPhonebook": "Stel Telefoon boek", + "commandVoiceMessage": "Stemboodskap", + "commandOutputControl": "Uitsetbeheer", + "commandVoiceMonitoring": "Stemmonitering", + "commandSetAgps": "Stel AGPS", + "commandSetIndicator": "Stel aanwyser", + "commandConfiguration": "Konfigureer", + "commandGetVersion": "Kry weergawe", + "commandFirmwareUpdate": "Opdateer firmware", + "commandSetConnection": "Stel Verbinding", + "commandSetOdometer": "Stel Odometer", + "commandGetModemStatus": "Kry Modemstatus", + "commandGetDeviceStatus": "Kry Toestel Gestel", + "commandSetSpeedLimit": "Stel spoedbeperking", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Stel Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Stel Spoed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekwensie", + "commandTimezone": "Tydsone Verreken", + "commandMessage": "Boodskap", + "commandRadius": "Radius", + "commandEnable": "In Staat Stel", + "commandData": "Data", + "commandIndex": "Indeks", + "commandPhone": "Telefoon nommer", + "commandServer": "Bediener", + "commandPort": "Poort", + "eventAll": "Alle gebeure", + "eventDeviceOnline": "Status aanlyn", + "eventDeviceUnknown": "Status onbekend", + "eventDeviceOffline": "Status vanlyn", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Toestel in beweging", + "eventDeviceStopped": "Toestel tot stilstand gekom", + "eventDeviceOverspeed": "Spoedgrens oortree", + "eventDeviceFuelDrop": "Brandstofval", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Bevel resultaat", + "eventGeofenceEnter": "Geografiese omheining binnegegaan", + "eventGeofenceExit": "Geografiese omheining verlaat", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ontsteking aan", + "eventIgnitionOff": "Ontsteking af", + "eventMaintenance": "Onderhoud vereis", + "eventTextMessage": "Teks boodskap ontvang", + "eventDriverChanged": "Bestuurder geruil", + "eventMedia": "Media", + "eventsScrollToLast": "Blaai na laaste", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Algemeen", + "alarmSos": "SOS", + "alarmVibration": "Vibrasie", + "alarmMovement": "Beweging", + "alarmLowspeed": "Lae Spoed", + "alarmOverspeed": "Spoed oortreding", + "alarmFallDown": "Val af", + "alarmLowPower": "Lae krag", + "alarmLowBattery": "Batteryvlak laag", + "alarmFault": "Fout", + "alarmPowerOff": "Krag af", + "alarmPowerOn": "Krag aan", + "alarmDoor": "Deur", + "alarmLock": "Sluit", + "alarmUnlock": "Oopsluit", + "alarmGeofence": "Geografiese omheining", + "alarmGeofenceEnter": "Geografiese omheining binnegegaan", + "alarmGeofenceExit": "Geografiese omheining verlaat", + "alarmGpsAntennaCut": "GPS Antenna gesny", + "alarmAccident": "Ongeluk", + "alarmTow": "Sleep", + "alarmIdle": "Luier", + "alarmHighRpm": "Hoë RPM", + "alarmHardAcceleration": "Harde Versnelling", + "alarmHardBraking": "Harde Remming", + "alarmHardCornering": "Harde Draai", + "alarmLaneChange": "Baanverandering", + "alarmFatigueDriving": "Moeg Bestuur", + "alarmPowerCut": "Kragonderbreking", + "alarmPowerRestored": "Krag herstel", + "alarmJamming": "Seinverstoring", + "alarmTemperature": "Temperatuur", + "alarmParking": "Parkeer", + "alarmBonnet": "Enjinkap", + "alarmFootBrake": "Voetrem", + "alarmFuelLeak": "Brandstoflek", + "alarmTampering": "Peuter", + "alarmRemoving": "Verwydering", + "notificationType": "Kennisgewing Soort", + "notificationAlways": "Alle Toestelle", + "notificationNotificators": "Kanale", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Pos", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Roete", + "reportEvents": "Gebeure", + "reportTrips": "Ritte", + "reportStops": "Stops", + "reportSummary": "Opsomming", + "reportDaily": "Daaglikse Opsomming", + "reportChart": "Grafiek", + "reportConfigure": "Konfigureer", + "reportEventTypes": "Gebeurtenistipes", + "reportChartType": "Grafiek Soort", + "reportShowMarkers": "Wys Merkers", + "reportExport": "Uitvoer", + "reportEmail": "E-pos Verslag", + "reportSchedule": "Schedule", + "reportPeriod": "Periode", + "reportCustom": "Pasgemaak", + "reportToday": "Vandag", + "reportYesterday": "Gister", + "reportThisWeek": "Hierdie Week", + "reportPreviousWeek": "Vorige Week", + "reportThisMonth": "Hierdie Maand", + "reportPreviousMonth": "Vorige Maand", + "reportDeviceName": "Toestel Naam", + "reportAverageSpeed": "Gemiddelde Spoed", + "reportMaximumSpeed": "Maksimum Spoed", + "reportEngineHours": "Engin Ure", + "reportDuration": "Duur", + "reportStartDate": "Begindatum", + "reportStartTime": "Begin tyd", + "reportStartAddress": "Begin Adres", + "reportEndTime": "Einde tyd", + "reportEndAddress": "Einde Adres", + "reportSpentFuel": "Brandstof Gebruik", + "reportStartOdometer": "Odometer Begin", + "reportEndOdometer": "Odometer Einde", + "statisticsTitle": "Statistieke", + "statisticsCaptureTime": "Vang tyd vas", + "statisticsActiveUsers": "Aktiewe Gebruikers", + "statisticsActiveDevices": "Aktiewe Toestelle", + "statisticsRequests": "Versoeke", + "statisticsMessagesReceived": "Boodskappe ontvang", + "statisticsMessagesStored": "Boodskappe gestoor", + "statisticsGeocoder": "Geokodeerder Versoeke", + "statisticsGeolocation": "Geoligging Versoeke", + "categoryArrow": "Pyl", + "categoryDefault": "Verstrek", + "categoryAnimal": "Dier", + "categoryBicycle": "Fiets", + "categoryBoat": "Boot", + "categoryBus": "Bus", + "categoryCar": "Kar", + "categoryCamper": "Camper", + "categoryCrane": "Hyskraan", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorfiets", + "categoryOffroad": "Veeldoelig", + "categoryPerson": "Persoon", + "categoryPickup": "Bakkie", + "categoryPlane": "Vliegtuig", + "categoryShip": "Skip", + "categoryTractor": "Trekker", + "categoryTrain": "Trein", + "categoryTram": "Trem", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Trok", + "categoryVan": "Paneelwa", + "categoryScooter": "Moffiebike", + "maintenanceStart": "Aan", + "maintenancePeriod": "Periode" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ar.json b/legacy/web/l10n/ar.json new file mode 100644 index 00000000..19f4c9d8 --- /dev/null +++ b/legacy/web/l10n/ar.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "جاري التحميل...", + "sharedHide": "إخفاء", + "sharedSave": "حفظ", + "sharedUpload": "Upload", + "sharedSet": "ضبط", + "sharedCancel": "إلغاء", + "sharedCopy": "Copy", + "sharedAdd": "إضافة", + "sharedEdit": "تعديل", + "sharedRemove": "حذف", + "sharedRemoveConfirm": "حذف العنصر؟", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "نعم", + "sharedNo": "لا", + "sharedKm": "كم", + "sharedMi": "ميل", + "sharedNmi": "معرف العداد المحلي", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "عقدة", + "sharedKmh": "كم/ساعه", + "sharedMph": "ميل/ساعة", + "sharedHour": "ساعه", + "sharedMinute": "دقيقة", + "sharedSecond": "ثانية", + "sharedDays": "أيام", + "sharedHours": "ساعات", + "sharedMinutes": "دقائق", + "sharedDecimalDegrees": "درجات عشرية", + "sharedDegreesDecimalMinutes": "درجات عشرية للدقائق", + "sharedDegreesMinutesSeconds": "درجات دقائق للثواني", + "sharedName": "الاسم", + "sharedDescription": "الوصف", + "sharedSearch": "بحث", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "السياج الجغرافي", + "sharedGeofences": "السياجات الجغرافية", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "التنبيهات", + "sharedNotification": "إشعار", + "sharedAttributes": "الخصائص", + "sharedAttribute": "خاصية", + "sharedDrivers": "السائقون", + "sharedDriver": "السائق", + "sharedArea": "منطقة", + "sharedSound": "صوت التنبيهات", + "sharedType": "النوع", + "sharedDistance": "المسافة", + "sharedHourAbbreviation": "س", + "sharedMinuteAbbreviation": "د", + "sharedSecondAbbreviation": "ث", + "sharedVoltAbbreviation": "جهد كهربائي", + "sharedLiterAbbreviation": "تيار", + "sharedGallonAbbreviation": "جالون", + "sharedLiter": "ليتر", + "sharedImpGallon": "جالون الإمبراطورية", + "sharedUsGallon": "جالون أمريكي", + "sharedLiterPerHourAbbreviation": "لتر/ساعة", + "sharedGetMapState": "الحصول على حالة الخريطة", + "sharedComputedAttribute": "السمة المحصاة", + "sharedComputedAttributes": "السمات المحصاة", + "sharedCheckComputedAttribute": "التحقق من السمة المحصاة", + "sharedExpression": "العبارة الجبرية", + "sharedDevice": "جهاز", + "sharedTest": "Test", + "sharedTestNotification": "ارسل تنبيه تجريبي", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "التقويم", + "sharedCalendars": "التقويمات", + "sharedFile": "ملف", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "حدد ملف", + "sharedPhone": "هاتف", + "sharedRequired": "اجباري", + "sharedPreferences": "التفضيلات", + "sharedPermissions": "الصلاحيات", + "sharedConnections": "الاتصالات", + "sharedExtra": "إضافي", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "نص", + "sharedTypeNumber": "رقم", + "sharedTypeBoolean": "منطقية", + "sharedTimezone": "منطقة زمنية", + "sharedInfoTitle": "معلومات", + "sharedSavedCommand": "أمر مخزن", + "sharedSavedCommands": "أوامر مخزنة", + "sharedNew": "جديد...", + "sharedShowAddress": "إظهار العنوان", + "sharedShowDetails": "تفاصيل إضافية", + "sharedDisabled": "معطل", + "sharedMaintenance": "صيانة", + "sharedDeviceAccumulators": "المراكم", + "sharedAlarms": "الإنذارات", + "sharedLocation": "الموقع", + "sharedImport": "استيراد", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "الحد الأقصى للسرعة", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "مسافة متعددة الخطوط", + "attributeReportIgnoreOdometer": "تقرير: إهمال عداد المسافة", + "attributeWebReportColor": "الويب: لون التقرير", + "attributeDevicePassword": "الرقم السري للجهاز", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "بداية عدم فعالية الجهاز", + "attributeDeviceInactivityPeriod": "فترة عدم فعالية الجهاز", + "attributeProcessingCopyAttributes": "المعالجة: نسخ السمات", + "attributeColor": "اللون", + "attributeWebLiveRouteLength": "الويب: طول العرض المباشر للمسار", + "attributeWebSelectZoom": "الويب: التقريب عند التحديد", + "attributeWebMaxZoom": "ويب: التكبير الأقصى", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "البريد: مستضيف الـ SMTP", + "attributeMailSmtpPort": "البريد: منفذ الـ SMTP", + "attributeMailSmtpStarttlsEnable": "البريد: تمكين SMTP SSL", + "attributeMailSmtpStarttlsRequired": "البريد: مطلوب SMTP SSL", + "attributeMailSmtpSslEnable": "البريد: تمكين SMTP SSL", + "attributeMailSmtpSslTrust": "البريد: وثوق بـ SMTP SSL", + "attributeMailSmtpSslProtocols": "البريد: بروتوكولات SMTP SSL", + "attributeMailSmtpFrom": "البريد: SMTP من", + "attributeMailSmtpAuth": "البريد: تفعيل مصادقة SMTP", + "attributeMailSmtpUsername": "البريد: أسم مستخدم الـ SMTP", + "attributeMailSmtpPassword": "البريد: كلمة مرور الـ SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "واجهة المستخدم: تعطيل الأحداث", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "واجهة المستخدم: تعطيل السائقين", + "attributeUiDisableComputedAttributes": "واجهة المستخدم: تعطيل السمات المحصاة", + "attributeUiDisableCalendars": "واجهة المستخدم: تعطيل التقويمات", + "attributeUiDisableMaintenance": "واجهة المستخدم: تعطيل الصيانة", + "attributeUiHidePositionAttributes": "واجهة المستخدم: إخفاء سمات الموقع", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "رموز الإشعارات", + "attributePopupInfo": "Popup Info", + "errorTitle": "خطأ", + "errorGeneral": "معطيات غير صحيحة او مخالفة للصلاحيات", + "errorConnection": "خطأ في الاتصال", + "errorSocket": "خطأ في اتصال حزم البيانات", + "errorZero": "لا يمكن ان تكون صفر", + "userEmail": "البريد الالكتروني", + "userPassword": "كلمة المرور", + "userAdmin": "مدير النظام", + "userRemember": "تذكر", + "userExpirationTime": "انتهاء الصلاحية", + "userDeviceLimit": "الحد الأقصى للأجهزة", + "userUserLimit": "الحد الأقصى للمستخدمين", + "userDeviceReadonly": "جهاز للقراءة فقط", + "userLimitCommands": "تقييد الاوامر", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "رمز", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "تسجيل الدخول", + "loginLanguage": "اللغة", + "loginReset": "Reset Password", + "loginRegister": "تسجيل جديد", + "loginLogin": "تسجيل الدخول", + "loginOpenId": "Login with OpenID", + "loginFailed": "البريد الالكتروني أو كلمة المرور غير صحيحة", + "loginCreated": "تم تسجيل مستخدم جديد", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "تسجيل الخروج", + "loginLogo": "الشعار", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "الأجهزة والحالة", + "deviceSelected": "Selected Device", + "deviceTitle": "الأجهزة", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "المعرف", + "deviceModel": "الطراز", + "deviceContact": "بيانات التواصل", + "deviceCategory": "الصنف", + "deviceLastUpdate": "آخر تحديث", + "deviceCommand": "أمر", + "deviceFollow": "متابعة", + "deviceTotalDistance": "المسافة الكلية", + "deviceStatus": "الحالة", + "deviceStatusOnline": "متصل", + "deviceStatusOffline": "غير متصل", + "deviceStatusUnknown": "غير معروف", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "مجموعة", + "groupParent": "مجموعة", + "groupNoGroup": "لا توجد مجموعة", + "settingsTitle": "الإعدادات", + "settingsUser": "الحساب", + "settingsGroups": "المجموعات", + "settingsServer": "الخادم", + "settingsUsers": "المستخدمون", + "settingsDistanceUnit": "وحدة المسافة", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "وحدة السرعة", + "settingsVolumeUnit": "وحدة الحجم", + "settingsTwelveHourFormat": "صيغة 12-ساعة", + "settingsCoordinateFormat": "صيغة الإحداثيات", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "التقارير", + "reportScheduled": "Scheduled Reports", + "reportDevice": "الجهاز", + "reportGroup": "المجموعة", + "reportFrom": "من", + "reportTo": "الى", + "reportShow": "إظهار", + "reportClear": "تفريغ الحقول", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "صالح", + "positionAccuracy": "الدقة", + "positionLatitude": "خط العرض", + "positionLongitude": "خط الطول", + "positionAltitude": "ارتفاع عن سطح البحر", + "positionSpeed": "السرعة", + "positionCourse": "الإتجاه", + "positionAddress": "العنوان", + "positionProtocol": "بروتوكول", + "positionDistance": "المسافة", + "positionRpm": "دورة في الدقيقة", + "positionFuel": "الوقود", + "positionPower": "الطاقة", + "positionBattery": "بطارية", + "positionRaw": "خام", + "positionIndex": "قائمة", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "أقمار صناعية", + "positionSatVisible": "الأقمار الصناعية المرئية", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "التجوال", + "positionEvent": "حدث", + "positionAlarm": "إنذار", + "positionStatus": "الحالة", + "positionOdometer": "عداد المسافة", + "positionServiceOdometer": "عداد مسافة الصيانة", + "positionTripOdometer": "عداد مسافة الرحلة", + "positionHours": "الساعات", + "positionSteps": "الخطوات", + "positionInput": "مدخلات", + "positionHeartRate": "Heart Rate", + "positionOutput": "نواتج", + "positionBatteryLevel": "مستوى البطارية", + "positionFuelConsumption": "الوقود المستهلك", + "positionRfid": "RFID", + "positionVersionFw": "نسخة البرنامج", + "positionVersionHw": "نسخة الجهاز", + "positionIgnition": "إشعال", + "positionFlags": "أعلام", + "positionCharge": "شحن", + "positionIp": "عنوان البروتوكول", + "positionArchive": "أرشفة", + "positionVin": "رقم الهيكل", + "positionApproximate": "تقريبي", + "positionThrottle": "الخانق", + "positionMotion": "الحركة", + "positionArmed": "الانذار مفعل", + "positionAcceleration": "التسارع", + "positionTemp": "Temperature", + "positionDeviceTemp": "حرارة الجهاز", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "المشغل", + "positionCommand": "أمر", + "positionBlocked": "محظور", + "positionDtcs": "DTCs", + "positionObdSpeed": "سرعة OBD", + "positionObdOdometer": "عداد مسافة OBD", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "معرف فريد للسائق", + "positionCard": "Card", + "positionImage": "صورة", + "positionVideo": "Video", + "positionAudio": "صوت", + "serverTitle": "اعدادت الخادم", + "serverZoom": "تقريب", + "serverRegistration": "تسجيل", + "serverReadonly": "متابعة فقط", + "serverForceSettings": "إجبار الإعدادات", + "serverAnnouncement": "الإعلانات", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "خريطة", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "طبقة الخريطة", + "mapCustom": "مخصص (XYZ)", + "mapCustomArcgis": "مخصص (ArcGIS)", + "mapCustomLabel": "خريطة مخصصة", + "mapCarto": "خرائط Carto Base", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "مفتاح خرائط Bing", + "mapBingRoad": "خرائط الطرق Bing", + "mapBingAerial": "خرائط جوية Bing", + "mapBingHybrid": "خرائط هجينة Bing", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "خرائط Yandex", + "mapYandexSat": "خرائط صورية Yandex", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox للشوارع", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox بالخارج", + "mapMapboxSatellite": "Mapbox بالقمر الصناعي", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "مضلع", + "mapShapeCircle": "دائرة", + "mapShapePolyline": "متعدد الضلوع", + "mapLiveRoutes": "مسار حي", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "طبقة POI نقاط الإهتمام", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "حالة", + "stateName": "خاصية", + "stateValue": "قيمة", + "commandTitle": "أمر", + "commandSend": "ارسال", + "commandSent": "تم ارسال الامر", + "commandQueued": "الامر في قائمة الانتظار", + "commandUnit": "وحدة", + "commandCustom": "أمر مخصص", + "commandDeviceIdentification": "تعريف الجهاز", + "commandPositionSingle": "تقرير مفرد", + "commandPositionPeriodic": "تقارير دورية", + "commandPositionStop": "ايقاف التقرير", + "commandEngineStop": "ايقاف المحرك", + "commandEngineResume": "استئناف المحرك", + "commandAlarmArm": "بدء تشغيل المنبه", + "commandAlarmDisarm": "تعطيل المنبه", + "commandAlarmDismiss": "إيقاف المنبه", + "commandSetTimezone": "حدد المنطقة الزمنية", + "commandRequestPhoto": "اطلب صورة", + "commandPowerOff": "اطفاء الجهاز", + "commandRebootDevice": "أعد تشغيل الجهاز", + "commandFactoryReset": "إعادة ضبط المصنع", + "commandSendSms": "إرسال رسالة قصيرة", + "commandSendUssd": "إرسال الـ USSD", + "commandSosNumber": "ظبط رقم الطوارئ", + "commandSilenceTime": "حدد التوقيت الصامت", + "commandSetPhonebook": "ضبط سجل الهاتف", + "commandVoiceMessage": "رسالة صوتية", + "commandOutputControl": "التحكم بالإخراج", + "commandVoiceMonitoring": "مراقبة صوتية", + "commandSetAgps": "تعيين GPS المساعد", + "commandSetIndicator": "تعيين المؤشر", + "commandConfiguration": "ضبط", + "commandGetVersion": "الحصول على الإصدار", + "commandFirmwareUpdate": "تحديث البرنامج المشغل", + "commandSetConnection": "تعيين اتصال", + "commandSetOdometer": "تعيين عداد المسافة", + "commandGetModemStatus": "الحصول على حالة المودم", + "commandGetDeviceStatus": "الحصول على حالة الجهاز", + "commandSetSpeedLimit": "ضبط حد السرعة", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "التكرر", + "commandTimezone": "إزاحة المنطقة الزمنية", + "commandMessage": "رسالة", + "commandRadius": "القطر", + "commandEnable": "تفعيل", + "commandData": "بيانات", + "commandIndex": "قائمة", + "commandPhone": "رقم الهاتف", + "commandServer": "خادم", + "commandPort": "منفذ", + "eventAll": "جميع الأحداث", + "eventDeviceOnline": "الحالة متصل", + "eventDeviceUnknown": "الحالة غير معروف", + "eventDeviceOffline": "الحالة غير متصل", + "eventDeviceInactive": "الجهاز غير مفعل", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "الجهاز يتحرك", + "eventDeviceStopped": "الجهاز متوقف", + "eventDeviceOverspeed": "تجاوز للسرعة", + "eventDeviceFuelDrop": "انخفاض الوقود", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "نتيجة الأمر", + "eventGeofenceEnter": "دخول المنطقة الجغرافية", + "eventGeofenceExit": "خروج من المنطقة الجغرافية", + "eventAlarm": "إنذار", + "eventIgnitionOn": "اشعال المحرك", + "eventIgnitionOff": "ايقاف المحرك", + "eventMaintenance": "حان وقت الصيانة", + "eventTextMessage": "تم استلام رسالة نصية", + "eventDriverChanged": "تم تغيير السائق", + "eventMedia": "Media", + "eventsScrollToLast": "الانتقال للأخير", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "عام", + "alarmSos": "استغاثة", + "alarmVibration": "اهتزاز", + "alarmMovement": "حركة", + "alarmLowspeed": "سرعة منخفضة", + "alarmOverspeed": "تجاوز السرعة", + "alarmFallDown": "سقوط", + "alarmLowPower": "طاقة منخفضة", + "alarmLowBattery": "انخفاض البطارية", + "alarmFault": "خلل", + "alarmPowerOff": "اطفاء", + "alarmPowerOn": "تشغيل", + "alarmDoor": "باب", + "alarmLock": "اقفال", + "alarmUnlock": "فتح", + "alarmGeofence": "سياج جغرافي", + "alarmGeofenceEnter": "دخول السياج الجغرافي", + "alarmGeofenceExit": "الخروج من السياج الجغرافي", + "alarmGpsAntennaCut": "انقطاع هوائي القمر الصناعي", + "alarmAccident": "حادث", + "alarmTow": "جر", + "alarmIdle": "خامل", + "alarmHighRpm": "دوران في الدقيقة عالٍ", + "alarmHardAcceleration": "تسارع شديد", + "alarmHardBraking": "كبح فرامل شديد", + "alarmHardCornering": "انعطاف شديد", + "alarmLaneChange": "تغيير الممر", + "alarmFatigueDriving": "قيادة في حالة تعب", + "alarmPowerCut": "انقطاء الطاقة", + "alarmPowerRestored": "استعادة الطاقة", + "alarmJamming": "التشويش", + "alarmTemperature": "الحرارة", + "alarmParking": "اصطفاف", + "alarmBonnet": "غطاء محرك السيارة", + "alarmFootBrake": "فرامل القدم", + "alarmFuelLeak": "تسرب وقود", + "alarmTampering": "عبث وتلاعب", + "alarmRemoving": "الازالة", + "notificationType": "نوع التنبيه", + "notificationAlways": "جميع الاجهزة", + "notificationNotificators": "قنواة", + "notificatorCommand": "Command", + "notificatorWeb": "ويب", + "notificatorMail": "البريد", + "notificatorSms": "رسائل قصيرة", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "إعادة تشغيل", + "reportCombined": "Combined", + "reportRoute": "مسار", + "reportEvents": "الأحداث", + "reportTrips": "رحلات", + "reportStops": "وقفات", + "reportSummary": "ملخص", + "reportDaily": "الملخص اليومي", + "reportChart": "رسم بياني", + "reportConfigure": "تهيئة", + "reportEventTypes": "أنواع الأحداث", + "reportChartType": "نوع الرسم البياني", + "reportShowMarkers": "إظهار العلامات", + "reportExport": "تصدير", + "reportEmail": "تقرير بالبريد", + "reportSchedule": "Schedule", + "reportPeriod": "الفترة", + "reportCustom": "مخصص", + "reportToday": "اليوم", + "reportYesterday": "أمس", + "reportThisWeek": "هذا الاسبوع", + "reportPreviousWeek": "الاسبوع السابق", + "reportThisMonth": "هذا الشهر", + "reportPreviousMonth": "الشهر السابق", + "reportDeviceName": "إسم الجهاز", + "reportAverageSpeed": "متوسط السرعة", + "reportMaximumSpeed": "السرعة القصوى", + "reportEngineHours": "ساعات عمل المحرك", + "reportDuration": "المدة الزمنية", + "reportStartDate": "تاريخ البدء", + "reportStartTime": "وقت البدء", + "reportStartAddress": "عنوان البدء", + "reportEndTime": "وقت النهاية", + "reportEndAddress": "عنوان النهاية", + "reportSpentFuel": "الوقود المستنفد", + "reportStartOdometer": "بدء عداد المسافة", + "reportEndOdometer": "إنهاء Odometer", + "statisticsTitle": "إحصائيات", + "statisticsCaptureTime": "وقت الالتقاط", + "statisticsActiveUsers": "المستخدمون النشطون", + "statisticsActiveDevices": "الاجهزة النشطة", + "statisticsRequests": "طلبات", + "statisticsMessagesReceived": "الرسائل المستلمة", + "statisticsMessagesStored": "الرسائل المخزنة", + "statisticsGeocoder": "طلبات Geocoder", + "statisticsGeolocation": "طلبات تحديد الموقع الجغرافي", + "categoryArrow": "سهم", + "categoryDefault": "افتراضي", + "categoryAnimal": "حيوان", + "categoryBicycle": "دراجة هوائية", + "categoryBoat": "قارب", + "categoryBus": "حافلة", + "categoryCar": "سيارة", + "categoryCamper": "Camper", + "categoryCrane": "رافعة ونش", + "categoryHelicopter": "طائرة مروحية", + "categoryMotorcycle": "دراجة نارية", + "categoryOffroad": "رباعية", + "categoryPerson": "شخص", + "categoryPickup": "شاحنة صغيرة", + "categoryPlane": "طائرة", + "categoryShip": "سفينة", + "categoryTractor": "جرار زراعى", + "categoryTrain": "قطار", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "شاحنة", + "categoryVan": "نقل", + "categoryScooter": "سكوتر", + "maintenanceStart": "بداية", + "maintenancePeriod": "فترة" +}
\ No newline at end of file diff --git a/legacy/web/l10n/az.json b/legacy/web/l10n/az.json new file mode 100644 index 00000000..02430a47 --- /dev/null +++ b/legacy/web/l10n/az.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Yükləmə...", + "sharedHide": "Gizlətmək", + "sharedSave": "Yadda saxlamaq", + "sharedUpload": "Upload", + "sharedSet": "Qurmaq", + "sharedCancel": "Ləğv etmək", + "sharedCopy": "Copy", + "sharedAdd": "Əlavə etmək", + "sharedEdit": "Redaktə etmək", + "sharedRemove": "Silmək", + "sharedRemoveConfirm": "Elementi silmək?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mil", + "sharedNmi": "m.mil", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Düyün", + "sharedKmh": "km/saat", + "sharedMph": "mil/saat", + "sharedHour": "Saat", + "sharedMinute": "Dəqiqə", + "sharedSecond": "Saniyə", + "sharedDays": "Günlər", + "sharedHours": "Saatlar", + "sharedMinutes": "Dəqiqələr", + "sharedDecimalDegrees": "Onluq dərəcələr", + "sharedDegreesDecimalMinutes": "Dərəcələr Onluq Dəqiqələr", + "sharedDegreesMinutesSeconds": "Dərəcələr Dəqiqələr Saniyələr", + "sharedName": "Ad", + "sharedDescription": "Təsvir", + "sharedSearch": "Axtarış", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geozona", + "sharedGeofences": "Geozonalar", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Bildirişlər", + "sharedNotification": "Bildirişlər", + "sharedAttributes": "Atributlar", + "sharedAttribute": "Atribut", + "sharedDrivers": "Sürücülər", + "sharedDriver": "Sürücü", + "sharedArea": "Ərazi", + "sharedSound": "Səsli xəbərdarlıq", + "sharedType": "Tip", + "sharedDistance": "Məsafə", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "dəq", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "litr/saat", + "sharedGetMapState": "Xəritənin vəziyyətini almaq", + "sharedComputedAttribute": "Hesablanan atribut", + "sharedComputedAttributes": "Hesablanan atributlar", + "sharedCheckComputedAttribute": "Hesablanan atributu yoxlamaq", + "sharedExpression": "İfadə", + "sharedDevice": "Cihaz", + "sharedTest": "Test", + "sharedTestNotification": "Test bildirişi göndərmək", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Təqvim", + "sharedCalendars": "Təqvimlər", + "sharedFile": "Fayl", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Fayl seçin", + "sharedPhone": "Telefon", + "sharedRequired": "Məcburi", + "sharedPreferences": "Tənzimləmələr", + "sharedPermissions": "İzinlər", + "sharedConnections": "Connections", + "sharedExtra": "Əlavə", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Sətir", + "sharedTypeNumber": "Rəqəm", + "sharedTypeBoolean": "Məntiqi dəyəri", + "sharedTimezone": "Saat qurşağı", + "sharedInfoTitle": "Məlumat", + "sharedSavedCommand": "Tarif Saxlamish", + "sharedSavedCommands": "Tarifler Saxlamish", + "sharedNew": "yeni", + "sharedShowAddress": "şou ünvan", + "sharedShowDetails": "More Details", + "sharedDisabled": "şikəst", + "sharedMaintenance": "təmir", + "sharedDeviceAccumulators": "akkumulyatorlar", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Sürət həddi", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline məsafə", + "attributeReportIgnoreOdometer": "Hesabat: Odometri rədd etməki", + "attributeWebReportColor": "Veb: Hesabat rəngi", + "attributeDevicePassword": "Cihazın şifrəsi", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Emal: Atributların üzünün köçürülməsi", + "attributeColor": "Rəng", + "attributeWebLiveRouteLength": "Veb: Onlayn marşrutun uzunluğu", + "attributeWebSelectZoom": "Veb: Seçim zamanı böyütmə", + "attributeWebMaxZoom": "Veb: Maksimum böyütmə", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Poçt: SMTP Hostu", + "attributeMailSmtpPort": "Poçt: SMTP Portu", + "attributeMailSmtpStarttlsEnable": "Poçt: SMTP STARTTLS-i aktiv etmək", + "attributeMailSmtpStarttlsRequired": "Poçt: SMTP STARTTLS tələb olunur", + "attributeMailSmtpSslEnable": "Poçt: SMTP SSL-i aktiv etmək", + "attributeMailSmtpSslTrust": "Poçt: SMTP SSL etibar", + "attributeMailSmtpSslProtocols": "Poçt: SMTP SSL protokolları", + "attributeMailSmtpFrom": "Poçt: SMTP göndərən", + "attributeMailSmtpAuth": "Poçt: SMTP autentifikasiyasını aktiv etmək", + "attributeMailSmtpUsername": "Poçt: SMTP istifadəçi adı", + "attributeMailSmtpPassword": "Poçt: SMTP şifrə", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: şikəst vaqiəler", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Sürücüləri deaktiv etmək", + "attributeUiDisableComputedAttributes": "UI: Hesablanılan atributları deaktiv etmək", + "attributeUiDisableCalendars": "UI: Təqvimləri deaktiv etmək", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI : Vəzifə xüsusiyyətlərini gizləyin", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Xəta", + "errorGeneral": "Yanlış parametrlər və ya məhdudiyyətlərin pozulması", + "errorConnection": "Bağlantı xətası", + "errorSocket": "Veb socket bağlantı xətası", + "errorZero": "Sıfır ola bilməz", + "userEmail": "E-poçt", + "userPassword": "Şifrə", + "userAdmin": "Administrator", + "userRemember": "Yadda saxla", + "userExpirationTime": "Bitmə vaxtı", + "userDeviceLimit": "Cihaz məhdudiyyəti", + "userUserLimit": "İstifadəçilərin məhdudiyyəti", + "userDeviceReadonly": "Sadəcə cihaza baxış", + "userLimitCommands": "Komandaları məhdudlaşdırın", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Açar", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Giriş", + "loginLanguage": "Dil", + "loginReset": "Reset Password", + "loginRegister": "Qeydiyyat", + "loginLogin": "Giriş", + "loginOpenId": "Login with OpenID", + "loginFailed": "Yanlış e-poçt ünvanı və ya şifrə", + "loginCreated": "Yeni istifadəçi qeydiyyatdan keçmişdir", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Çıxış", + "loginLogo": "Giriş", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Cihaz və vəziyyəti", + "deviceSelected": "Selected Device", + "deviceTitle": "Cihaz", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "İdentifikator", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kateqoriya", + "deviceLastUpdate": "Son yenilənmə", + "deviceCommand": "Komanda", + "deviceFollow": "Əməl etmək", + "deviceTotalDistance": "Ümumi hərəkət məsafəsi", + "deviceStatus": "Status", + "deviceStatusOnline": "Onlayn", + "deviceStatusOffline": "Offlayn", + "deviceStatusUnknown": "Naməlum", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Qrup", + "groupParent": "Qrup", + "groupNoGroup": "Qrupsuz", + "settingsTitle": "Tənzimləmələr", + "settingsUser": "İstifadəçi Hesabı", + "settingsGroups": "Qruplar", + "settingsServer": "Server", + "settingsUsers": "İstifadəçilər", + "settingsDistanceUnit": "Məsafə vahidi", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Sürət", + "settingsVolumeUnit": "Həcm vahidi", + "settingsTwelveHourFormat": "12 saatlıq format", + "settingsCoordinateFormat": "Koordinatlar formatı", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Hesabatlar", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Cihaz", + "reportGroup": "Qrup", + "reportFrom": "dan", + "reportTo": "dək", + "reportShow": "Göstərmək", + "reportClear": "Təmizləmək", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Düzgünlük", + "positionAccuracy": "Dəqiqlik", + "positionLatitude": "En dairəsi", + "positionLongitude": "Uzunluq dairəsi", + "positionAltitude": "Hündürlük", + "positionSpeed": "Sürət", + "positionCourse": "İstiqamət", + "positionAddress": "Ünvan", + "positionProtocol": "Protokol", + "positionDistance": "Məsafə", + "positionRpm": "Dönmələr", + "positionFuel": "Yanacaq", + "positionPower": "Qidalanma", + "positionBattery": "Batareya", + "positionRaw": "Natamamlar", + "positionIndex": "İndeks", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Peyklər", + "positionSatVisible": "Görünən peyklər", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Hadisə", + "positionAlarm": "Həyəcan", + "positionStatus": "Status", + "positionOdometer": "Odometr", + "positionServiceOdometer": "Xidmət odometri", + "positionTripOdometer": "Gediş odometri", + "positionHours": "Saatlar", + "positionSteps": "Addımlar", + "positionInput": "Daxilolmalar", + "positionHeartRate": "Heart Rate", + "positionOutput": "Çıxışlar", + "positionBatteryLevel": "Batareya səviyyəsi", + "positionFuelConsumption": "Yanacaq sərfiyyatı", + "positionRfid": "RFID", + "positionVersionFw": "Tikilmə versiyası", + "positionVersionHw": "Metal versiyası", + "positionIgnition": "İşə düşmə", + "positionFlags": "Bayraqlar", + "positionCharge": "Yükləmə", + "positionIp": "IP", + "positionArchive": "Arxiv", + "positionVin": "VIN", + "positionApproximate": "Təxmini", + "positionThrottle": "Drossel", + "positionMotion": "Hərəkət", + "positionArmed": "Mühafizə", + "positionAcceleration": "Sürətlənmə", + "positionTemp": "Temperature", + "positionDeviceTemp": "Cihazın temperaturu", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Komanda", + "positionBlocked": "Bloklama", + "positionDtcs": "Səhvlər", + "positionObdSpeed": "OBD sürət", + "positionObdOdometer": "OBD odometr", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Sürücü İD-si", + "positionCard": "Card", + "positionImage": "Şəkil", + "positionVideo": "Video", + "positionAudio": "səs", + "serverTitle": "Server tənzimləmələri", + "serverZoom": "Yaxınlaşma", + "serverRegistration": "Qeydiyyat", + "serverReadonly": "Sadəcə baxış", + "serverForceSettings": "Tənzimləmələri sürətləndirmək", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Xəritə", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Xəritə qatı", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Çoxbucaq", + "mapShapeCircle": "Dairə", + "mapShapePolyline": "Xətt", + "mapLiveRoutes": "Canlı marşrutlar", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI təbəqə", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Vəziyyət", + "stateName": "Parametr", + "stateValue": "Dəyər", + "commandTitle": "Komanda", + "commandSend": "Göndərmək", + "commandSent": "Komandir göndərildi", + "commandQueued": "Command queued", + "commandUnit": "Vahidlər", + "commandCustom": "İstifadəçi komandası", + "commandDeviceIdentification": "Cihazın identifikasiyası", + "commandPositionSingle": "Birdəfəlik təqib", + "commandPositionPeriodic": "Təqibi başlamaq", + "commandPositionStop": "Təqibi dayandırmaq", + "commandEngineStop": "Mühərriki bloklamaq", + "commandEngineResume": "Mühərriki blokdan çıxarmaq", + "commandAlarmArm": "Siqnalizasiyanı aktivləşdirmək", + "commandAlarmDisarm": "Siqnalizasiyanı deaktivləşdirmək", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Saat qurşağını tənzimləmək", + "commandRequestPhoto": "Şəkil tələb etmək", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Cihazı yenidən yükləmək", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "SMS göndərmək", + "commandSendUssd": "USSD göndərmək", + "commandSosNumber": "SOS nömrəni tənzimləmək", + "commandSilenceTime": "Sükut vaxtını tənzimləmək", + "commandSetPhonebook": "Telefon kitabçasını tənzimləmək", + "commandVoiceMessage": "Səsli ismarıc", + "commandOutputControl": "Çıxışın yoxlanması", + "commandVoiceMonitoring": "Səs yoxlaması", + "commandSetAgps": "AGPS-i tənzimləmək", + "commandSetIndicator": "İndikatoru tənzimləmək", + "commandConfiguration": "Konfiqurasiya", + "commandGetVersion": "Versiyanı müəyyənləşdirmək", + "commandFirmwareUpdate": "Tikilməni yeniləmək", + "commandSetConnection": "Bağlantını tənzimləmək", + "commandSetOdometer": "Odometri tənzimləmək", + "commandGetModemStatus": "Modemin vəziyyətini müəyyənləşdirmək", + "commandGetDeviceStatus": "Cihazın vəziyyətini müəyyənləşdirmək", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Tezlik", + "commandTimezone": "Vaxt zonasının yerdəyişməsi", + "commandMessage": "İsmarıc", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Verilənlər", + "commandIndex": "Indeks", + "commandPhone": "Telefon nömrəs", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Bütün hadisələr", + "eventDeviceOnline": "vəziyyət online", + "eventDeviceUnknown": "vəziyyət unknown", + "eventDeviceOffline": "vəziyyət offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Cihaz hərəkət edir", + "eventDeviceStopped": "Aygıt durdu", + "eventDeviceOverspeed": "Sürət həddi aşıldı", + "eventDeviceFuelDrop": "Yanacaq düşməsi", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Komanda nəticəsi", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "qudok", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Texniki xidmətə ehtiyac var", + "eventTextMessage": "Mətn ismarıcı alındı", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Sonadək fırlanma", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "fəlakət siqnalı", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "düşərgə", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Ayaq əyləci", + "alarmFuelLeak": "Yanacaq sızması", + "alarmTampering": "Tampering", + "alarmRemoving": "Çıxarma", + "notificationType": "Xəbərdarlıq növü", + "notificationAlways": "Bütün Cihazlar", + "notificationNotificators": "Kanallar", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Marşrut", + "reportEvents": "Hadisələr", + "reportTrips": "Gedişlər", + "reportStops": "Dayanacaqlar", + "reportSummary": "Xülasə", + "reportDaily": "Daily Summary", + "reportChart": "Diaqram", + "reportConfigure": "Konfiqurasiya etmək", + "reportEventTypes": "Hadisənin tipi", + "reportChartType": "Diaqram tipi", + "reportShowMarkers": "Markerləri göstərmək", + "reportExport": "Eksport", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Dövr", + "reportCustom": "Xüsusi", + "reportToday": "Bu gün", + "reportYesterday": "Dünən", + "reportThisWeek": "Bu həftə", + "reportPreviousWeek": "Əvvəlki həftə", + "reportThisMonth": "Bu ay", + "reportPreviousMonth": "Əvvəlki Ay", + "reportDeviceName": "Cihazın adı", + "reportAverageSpeed": "Orta sürət", + "reportMaximumSpeed": "Maksimal sürə", + "reportEngineHours": "Mühərrik saatları", + "reportDuration": "Davamiyyəti", + "reportStartDate": "Start Date", + "reportStartTime": "Başlanğıc vaxtı", + "reportStartAddress": "Başlanğıc ünvanı", + "reportEndTime": "Qurtarma vaxtı", + "reportEndAddress": "Qurtarma ünvanı", + "reportSpentFuel": "Yanacaq işləndi", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistika", + "statisticsCaptureTime": "Yığım vaxtı", + "statisticsActiveUsers": "Aktiv istifadəçilər", + "statisticsActiveDevices": "Aktiv cihazlar", + "statisticsRequests": "Sorğular", + "statisticsMessagesReceived": "İsmarıclar alındı", + "statisticsMessagesStored": "İsmarıclar yadda saxlanıldı", + "statisticsGeocoder": "Geokoder sorğuları", + "statisticsGeolocation": "Geolokasiya sorğuları", + "categoryArrow": "Ox", + "categoryDefault": "Default rejimi", + "categoryAnimal": "Heyvan", + "categoryBicycle": "Velosiped", + "categoryBoat": "Qayıq", + "categoryBus": "Avtobus", + "categoryCar": "Avtomobil", + "categoryCamper": "Camper", + "categoryCrane": "Kran", + "categoryHelicopter": "Vertolyot", + "categoryMotorcycle": "Motosikl", + "categoryOffroad": "Offroad", + "categoryPerson": "İnsan", + "categoryPickup": "Pikap", + "categoryPlane": "Təyyarə", + "categoryShip": "Gəmi", + "categoryTractor": "Traktor", + "categoryTrain": "qatar", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Yük maşını", + "categoryVan": "Furqon", + "categoryScooter": "Scooter", + "maintenanceStart": "Başlamaq", + "maintenancePeriod": "Dövr" +}
\ No newline at end of file diff --git a/legacy/web/l10n/bg.json b/legacy/web/l10n/bg.json new file mode 100644 index 00000000..299b7a15 --- /dev/null +++ b/legacy/web/l10n/bg.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Зареждане...", + "sharedHide": "Скрий", + "sharedSave": "Запази", + "sharedUpload": "Upload", + "sharedSet": "Настрой", + "sharedCancel": "Отказ", + "sharedCopy": "Copy", + "sharedAdd": "Добави", + "sharedEdit": "Редактирай", + "sharedRemove": "Премахни", + "sharedRemoveConfirm": "Потвърди премахването!", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "км", + "sharedMi": "мил", + "sharedNmi": "Морска миля", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "възел", + "sharedKmh": "км/ч", + "sharedMph": "мил/ч", + "sharedHour": "Час", + "sharedMinute": "Минута", + "sharedSecond": "Секунда", + "sharedDays": "дни", + "sharedHours": "часа", + "sharedMinutes": "мин.", + "sharedDecimalDegrees": "Градуси", + "sharedDegreesDecimalMinutes": "Градуси, минути", + "sharedDegreesMinutesSeconds": "Градуси, минути, секунди", + "sharedName": "Име", + "sharedDescription": "Описание", + "sharedSearch": "Търси", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Зона", + "sharedGeofences": "Зони", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Известия", + "sharedNotification": "Известиe", + "sharedAttributes": "Параметри", + "sharedAttribute": "Параметър", + "sharedDrivers": "Шофьори", + "sharedDriver": "Шофьор", + "sharedArea": "Район", + "sharedSound": "Тон на известията", + "sharedType": "Тип", + "sharedDistance": "Разстояние", + "sharedHourAbbreviation": "ч.", + "sharedMinuteAbbreviation": "мин.", + "sharedSecondAbbreviation": "сек.", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "лит.", + "sharedGallonAbbreviation": "гал.", + "sharedLiter": "Литър", + "sharedImpGallon": "Британски галон", + "sharedUsGallon": "Американски галон", + "sharedLiterPerHourAbbreviation": "л/ч", + "sharedGetMapState": "Състояние на картата", + "sharedComputedAttribute": "Изчислен параметър", + "sharedComputedAttributes": "Изчислени параметри", + "sharedCheckComputedAttribute": "Провери изчисления параметър", + "sharedExpression": "Израз", + "sharedDevice": "Устройство", + "sharedTest": "Test", + "sharedTestNotification": "Изпрати пробно известие", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Календар", + "sharedCalendars": "Календари", + "sharedFile": "Архив", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Избери архив", + "sharedPhone": "Телефон", + "sharedRequired": "Задължително", + "sharedPreferences": "Предпочитания", + "sharedPermissions": "Разрешения", + "sharedConnections": "Connections", + "sharedExtra": "Допълнително", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Условие", + "sharedTypeNumber": "Номер", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Часова зона", + "sharedInfoTitle": "Инфо", + "sharedSavedCommand": "Запазена команда", + "sharedSavedCommands": "Запазени команди", + "sharedNew": "Нова команда", + "sharedShowAddress": "Покажи адреса", + "sharedShowDetails": "More Details", + "sharedDisabled": "Блокиран", + "sharedMaintenance": "Обслужване", + "sharedDeviceAccumulators": "Акумулатор", + "sharedAlarms": "Аларми", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Ограничение на скоростта", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Дължина на линията", + "attributeReportIgnoreOdometer": "Отчет: Игнорирай километража", + "attributeWebReportColor": "Цвят на Отчета", + "attributeDevicePassword": "Парола на устройството", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Обработка: копиране на сензори", + "attributeColor": "Цвят", + "attributeWebLiveRouteLength": "Дължина на дирята", + "attributeWebSelectZoom": "Приближи избраното", + "attributeWebMaxZoom": "Максимално приближение", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Поща: SMTP хост", + "attributeMailSmtpPort": "Поща: SMTP порт", + "attributeMailSmtpStarttlsEnable": "Поща: SMTP STARTTLS активирай", + "attributeMailSmtpStarttlsRequired": "Поща: SMTP STARTTLS задължително", + "attributeMailSmtpSslEnable": "Поща: SMTP SSL активирай", + "attributeMailSmtpSslTrust": "Поща: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Поща: SMTP SSL протокол", + "attributeMailSmtpFrom": "Поща: SMTP от", + "attributeMailSmtpAuth": "Поща: SMTP Auth активирай", + "attributeMailSmtpUsername": "Поща: SMTP потребител", + "attributeMailSmtpPassword": "Поща: SMTP парола", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "Деактивирай Събития", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "Деактивирай Шофьори", + "attributeUiDisableComputedAttributes": "Деактивирай изчислените параметри", + "attributeUiDisableCalendars": "Деактивирай Календара", + "attributeUiDisableMaintenance": "Деактивирай Обслужване", + "attributeUiHidePositionAttributes": "Скрий атрибутите на позицията", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Грешка", + "errorGeneral": "Невалидни параметри", + "errorConnection": "Грешка във връзката", + "errorSocket": "Грешка в WebSocket връзката", + "errorZero": "Не може да бъде нула", + "userEmail": "Пощенска кутия", + "userPassword": "Парола", + "userAdmin": "Администратор", + "userRemember": "Запомни", + "userExpirationTime": "Изтичане", + "userDeviceLimit": "Макс. брой у-ва", + "userUserLimit": "Макс. брой потребители", + "userDeviceReadonly": "Заключи устройството", + "userLimitCommands": "Ограничи командите", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Жетон", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Вход", + "loginLanguage": "Език", + "loginReset": "Reset Password", + "loginRegister": "Регистрация", + "loginLogin": "Вход", + "loginOpenId": "Login with OpenID", + "loginFailed": "Грешен потребител или парола", + "loginCreated": "Регистриран нов потребител", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Изход", + "loginLogo": "Лого", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Устройства и състояние", + "deviceSelected": "Selected Device", + "deviceTitle": "Обекти", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Идентификатор", + "deviceModel": "Модел", + "deviceContact": "Контакт", + "deviceCategory": "Категория", + "deviceLastUpdate": "Последно обновяване", + "deviceCommand": "Команда", + "deviceFollow": "Следвай", + "deviceTotalDistance": "Общ пробег", + "deviceStatus": "Статус", + "deviceStatusOnline": "На линия", + "deviceStatusOffline": "Няма връзка", + "deviceStatusUnknown": "Неизвестен", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Група", + "groupParent": "Група", + "groupNoGroup": "Без група", + "settingsTitle": "Настройки", + "settingsUser": "Профил", + "settingsGroups": "Групи", + "settingsServer": "Сървър", + "settingsUsers": "Потребители", + "settingsDistanceUnit": "Мерна единица за разстояние", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Мерна единица за скорост", + "settingsVolumeUnit": "Мерна единица за обем", + "settingsTwelveHourFormat": "12 часов формат", + "settingsCoordinateFormat": "Формат на координатите", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Отчети", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Устройство", + "reportGroup": "Група", + "reportFrom": "От", + "reportTo": "До", + "reportShow": "Покажи", + "reportClear": "Изчисти", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Валидност", + "positionAccuracy": "Точност", + "positionLatitude": "Географска Ширина", + "positionLongitude": "Географска Дължина", + "positionAltitude": "Надморска височина", + "positionSpeed": "Скорост", + "positionCourse": "Посока", + "positionAddress": "Адрес", + "positionProtocol": "Протокол", + "positionDistance": "Разстояние", + "positionRpm": "Обороти", + "positionFuel": "Гориво", + "positionPower": "Захранване", + "positionBattery": "Батерия", + "positionRaw": "Необработен", + "positionIndex": "Индекс", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Сателити", + "positionSatVisible": "Видими сателити", + "positionRssi": "GSM сигнал", + "positionGps": "ДжиПиЕс", + "positionRoaming": "Роуминг", + "positionEvent": "Събитие", + "positionAlarm": "Аларма", + "positionStatus": "Статус", + "positionOdometer": "Километраж", + "positionServiceOdometer": "Служебен километраж", + "positionTripOdometer": "Километраж пътуване", + "positionHours": "Часове", + "positionSteps": "Стъпки", + "positionInput": "Входни данни", + "positionHeartRate": "Heart Rate", + "positionOutput": "Изходящи данни", + "positionBatteryLevel": "Батерия %", + "positionFuelConsumption": "Разход на гориво", + "positionRfid": "RFID", + "positionVersionFw": "Фърмуеър версия", + "positionVersionHw": "Версия на апаратурата", + "positionIgnition": "На контакт", + "positionFlags": "Флагове", + "positionCharge": "Зареждане", + "positionIp": "АйПи", + "positionArchive": "Архив", + "positionVin": "VIN", + "positionApproximate": "Приблизително", + "positionThrottle": "Газ", + "positionMotion": "В движение", + "positionArmed": "Активиран", + "positionAcceleration": "Ускорение", + "positionTemp": "Temperature", + "positionDeviceTemp": "Температура на устройството", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Оператор", + "positionCommand": "Команда", + "positionBlocked": "Блокиран", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD скорост", + "positionObdOdometer": "OBD километраж", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Идентификатор на шофьора", + "positionCard": "Card", + "positionImage": "Изображение", + "positionVideo": "Video", + "positionAudio": "Звук", + "serverTitle": "Настройки на сървъра", + "serverZoom": "Приближение", + "serverRegistration": "Регистрация", + "serverReadonly": "Ограничени права", + "serverForceSettings": "Наложи настройките", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Карта", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Карта", + "mapCustom": "По избор (XYZ)", + "mapCustomArcgis": "По избор (ArcGIS)", + "mapCustomLabel": "Потребителска карта", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Ключ за Bing Maps", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing карта хибрид", + "mapBaidu": "Байду", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex карта", + "mapYandexSat": "Yandex сателитна карта ", + "mapWikimedia": "Уикимедия", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Многоъгълник", + "mapShapeCircle": "Кръг", + "mapShapePolyline": "Линия", + "mapLiveRoutes": "Маршрут", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI слой", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Състояние", + "stateName": "Параметър", + "stateValue": "Стойност", + "commandTitle": "Команда", + "commandSend": "Изпрати", + "commandSent": "Командата изпратена", + "commandQueued": "Командата на изчакване", + "commandUnit": "Мерна ед.", + "commandCustom": "Персонализирана команда", + "commandDeviceIdentification": "Идентификатор на устройството", + "commandPositionSingle": "Единичен доклад", + "commandPositionPeriodic": "Периодичен доклад", + "commandPositionStop": "Спри доклада", + "commandEngineStop": "Спри двигателя", + "commandEngineResume": "Стартирай двигателя", + "commandAlarmArm": "Активирай Аларма", + "commandAlarmDisarm": "Деактивирай Аларма", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Задай часова зона", + "commandRequestPhoto": "Изискай снимка", + "commandPowerOff": "Изключи устройството", + "commandRebootDevice": "Рестартирай устройството", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Изпрати SMS", + "commandSendUssd": "Изпрати USSD", + "commandSosNumber": "Задай SOS номер", + "commandSilenceTime": "Задай \"Тих час\"", + "commandSetPhonebook": "Задай тел. указател", + "commandVoiceMessage": "Гласово съобщение", + "commandOutputControl": "Изходен контрол", + "commandVoiceMonitoring": "Гласово наблюдение", + "commandSetAgps": "Настрой AGPS", + "commandSetIndicator": "Настрой индикатор", + "commandConfiguration": "Конфигурация", + "commandGetVersion": "Получи версията", + "commandFirmwareUpdate": "Обнови фърмуеър", + "commandSetConnection": "Настрой връзката", + "commandSetOdometer": "Настрой километража", + "commandGetModemStatus": "Виж състоянието на модема", + "commandGetDeviceStatus": "Виж състоянието на устройството", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Честота", + "commandTimezone": "Компенсация на часовата зона", + "commandMessage": "Съобщение", + "commandRadius": "Радиус", + "commandEnable": "Активирай", + "commandData": "Данни", + "commandIndex": "Индекс", + "commandPhone": "Телефонен номер", + "commandServer": "Сървър", + "commandPort": "Порт", + "eventAll": "Всички събития", + "eventDeviceOnline": "Статус на линия", + "eventDeviceUnknown": "Статус неизвестен", + "eventDeviceOffline": "Статус без връзка", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Обектът в движение", + "eventDeviceStopped": "Обектът спря", + "eventDeviceOverspeed": "Ограничението на скоростта превишено", + "eventDeviceFuelDrop": "Спад на горивото", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Резултат от командата", + "eventGeofenceEnter": "Влизане в зона", + "eventGeofenceExit": "Излизане от зона", + "eventAlarm": "Аларма", + "eventIgnitionOn": "Запалването включено", + "eventIgnitionOff": "Запалването изключено", + "eventMaintenance": "Необходимо е обслужване", + "eventTextMessage": "Получен SMS", + "eventDriverChanged": "Шофьорът се смени", + "eventMedia": "Media", + "eventsScrollToLast": "Отиди на последния", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Общи", + "alarmSos": "SOS", + "alarmVibration": "Вибрация", + "alarmMovement": "Движение", + "alarmLowspeed": "Ниска скорост", + "alarmOverspeed": "Превишена скорост", + "alarmFallDown": "Падане", + "alarmLowPower": "Ниска мощност", + "alarmLowBattery": "Слаба батерия", + "alarmFault": "Повреда", + "alarmPowerOff": "Захранването изключено", + "alarmPowerOn": "Захранването включено", + "alarmDoor": "Врата", + "alarmLock": "Заключи", + "alarmUnlock": "Отключи", + "alarmGeofence": "Зона", + "alarmGeofenceEnter": "Влизане в зона", + "alarmGeofenceExit": "Излизане от зона", + "alarmGpsAntennaCut": "GPS антената откачена", + "alarmAccident": "Инцидент", + "alarmTow": "Дърпане", + "alarmIdle": "В покой", + "alarmHighRpm": "Високи обороти", + "alarmHardAcceleration": "Рязко ускорение", + "alarmHardBraking": "Рязко спиране", + "alarmHardCornering": "Рязко завиване", + "alarmLaneChange": "Смяна на лентите", + "alarmFatigueDriving": "Уморен водач", + "alarmPowerCut": "Захранването прекъснато", + "alarmPowerRestored": "Захранването възстановено", + "alarmJamming": "Заглушаване", + "alarmTemperature": "Температура", + "alarmParking": "Паркиране", + "alarmBonnet": "Капак", + "alarmFootBrake": "Спирачен педал", + "alarmFuelLeak": "Теч на гориво", + "alarmTampering": "Намеса ", + "alarmRemoving": "Премахване", + "notificationType": "Тип на известието", + "notificationAlways": "Всички устройства", + "notificationNotificators": "Канали", + "notificatorCommand": "Command", + "notificatorWeb": "Интернет", + "notificatorMail": "Поща", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Маршрут", + "reportEvents": "Събития", + "reportTrips": "Пътувания", + "reportStops": "Престой", + "reportSummary": "Общо", + "reportDaily": "Daily Summary", + "reportChart": "Графика", + "reportConfigure": "Конфигуриране", + "reportEventTypes": "Тип събития", + "reportChartType": "Тип на графиката", + "reportShowMarkers": "Покажи маркери", + "reportExport": "Експорт", + "reportEmail": "Имейл отчет", + "reportSchedule": "Schedule", + "reportPeriod": "Период", + "reportCustom": "По избор", + "reportToday": "Днес", + "reportYesterday": "Вчера", + "reportThisWeek": "Тази седмица", + "reportPreviousWeek": "Предната седмица", + "reportThisMonth": "Този месец", + "reportPreviousMonth": "Предният месец", + "reportDeviceName": "Име на обект", + "reportAverageSpeed": "Средна скорост", + "reportMaximumSpeed": "Максимална скорост", + "reportEngineHours": "Машиночас", + "reportDuration": "Продължителност", + "reportStartDate": "Start Date", + "reportStartTime": "Начален час", + "reportStartAddress": "Начален адрес", + "reportEndTime": "Краен час", + "reportEndAddress": "Краен адрес", + "reportSpentFuel": "Изразходвано гориво", + "reportStartOdometer": "Одометър Старт", + "reportEndOdometer": "Одометър Стоп", + "statisticsTitle": "Статистики", + "statisticsCaptureTime": "Дата", + "statisticsActiveUsers": "Активни потребители", + "statisticsActiveDevices": "Активни устройства", + "statisticsRequests": "Повиквания", + "statisticsMessagesReceived": "Приети съобщения", + "statisticsMessagesStored": "Запазени съобщения", + "statisticsGeocoder": "Запитвания за адрес", + "statisticsGeolocation": "Запитвания за позиция", + "categoryArrow": "Стрелка", + "categoryDefault": "По подразбиране", + "categoryAnimal": "Животно", + "categoryBicycle": "Колело", + "categoryBoat": "Лодка", + "categoryBus": "Автобус", + "categoryCar": "Кола", + "categoryCamper": "Camper", + "categoryCrane": "Кран", + "categoryHelicopter": "Въртолет", + "categoryMotorcycle": "Мотор", + "categoryOffroad": "Джип", + "categoryPerson": "Човек", + "categoryPickup": "Пикап", + "categoryPlane": "Самолет", + "categoryShip": "Кораб", + "categoryTractor": "Трактор", + "categoryTrain": "Влак", + "categoryTram": "Трамвай", + "categoryTrolleybus": "Тролейбус", + "categoryTruck": "Камион", + "categoryVan": "Ван", + "categoryScooter": "Скутер", + "maintenanceStart": "Старт", + "maintenancePeriod": "Период" +}
\ No newline at end of file diff --git a/legacy/web/l10n/bn.json b/legacy/web/l10n/bn.json new file mode 100644 index 00000000..79d6c3d0 --- /dev/null +++ b/legacy/web/l10n/bn.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "লোড হচ্ছে ...", + "sharedHide": "লুকিয়ে রাখুন", + "sharedSave": " সংরক্ষণ করুন", + "sharedUpload": "Upload", + "sharedSet": "স্থাপন করুন", + "sharedCancel": " বাতিল করুন", + "sharedCopy": "Copy", + "sharedAdd": "যুক্ত করুন", + "sharedEdit": "সম্পাদন করুন", + "sharedRemove": "অপসারণ করুন", + "sharedRemoveConfirm": "আইটেম অপসারণ?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "কিমি", + "sharedMi": "মাইল", + "sharedNmi": "নটিক্যাল মাইল", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "কিলোনটিক্যাল", + "sharedKmh": "কিমি / ঘঃ", + "sharedMph": "mph", + "sharedHour": "ঘন্টা", + "sharedMinute": "মিনিট", + "sharedSecond": "সেকেন্ড", + "sharedDays": "দিন", + "sharedHours": "ঘন্টা", + "sharedMinutes": "মিনিট", + "sharedDecimalDegrees": "দশমিক ডিগ্রী", + "sharedDegreesDecimalMinutes": "ডিগ্রি দশমিক মিনিট", + "sharedDegreesMinutesSeconds": "ডিগ্রি মিনিট সেকেন্ড", + "sharedName": "নাম", + "sharedDescription": "বিবরণ / বর্ণনা", + "sharedSearch": "অনুসন্ধান / খোঁজা", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "জিওফেন্স / ভৌগোলিক বেষ্টনী", + "sharedGeofences": "জিওফেন্স / ভৌগোলিক বেষ্টনী", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "অধিসূচনা সামুহ", + "sharedNotification": "অধিসূচনা", + "sharedAttributes": "বৈশিষ্ট্যাবলী / গুণাবলী", + "sharedAttribute": "বৈশিষ্ট্যাবলী / গুণাবলী", + "sharedDrivers": "চালক সমুহ", + "sharedDriver": "চালক", + "sharedArea": "এলাকা", + "sharedSound": "অধিসূচনা শব্দ", + "sharedType": "ধরন", + "sharedDistance": "দূরত্ব", + "sharedHourAbbreviation": "ঘ", + "sharedMinuteAbbreviation": "মি", + "sharedSecondAbbreviation": "সে", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "গ্যালন", + "sharedLiter": "লিটার", + "sharedImpGallon": "ইম্পেরিয়াল গ্যালন", + "sharedUsGallon": "আমেরিকি গ্যালন", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "মানচিত্রের অবস্থা", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "অভিব্যক্তি", + "sharedDevice": "ডিভাইস", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "পঞ্জিকা", + "sharedCalendars": "পঞ্জিকাগুলি", + "sharedFile": "File", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Select File", + "sharedPhone": "ফোন", + "sharedRequired": "অবশ্যক", + "sharedPreferences": "পছন্দসমূহ", + "sharedPermissions": "অনুমতিসমূহ", + "sharedConnections": "Connections", + "sharedExtra": "অতিরিক্ত", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "স্ট্রিং", + "sharedTypeNumber": "নম্বর", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "টাইমজোন", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "ঠিকানা দেখান", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "ডিভাইসের গতি সীমা", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "ওয়েব: রিপোর্টের রঙ", + "attributeDevicePassword": "ডিভাইস পাসওয়ার্ড", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "রং", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "ত্রুটি", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "সংযোগ ত্রুটি", + "errorSocket": "ওয়েব সকেট সংযোগ ত্রুটি", + "errorZero": "Can't be zero", + "userEmail": "ইমেইল", + "userPassword": "পাসওয়ার্ড", + "userAdmin": "অ্যাডমিন", + "userRemember": "মনে রাখো", + "userExpirationTime": "Expiration", + "userDeviceLimit": "ডিভাইসের গতি সীমা", + "userUserLimit": "ব্যবহারকারীর সীমা", + "userDeviceReadonly": "ডিভাইস রিড অনলি", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "টোকেন", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "লগইন", + "loginLanguage": "ভাষা", + "loginReset": "Reset Password", + "loginRegister": "নিবন্ধন", + "loginLogin": "লগইন", + "loginOpenId": "Login with OpenID", + "loginFailed": "ভুল ইমেল এড্রেস বা পাসওয়ার্ড", + "loginCreated": "নতুন ব্যবহারকারী নিবন্ধিত হয়েছে", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "লগ আউট", + "loginLogo": "লোগো", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "ডিভাইস ও অবস্থা", + "deviceSelected": "Selected Device", + "deviceTitle": "ডিভাইস", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifier", + "deviceModel": "মডেল", + "deviceContact": "যোগাযোগ", + "deviceCategory": "বিভাগ", + "deviceLastUpdate": "সর্বশেষ আপডেট", + "deviceCommand": "কমান্ড", + "deviceFollow": "Follow", + "deviceTotalDistance": "সম্পুর্ণ দুরত্ব", + "deviceStatus": "অবস্থা", + "deviceStatusOnline": "অনলাইন", + "deviceStatusOffline": "অফলাইন", + "deviceStatusUnknown": "অজানা", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "গ্রুপ", + "groupParent": "গ্রুপ", + "groupNoGroup": "No Group", + "settingsTitle": "সেটিংস", + "settingsUser": "অ্যাকাউন্ট", + "settingsGroups": "Groups", + "settingsServer": "সার্ভার", + "settingsUsers": "Users", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "12-hour Format", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Reports", + "reportScheduled": "Scheduled Reports", + "reportDevice": "ডিভাইস", + "reportGroup": "গ্রুপ", + "reportFrom": "From", + "reportTo": "To", + "reportShow": "দেখাও", + "reportClear": "পরিষ্কার", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Valid", + "positionAccuracy": "সঠিকতা", + "positionLatitude": "অক্ষাংশ", + "positionLongitude": "দ্রাঘিমাংশ", + "positionAltitude": "উচ্চতা", + "positionSpeed": "গতি", + "positionCourse": "Course", + "positionAddress": "ঠিকানা", + "positionProtocol": "প্রোটোকল", + "positionDistance": "দূরত্ব", + "positionRpm": "RPM", + "positionFuel": "জ্বালানি", + "positionPower": "Power", + "positionBattery": "ব্যাটারি", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS/জিপিএস", + "positionRoaming": "Roaming", + "positionEvent": "ঘটনা", + "positionAlarm": "অ্যালার্ম / সংকেত", + "positionStatus": "অবস্থা", + "positionOdometer": "ওডোমিটার", + "positionServiceOdometer": "সার্ভিস ওডোমিটার", + "positionTripOdometer": "Trip Odometer", + "positionHours": "ঘন্টা", + "positionSteps": "Steps", + "positionInput": "ইনপুট", + "positionHeartRate": "Heart Rate", + "positionOutput": "আউটপুট", + "positionBatteryLevel": "ব্যাটারি স্তর", + "positionFuelConsumption": "জ্বালানি খরচ", + "positionRfid": "RFID", + "positionVersionFw": "ফার্মওয়্যার সংস্করণ", + "positionVersionHw": "হার্ডওয়্যার সংস্করণ", + "positionIgnition": "ইগনিশন", + "positionFlags": "Flags", + "positionCharge": "চার্জ", + "positionIp": "IP", + "positionArchive": "আর্কাইভ / সংরক্ষাণাগার", + "positionVin": "VIN", + "positionApproximate": "আনুমানিক", + "positionThrottle": "থ্রটল / নির্গমন নিয়ন্ত্রণ", + "positionMotion": "গতি", + "positionArmed": "রক্ষিত করা", + "positionAcceleration": "ত্বরণ", + "positionTemp": "Temperature", + "positionDeviceTemp": "ডিভাইসের তাপমাত্রা", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "কমান্ড", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "সার্ভার সেটিংস ", + "serverZoom": "জুম্", + "serverRegistration": "নিবন্ধন", + "serverReadonly": "রিড অনলি", + "serverForceSettings": "ফোর্স সেটিংস", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "মানচিত্র", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "মানচিত্র স্তর", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "বহুভুজ", + "mapShapeCircle": "বৃত্ত / বৃত্তাকার", + "mapShapePolyline": "পলিলাইন", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "State", + "stateName": "বৈশিষ্ট্যাবলী / গুণাবলী", + "stateValue": "মান", + "commandTitle": "কমান্ড", + "commandSend": "পাঠান", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "ইউনিট", + "commandCustom": "Custom command", + "commandDeviceIdentification": "ডিভাইস সনাক্তকরণ", + "commandPositionSingle": "একক রিপোর্টিং", + "commandPositionPeriodic": "পর্যায়ক্রমিক রিপোর্ট", + "commandPositionStop": "রিপোর্টিং বন্ধ করা", + "commandEngineStop": "ইঞ্জিন বন্ধ", + "commandEngineResume": "ইঞ্জিন পুনরায় চালু করুন", + "commandAlarmArm": "রক্ষিত করার অ্যালার্ম / সংকেত", + "commandAlarmDisarm": "অরক্ষিত করার অ্যালার্ম / সংকেত", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "টাইমজোন সেট করুন", + "commandRequestPhoto": "Request Photo", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "রিবুট ডিভাইস", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "ভয়েস বার্তা", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "ফ্রিকোয়েন্সি", + "commandTimezone": "Timezone Offset", + "commandMessage": "বার্তা", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "উপাত্ত / ডেটা", + "commandIndex": "Index", + "commandPhone": "ফোন নম্বর", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "সকল ঘটনা", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "রক্ষণাবেক্ষণ প্রয়োজন", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Type of Notification", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "কনফিগার", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "মার্কার দেখাও", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "ডিভাইসের নাম", + "reportAverageSpeed": "Average Speed", + "reportMaximumSpeed": "Maximum Speed", + "reportEngineHours": "Engine Hours", + "reportDuration": "Duration", + "reportStartDate": "Start Date", + "reportStartTime": "শুরুর সময় ", + "reportStartAddress": "শুরুর ঠিকানা", + "reportEndTime": "শেষ সময়", + "reportEndAddress": "শেষ ঠিকানা", + "reportSpentFuel": "ব্যয়িত জ্বালানি", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "পরিসংখ্যান", + "statisticsCaptureTime": "সময় ক্যাপচার", + "statisticsActiveUsers": "সক্রিয় ব্যবহারকারীগণ", + "statisticsActiveDevices": "সক্রিয় ডিভাইস", + "statisticsRequests": "রিকোয়েস্টসমূহ", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "তীর", + "categoryDefault": "ডিফল্ট", + "categoryAnimal": "পশু", + "categoryBicycle": "সাইকেল", + "categoryBoat": "নৌকা", + "categoryBus": "বাস", + "categoryCar": "কার", + "categoryCamper": "Camper", + "categoryCrane": "ক্রেন", + "categoryHelicopter": "হেলিকপ্টার", + "categoryMotorcycle": "মোটরসাইকেল", + "categoryOffroad": "Offroad", + "categoryPerson": "ব্যক্তি", + "categoryPickup": "পিকআপ", + "categoryPlane": "প্লেন", + "categoryShip": "জাহাজ", + "categoryTractor": "ট্র্যাক্টর", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "ট্রাক", + "categoryVan": "ভ্যান", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ca.json b/legacy/web/l10n/ca.json new file mode 100644 index 00000000..6ac0b872 --- /dev/null +++ b/legacy/web/l10n/ca.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Carregant…", + "sharedHide": "Ocultar", + "sharedSave": "Guardar", + "sharedUpload": "Carrega", + "sharedSet": "Establir", + "sharedCancel": "Cancel·lar", + "sharedCopy": "Copy", + "sharedAdd": "Afegir", + "sharedEdit": "Editar", + "sharedRemove": "Eliminar", + "sharedRemoveConfirm": "Eliminar element?", + "sharedNoData": "Sense dades", + "sharedSubject": "Subject", + "sharedYes": "Sí", + "sharedNo": "No", + "sharedKm": "Km", + "sharedMi": "MI", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Nusos", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Hora", + "sharedMinute": "Minut", + "sharedSecond": "Segon", + "sharedDays": "Dies", + "sharedHours": "Hores", + "sharedMinutes": "minuts", + "sharedDecimalDegrees": "Graus amb decimals", + "sharedDegreesDecimalMinutes": "Graus i Minuts amb decimals", + "sharedDegreesMinutesSeconds": "Graus Minuts i Segons", + "sharedName": "Nom", + "sharedDescription": "Descripció", + "sharedSearch": "Cercar", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geo-Zona", + "sharedGeofences": "Geo-Zones", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notificacions", + "sharedNotification": "Notificació", + "sharedAttributes": "Atributs", + "sharedAttribute": "Atribut", + "sharedDrivers": "Conductors", + "sharedDriver": "Conductor", + "sharedArea": "Àrea", + "sharedSound": "So de notificació", + "sharedType": "Tipus", + "sharedDistance": "Distància", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "g", + "sharedLiter": "Litre", + "sharedImpGallon": "Galó Imp.", + "sharedUsGallon": "Galó U.S.", + "sharedLiterPerHourAbbreviation": "L/h", + "sharedGetMapState": "Obtenir Estat del Mapa", + "sharedComputedAttribute": "Atribut calculat", + "sharedComputedAttributes": "Atributs calculats", + "sharedCheckComputedAttribute": "Revisar atribut calculat", + "sharedExpression": "Expressió", + "sharedDevice": "Dispositiu", + "sharedTest": "Prova", + "sharedTestNotification": "Enviar notificació de prova", + "sharedTestNotificators": "Canals de prova", + "sharedTestExpression": "Prova d'\\expressió", + "sharedCalendar": "Calendari", + "sharedCalendars": "Calendaris", + "sharedFile": "Arxiu", + "sharedSearchDevices": "Buscar Dispositius", + "sharedSortBy": "Ordenar per", + "sharedFilterMap": "Filtrar en el Mapa", + "sharedSelectFile": "Seleccioni arxiu", + "sharedPhone": "Telèfon", + "sharedRequired": "Obligatori", + "sharedPreferences": "Preferències", + "sharedPermissions": "Permisos", + "sharedConnections": "Connexions", + "sharedExtra": "Extra", + "sharedPrimary": "Primari", + "sharedSecondary": "Secondari", + "sharedTypeString": "Cadena", + "sharedTypeNumber": "Número", + "sharedTypeBoolean": "Booleà", + "sharedTimezone": "Zona Horària", + "sharedInfoTitle": "Informació", + "sharedSavedCommand": "Comanda guardada", + "sharedSavedCommands": "Comandes guardades", + "sharedNew": "Nou…", + "sharedShowAddress": "Mostrar carrer", + "sharedShowDetails": "Més detalls", + "sharedDisabled": "Deshabilitat", + "sharedMaintenance": "Manteniments", + "sharedDeviceAccumulators": "Acumulador", + "sharedAlarms": "Alarmes", + "sharedLocation": "Ubicació", + "sharedImport": "Importar", + "sharedColumns": "Columnes", + "sharedDropzoneText": "Arrossegueu i deixeu anar un fitxer aquí o feu clic", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrència", + "calendarOnce": "Una vegada", + "calendarDaily": "Diari", + "calendarWeekly": "Setmanal", + "calendarMonthly": "Mensual", + "calendarDays": "Dies", + "calendarSunday": "Diumenge", + "calendarMonday": "Dilluns", + "calendarTuesday": "Dimarts", + "calendarWednesday": "Dimecres", + "calendarThursday": "Dijous", + "calendarFriday": "Divendres", + "calendarSaturday": "Dissabte", + "attributeShowGeofences": "Mostra tanques geogràfiques", + "attributeSpeedLimit": "Límit de velocitat", + "attributeFuelDropThreshold": "Llindar de caiguda de combustible", + "attributeFuelIncreaseThreshold": "Llindar d\\\\'augment del combustible", + "attributePolylineDistance": "Distància de polilínea", + "attributeReportIgnoreOdometer": "Informe: Ignorar el odòmetre", + "attributeWebReportColor": "Web: Color de l\\'informe", + "attributeDevicePassword": "Contrasenya de dispositiu", + "attributeDeviceImage": "Imatge del dispositiu", + "attributeDeviceInactivityStart": "Inici d\\'inactivitat del dispositiu", + "attributeDeviceInactivityPeriod": "Període de inactivitat del dispositiu", + "attributeProcessingCopyAttributes": "Processant: Còpia dels atributs", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Longitud de la ruta en directe", + "attributeWebSelectZoom": "Web: fer zoom al seleccionar", + "attributeWebMaxZoom": "Web: Zoom màxim", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Correu: Servidor SMTP", + "attributeMailSmtpPort": "Correu: Port SMTP", + "attributeMailSmtpStarttlsEnable": "Correu: Habilitar SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Correu: SMTP STARTTLS requerit", + "attributeMailSmtpSslEnable": "Correu: Habilitar SMTP SSL", + "attributeMailSmtpSslTrust": "Correu: SMTP SSL de confiança", + "attributeMailSmtpSslProtocols": "Correu: SMTP SSL protocols", + "attributeMailSmtpFrom": "Correu: SMTP desde", + "attributeMailSmtpAuth": "Correu: Habilitar autenticació SMTP", + "attributeMailSmtpUsername": "Correu: Nom d\\'usuari SMTP", + "attributeMailSmtpPassword": "Correu: Contrasenya SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Deshabilitar Grups", + "attributeUiDisableEvents": "UI: Deshabilitar esdeveniments", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Deshabilitar Conductors", + "attributeUiDisableComputedAttributes": "UI: Deshabilitar Atributs calculats", + "attributeUiDisableCalendars": "UI: Deshabilitar Calendari", + "attributeUiDisableMaintenance": "UI: Deshabilitar Manteniment", + "attributeUiHidePositionAttributes": "UI: Ocultar Atributs de Posició", + "attributeUiDisableLoginLanguage": "UI: Deshabilitar Idioma de inici de sessió", + "attributeNotificationTokens": "Notificació Tokens", + "attributePopupInfo": "Informació emergent", + "errorTitle": "Error", + "errorGeneral": "Paràmetres no vàlids o fora dels límits", + "errorConnection": "Error en la connexió", + "errorSocket": "Error del Web-Socket", + "errorZero": "No pot ser zero", + "userEmail": "Email", + "userPassword": "Contrasenya", + "userAdmin": "Administrador", + "userRemember": "Recordar", + "userExpirationTime": "Caducitat", + "userDeviceLimit": "Límit de dispositius", + "userUserLimit": "Límit d\\'usuaris", + "userDeviceReadonly": "Dispositiu de sòls lectura", + "userLimitCommands": "Limitar Comandes", + "userDisableReports": "Deshabilitar Informes", + "userFixedEmail": "No Email Change", + "userToken": "Token Accés", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Iniciar sessió", + "loginLanguage": "Idioma", + "loginReset": "Reiniciar contrasenya", + "loginRegister": "Registrar-se", + "loginLogin": "Iniciar sessió", + "loginOpenId": "Inicieu sessió amb OpenID", + "loginFailed": "Email o contrasenya incorrecta", + "loginCreated": "S'ha registrat un usuari nou", + "loginResetSuccess": "Comprova el teu email", + "loginUpdateSuccess": "S'ha creat la nova contrasenya", + "loginLogout": "Tancar Sessió", + "loginLogo": "Logotipus", + "loginTotpCode": "Codi de contrasenya d'un sol ús", + "loginTotpKey": "Una clau de contrasenya d'un sol ús", + "devicesAndState": "Dispositius i Estat", + "deviceSelected": "Dispositiu seleccionat", + "deviceTitle": "Dispositius", + "devicePrimaryInfo": "Títol del dispositiu", + "deviceSecondaryInfo": "Detall del dispositiu", + "deviceIdentifier": "Identificador", + "deviceModel": "Model", + "deviceContact": "Contacte", + "deviceCategory": "Categoria", + "deviceLastUpdate": "Última Actualització", + "deviceCommand": "Comanda", + "deviceFollow": "Seguir", + "deviceTotalDistance": "Distància Total", + "deviceStatus": "Estat", + "deviceStatusOnline": "En línia", + "deviceStatusOffline": "Fora de línia", + "deviceStatusUnknown": "Desconegut", + "deviceRegisterFirst": "Registreu el vostre primer dispositiu", + "deviceIdentifierHelp": "IMEI, número de sèrie o un altre identificador. Ha de fer coincidir els informes del dispositiu identificador amb el servidor.", + "deviceShare": "Compartir dispositiu", + "groupDialog": "Grup", + "groupParent": "Grup", + "groupNoGroup": "Sense grup", + "settingsTitle": "Preferències", + "settingsUser": "Compte", + "settingsGroups": "Grups", + "settingsServer": "Servidor", + "settingsUsers": "Usuaris", + "settingsDistanceUnit": "Unitat de Distància", + "settingsAltitudeUnit": "Unitat d\\'Altitud", + "settingsSpeedUnit": "Unitat de Velocitat", + "settingsVolumeUnit": "Unitat de Volum", + "settingsTwelveHourFormat": "Format de 12h.", + "settingsCoordinateFormat": "Format de Coordenades", + "settingsServerVersion": "Versió del servidor", + "settingsAppVersion": "Versió de l'App", + "settingsConnection": "Connexió", + "settingsDarkMode": "Mode Fosc", + "settingsTotpEnable": "Habilita la contrasenya d'un sol ús", + "settingsTotpForce": "Força contrasenya d'un sol ús", + "settingsServiceWorkerUpdateInterval": "Interval d'actualització del ServiceWorker", + "settingsUpdateAvailable": "Hi ha una actualització disponible.", + "settingsSupport": "Support", + "reportTitle": "Informes", + "reportScheduled": "Informes programats", + "reportDevice": "Dispositius", + "reportGroup": "Grup", + "reportFrom": "Desde", + "reportTo": "Fins", + "reportShow": "Mostrar", + "reportClear": "Netejar", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Hora registrada", + "positionDeviceTime": "Hora del Dispositiu", + "positionServerTime": "Hora del Servidor", + "positionValid": "Vàlida", + "positionAccuracy": "Precisió", + "positionLatitude": "Latitud", + "positionLongitude": "Longitud", + "positionAltitude": "Altitud", + "positionSpeed": "Velocitat", + "positionCourse": "Rumb", + "positionAddress": "Adreça", + "positionProtocol": "Protocol", + "positionDistance": "Distància", + "positionRpm": "RPM", + "positionFuel": "Combustible", + "positionPower": "Energia", + "positionBattery": "Bateria", + "positionRaw": "Cru", + "positionIndex": "Índex", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satèl·lits", + "positionSatVisible": "Satèl·lits Visibles", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Esdeveniment", + "positionAlarm": "Alarma", + "positionStatus": "Estat", + "positionOdometer": "Odòmetre", + "positionServiceOdometer": "Odòmetre de manteniment", + "positionTripOdometer": "Odòmetre de viatge", + "positionHours": "Hores", + "positionSteps": "Passos", + "positionInput": "Entrada", + "positionHeartRate": "Freqüència cardíaca", + "positionOutput": "Sortida", + "positionBatteryLevel": "Nivell de bateria", + "positionFuelConsumption": "Consum de combustible", + "positionRfid": "RFDI", + "positionVersionFw": "Versió del firmware", + "positionVersionHw": "Versió del hardware", + "positionIgnition": "Encès", + "positionFlags": "Banderes", + "positionCharge": "Càrrega", + "positionIp": "IP", + "positionArchive": "Arxiu", + "positionVin": "VIN", + "positionApproximate": "Aproximat", + "positionThrottle": "Accelerador", + "positionMotion": "Moviment", + "positionArmed": "Armat", + "positionAcceleration": "Acceleració", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura del dispositiu", + "positionCoolantTemp": "Temperatura del refrigerant", + "positionOperator": "Operador", + "positionCommand": "Comanda", + "positionBlocked": "Blocat", + "positionDtcs": "DTCs", + "positionObdSpeed": "Velocitat OBD", + "positionObdOdometer": "Odòmetre OBD", + "positionDrivingTime": "Temps de conducció", + "positionDriverUniqueId": "ID única del conductor", + "positionCard": "Targeta", + "positionImage": "Imatge", + "positionVideo": "Video", + "positionAudio": "Àudio", + "serverTitle": "Paràmetres del servidor", + "serverZoom": "Zoom", + "serverRegistration": "Registre", + "serverReadonly": "Sòls lectura", + "serverForceSettings": "Forçar aquests paràmetres", + "serverAnnouncement": "Mostrar anunci", + "serverName": "Nom del servidor", + "serverDescription": "Descripció del servidor", + "serverColorPrimary": "Color Primari", + "serverColorSecondary": "Color Secundari", + "serverLogo": "Imatge del logotip", + "serverLogoInverted": "Imatge de logotip invertida", + "serverChangeDisable": "Desactiva el canvi de servidor", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Mapes actius", + "mapOverlay": "Capa sobre el mapa", + "mapOverlayCustom": "Capa personalitzada", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Capes del Mapa", + "mapCustom": "Personalitzat (XYZ)", + "mapCustomArcgis": "Personalitzat (ArcGIS)", + "mapCustomLabel": "Mapa Personalitzat", + "mapCarto": "Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Clau Bing Maps", + "mapBingRoad": "Bing Maps - Carretera", + "mapBingAerial": "Bing Maps - Aèro", + "mapBingHybrid": "Bing Maps - Híbrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex", + "mapYandexSat": "Yandex Satèl·lite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Fosc", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polígon", + "mapShapeCircle": "Cercle", + "mapShapePolyline": "Polilínia", + "mapLiveRoutes": "Rutes en Directe", + "mapDirection": "Mostra la direcció", + "mapCurrentLocation": "Ubicació Actual", + "mapPoiLayer": "Capa POI", + "mapClustering": "Agrupar Marcadors", + "mapOnSelect": "Mostrar Mapes en la selecció", + "mapDefault": "Mapa per defecte", + "stateTitle": "Estat", + "stateName": "Paràmetre", + "stateValue": "Valor", + "commandTitle": "Comanda", + "commandSend": "Enviar", + "commandSent": "Comanda enviat", + "commandQueued": "Comanda en cua", + "commandUnit": "Unitat", + "commandCustom": "Comanda personalitzada", + "commandDeviceIdentification": "Identificació al Dispositiu", + "commandPositionSingle": "Informe Únic", + "commandPositionPeriodic": "Informe Periòdic", + "commandPositionStop": "Aturar informe", + "commandEngineStop": "Apagar motor", + "commandEngineResume": "Desblocar Encès de Motor", + "commandAlarmArm": "Armar Alarma", + "commandAlarmDisarm": "Desarmar Alarma", + "commandAlarmDismiss": "Descartar Alarma", + "commandSetTimezone": "Establir Zona Horària", + "commandRequestPhoto": "Sol·licitar Foto", + "commandPowerOff": "Apagar dispositiu", + "commandRebootDevice": "Reiniciar dispositiu", + "commandFactoryReset": "Valors de fàbrica", + "commandSendSms": "Enviar SMS", + "commandSendUssd": "Enviar USSD", + "commandSosNumber": "Establir el número SOS", + "commandSilenceTime": "Establir horari de silenci", + "commandSetPhonebook": "Establir contacte", + "commandVoiceMessage": "Missatge de veu", + "commandOutputControl": "Control de Sortides", + "commandVoiceMonitoring": "Monitoratge de Veu", + "commandSetAgps": "Establir AGPS", + "commandSetIndicator": "Establir indicador", + "commandConfiguration": "Configuració", + "commandGetVersion": "Obtenir Versió", + "commandFirmwareUpdate": "Actualitzar Firmware", + "commandSetConnection": "Establir Connexió", + "commandSetOdometer": "Establir Odòmetre", + "commandGetModemStatus": "Obtenir Estat del Mòdem", + "commandGetDeviceStatus": "Obtener Estat del Dispositiu", + "commandSetSpeedLimit": "Establir Límit de Velocitat", + "commandModePowerSaving": "Mode Estalvi de Energia", + "commandModeDeepSleep": "Mode Estalvi d'Energia Profund", + "commandAlarmGeofence": "Establir Alarma de Geo-Zona", + "commandAlarmBattery": "Establir Alarma de Bateria", + "commandAlarmSos": "Establir Alarma de SOS", + "commandAlarmRemove": "Establir eliminar Alarma", + "commandAlarmClock": "Establir Alarma d'Hora", + "commandAlarmSpeed": "Establir Alarma de Velocitat", + "commandAlarmFall": "Establir Alarma de Caiguda", + "commandAlarmVibration": "Establir Alarma de Vibració", + "commandFrequency": "Freqüència", + "commandTimezone": "Compensació de zona horaria", + "commandMessage": "Missatge", + "commandRadius": "Ràdio", + "commandEnable": "Activat", + "commandData": "Dades", + "commandIndex": "Índex", + "commandPhone": "Número de Telèfon", + "commandServer": "Servidor", + "commandPort": "Port", + "eventAll": "Tots els events", + "eventDeviceOnline": "Dispositiu en Línia", + "eventDeviceUnknown": "Dispositiu en estat Desconegut", + "eventDeviceOffline": "Dispositiu Fora de Línia", + "eventDeviceInactive": "Dispositiu Inactiu", + "eventQueuedCommandSent": "Comanda en cua enviada", + "eventDeviceMoving": "Dispositiu en Moviment", + "eventDeviceStopped": "Dispositiu Aturat", + "eventDeviceOverspeed": "Excés del límit de Velocitat", + "eventDeviceFuelDrop": "Pèrdua de Combustible", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Resultat de la comanda", + "eventGeofenceEnter": "Entrada a la Geo-Zona", + "eventGeofenceExit": "Sortida de la Geo-Zona", + "eventAlarm": "Alarma", + "eventIgnitionOn": "Ignició ON", + "eventIgnitionOff": "Ignició OFF", + "eventMaintenance": "Es requereix manteniment", + "eventTextMessage": "Missatge de text rebut", + "eventDriverChanged": "El conductor ha canviat", + "eventMedia": "Media", + "eventsScrollToLast": "Desplaçar-se fins l'últim", + "eventsSoundEvents": "So d'Esdeveniments", + "eventsSoundAlarms": "So d'Alarma", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibració", + "alarmMovement": "Moviment", + "alarmLowspeed": "Baixa Velocitat", + "alarmOverspeed": "Excés de Velocitat", + "alarmFallDown": "Alarma de caiguda", + "alarmLowPower": "Energia baixa", + "alarmLowBattery": "Bateria Baixa", + "alarmFault": "Alarma de error", + "alarmPowerOff": "Apagat", + "alarmPowerOn": "Encès", + "alarmDoor": "Porta", + "alarmLock": "Blocat", + "alarmUnlock": "Desblocat", + "alarmGeofence": "Geo-Zona", + "alarmGeofenceEnter": "El Dispositiu ha entrat a la Geo-Zona", + "alarmGeofenceExit": "El Dispositiu ha sortit de la Geo-Zona", + "alarmGpsAntennaCut": "Antena del GPS tallada", + "alarmAccident": "Accident", + "alarmTow": "Grua d'arrossegament", + "alarmIdle": "Repòs", + "alarmHighRpm": "Revolucions altes", + "alarmHardAcceleration": "Acceleració brusca", + "alarmHardBraking": "Frenada extrema", + "alarmHardCornering": "Gir brusc", + "alarmLaneChange": "Canvi de carril", + "alarmFatigueDriving": "Conducció amb fatiga", + "alarmPowerCut": "Energia desconectada", + "alarmPowerRestored": "Energia restaurada", + "alarmJamming": "Interferència", + "alarmTemperature": "Temperatura", + "alarmParking": "Aparcament", + "alarmBonnet": "Capó", + "alarmFootBrake": "Fre de peu", + "alarmFuelLeak": "Fuga de combustible", + "alarmTampering": "Manipulació", + "alarmRemoving": "Eliminant", + "notificationType": "Tipus de Notificació", + "notificationAlways": "Tots els dispositius", + "notificationNotificators": "Canals", + "notificatorCommand": "Comanda", + "notificatorWeb": "Web", + "notificatorMail": "Correu", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Repetir", + "reportCombined": "Combinat", + "reportRoute": "Ruta", + "reportEvents": "Esdeveniments", + "reportTrips": "Viatges", + "reportStops": "Parades", + "reportSummary": "Resum", + "reportDaily": "Resum diari", + "reportChart": "Gràfica", + "reportConfigure": "Configurar", + "reportEventTypes": "Tipus d'esdeveniment", + "reportChartType": "Tipus de gràfica", + "reportShowMarkers": "Mostrar marcadors", + "reportExport": "Exportar", + "reportEmail": "Informe per correu", + "reportSchedule": "Horari", + "reportPeriod": "Període", + "reportCustom": "Personalitzat", + "reportToday": "Avui", + "reportYesterday": "Ahir", + "reportThisWeek": "Setmana Actual", + "reportPreviousWeek": "Setmana Anterior", + "reportThisMonth": "Mes Actual", + "reportPreviousMonth": "Mes Anterior", + "reportDeviceName": "Nom", + "reportAverageSpeed": "Velocitat Mitjana", + "reportMaximumSpeed": "Velocitat Màxima", + "reportEngineHours": "Hores de Motor", + "reportDuration": "Durada", + "reportStartDate": "Data Inical", + "reportStartTime": "Hora Inical", + "reportStartAddress": "Adreça Inicial", + "reportEndTime": "Hora Final", + "reportEndAddress": "Adreça Final", + "reportSpentFuel": "Combustible consumit", + "reportStartOdometer": "Odòmetre inical", + "reportEndOdometer": "Odòmetre final", + "statisticsTitle": "Estadístiques", + "statisticsCaptureTime": "Data de captura", + "statisticsActiveUsers": "Usuaris Actius", + "statisticsActiveDevices": "Dispositius Actius", + "statisticsRequests": "Peticions", + "statisticsMessagesReceived": "Missatges rebuts", + "statisticsMessagesStored": "Missatges guardats", + "statisticsGeocoder": "Sol·licituds del codificador geogràfic", + "statisticsGeolocation": "Sol·licituds de geolocalització", + "categoryArrow": "Fletxa", + "categoryDefault": "Predeterminat", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicicleta", + "categoryBoat": "Vaixell", + "categoryBus": "Autobús", + "categoryCar": "Automòbil", + "categoryCamper": "Camper", + "categoryCrane": "Grua", + "categoryHelicopter": "Helicòpter", + "categoryMotorcycle": "Motocicleta", + "categoryOffroad": "Totterreny", + "categoryPerson": "Persona", + "categoryPickup": "Pickup", + "categoryPlane": "Avió", + "categoryShip": "Vaixell", + "categoryTractor": "Tractor", + "categoryTrain": "Tren", + "categoryTram": "Tramvia", + "categoryTrolleybus": "Troleibús", + "categoryTruck": "Camió", + "categoryVan": "Furgoneta", + "categoryScooter": "Moto", + "maintenanceStart": "Iniciar", + "maintenancePeriod": "Període" +}
\ No newline at end of file diff --git a/legacy/web/l10n/cs.json b/legacy/web/l10n/cs.json new file mode 100644 index 00000000..10a1f1fa --- /dev/null +++ b/legacy/web/l10n/cs.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Načítám...", + "sharedHide": "Skrýt", + "sharedSave": "Uložit", + "sharedUpload": "Upload", + "sharedSet": "Nastavit", + "sharedCancel": "Zrušit", + "sharedCopy": "Copy", + "sharedAdd": "Přidat", + "sharedEdit": "Změnit", + "sharedRemove": "Odstranit", + "sharedRemoveConfirm": "Odstranit položku?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Ano", + "sharedNo": "Ne", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Hodina", + "sharedMinute": "Minuta", + "sharedSecond": "Sekunda", + "sharedDays": "dny", + "sharedHours": "hodiny", + "sharedMinutes": "minuty", + "sharedDecimalDegrees": "Desetinné stupně", + "sharedDegreesDecimalMinutes": "Desetinné minuty", + "sharedDegreesMinutesSeconds": "Desetinné sekundy", + "sharedName": "Jméno", + "sharedDescription": "Popis", + "sharedSearch": "Hledat", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Zóna", + "sharedGeofences": "Zóny", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Upozornění", + "sharedNotification": "Upozornění", + "sharedAttributes": "Atributy", + "sharedAttribute": "Atribut", + "sharedDrivers": "Řidiči", + "sharedDriver": "Řidič", + "sharedArea": "Oblast", + "sharedSound": "Zvuk upozornění", + "sharedType": "Typ", + "sharedDistance": "Vzdálenost", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litr", + "sharedImpGallon": "Britský galon", + "sharedUsGallon": "Americký galon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Získat stav mapy", + "sharedComputedAttribute": "Vypočítaná vlastnost", + "sharedComputedAttributes": "Vypočítané vlastnosti", + "sharedCheckComputedAttribute": "Zkontrolovat vypočítanou vlastnost", + "sharedExpression": "Výraz", + "sharedDevice": "Zařízení", + "sharedTest": "Test", + "sharedTestNotification": "Odeslat testovací oznámení", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalendář", + "sharedCalendars": "Kalendáře", + "sharedFile": "Soubor", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Vybrat soubor", + "sharedPhone": "Telefon", + "sharedRequired": "Povinné", + "sharedPreferences": "Nastavení", + "sharedPermissions": "Oprávnění", + "sharedConnections": "Připojení", + "sharedExtra": "Volitelné", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Řetězec", + "sharedTypeNumber": "Číslo", + "sharedTypeBoolean": "Logická hodnota", + "sharedTimezone": "Časová zóna", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Uložený příkaz", + "sharedSavedCommands": "Uložené příkazy", + "sharedNew": "Nový...", + "sharedShowAddress": "Zobrazit adresu", + "sharedShowDetails": "Více podrobností", + "sharedDisabled": "Zakázáno", + "sharedMaintenance": "Údržba", + "sharedDeviceAccumulators": "Stavy měřidel", + "sharedAlarms": "Alarmy", + "sharedLocation": "Lokace", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Rychlostní limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Vzdálenost křivky", + "attributeReportIgnoreOdometer": "Report: Počítadlo kilometrů", + "attributeWebReportColor": "Web: Barva reportu", + "attributeDevicePassword": "Heslo zařízení", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Počátek nečinnosti zařízení", + "attributeDeviceInactivityPeriod": "Období nečinnosti zařízení", + "attributeProcessingCopyAttributes": "Procesuji: Kopírování vlastností", + "attributeColor": "Barva", + "attributeWebLiveRouteLength": "Web: Aktuální délka trasy", + "attributeWebSelectZoom": "Web: Přiblížit při výběru", + "attributeWebMaxZoom": "Web: Maximální přiblížení", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP server", + "attributeMailSmtpPort": "Mail: SMTP port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS povolit", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS vyžadováno", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL povolit", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL důvěřovat", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL protokoly", + "attributeMailSmtpFrom": "Mail: SMTP od", + "attributeMailSmtpAuth": "Mail: SMTP povolení ověřování", + "attributeMailSmtpUsername": "Mail: SMTP uživatelské jméno", + "attributeMailSmtpPassword": "Mail: SMTP heslo", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Zakázat události", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Zakázat řidiče", + "attributeUiDisableComputedAttributes": "UI: Zakázat vypočítané vlastnosti", + "attributeUiDisableCalendars": "UI: Zakázat kalendáře", + "attributeUiDisableMaintenance": "UI: Zakázat údržbu", + "attributeUiHidePositionAttributes": "UI: Skrýt atributy pozice", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notifikační tokeny", + "attributePopupInfo": "Popup Info", + "errorTitle": "Chyba", + "errorGeneral": "Nesprávné parametry nebo překročení omezení", + "errorConnection": "Chyba spojení", + "errorSocket": "Chyba připojení webového socketu", + "errorZero": "Nemůže být nula", + "userEmail": "Email", + "userPassword": "Heslo", + "userAdmin": "Admin", + "userRemember": "Zapamatovat", + "userExpirationTime": "Konec platnosti", + "userDeviceLimit": "Limit zařízení", + "userUserLimit": "Limit uživatele", + "userDeviceReadonly": "Zařízení pouze pro čtení", + "userLimitCommands": "Limit příkazů", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Přihlášení", + "loginLanguage": "Jazyk", + "loginReset": "Obnovit Heslo", + "loginRegister": "Registrace", + "loginLogin": "Přihlášení", + "loginOpenId": "Login with OpenID", + "loginFailed": "Nesprávný email nebo heslo", + "loginCreated": "Nový uživatel byl zaregistrován", + "loginResetSuccess": "Zkontroluj si email ", + "loginUpdateSuccess": "Nové heslo je nastaveno", + "loginLogout": "Odhlášení", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Zařízení a stav", + "deviceSelected": "Selected Device", + "deviceTitle": "Zařízení", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifikace", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategorie", + "deviceLastUpdate": "Poslední změna", + "deviceCommand": "Příkaz", + "deviceFollow": "Sledovat", + "deviceTotalDistance": "Celková vzdálenost", + "deviceStatus": "Stav", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Neznámý", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Skupina", + "groupParent": "Skupina", + "groupNoGroup": "Žádná skupina", + "settingsTitle": "Nastavení", + "settingsUser": "Účet", + "settingsGroups": "Skupiny", + "settingsServer": "Server", + "settingsUsers": "Uživatelé", + "settingsDistanceUnit": "Jednotka vzdálenosti", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Jednotka rychlosti", + "settingsVolumeUnit": "Jednotka objemu", + "settingsTwelveHourFormat": "12-hodinový formát", + "settingsCoordinateFormat": "Formát souřadnic", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Reporty", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Zařízení", + "reportGroup": "Skupina", + "reportFrom": "Od", + "reportTo": "Komu", + "reportShow": "Zobrazit", + "reportClear": "Vyprázdnit", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Správný", + "positionAccuracy": "Přesnost", + "positionLatitude": "Šířka", + "positionLongitude": "Délka", + "positionAltitude": "Výška", + "positionSpeed": "Rychlost", + "positionCourse": "Směr", + "positionAddress": "Adresa", + "positionProtocol": "Protokol", + "positionDistance": "Vzdálenost", + "positionRpm": "otáček", + "positionFuel": "Palivo", + "positionPower": "Energie", + "positionBattery": "Baterie", + "positionRaw": "Čisté", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelity", + "positionSatVisible": "Viditelné satelity", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Událost", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Počítadlo kilometrů", + "positionServiceOdometer": "Servisní počítadlo kilometrů", + "positionTripOdometer": "Počítadlo kilometrů cesty", + "positionHours": "Hodiny", + "positionSteps": "Kroky", + "positionInput": "Vstup", + "positionHeartRate": "Heart Rate", + "positionOutput": "Výstup", + "positionBatteryLevel": "Úroveň baterie", + "positionFuelConsumption": "Spotřeba paliva", + "positionRfid": "RFID", + "positionVersionFw": "Verze firmwaru", + "positionVersionHw": "Verze hardwaru", + "positionIgnition": "Zapalování", + "positionFlags": "Příznaky", + "positionCharge": "Nabití", + "positionIp": "IP", + "positionArchive": "Archiv", + "positionVin": "VIN", + "positionApproximate": "Přibližný", + "positionThrottle": "Škrtící klapka", + "positionMotion": "Pohyb", + "positionArmed": "Odjištěno", + "positionAcceleration": "Akcelerace", + "positionTemp": "Temperature", + "positionDeviceTemp": "Teplota zařízení", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operátor", + "positionCommand": "Příkaz", + "positionBlocked": "Blokované", + "positionDtcs": "DTC", + "positionObdSpeed": "OBD rychlost", + "positionObdOdometer": "OBD počítadlo kilometrů", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Unikátní ID ridiče", + "positionCard": "Card", + "positionImage": "Obraz", + "positionVideo": "Video", + "positionAudio": "Zvuk", + "serverTitle": "Nastavení serveru", + "serverZoom": "Přiblížení", + "serverRegistration": "Registrace", + "serverReadonly": "Pouze pro čtení", + "serverForceSettings": "Vynutit nastavení", + "serverAnnouncement": "Oznámení", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Vrstva mapy", + "mapCustom": "Vlastní (XYZ)", + "mapCustomArcgis": "Vlastní (ArcGIS)", + "mapCustomLabel": "Vlastní mapa", + "mapCarto": "Základní mapy nákladu", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps klíč", + "mapBingRoad": "Bing Maps silniční", + "mapBingAerial": "Bing Maps Letecký", + "mapBingHybrid": "Bing Maps Hybridní", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex mapa", + "mapYandexSat": "Yandex satelitní", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox ulice", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox venkovní", + "mapMapboxSatellite": "Mapbox satelit", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Základní", + "mapMapTilerHybrid": "MapTiler Hybridní", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Mnohoúhelník", + "mapShapeCircle": "Kruh", + "mapShapePolyline": "Křivka", + "mapLiveRoutes": "Trasy živě", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Současná pozice", + "mapPoiLayer": "Vrstva s POI", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Stav", + "stateName": "Atribut", + "stateValue": "Hodnota", + "commandTitle": "Příkaz", + "commandSend": "Odeslat", + "commandSent": "Příkaz odeslán", + "commandQueued": "Příkaz zařazen do fronty", + "commandUnit": "Jednotka", + "commandCustom": "Volitelný příkaz", + "commandDeviceIdentification": "Identifikace zařízení", + "commandPositionSingle": "Jednotný report", + "commandPositionPeriodic": "Pravidelný report", + "commandPositionStop": "Zastavit report", + "commandEngineStop": "Zastavit motor", + "commandEngineResume": "Nastartovat motor", + "commandAlarmArm": "Aktivovat alarm", + "commandAlarmDisarm": "Deaktivovat alarm", + "commandAlarmDismiss": "Zrušit alarm", + "commandSetTimezone": "Nastavit časovou zónu", + "commandRequestPhoto": "Vyžádat fotku", + "commandPowerOff": "Vypnout zařízení", + "commandRebootDevice": "Restartovat zařízení", + "commandFactoryReset": "Obnovit nastavení", + "commandSendSms": "Odeslat SMS", + "commandSendUssd": "Odeslat USSD", + "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", + "commandVoiceMonitoring": "Monitorování hlasu", + "commandSetAgps": "Nastavit AGPS", + "commandSetIndicator": "Nastavit indikátor", + "commandConfiguration": "Nastavení", + "commandGetVersion": "Zjistit verzi", + "commandFirmwareUpdate": "Aktualizovat firmware", + "commandSetConnection": "Nastavit spojení", + "commandSetOdometer": "Nastavit počítadlo kilometrů", + "commandGetModemStatus": "Získat stav modemu", + "commandGetDeviceStatus": "Získat stav zařízení", + "commandSetSpeedLimit": "Nastavit rychlostní limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekvence", + "commandTimezone": "Ofset časové zóny", + "commandMessage": "Zpráva", + "commandRadius": "Okruh", + "commandEnable": "Povolit", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Telefonní číslo", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Všechny události", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status neznámý", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Zařízení je neaktivní", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Zařízení se přesouvá", + "eventDeviceStopped": "Zařízení bylo zastaveno", + "eventDeviceOverspeed": "Rychlostní limit překročen", + "eventDeviceFuelDrop": "Pokles paliva", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Výsledek příkazu", + "eventGeofenceEnter": "Vstoupeno do geozóny", + "eventGeofenceExit": "Geozóna opuštěna", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Zážeh zapnutý", + "eventIgnitionOff": "Zážeh vypnutý", + "eventMaintenance": "Vyžadována údržba", + "eventTextMessage": "Obdržena textová zpráva", + "eventDriverChanged": "Řidič vyměněn", + "eventMedia": "Media", + "eventsScrollToLast": "Posunout na poslední", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Hlavní", + "alarmSos": "SOS", + "alarmVibration": "Vibrace", + "alarmMovement": "Pohyb", + "alarmLowspeed": "Nízká rychlost", + "alarmOverspeed": "Překročení rychlosti", + "alarmFallDown": "Pád", + "alarmLowPower": "Nízký výkon", + "alarmLowBattery": "Nízké napětí baterie", + "alarmFault": "Chyba", + "alarmPowerOff": "Vypnout", + "alarmPowerOn": "Zapnout", + "alarmDoor": "Dveře", + "alarmLock": "Zamknout", + "alarmUnlock": "Odemknout", + "alarmGeofence": "Geozóna", + "alarmGeofenceEnter": "Vstup do geozóny", + "alarmGeofenceExit": "Konec geozóny", + "alarmGpsAntennaCut": "Odpojení GPS antény", + "alarmAccident": "Nehoda", + "alarmTow": "Vlek", + "alarmIdle": "Nečinnost", + "alarmHighRpm": "Vysoké ot/min", + "alarmHardAcceleration": "Silná akcelerace", + "alarmHardBraking": "Silné brždění", + "alarmHardCornering": "Jízda smykem", + "alarmLaneChange": "Změna pruhu", + "alarmFatigueDriving": "Únava při řízení", + "alarmPowerCut": "Výpadek napájení", + "alarmPowerRestored": "Napájení obnoveno", + "alarmJamming": "Zaseknutí", + "alarmTemperature": "Teplota", + "alarmParking": "Parkování", + "alarmBonnet": "Kapota", + "alarmFootBrake": "Nožní brzda", + "alarmFuelLeak": "Únik paliva", + "alarmTampering": "Manipulování", + "alarmRemoving": "Odstraňuji", + "notificationType": "Typ oznámení", + "notificationAlways": "Všechna zařízení", + "notificationNotificators": "Kanály", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Přehrát", + "reportCombined": "Combined", + "reportRoute": "Trasa", + "reportEvents": "Události", + "reportTrips": "Cesty", + "reportStops": "Zastávky", + "reportSummary": "Souhrn", + "reportDaily": "Denní přehled", + "reportChart": "Graf", + "reportConfigure": "Nastavit", + "reportEventTypes": "Typy událostí", + "reportChartType": "Typ grafu", + "reportShowMarkers": "Zobrazit značky", + "reportExport": "Exportovat", + "reportEmail": "Zaslat report mailem", + "reportSchedule": "Schedule", + "reportPeriod": "Období", + "reportCustom": "Vlastní", + "reportToday": "Dnes", + "reportYesterday": "Včera", + "reportThisWeek": "Tento týden", + "reportPreviousWeek": "Minulý týden", + "reportThisMonth": "Tento měsíc", + "reportPreviousMonth": "Minulý měsíc", + "reportDeviceName": "Jméno zařízení", + "reportAverageSpeed": "Průměrná rychlost", + "reportMaximumSpeed": "Maximální rychlost", + "reportEngineHours": "Motohodiny", + "reportDuration": "Trvání", + "reportStartDate": "Počáteční datum", + "reportStartTime": "Čas startu", + "reportStartAddress": "Adresa startu", + "reportEndTime": "Čas konce", + "reportEndAddress": "Adresa konce", + "reportSpentFuel": "Spotřebované palivo", + "reportStartOdometer": "Start počítadla kilometrů", + "reportEndOdometer": "Konec počítadla kilometrů", + "statisticsTitle": "Statistiky", + "statisticsCaptureTime": "Čas zachycení", + "statisticsActiveUsers": "Aktivní uživatelé", + "statisticsActiveDevices": "Aktivní zařízení", + "statisticsRequests": "Požadavky", + "statisticsMessagesReceived": "Obdržené zprávy", + "statisticsMessagesStored": "Uložené zprávy", + "statisticsGeocoder": "Požadavky Geocodera", + "statisticsGeolocation": "Požadavky Geolokace", + "categoryArrow": "Šipka", + "categoryDefault": "Výchozí", + "categoryAnimal": "Zvíře", + "categoryBicycle": "Kolo", + "categoryBoat": "Loď", + "categoryBus": "Autobus", + "categoryCar": "Auto", + "categoryCamper": "Camper", + "categoryCrane": "Jeřáb", + "categoryHelicopter": "Helikoptéra", + "categoryMotorcycle": "Motocykl", + "categoryOffroad": "Offroad", + "categoryPerson": "Osoba", + "categoryPickup": "Pickup", + "categoryPlane": "Letadlo", + "categoryShip": "Loď", + "categoryTractor": "Traktor", + "categoryTrain": "Vlak", + "categoryTram": "Tramvaj", + "categoryTrolleybus": "Trolejbus", + "categoryTruck": "Nákladní auto", + "categoryVan": "Dodávka", + "categoryScooter": "Koloběžka", + "maintenanceStart": "Start", + "maintenancePeriod": "Perioda" +}
\ No newline at end of file diff --git a/legacy/web/l10n/da.json b/legacy/web/l10n/da.json new file mode 100644 index 00000000..4c24a3c6 --- /dev/null +++ b/legacy/web/l10n/da.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Indlæser... ", + "sharedHide": "Skjul", + "sharedSave": "Gem", + "sharedUpload": "Upload", + "sharedSet": "Indstil", + "sharedCancel": "Fortryd", + "sharedCopy": "Copy", + "sharedAdd": "Tilføj", + "sharedEdit": "Rediger", + "sharedRemove": "Fjern", + "sharedRemoveConfirm": "Fjern enhed?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Ja", + "sharedNo": "Nej", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "Nml", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "knob", + "sharedKmh": "km/t", + "sharedMph": "mph", + "sharedHour": "Time", + "sharedMinute": "Minut", + "sharedSecond": "Sekund", + "sharedDays": "dage", + "sharedHours": "timer", + "sharedMinutes": "minutter", + "sharedDecimalDegrees": "Decimal grader", + "sharedDegreesDecimalMinutes": "Grader decimal minutter", + "sharedDegreesMinutesSeconds": "Grader decimal sekunder", + "sharedName": "Navn", + "sharedDescription": "Beskrivelse", + "sharedSearch": "Søg", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notifikationer", + "sharedNotification": "Notifikation", + "sharedAttributes": "Egenskaber", + "sharedAttribute": "Egenskab", + "sharedDrivers": "Chauffører", + "sharedDriver": "Chauffør", + "sharedArea": "Område", + "sharedSound": "Advarsels lyd", + "sharedType": "Type", + "sharedDistance": "Afstand", + "sharedHourAbbreviation": "t", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "I", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Motorhjelm", + "sharedUsGallon": "Amerikansk gallon", + "sharedLiterPerHourAbbreviation": "l/time", + "sharedGetMapState": "Kort status", + "sharedComputedAttribute": "Udregnet attribut", + "sharedComputedAttributes": "Udregnede attributter", + "sharedCheckComputedAttribute": "Kontroller udregnet attribut", + "sharedExpression": "Udtryk", + "sharedDevice": "Enhed", + "sharedTest": "Test", + "sharedTestNotification": "Send Test notifikation", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalendere", + "sharedFile": "Fil", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Vælg fil", + "sharedPhone": "Telefon", + "sharedRequired": "Krævet", + "sharedPreferences": "Foretrukne", + "sharedPermissions": "Tilladelser", + "sharedConnections": "Forbindelser", + "sharedExtra": "Ekstra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "tekststreng", + "sharedTypeNumber": "ciffer", + "sharedTypeBoolean": "Boolsk", + "sharedTimezone": "Tidszone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Gemt kommando", + "sharedSavedCommands": "Gemte Kommandoer", + "sharedNew": "Ny...", + "sharedShowAddress": "Vis adresse", + "sharedShowDetails": "Flere detailer", + "sharedDisabled": "Deaktiveret", + "sharedMaintenance": "Vedligeholdelse", + "sharedDeviceAccumulators": "Akkumulatorer", + "sharedAlarms": "Alarmer", + "sharedLocation": "Beliggenhed", + "sharedImport": "Importer", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Hastigheds grænse", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline afstand", + "attributeReportIgnoreOdometer": "Rapport: Ignorer odometer", + "attributeWebReportColor": "Web : Rapport farve", + "attributeDevicePassword": "Enheds kodeord", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Start af enhedens inaktivitet", + "attributeDeviceInactivityPeriod": "Enheds inaktivitetsperiode", + "attributeProcessingCopyAttributes": "Bearbejder: Kopier attribut", + "attributeColor": "Farve", + "attributeWebLiveRouteLength": "Web: live rute længde", + "attributeWebSelectZoom": "Web: Zoom ved vælg", + "attributeWebMaxZoom": "Web: Maksimal zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP host", + "attributeMailSmtpPort": "Mail : SMTP port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP slå SSL til", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust ", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From ", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable ", + "attributeMailSmtpUsername": "Mail: SMTP Brugernavn", + "attributeMailSmtpPassword": "Mail: SMTP Kodeord", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "Deaktiver begivenheder", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "Deaktiver chauffører", + "attributeUiDisableComputedAttributes": "Deaktiver beregnede attributter", + "attributeUiDisableCalendars": "Deaktiver kalendere", + "attributeUiDisableMaintenance": "Deaktiver vedligeholdelse", + "attributeUiHidePositionAttributes": "Skjul positionsattributter", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notifikations Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Fejl", + "errorGeneral": "ulovlig parameter ", + "errorConnection": "Tilslutning fejl", + "errorSocket": "Web tilslutnings fejl", + "errorZero": "Kan ikke være nul", + "userEmail": "Email", + "userPassword": "Kodeord", + "userAdmin": "Admin", + "userRemember": "Husk", + "userExpirationTime": "Udløb", + "userDeviceLimit": "Enheds grænse", + "userUserLimit": "Bruger grænse", + "userDeviceReadonly": "Enhed kun læsbar", + "userLimitCommands": "Begrænset kommandoer", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Log på", + "loginLanguage": "Sprog", + "loginReset": "Nulstille kodeord", + "loginRegister": "Registrer", + "loginLogin": "Log på", + "loginOpenId": "Login with OpenID", + "loginFailed": "Fejl i email adresse eller kodeord", + "loginCreated": "Ny bruger er registreret", + "loginResetSuccess": "Tjek din e-mail", + "loginUpdateSuccess": "Ny adgangskode er indstillet", + "loginLogout": "Log af", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Enheder og status", + "deviceSelected": "Selected Device", + "deviceTitle": "Enheder", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Imei nr", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategori", + "deviceLastUpdate": "Seneste opdatering", + "deviceCommand": "Kommando", + "deviceFollow": "Følg", + "deviceTotalDistance": "Total distance", + "deviceStatus": "Status", + "deviceStatusOnline": "On-line", + "deviceStatusOffline": "Off-line", + "deviceStatusUnknown": "Ukendt", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Gruppe", + "groupParent": "Gruppe", + "groupNoGroup": "Ingen gruppe", + "settingsTitle": "Indstillinger", + "settingsUser": "Konto", + "settingsGroups": "Grupper", + "settingsServer": "Server", + "settingsUsers": "Brugere", + "settingsDistanceUnit": "Afstands enhed", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Hastigheds enhed", + "settingsVolumeUnit": "Volume enhed", + "settingsTwelveHourFormat": "12 timers format", + "settingsCoordinateFormat": "Koordinats format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Rapporter", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Enhed", + "reportGroup": "Gruppe", + "reportFrom": "Fra", + "reportTo": "Til", + "reportShow": "Vis", + "reportClear": "Ryd", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Valid", + "positionAccuracy": "Nøjagtighed", + "positionLatitude": "Breddegrad", + "positionLongitude": "Længdegrad", + "positionAltitude": "Højde", + "positionSpeed": "Hastighed", + "positionCourse": "Kurs", + "positionAddress": "Adresse", + "positionProtocol": "Protokol", + "positionDistance": "Distance", + "positionRpm": "Omdr.", + "positionFuel": "Brændstof", + "positionPower": "Strøm", + "positionBattery": "Batteri", + "positionRaw": "Rå", + "positionIndex": "Indeks", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelitter", + "positionSatVisible": "Synlige satelitter", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Hændelse", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Km tæller", + "positionServiceOdometer": "Service Km tæller", + "positionTripOdometer": "Trip tæller", + "positionHours": "timer", + "positionSteps": "Skridt", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Batteri niveau", + "positionFuelConsumption": "Brændstof forbrug", + "positionRfid": "RFID", + "positionVersionFw": "Firmware version", + "positionVersionHw": "Hardware version", + "positionIgnition": "Tænding på ", + "positionFlags": "Flag", + "positionCharge": "Oplad", + "positionIp": "IP", + "positionArchive": "Arkiv", + "positionVin": "VIN", + "positionApproximate": "Cirka", + "positionThrottle": "Gas", + "positionMotion": "Bevægelse", + "positionArmed": "Armeret", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Enheds temperatur", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operatør", + "positionCommand": "Kommando", + "positionBlocked": "Blokeret", + "positionDtcs": "DTC's", + "positionObdSpeed": "OBD Hastighed", + "positionObdOdometer": "OBD km tæller", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Chaufførs unikke ID", + "positionCard": "Card", + "positionImage": "Billede", + "positionVideo": "Video", + "positionAudio": "Lyd", + "serverTitle": "Server indstillinger", + "serverZoom": "Zoom", + "serverRegistration": "Registrering", + "serverReadonly": "Læs", + "serverForceSettings": "Gennemtving opdatering", + "serverAnnouncement": "Meddelelse", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Kort", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Kort opsætning", + "mapCustom": "Brugerdefineret (XYZ)", + "mapCustomArcgis": "Brugerdefineret (ArcGIS)", + "mapCustomLabel": "Brugerdefineret kort", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Kort", + "mapYandexSat": "Yandex Satellit", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox gader", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox udendørs", + "mapMapboxSatellite": "Mapbox satellit", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Cirkel", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live ruter", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Lag", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Status", + "stateName": "Parameter", + "stateValue": "Værdi", + "commandTitle": "Kommando", + "commandSend": "Send", + "commandSent": "Kommando sendt", + "commandQueued": "Kommando i kø", + "commandUnit": "Enhed", + "commandCustom": "Skræddersyet kommando", + "commandDeviceIdentification": "Enheds id", + "commandPositionSingle": "Enkel rapport", + "commandPositionPeriodic": "Periodisk Rapportering", + "commandPositionStop": "Stop Rapportering", + "commandEngineStop": "Stop motor", + "commandEngineResume": "Genstart motor", + "commandAlarmArm": "Armer alarm", + "commandAlarmDisarm": "Slå alarm fra", + "commandAlarmDismiss": "Afvis alarm", + "commandSetTimezone": "Sæt tidszone", + "commandRequestPhoto": "Tag billede", + "commandPowerOff": "Sluk for enhed", + "commandRebootDevice": "Genstart enhed", + "commandFactoryReset": "Gendan fabriksindstillinger", + "commandSendSms": "send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Angiv SOS nummer", + "commandSilenceTime": "Angiv lydløs tid", + "commandSetPhonebook": "Angiv telefonbog", + "commandVoiceMessage": "Tale meddelelse", + "commandOutputControl": "Output kontrol", + "commandVoiceMonitoring": "Stemmeovervågning", + "commandSetAgps": "Konfigurer AGPS", + "commandSetIndicator": "Gem indikator", + "commandConfiguration": "Konfiguration", + "commandGetVersion": "Hent version", + "commandFirmwareUpdate": "Opdater irmware", + "commandSetConnection": "Konfigurer forbindelse", + "commandSetOdometer": "Konfigurer kilometertæller", + "commandGetModemStatus": "Hent Modem status", + "commandGetDeviceStatus": "Hent enheds status", + "commandSetSpeedLimit": "Indstil hastighedsgrænse", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekvens", + "commandTimezone": "Tidszone forskel", + "commandMessage": "Meddelelse", + "commandRadius": "Radius", + "commandEnable": "aktiver", + "commandData": "Data", + "commandIndex": "Indeks", + "commandPhone": "Telefon nummer", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Alle begivenheder", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status ukendt", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Enhed inaktiv", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Enheden bevæger sig", + "eventDeviceStopped": "Enheden stoppet", + "eventDeviceOverspeed": "Hastighedsgrænsen overskredet", + "eventDeviceFuelDrop": "Brændstoffald", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Resultat af kommando", + "eventGeofenceEnter": "Geofence indtastet", + "eventGeofenceExit": "Geofence forladt", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Tænding tændt", + "eventIgnitionOff": "Tænding slukket", + "eventMaintenance": "Vedligeholdelse krævet", + "eventTextMessage": "Tekst besked modtaget", + "eventDriverChanged": "Chaufførskift", + "eventMedia": "Media", + "eventsScrollToLast": "Rul til sidste", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Generel", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Bevægelse", + "alarmLowspeed": "Lav hastighed", + "alarmOverspeed": "Hastighedsoverskridelse", + "alarmFallDown": "Fald", + "alarmLowPower": "Lav strøm", + "alarmLowBattery": "Lavt batteri", + "alarmFault": "Fejl", + "alarmPowerOff": "Sluk", + "alarmPowerOn": "Tænd", + "alarmDoor": "Dør", + "alarmLock": "Lås", + "alarmUnlock": "Lås op", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS-antennesnit", + "alarmAccident": "Ulykke", + "alarmTow": "Bugseret", + "alarmIdle": "Ledig", + "alarmHighRpm": "Høj RPM", + "alarmHardAcceleration": "Hård acceleration", + "alarmHardBraking": "Hård bremsning", + "alarmHardCornering": "Hård sving", + "alarmLaneChange": "Vognbaneskift", + "alarmFatigueDriving": "Træthedskørsel", + "alarmPowerCut": "Strømafbrydelse", + "alarmPowerRestored": "Strøm genoprettet", + "alarmJamming": "Fastklemning", + "alarmTemperature": "Temperatur", + "alarmParking": "Parkering", + "alarmBonnet": "Motorhjelm", + "alarmFootBrake": "Fodbremse", + "alarmFuelLeak": "Brændstoflækage", + "alarmTampering": "Manipulering", + "alarmRemoving": "Fjerner", + "notificationType": "Type af notifikation", + "notificationAlways": "Alle enheder", + "notificationNotificators": "Kanaler", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Genafspil", + "reportCombined": "Combined", + "reportRoute": "Rute", + "reportEvents": "Begivenheder", + "reportTrips": "Ture", + "reportStops": "Antal stop", + "reportSummary": "Resume", + "reportDaily": "Daglig opsummering", + "reportChart": "Graf", + "reportConfigure": "Konfigurer", + "reportEventTypes": "Begivenheds typer", + "reportChartType": "Graf type", + "reportShowMarkers": "Vis markeringer", + "reportExport": "Eksporter", + "reportEmail": "Email rapport", + "reportSchedule": "Schedule", + "reportPeriod": "Periode", + "reportCustom": "Brugerdefineret", + "reportToday": "I dag", + "reportYesterday": "I går", + "reportThisWeek": "Denne uge", + "reportPreviousWeek": "Forrige uge", + "reportThisMonth": "Denne måned", + "reportPreviousMonth": "Forrige måned", + "reportDeviceName": "Enheds navn", + "reportAverageSpeed": "Gennemsnits hastighed", + "reportMaximumSpeed": "Maximum hastighed", + "reportEngineHours": "Motor aktiv timer", + "reportDuration": "Varighed", + "reportStartDate": "Start dato", + "reportStartTime": "Start tidspunkt", + "reportStartAddress": "Start adresse", + "reportEndTime": "Slut tidspunkt", + "reportEndAddress": "Slut adresse", + "reportSpentFuel": "Brændstof forbrug", + "reportStartOdometer": "Kilometertæller start", + "reportEndOdometer": "Kilometertæller slut", + "statisticsTitle": "Statistik", + "statisticsCaptureTime": "Noter tid", + "statisticsActiveUsers": "Aktive brugere", + "statisticsActiveDevices": "Aktive enheder", + "statisticsRequests": "Anmodninger", + "statisticsMessagesReceived": "Meddelelser modtaget", + "statisticsMessagesStored": "Meddelelser gemt", + "statisticsGeocoder": "Geokoder opslag", + "statisticsGeolocation": "Geolocation opslag", + "categoryArrow": "Pil", + "categoryDefault": "Standard", + "categoryAnimal": "Dyr", + "categoryBicycle": "Cykel", + "categoryBoat": "Båd", + "categoryBus": "Bus", + "categoryCar": "Bil", + "categoryCamper": "Camper", + "categoryCrane": "Kran", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorcykel", + "categoryOffroad": "Off-road", + "categoryPerson": "Person", + "categoryPickup": "Pickup ", + "categoryPlane": "Fly", + "categoryShip": "Skib", + "categoryTractor": "Traktor", + "categoryTrain": "Tog", + "categoryTram": "Sporvogn", + "categoryTrolleybus": "Bybus", + "categoryTruck": "Lastbil", + "categoryVan": "Van", + "categoryScooter": "scooter", + "maintenanceStart": "start", + "maintenancePeriod": "Periode" +}
\ No newline at end of file diff --git a/legacy/web/l10n/de.json b/legacy/web/l10n/de.json new file mode 100644 index 00000000..3e937ea0 --- /dev/null +++ b/legacy/web/l10n/de.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Lade...", + "sharedHide": "Ausblenden", + "sharedSave": "Speichern", + "sharedUpload": "Upload", + "sharedSet": "Speichern", + "sharedCancel": "Abbrechen", + "sharedCopy": "Kopieren", + "sharedAdd": "Hinzufügen", + "sharedEdit": "Bearbeiten", + "sharedRemove": "Entfernen", + "sharedRemoveConfirm": "Objekt entfernen?", + "sharedNoData": "Keine Daten", + "sharedSubject": "Betreff", + "sharedYes": "Ja", + "sharedNo": "Nein", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Stunde", + "sharedMinute": "Minute", + "sharedSecond": "Sekunde", + "sharedDays": "Tage", + "sharedHours": "Stunden", + "sharedMinutes": "Minuten", + "sharedDecimalDegrees": "Dezimalgrad", + "sharedDegreesDecimalMinutes": "Dezimalgrad Minuten", + "sharedDegreesMinutesSeconds": "Grad Minuten Sekunden", + "sharedName": "Name", + "sharedDescription": "Beschreibung", + "sharedSearch": "Suchen", + "sharedIconScale": "Icon-Skalierung", + "sharedGeofence": "Geo-Zaun", + "sharedGeofences": "Geo-Zäune", + "sharedCreateGeofence": "Geozaun erstellen", + "sharedNotifications": "Benachrichtigungen", + "sharedNotification": "Benachrichtigung", + "sharedAttributes": "Eigenschaften", + "sharedAttribute": "Eigenschaft", + "sharedDrivers": "Fahrer", + "sharedDriver": "Fahrer", + "sharedArea": "Gebiet", + "sharedSound": "Benachrichtigungston", + "sharedType": "Typ", + "sharedDistance": "Entfernung", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallonen", + "sharedUsGallon": "U.S. Gallonen", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Aktuelle Position übernehmen", + "sharedComputedAttribute": "Berechneter Wert", + "sharedComputedAttributes": "Berechnete Werte", + "sharedCheckComputedAttribute": "Berechneten Wert prüfen", + "sharedExpression": "Ausdruck", + "sharedDevice": "Gerät", + "sharedTest": "Test", + "sharedTestNotification": "Testbenachrichtigung senden", + "sharedTestNotificators": "Kanäle testen", + "sharedTestExpression": "Ausdruck testen", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalender", + "sharedFile": "Datei", + "sharedSearchDevices": "Geräte suchen", + "sharedSortBy": "Sortieren nach", + "sharedFilterMap": "Auf Karte filtern", + "sharedSelectFile": "Datei auswählen", + "sharedPhone": "Telefon", + "sharedRequired": "Erforderlich", + "sharedPreferences": "Einstellungen", + "sharedPermissions": "Berechtigungen", + "sharedConnections": "Verbindungen", + "sharedExtra": "Extra", + "sharedPrimary": "Primär", + "sharedSecondary": "Sekundär", + "sharedTypeString": "Text", + "sharedTypeNumber": "Nummer", + "sharedTypeBoolean": "Boolesche Variable", + "sharedTimezone": "Zeitzone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Gespeicherter Befehl", + "sharedSavedCommands": "Gespeicherte Befehle", + "sharedNew": "Neu...", + "sharedShowAddress": "Adresse anzeigen", + "sharedShowDetails": "Details", + "sharedDisabled": "Deaktiviert", + "sharedMaintenance": "Wartung", + "sharedDeviceAccumulators": "Zählerstände", + "sharedAlarms": "Alarme", + "sharedLocation": "Ort", + "sharedImport": "Import", + "sharedColumns": "Spalten", + "sharedDropzoneText": "Datei hierhin ziehen oder klicken", + "sharedLogs": "Protokolle", + "sharedLink": "Link", + "calendarSimple": "Einfach", + "calendarRecurrence": "Wiederholung", + "calendarOnce": "Einmalig", + "calendarDaily": "Täglich", + "calendarWeekly": "Wöchentlich", + "calendarMonthly": "Monatlich", + "calendarDays": "Tage", + "calendarSunday": "Sonntag", + "calendarMonday": "Montag", + "calendarTuesday": "Dienstag", + "calendarWednesday": "Mittwoch", + "calendarThursday": "Donnerstag", + "calendarFriday": "Freitag", + "calendarSaturday": "Samstag", + "attributeShowGeofences": "Geozäune anzeigen", + "attributeSpeedLimit": "Höchstgeschwindigkeit", + "attributeFuelDropThreshold": "Fuel Drop Schwelle", + "attributeFuelIncreaseThreshold": "Fuel Increase Schwelle", + "attributePolylineDistance": "Polyliniendistanz", + "attributeReportIgnoreOdometer": "Bericht: Kilometerzähler ignorieren", + "attributeWebReportColor": "Web: Berichtsfarbe", + "attributeDevicePassword": "Gerätepasswort", + "attributeDeviceImage": "Gerätebild", + "attributeDeviceInactivityStart": "Geräteinaktivität Start", + "attributeDeviceInactivityPeriod": "Geräteinaktivität Periode", + "attributeProcessingCopyAttributes": "Aktiv: Werte kopieren", + "attributeColor": "Farbe", + "attributeWebLiveRouteLength": "Web: Länge der Liveroute", + "attributeWebSelectZoom": "Web: Mit Auswahl vergrößern", + "attributeWebMaxZoom": "Web: Maximaler Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Gerätenamen", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS aktivieren", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS erforderlich", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL aktivieren", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Vertrauensstufe", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protokolle", + "attributeMailSmtpFrom": "Mail: SMTP Absender", + "attributeMailSmtpAuth": "Mail: SMTP Authentifizierung aktivieren", + "attributeMailSmtpUsername": "Mail: SMTP Benutzername", + "attributeMailSmtpPassword": "Mail: SMTP Passwort", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Attribute deaktivieren", + "attributeUiDisableGroups": "UI: Gruppen deaktivieren", + "attributeUiDisableEvents": "Oberfläche: Ereignisse deaktivieren", + "attributeUiDisableVehicleFeatures": "UI: Fahrzeugfunktionen deaktivieren", + "attributeUiDisableDrivers": "Oberfläche: Fahrer deaktivieren", + "attributeUiDisableComputedAttributes": "Oberfläche: Berechnete Werte deaktivieren", + "attributeUiDisableCalendars": "Oberfläche: Kalender deaktivieren", + "attributeUiDisableMaintenance": "Oberfläche: Wartung deaktivieren", + "attributeUiHidePositionAttributes": "Oberfläche: Positionsattribute ausblenden", + "attributeUiDisableLoginLanguage": "UI: Loginsprache deaktivieren", + "attributeNotificationTokens": "Benachrichtungsschlüssel", + "attributePopupInfo": "Popup Info", + "errorTitle": "Fehler", + "errorGeneral": "Ungültige Eingabe oder keine Berechtigung", + "errorConnection": "Verbindungsfehler", + "errorSocket": "Web Socket Verbindungsfehler", + "errorZero": "Darf nicht leer sein", + "userEmail": "Email", + "userPassword": "Passwort", + "userAdmin": "Admin", + "userRemember": "Erinnern", + "userExpirationTime": "Ablaufdatum", + "userDeviceLimit": "Gerätelimit", + "userUserLimit": "Benutzerlimit", + "userDeviceReadonly": "Gerät nur Betrachten", + "userLimitCommands": "Befehle begrenzen", + "userDisableReports": "Berichte deaktivieren", + "userFixedEmail": "Änderung der E-Mailadresse verbieten", + "userToken": "Schlüssel", + "userDeleteAccount": "Account löschen", + "userTemporary": "Temporär", + "loginTitle": "Anmeldung", + "loginLanguage": "Sprache", + "loginReset": "Passwort zurücksetzen", + "loginRegister": "Registrieren", + "loginLogin": "Anmelden", + "loginOpenId": "Login mit OpenID", + "loginFailed": "Falsche Emailadresse oder Passwort", + "loginCreated": "Neuer Benutzer wurde registriert", + "loginResetSuccess": "Prüfen Sie Ihre E-Mails", + "loginUpdateSuccess": "Neues Passwort gespeichert", + "loginLogout": "Abmelden", + "loginLogo": "Logo", + "loginTotpCode": "OTP-Code", + "loginTotpKey": "OTP-Schlüssel", + "devicesAndState": "Geräte und Status", + "deviceSelected": "Ausgewähltes Gerät", + "deviceTitle": "Geräte", + "devicePrimaryInfo": "Gerät Titel", + "deviceSecondaryInfo": "Gerät Detail", + "deviceIdentifier": "Kennung", + "deviceModel": "Modell", + "deviceContact": "Kontakt", + "deviceCategory": "Symbol", + "deviceLastUpdate": "Letzte Aktualisierung", + "deviceCommand": "Befehl", + "deviceFollow": "Folgen", + "deviceTotalDistance": "Gesamt Strecke", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unbekannt", + "deviceRegisterFirst": "Registriere dein erstes Gerät", + "deviceIdentifierHelp": "IMEI, Seriennummer or andere ID. Eingabe muss mit dem Identifier übereinstimmen, den das Gerät an den Server überträgt.", + "deviceShare": "Gerät freigeben", + "groupDialog": "Gruppe", + "groupParent": "Gruppe", + "groupNoGroup": "Keine Gruppe", + "settingsTitle": "Einstellungen", + "settingsUser": "Benutzerkonto", + "settingsGroups": "Gruppen", + "settingsServer": "Server", + "settingsUsers": "Benutzer", + "settingsDistanceUnit": "Entfernungseinheit", + "settingsAltitudeUnit": "Höhe Einheit", + "settingsSpeedUnit": "Geschwindigkeitseinheit", + "settingsVolumeUnit": "Volumeneinheit", + "settingsTwelveHourFormat": "12 Stunden Format", + "settingsCoordinateFormat": "Koordinatenformat", + "settingsServerVersion": "Server-Version", + "settingsAppVersion": "App-Version", + "settingsConnection": "Verbindung", + "settingsDarkMode": "Dunkelmodus", + "settingsTotpEnable": "OTP aktivieren", + "settingsTotpForce": "OTP erzwingen", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Intervall", + "settingsUpdateAvailable": "Es ist ein Update verfügbar.", + "settingsSupport": "Hilfe", + "reportTitle": "Berichte", + "reportScheduled": "Geplante Berichte", + "reportDevice": "Gerät", + "reportGroup": "Gruppe", + "reportFrom": "Von", + "reportTo": "Bis", + "reportShow": "Anzeigen", + "reportClear": "Leeren", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Gerätezeit", + "positionServerTime": "Serverzeit", + "positionValid": "Gültig", + "positionAccuracy": "Genauigkeit", + "positionLatitude": "Breitengrad", + "positionLongitude": "Längengrad", + "positionAltitude": "Höhe", + "positionSpeed": "Geschwindigkeit", + "positionCourse": "Richtung", + "positionAddress": "Adresse", + "positionProtocol": "Protokoll", + "positionDistance": "Distanz", + "positionRpm": "Drehzahl", + "positionFuel": "Treibstoff", + "positionPower": "Versorgungsspannung", + "positionBattery": "Batterie", + "positionRaw": "Roh", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelliten", + "positionSatVisible": "Sichtbare Satelliten", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Ereignis", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Kilometerzähler", + "positionServiceOdometer": "Kilometerzähler - Service", + "positionTripOdometer": "Kilometerzähler - Trip", + "positionHours": "Stunden", + "positionSteps": "Schritte", + "positionInput": "Input", + "positionHeartRate": "Herzfrequenz", + "positionOutput": "Output", + "positionBatteryLevel": "Batteriestand", + "positionFuelConsumption": "Kraftstoffverbrauch", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Zündung", + "positionFlags": "Flags", + "positionCharge": "Laden", + "positionIp": "IP", + "positionArchive": "Archiv", + "positionVin": "VIN", + "positionApproximate": "Geschätzt", + "positionThrottle": "Gasstellung", + "positionMotion": "Bewegung", + "positionArmed": "Gesichert", + "positionAcceleration": "Beschleunigung", + "positionTemp": "Temperatur", + "positionDeviceTemp": "Gerätetemperatur", + "positionCoolantTemp": "Kühlmitteltemperatur", + "positionOperator": "Netz", + "positionCommand": "Befehl", + "positionBlocked": "Blockiert", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Geschwindigkeit", + "positionObdOdometer": "OBD Kilometerzähler", + "positionDrivingTime": "Fahrzeit", + "positionDriverUniqueId": "Eindeutige ID des Fahrers", + "positionCard": "Karte", + "positionImage": "Bild", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Server Einstellungen", + "serverZoom": "Zoomen", + "serverRegistration": "Registrierung zulassen", + "serverReadonly": "Nur Lesen", + "serverForceSettings": "Einstellungen erzwingen", + "serverAnnouncement": "Ankündigung", + "serverName": "Server Name", + "serverDescription": "Server Beschreibung", + "serverColorPrimary": "Primäre Farbe", + "serverColorSecondary": "Sekundäre Farbe", + "serverLogo": "Logo", + "serverLogoInverted": "Umgekehrte Logografik", + "serverChangeDisable": "Serverwechsel deaktivieren", + "serverDisableShare": "Gerätefreigabe deaktivieren", + "mapTitle": "Karte", + "mapActive": "Aktive Karte", + "mapOverlay": "Karten Overlay", + "mapOverlayCustom": "Benutzerdefiniertes Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Wolken", + "mapOpenWeatherPrecipitation": "OpenWeather Niederschlag", + "mapOpenWeatherPressure": "OpenWeather Luftdruck", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperatur", + "mapLayer": "Karten Layer", + "mapCustom": "Benutzerdefiniert (XYZ)", + "mapCustomArcgis": "Benutzerdefiniert (ArcGIS)", + "mapCustomLabel": "Benutzerdefinierte Karte", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Straßen", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellit", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Strassenkarte", + "mapBingAerial": "Bing Luftbilder", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Material-Überwachung", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dunkel", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Kreis", + "mapShapePolyline": "Polylinie", + "mapLiveRoutes": "Live Route", + "mapDirection": "Richtung anzeigen", + "mapCurrentLocation": "Momentaner Standort", + "mapPoiLayer": "POI Ebene", + "mapClustering": "Marker zusammenfassen", + "mapOnSelect": "Karte bei Auswahl anzeigen", + "mapDefault": "Standartkarte", + "stateTitle": "Status", + "stateName": "Parameter", + "stateValue": "Wert", + "commandTitle": "Befehl", + "commandSend": "Senden", + "commandSent": "Befehl gesendet", + "commandQueued": "Befehl eingereiht", + "commandUnit": "Einheit", + "commandCustom": "Benutzerdefinierter Befehl", + "commandDeviceIdentification": "Gerätekennung", + "commandPositionSingle": "Einzelne Meldung", + "commandPositionPeriodic": "Regelmäßige Meldungen", + "commandPositionStop": "Meldungen beenden", + "commandEngineStop": "Motor gestoppt", + "commandEngineResume": "Motor gestartet", + "commandAlarmArm": "Scharf schalten", + "commandAlarmDisarm": "Unscharf schalten", + "commandAlarmDismiss": "Alarm abstellen", + "commandSetTimezone": "Zeitzone festlegen", + "commandRequestPhoto": "Foto anfordern", + "commandPowerOff": "Gerät ausschalten", + "commandRebootDevice": "Gerät neustarten", + "commandFactoryReset": "Zurücksetzen auf Werkseinstellungen", + "commandSendSms": "SMS senden", + "commandSendUssd": "USSD senden", + "commandSosNumber": "SOS-Nummer festlegen", + "commandSilenceTime": "Ruhezeit festlegen", + "commandSetPhonebook": "Telefonbuch festlegen", + "commandVoiceMessage": "Sprachnachricht", + "commandOutputControl": "Berichtsteuerung", + "commandVoiceMonitoring": "Stimmenmonitor", + "commandSetAgps": "AGPS einstellen", + "commandSetIndicator": "Blinker setzen", + "commandConfiguration": "Konfiguration", + "commandGetVersion": "Version abfragen", + "commandFirmwareUpdate": "Firmware upgraden", + "commandSetConnection": "Verbindung aufbauen", + "commandSetOdometer": "Kilometerzähler einstellen", + "commandGetModemStatus": "Modemstatus abrufen", + "commandGetDeviceStatus": "Gerätestatus abrufen", + "commandSetSpeedLimit": "Tempolimit einstellen", + "commandModePowerSaving": "Energiesparmodus", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Geozaun-Alarm einstellen", + "commandAlarmBattery": "Batterie-Alarm einstellen", + "commandAlarmSos": "SOS-Alarm einstellen", + "commandAlarmRemove": "Demontage-Alarm einstellen", + "commandAlarmClock": "Uhr-Alarm einstellen", + "commandAlarmSpeed": "Geschwinidkeits-Alarm einstellen", + "commandAlarmFall": "Sturz-Alarm einstellen", + "commandAlarmVibration": "Vibrations-Alarm einstellen", + "commandFrequency": "Frequenz", + "commandTimezone": "Zeitzonendifferenz", + "commandMessage": "Nachricht", + "commandRadius": "Radius", + "commandEnable": "Aktivieren", + "commandData": "Daten", + "commandIndex": "Index", + "commandPhone": "Rufnummer", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Alle Ereignisse", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unbekannt", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Gerät inaktiv", + "eventQueuedCommandSent": "Befehl in der Warteschlange senden", + "eventDeviceMoving": "Gerät in Bewegung", + "eventDeviceStopped": "Gerät gestoppt", + "eventDeviceOverspeed": "Tempolimit überschritten", + "eventDeviceFuelDrop": "Treibstoffleck", + "eventDeviceFuelIncrease": "Anstieg der Tankfüllung", + "eventCommandResult": "Ergebnis des Befehls", + "eventGeofenceEnter": "Geozaun betreten", + "eventGeofenceExit": "Geozaun verlassen", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Zündung an", + "eventIgnitionOff": "Zündung aus", + "eventMaintenance": "Wartung erforderlich", + "eventTextMessage": "Textnachricht empfangen", + "eventDriverChanged": "Fahrer gewechselt", + "eventMedia": "Medien", + "eventsScrollToLast": "Zur Neuesten scrollen", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarme", + "alarmGeneral": "Allgemein", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Bewegung", + "alarmLowspeed": "Geringe Geschwindigkeit", + "alarmOverspeed": "Geschwindigkeitsüberschreitung", + "alarmFallDown": "Sturz", + "alarmLowPower": "Geringe Spannung", + "alarmLowBattery": "Geringer Batteriestand", + "alarmFault": "Fehler", + "alarmPowerOff": "Ausschalten", + "alarmPowerOn": "Einschalten", + "alarmDoor": "Tür", + "alarmLock": "Sperren", + "alarmUnlock": "Entsperren", + "alarmGeofence": "Geozaun", + "alarmGeofenceEnter": "Geozaun betreten", + "alarmGeofenceExit": "Geofence verlassen", + "alarmGpsAntennaCut": "GPS Antenne entfernt", + "alarmAccident": "Unfall", + "alarmTow": "Abschleppen", + "alarmIdle": "Ruhezustand", + "alarmHighRpm": "Hohe Drehzahl", + "alarmHardAcceleration": "Starke Beschleunigung", + "alarmHardBraking": "Starkes Bremsen", + "alarmHardCornering": "Scharfes Kurvenfahren", + "alarmLaneChange": "Spurwechsel", + "alarmFatigueDriving": "Müdigkeitserkennung", + "alarmPowerCut": "Stromversorgung unterbrochen", + "alarmPowerRestored": "Stromversorgung wiederhergestellt", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperatur", + "alarmParking": "Parken", + "alarmBonnet": "Haube", + "alarmFootBrake": "Betriebsbremse", + "alarmFuelLeak": "Treibstoffleck", + "alarmTampering": "Manipulation", + "alarmRemoving": "Entfernen", + "notificationType": "Art der Benachrichtigung", + "notificationAlways": "Alle Geräte", + "notificationNotificators": "Kanäle", + "notificatorCommand": "Befehl", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Abspielen", + "reportCombined": "Kombiniert", + "reportRoute": "Route", + "reportEvents": "Ereignis", + "reportTrips": "Fahrten", + "reportStops": "Stopps", + "reportSummary": "Zusammenfassung", + "reportDaily": "tägliche Übersicht", + "reportChart": "Diagramm", + "reportConfigure": "Konfigurieren", + "reportEventTypes": "Ereignisarten", + "reportChartType": "Diagramm Typ", + "reportShowMarkers": "Zeige Markierungen", + "reportExport": "Export", + "reportEmail": "E-Mail Report", + "reportSchedule": "Planen", + "reportPeriod": "Zeitraum", + "reportCustom": "Eigene", + "reportToday": "Heute", + "reportYesterday": "Gestern", + "reportThisWeek": "Diese Woche", + "reportPreviousWeek": "Letzte Woche", + "reportThisMonth": "Dieser Monat", + "reportPreviousMonth": "Letzer Monat", + "reportDeviceName": "Gerätename", + "reportAverageSpeed": "Durchschnittsgeschwindigkeit", + "reportMaximumSpeed": "Höchstgeschwindigkeit", + "reportEngineHours": "Betriebsstunden", + "reportDuration": "Dauer", + "reportStartDate": "Beginn", + "reportStartTime": "Startzeit", + "reportStartAddress": "Startort", + "reportEndTime": "Zielzeit", + "reportEndAddress": "Zielort", + "reportSpentFuel": "Kraftstoffverbrauch", + "reportStartOdometer": "Kilometerstand Start", + "reportEndOdometer": "Kilometerstand Ende", + "statisticsTitle": "Statistiken", + "statisticsCaptureTime": "Zeitpunkt", + "statisticsActiveUsers": "Aktive Benutzer", + "statisticsActiveDevices": "Aktive Geräte", + "statisticsRequests": "Anfragen", + "statisticsMessagesReceived": "Empfangene Nachrichten", + "statisticsMessagesStored": "Gespeicherte Nachrichten", + "statisticsGeocoder": "Geocoder Anfragen", + "statisticsGeolocation": "Geolocation Anfragen", + "categoryArrow": "Pfeil", + "categoryDefault": "Standard", + "categoryAnimal": "Tier", + "categoryBicycle": "Fahrrad", + "categoryBoat": "Boot", + "categoryBus": "Bus", + "categoryCar": "Auto", + "categoryCamper": "Wohnmobil", + "categoryCrane": "Kran", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorrad", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Flugzeug", + "categoryShip": "Schiff", + "categoryTractor": "Traktor", + "categoryTrain": "Zug", + "categoryTram": "Straßenbahn", + "categoryTrolleybus": "Oberleitungsbus", + "categoryTruck": "LKW", + "categoryVan": "Van", + "categoryScooter": "Roller", + "maintenanceStart": "Start", + "maintenancePeriod": "Periode" +}
\ No newline at end of file diff --git a/legacy/web/l10n/el.json b/legacy/web/l10n/el.json new file mode 100644 index 00000000..ad2f2cf1 --- /dev/null +++ b/legacy/web/l10n/el.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Φόρτωση...", + "sharedHide": "Απόκρυψη", + "sharedSave": "Αποθήκευση", + "sharedUpload": "Upload", + "sharedSet": "Θέσε", + "sharedCancel": "Άκυρο", + "sharedCopy": "Copy", + "sharedAdd": "Προσθήκη", + "sharedEdit": "Επεξεργασία", + "sharedRemove": "Διαγραφή", + "sharedRemoveConfirm": "Διαγραφη στοιχείου;", + "sharedNoData": "Χωρίς δεδομένα", + "sharedSubject": "Subject", + "sharedYes": "Ναι", + "sharedNo": "Όχι", + "sharedKm": "χλμ", + "sharedMi": "μίλια", + "sharedNmi": "nmi", + "sharedMeters": "μ.", + "sharedFeet": "ft", + "sharedKn": "κόμβοι", + "sharedKmh": "χλμ/ώρα", + "sharedMph": "μίλια/ώρα", + "sharedHour": "Ώρα", + "sharedMinute": "Λεπτά", + "sharedSecond": "Δευτερόλεπτα", + "sharedDays": "ημέρες", + "sharedHours": "ώρες", + "sharedMinutes": "λεπτά", + "sharedDecimalDegrees": "Μοίρες", + "sharedDegreesDecimalMinutes": "Λεπτά μοίρας", + "sharedDegreesMinutesSeconds": "Δεύτερα μοίρας", + "sharedName": "Όνομα", + "sharedDescription": "Περιγραφή", + "sharedSearch": "Αναζήτηση", + "sharedIconScale": "Κλίμακα εικονιδίων", + "sharedGeofence": "Γεωφράχτης", + "sharedGeofences": "Γεωφράχτες", + "sharedCreateGeofence": "Δημιουργήστε Γεώφραγμα", + "sharedNotifications": "Ειδοποιήσεις", + "sharedNotification": "Ειδοποίηση", + "sharedAttributes": "Παράμετροι", + "sharedAttribute": "Παράμετρος", + "sharedDrivers": "Οδηγοί", + "sharedDriver": "Οδηγός", + "sharedArea": "Περιοχή", + "sharedSound": "Ήχος ειδοποίησης", + "sharedType": "Τύπος", + "sharedDistance": "Απόσταση", + "sharedHourAbbreviation": "ώ", + "sharedMinuteAbbreviation": "λ", + "sharedSecondAbbreviation": "δ", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "γαλόνι", + "sharedLiter": "Λίτρο", + "sharedImpGallon": "Γαλόνι Αγγλικό", + "sharedUsGallon": "Γαλόνι ΗΠΑ", + "sharedLiterPerHourAbbreviation": "λ/ώ", + "sharedGetMapState": "Λήψη κατάστασης χάρτη", + "sharedComputedAttribute": "Υπολογισμένο χαρακτηριστικό", + "sharedComputedAttributes": "Υπολογισμένα χαρακτηριστικά", + "sharedCheckComputedAttribute": "Ελέξτε την υπολογισμένη ιδιότητα", + "sharedExpression": "Έκφραση", + "sharedDevice": "Συσκευή", + "sharedTest": "Δοκιμή", + "sharedTestNotification": "Αποστολή δοκιμαστικής ειδοποίησης", + "sharedTestNotificators": "Δοκιμή καναλιών", + "sharedTestExpression": "Δοκιμή Διατύπωσης", + "sharedCalendar": "Ημερολόγιο", + "sharedCalendars": "Ημερολόγια", + "sharedFile": "Αρχείο", + "sharedSearchDevices": "Αναζήτηση συσκευών", + "sharedSortBy": "Ταξινόμηση κατά", + "sharedFilterMap": "Φίλτρο στον χάρτη", + "sharedSelectFile": "Επιλογή αρχείου", + "sharedPhone": "Τηλέφωνο", + "sharedRequired": "Απαραίτητο", + "sharedPreferences": "Προτιμήσεις", + "sharedPermissions": "Άδειες", + "sharedConnections": "Συνδέσεις", + "sharedExtra": "Επιπλέον", + "sharedPrimary": "Πρωτεύον", + "sharedSecondary": "Δευτερεύον", + "sharedTypeString": "Αλφαριθμητικό", + "sharedTypeNumber": "Αριθμός", + "sharedTypeBoolean": "Αληθές/Ψευδές", + "sharedTimezone": "Ζώνη ώρας", + "sharedInfoTitle": "Πληροφορίες", + "sharedSavedCommand": "Αποθηκευμένη Εντολή", + "sharedSavedCommands": "Αποθηκευμένες Εντολές", + "sharedNew": "Νέο...", + "sharedShowAddress": "Δείξε Διεύθυνση", + "sharedShowDetails": "Περισσότερες λεπτομέρειες", + "sharedDisabled": "Απενεργοποιημένο", + "sharedMaintenance": "Συντήρηση", + "sharedDeviceAccumulators": "Συσσωρευτές", + "sharedAlarms": "Συναγερμοί", + "sharedLocation": "Τοποθεσία", + "sharedImport": "Εισαγωγή", + "sharedColumns": "Στήλες", + "sharedDropzoneText": "Σύρετε και αποθέστε ένα αρχείο εδώ ή κάντε κλικ", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Απλό", + "calendarRecurrence": "Επανάληψη", + "calendarOnce": "Μια φορά", + "calendarDaily": "Καθημερινά", + "calendarWeekly": "Εβδομαδιαία", + "calendarMonthly": "Μηνιαίο", + "calendarDays": "Ημέρες", + "calendarSunday": "Κυριακή", + "calendarMonday": "Δευτέρα", + "calendarTuesday": "Τρίτη", + "calendarWednesday": "Τετάρτη", + "calendarThursday": "Πέμπτη", + "calendarFriday": "Παρασκευή", + "calendarSaturday": "Σάββατο", + "attributeShowGeofences": "Εμφάνιση γεωφραγμάτων", + "attributeSpeedLimit": "Όριο ταχύτητας", + "attributeFuelDropThreshold": "Όριο πτώσης καυσίμου", + "attributeFuelIncreaseThreshold": "Όριο αύξησης καυσίμου", + "attributePolylineDistance": "Πολυγραμμική Απόσταση", + "attributeReportIgnoreOdometer": "Αναφορά: Αγνόηση οδομέτρου", + "attributeWebReportColor": "Διαδίκτυο: Χρώμα Αναφοράς", + "attributeDevicePassword": "Κωδικός συσκευής", + "attributeDeviceImage": "Εικόνα συσκευής", + "attributeDeviceInactivityStart": "Αρχή αδράνειας συσκευής", + "attributeDeviceInactivityPeriod": "Περίοδος αδράνειας συσκευής", + "attributeProcessingCopyAttributes": "Επεξεργασία: Αντιγραφή Ιδιοτήτων", + "attributeColor": "Χρώμα", + "attributeWebLiveRouteLength": "Ιστός: Μήκος Ζωντανής Διαδρομής", + "attributeWebSelectZoom": "Ιστός: Επιλογή μεγέθυνσης", + "attributeWebMaxZoom": "Διαδίκτυο: Μέγιστη Μεγέθυνση", + "attributeTelegramChatId": "Αναγνωριστικό συνομιλίας Telegram", + "attributePushoverUserKey": "Κλειδί χρήστη Pushover", + "attributePushoverDeviceNames": "Ονόματα συσκευών Pushover", + "attributeMailSmtpHost": "Αλληλογραφία: Εξυπηρετητής SMTP", + "attributeMailSmtpPort": "Αλληλογραφία: Θύρα SMTP", + "attributeMailSmtpStarttlsEnable": "Αλληλογραφία: Ενεργοποίηση SMTP STARTLLS", + "attributeMailSmtpStarttlsRequired": "Αλληλογραφία: Απαιτούμενο SMTP STARTLLS", + "attributeMailSmtpSslEnable": "Αλληλογραφία: Ενεργοποίηση SMTP SSL", + "attributeMailSmtpSslTrust": "Αλληλογραφία: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Αλληλογραφία: SMTP SSL Πρωτόκολλα", + "attributeMailSmtpFrom": "Αλληλογραφία: SMTP Από", + "attributeMailSmtpAuth": "Αλληλογραφία: Ενεργοποίηση Πιστοποίησης SMTP", + "attributeMailSmtpUsername": "Αλληλογραφία: Κωδικός SMTP", + "attributeMailSmtpPassword": "Αλληλογραφία: SMTP Συνθηματικό", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "Διεπαφή: Απενεργοποίηση χαρακτηριστικών", + "attributeUiDisableGroups": "Διεπαφή: Απενεργοποίηση ομάδων", + "attributeUiDisableEvents": "Διεπαφή: Απενεργοποίηση Γεγονότων", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "Διεπαφή: Απενεργοποίηση Οδηγών", + "attributeUiDisableComputedAttributes": "Διεπαφή: Απενεργοποίηση Υπολογισμένων Ιδιοτήτων", + "attributeUiDisableCalendars": "Διεπαφή: Απενεργοποίηση Ημερολογίων", + "attributeUiDisableMaintenance": "Διεπαφή: Απενεργοποίηση συντήρησης", + "attributeUiHidePositionAttributes": "Διεπαφή: Απόκρυψη Ιδιοτήτων Θέσης", + "attributeUiDisableLoginLanguage": "Διεπαφή: Απενεργοποίηση γλώσσας σύνδεσης", + "attributeNotificationTokens": "Διακριτικά ειδοποίησης", + "attributePopupInfo": "Αναδυόμενη πληροφορία", + "errorTitle": "Σφάλμα", + "errorGeneral": "Μη έγκυρες παράμετροι ή παραβίαση περιορισμών", + "errorConnection": "Σφάλμα σύνδεσης", + "errorSocket": "Σφάλμα σύνδεσης στο διαδίκτυο", + "errorZero": "Δεν μπορεί να είναι μηδέν", + "userEmail": "Ηλ. διεύθυνση", + "userPassword": "Συνθηματικό", + "userAdmin": "Διαχειριστής", + "userRemember": "Απομνημόνευση", + "userExpirationTime": "Λήξη", + "userDeviceLimit": "Όριο συσκευής", + "userUserLimit": "Όριο χρήστη", + "userDeviceReadonly": "Συσκευή μόνο για Ανάγνωση", + "userLimitCommands": "Όριο Εντολών", + "userDisableReports": "Απανεργοποίηση αναφορών", + "userFixedEmail": "Δεν επιτρέπεται η αλλαγή email", + "userToken": "Λεκτικό", + "userDeleteAccount": "Διαγραφή λογαριασμού", + "userTemporary": "Temporary", + "loginTitle": "Σύνδεση", + "loginLanguage": "Γλώσσα", + "loginReset": "Επαναφορά κωδικού", + "loginRegister": "Εγγραφή", + "loginLogin": "Σύνδεση", + "loginOpenId": "Login with OpenID", + "loginFailed": "Εσφαλμένη διεύθυνση ή εσφαλμένο συνθηματικό", + "loginCreated": "Ο νέος χρήστης καταχωρήθηκε.", + "loginResetSuccess": "Ελέγξτε τα email σας", + "loginUpdateSuccess": "Το νέο συνθηματικό αποθηκεύθηκε", + "loginLogout": "Αποσύνδεση", + "loginLogo": "Λογότυπο", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Κατάσταση συσκευών", + "deviceSelected": "Επιλεγμένη συσκευή", + "deviceTitle": "Συσκευές", + "devicePrimaryInfo": "Τίτλος συσκευής", + "deviceSecondaryInfo": "Λεπτομέρεια συσκευής", + "deviceIdentifier": "Αναγνωριστικό", + "deviceModel": "Μοντέλο", + "deviceContact": "Επαφή", + "deviceCategory": "Κατηγορία", + "deviceLastUpdate": "Τελευταία ενημέρωση", + "deviceCommand": "Εντολή", + "deviceFollow": "Ακολουθώ", + "deviceTotalDistance": "Συνολική απόσταση", + "deviceStatus": "Κατάσταση", + "deviceStatusOnline": "Σε σύνδεση", + "deviceStatusOffline": "Χωρίς σύνδεση", + "deviceStatusUnknown": "Άγνωστο", + "deviceRegisterFirst": "Καταχωρίστε την πρώτη σας συσκευή", + "deviceIdentifierHelp": "IMEI, σειριακός αριθμός ή άλλο αναγνωριστικό. Πρέπει να ταιριάζει με τις αναφορές της συσκευής στον διακομιστή.", + "deviceShare": "Share Device", + "groupDialog": "Ομάδα", + "groupParent": "Ομάδα", + "groupNoGroup": "Χωρίς Ομάδα", + "settingsTitle": "Ρυθμίσεις", + "settingsUser": "Λογαριασμός", + "settingsGroups": "Ομάδες", + "settingsServer": "Εξυπηρετητής", + "settingsUsers": "Χρήστες", + "settingsDistanceUnit": "Μονάδα Απόστασης", + "settingsAltitudeUnit": "Υψομετρική Μονάδα", + "settingsSpeedUnit": "Μονάδα Ταχύτητας", + "settingsVolumeUnit": "Μονάδα Όγκου", + "settingsTwelveHourFormat": "12ώρη μορφή", + "settingsCoordinateFormat": "Τύπος Συντεταγμένων", + "settingsServerVersion": "Έκδοση διακομιστή", + "settingsAppVersion": "Έκδοση εφαρμογής", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Αναφορές", + "reportScheduled": "Προγραμματισμένες αναφορές", + "reportDevice": "Συσκευή", + "reportGroup": "Ομάδα", + "reportFrom": "Από", + "reportTo": "Έως", + "reportShow": "Προβολή", + "reportClear": "Καθαρισμός", + "linkGoogleMaps": "Χάρτες Google", + "linkAppleMaps": "Χάρτες Apple", + "linkStreetView": "Street View", + "positionFixTime": "Διόρθωση χρόνου", + "positionDeviceTime": "Χρόνος συσκευής", + "positionServerTime": "Χρόνος Διακομιστή", + "positionValid": "Έγκυρο", + "positionAccuracy": "Ακρίβεια", + "positionLatitude": "Γ. πλάτος", + "positionLongitude": "Γ. μήκος", + "positionAltitude": "Υψόμετρο", + "positionSpeed": "Ταχύτητα", + "positionCourse": "Πορεία", + "positionAddress": "Διεύθυνση", + "positionProtocol": "Πρωτόκολλο", + "positionDistance": "Απόσταση", + "positionRpm": "ΣΑΛ", + "positionFuel": "Καύσιμο", + "positionPower": "Ισχύς", + "positionBattery": "Συσσωρευτής", + "positionRaw": "Ακατέργαστο", + "positionIndex": "Δείκτης", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Δορυφόροι", + "positionSatVisible": "Ορατοί Δορυφόροι", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Περιαγωγή", + "positionEvent": "Γεγονός", + "positionAlarm": "Συναγερμός", + "positionStatus": "Κατάσταση", + "positionOdometer": "Οδόμετρο", + "positionServiceOdometer": "Οδόμετρο Σέρβις", + "positionTripOdometer": "Οδόμετρο Διαδρομής", + "positionHours": "Ώρες", + "positionSteps": "Βήματα", + "positionInput": "Είσοδος", + "positionHeartRate": "Heart Rate", + "positionOutput": "Έξοδος", + "positionBatteryLevel": "Επίπεδο Συσσωρευτή", + "positionFuelConsumption": "Κατανάλωση καυσίμου", + "positionRfid": "RFID", + "positionVersionFw": "Έκδοση λογισμικού", + "positionVersionHw": "Έκδοση υλικού", + "positionIgnition": "Ανάφλεξη", + "positionFlags": "Σημαίες", + "positionCharge": "Φόρτιση", + "positionIp": "IP", + "positionArchive": "Αρχείο", + "positionVin": "VIN", + "positionApproximate": "Κατά προσέγγιση", + "positionThrottle": "Γκάζι", + "positionMotion": "Κίνηση", + "positionArmed": "Οπλισμένο", + "positionAcceleration": "Επιτάχυνση", + "positionTemp": "Θερμοκρασία", + "positionDeviceTemp": "Θερμοκρασία συσκευής", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Χειριστής", + "positionCommand": "Εντολή", + "positionBlocked": "Αποκλεισμένο", + "positionDtcs": "DTCs", + "positionObdSpeed": "Ταχύτητα OBD", + "positionObdOdometer": "Χιλιομετρητής OBD", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Αναγνωριστικό οδηγού", + "positionCard": "Card", + "positionImage": "Εικόνα", + "positionVideo": "Βίντεο", + "positionAudio": "Ήχος", + "serverTitle": "Ρυθμίσεις εξυπηρετητή", + "serverZoom": "Εστίαση", + "serverRegistration": "Εγγραφή", + "serverReadonly": "Μόνο για ανάγνωση", + "serverForceSettings": "Επιβολή ρυθμίσεων", + "serverAnnouncement": "Αναγγελία", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Χάρτης", + "mapActive": "Ενεργοί Χάρτες", + "mapOverlay": "Υπέρθεση Χάρτη", + "mapOverlayCustom": "Προσαρμοσμένη Υπέρθεση", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Επιλογή χάρτη", + "mapCustom": "Προσαρμοσμένο (XYZ)", + "mapCustomArcgis": "Προσαρμοσμένο (ArcGIS)", + "mapCustomLabel": "Προσαρμοσμένος χάρτης", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "OpenTopoMap", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Κλειδί Bing Maps", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Χαρτογραφική υπηρεσία", + "mapMapboxStreets": "Οδικός Mapbox", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Υπαίθριος Mapbox", + "mapMapboxSatellite": "Δορυφορικός Mapbox", + "mapMapboxKey": "Mapbox Διακριτικό Πρόσβασης", + "mapMapTilerBasic": "Βασικός MapTiler", + "mapMapTilerHybrid": "Υβριδικός MapTiler", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "Οδική ΤοποθεσίαIQ", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Πολύγωνο", + "mapShapeCircle": "Κύκλος", + "mapShapePolyline": "Πολύγραμμο", + "mapLiveRoutes": "Ζωντανές διαδρομές", + "mapDirection": "Εμφάνιση κατεύθυνσης", + "mapCurrentLocation": "Τρέχουσα τοποθεσία", + "mapPoiLayer": "Επίπεδο POI", + "mapClustering": "Ομαδοποίηση δεικτών", + "mapOnSelect": "Εμφάνιση χάρτη κατά την επιλογή", + "mapDefault": "Προεπιλεγμένος χάρτης", + "stateTitle": "Κατάσταση", + "stateName": "Παράμετρος", + "stateValue": "Τιμή", + "commandTitle": "Εντολή", + "commandSend": "Αποστολή", + "commandSent": "Εντολή εστάλη", + "commandQueued": "Εντολή σε ουρά", + "commandUnit": "Μονάδα", + "commandCustom": "Προσαρμοσμένη εντολή", + "commandDeviceIdentification": "Αναγνωριστικό συσκευής", + "commandPositionSingle": "Ενιαία αναφορά", + "commandPositionPeriodic": "Περιοδικές αναφορές", + "commandPositionStop": "Λήξη αναφορών", + "commandEngineStop": "Κλείσιμο", + "commandEngineResume": "Επανεκκίνηση", + "commandAlarmArm": "Ενεργοποίηση συναγερμού", + "commandAlarmDisarm": "Απενεργοποίηση συναγερμού", + "commandAlarmDismiss": "Απενεργοποίηση συναγερμού", + "commandSetTimezone": "Καθορισμός ζώνης ώρας", + "commandRequestPhoto": "Αίτημα για φωτογραφία", + "commandPowerOff": "Απενεργοποίηση συσκευής", + "commandRebootDevice": "Επανεκκίνηση συσκευής", + "commandFactoryReset": "Επαναφορά εργοστασιακών ρυθμίσεων", + "commandSendSms": "Αποστολή γραπτού μηνύματος (SMS)", + "commandSendUssd": "Αποστολή USSD", + "commandSosNumber": "Καθορισμός αριθμού SOS", + "commandSilenceTime": "Καθορισμός χρόνου σιωπής", + "commandSetPhonebook": "Καθορισμός τηλεφωνικού καταλόγου", + "commandVoiceMessage": "Φωνητικό μήνυμα", + "commandOutputControl": "Έλεγχος αποτελεσμάτων", + "commandVoiceMonitoring": "Παρακολούθηση Φωνής", + "commandSetAgps": "Ρύθμιση AGPS", + "commandSetIndicator": "Θέσε Δείκτη", + "commandConfiguration": "Διαμόρφωση", + "commandGetVersion": "Λήψη Έκδοσης", + "commandFirmwareUpdate": "Ενημέρωση λογισμικού", + "commandSetConnection": "Θέσε Σύνδεση", + "commandSetOdometer": "Θέσε Οδόμετρο", + "commandGetModemStatus": "Λήψη Κατάσταση Αποδιαμορφωτή", + "commandGetDeviceStatus": "Λήψη Κατάστασης Συσκευής", + "commandSetSpeedLimit": "Ρύθμιση ορίου ταχύτητας", + "commandModePowerSaving": "Λειτουργία εξοικονόμησης ενέργειας", + "commandModeDeepSleep": "Λειτουργία βαθύ ύπνου", + "commandAlarmGeofence": "Ρύθμιση συναγερμού Geofence", + "commandAlarmBattery": "Ρύθμιση συναγερμού μπαταρίας", + "commandAlarmSos": "Ρύθμιση συναγερμού SOS", + "commandAlarmRemove": "Ρύθμιση αφαίρεσης συναγερμού", + "commandAlarmClock": "Ρύθμιση ξυπνητηριού", + "commandAlarmSpeed": "Ρύθμιση συναγερμού ταχύτητας", + "commandAlarmFall": "Ρύθμιση συναγερμού πτώσης", + "commandAlarmVibration": "Ρύθμιση συναγερμού κραδασμών", + "commandFrequency": "Συχνότητα", + "commandTimezone": "Μετατόπιση ζώνης ώρας", + "commandMessage": "Μήνυμα", + "commandRadius": "Ακτίνα", + "commandEnable": "Ενεργοποίηση", + "commandData": "Δεδομένα", + "commandIndex": "Δείκτης", + "commandPhone": "Τηλεφωνικός αριθμός", + "commandServer": "Εξυπηρετητής", + "commandPort": "Θύρα", + "eventAll": "Όλα τα γεγονότα", + "eventDeviceOnline": "Κατάσταση σε σύνδεση", + "eventDeviceUnknown": "Άγνωστη κατάσταση", + "eventDeviceOffline": "Κατάσταση εκτός σύνδεσης", + "eventDeviceInactive": "Αδρανής συσκευή", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Συσκευή εν κινήσει", + "eventDeviceStopped": "Συσκευή σε στάση", + "eventDeviceOverspeed": "Υπέρβαση ορίου ταχύτητας", + "eventDeviceFuelDrop": "Πτώση καυσίμων", + "eventDeviceFuelIncrease": "Αύξηση καυσίμου", + "eventCommandResult": "Αποτέλεσμα εντολής", + "eventGeofenceEnter": "Είσοδος σε γεωφράκτη", + "eventGeofenceExit": "Έξοδος από γεωφράκτη", + "eventAlarm": "Συναγερμός", + "eventIgnitionOn": "Μηχανή αναμμένη", + "eventIgnitionOff": "Μηχανή σβηστή", + "eventMaintenance": "Απαιτείται συντήρηση", + "eventTextMessage": "Ελήφθη γραπτό μήνυμα", + "eventDriverChanged": "Ο οδηγός άλλαξε", + "eventMedia": "Media", + "eventsScrollToLast": "Κύλιση στο τέλος", + "eventsSoundEvents": "Ήχοι Ειδοποιήσεων", + "eventsSoundAlarms": "Ήχοι Συναγερμού", + "alarmGeneral": "Γενικά", + "alarmSos": "SOS", + "alarmVibration": "Δόνηση", + "alarmMovement": "Κίνηση", + "alarmLowspeed": "Χαμηλή ταχύτητα", + "alarmOverspeed": "Υπέρβαση ορίου ταχύτητας", + "alarmFallDown": "Πτώση", + "alarmLowPower": "Χαμηλή ισχύς", + "alarmLowBattery": "Χαμηλή μπαταρία", + "alarmFault": "Σφάλμα", + "alarmPowerOff": "Απενεργοποίηση", + "alarmPowerOn": "Ενεργοποίηση", + "alarmDoor": "Πόρτα", + "alarmLock": "Κλείδωμα", + "alarmUnlock": "Ξεκλείδωμα", + "alarmGeofence": "Γεωφράκτης", + "alarmGeofenceEnter": "Είσοδος σε γεωφράκτη", + "alarmGeofenceExit": "Είσοδος από γεωφράκτη", + "alarmGpsAntennaCut": "Αποκοπή κεραίας GPS", + "alarmAccident": "Ατύχημα", + "alarmTow": "Ρυμούλκηση", + "alarmIdle": "Αδρανές", + "alarmHighRpm": "Υψηλές στροφές μηχανής", + "alarmHardAcceleration": "Απότομη επιτάχυνση", + "alarmHardBraking": "Απότομο φρενάρισμα", + "alarmHardCornering": "Απότομο στρίψιμο", + "alarmLaneChange": "Αλλαγή λωρίδας", + "alarmFatigueDriving": "Κόπωση Οδήγησης", + "alarmPowerCut": "Απώλεια ενέργειας", + "alarmPowerRestored": "Ισχύς αποκαταστάθηκε", + "alarmJamming": "Παρεμβολές", + "alarmTemperature": "Θερμοκρασία", + "alarmParking": "Στάθμευση", + "alarmBonnet": "Καπό", + "alarmFootBrake": "Ποδόφρενο", + "alarmFuelLeak": "Διαρροή καυσίμου", + "alarmTampering": "Παραποίηση", + "alarmRemoving": "Αφαίρεση", + "notificationType": "Τύπος ειδοποίησης", + "notificationAlways": "Όλες οι συσκευές", + "notificationNotificators": "Κανάλια", + "notificatorCommand": "Εντολή", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Επανάληψη", + "reportCombined": "Σε συνδυασμό", + "reportRoute": "Διαδρομή", + "reportEvents": "Γεγονότα", + "reportTrips": "Ταξίδια", + "reportStops": "Στάσεις", + "reportSummary": "Περίληψη", + "reportDaily": "Επισκόπιση ημέρας", + "reportChart": "Διάγραμμα", + "reportConfigure": "Διαμόρφωση", + "reportEventTypes": "Tύποι γεγονότος", + "reportChartType": "Τύπος διαγράμματος", + "reportShowMarkers": "Δείξε Δείκτες", + "reportExport": "Εξαγωγή", + "reportEmail": "Αποστολή αναφοράς με email", + "reportSchedule": "Πρόγραμμα", + "reportPeriod": "Περίοδος", + "reportCustom": "Προσαρμοσμένος", + "reportToday": "Σήμερα", + "reportYesterday": "Χθες", + "reportThisWeek": "Τρέχουσα Εβδομάδα", + "reportPreviousWeek": "Προηγούμενη Εβδομάδα", + "reportThisMonth": "Τρέχων Μήνας", + "reportPreviousMonth": "Προηγούμενος Μήνας", + "reportDeviceName": "Όνομα συσκευής", + "reportAverageSpeed": "Μέση ταχύτητα", + "reportMaximumSpeed": "Μέγιστη ταχύτητα", + "reportEngineHours": "Ώρες Μηχανής", + "reportDuration": "Διάρκεια", + "reportStartDate": "Ημερομηνία έναρξης", + "reportStartTime": "Ώρα έναρξης", + "reportStartAddress": "Διεύθυνση αφετηρίας", + "reportEndTime": "Ώρα λήξης", + "reportEndAddress": "Διεύθυνση τερματισμού", + "reportSpentFuel": "Κατανάλωση καυσίμων", + "reportStartOdometer": "Έναρξη χιλιομετρητή", + "reportEndOdometer": "Τέλος χιλιομετρητή", + "statisticsTitle": "Στατιστικά", + "statisticsCaptureTime": "Ώρα Καταγραφής", + "statisticsActiveUsers": "Ενεργοί Χρήστες", + "statisticsActiveDevices": "Ενεργές Συσκευές", + "statisticsRequests": "Αιτήματα", + "statisticsMessagesReceived": "Εισερχόμενα Μυνήματα", + "statisticsMessagesStored": "Αποθηκευμένα Μυνήματα", + "statisticsGeocoder": "Αιτήματα Γεωκωδικοποιητή", + "statisticsGeolocation": "Αιτήματα Γεωτοποθέτησης", + "categoryArrow": "Βέλος", + "categoryDefault": "Προκαθορισμένο", + "categoryAnimal": "Ζώο", + "categoryBicycle": "Ποδήλατο", + "categoryBoat": "Πλοίο", + "categoryBus": "Λεωφορείο", + "categoryCar": "Αυτοκίνητο", + "categoryCamper": "Camper", + "categoryCrane": "Γερανός", + "categoryHelicopter": "Ελικόπτερο", + "categoryMotorcycle": "Μοτοσικλέτα", + "categoryOffroad": "Εκτός δρόμου", + "categoryPerson": "Άτομο", + "categoryPickup": "Αγροτικό", + "categoryPlane": "Αεροπλάνο", + "categoryShip": "Πλοίο", + "categoryTractor": "Ρυμουλκό", + "categoryTrain": "Τραίνο", + "categoryTram": "Τραμ", + "categoryTrolleybus": "Τρόλεϊ", + "categoryTruck": "Φορτηγό", + "categoryVan": "Κλειστό Φορτηγό", + "categoryScooter": "Σκούτερ", + "maintenanceStart": "Εκκίνηση", + "maintenancePeriod": "Περίοδος" +}
\ No newline at end of file diff --git a/legacy/web/l10n/en.json b/legacy/web/l10n/en.json new file mode 100644 index 00000000..45b2552f --- /dev/null +++ b/legacy/web/l10n/en.json @@ -0,0 +1,569 @@ +{ + "sharedLoading": "Loading...", + "sharedHide": "Hide", + "sharedSave": "Save", + "sharedSet": "Set", + "sharedCancel": "Cancel", + "sharedAdd": "Add", + "sharedEdit": "Edit", + "sharedRemove": "Remove", + "sharedRemoveConfirm": "Remove item?", + "sharedNoData": "No data", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Hour", + "sharedMinute": "Minute", + "sharedSecond": "Second", + "sharedDays": "days", + "sharedHours": "hours", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "Decimal Degrees", + "sharedDegreesDecimalMinutes": "Degrees Decimal Minutes", + "sharedDegreesMinutesSeconds": "Degrees Minutes Seconds", + "sharedName": "Name", + "sharedDescription": "Description", + "sharedSearch": "Search", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notifications", + "sharedNotification": "Notification", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "Area", + "sharedSound": "Notification Sound", + "sharedType": "Type", + "sharedDistance": "Distance", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Get Map State", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "Device", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Calendar", + "sharedCalendars": "Calendars", + "sharedFile": "File", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Select File", + "sharedPhone": "Phone", + "sharedRequired": "Required", + "sharedPreferences": "Preferences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Timezone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Speed Limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Error", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Connection error", + "errorSocket": "Web socket connection error", + "errorZero": "Can't be zero", + "userEmail": "Email", + "userPassword": "Password", + "userAdmin": "Admin", + "userRemember": "Remember", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Device Limit", + "userUserLimit": "User Limit", + "userDeviceReadonly": "Device Readonly", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "loginTitle": "Login", + "loginLanguage": "Language", + "loginReset": "Reset Password", + "loginRegister": "Register", + "loginLogin": "Login", + "loginOpenId": "Login with OpenID", + "loginFailed": "Incorrect email address or password", + "loginCreated": "New user has been registered", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Logout", + "loginLogo": "Logo", + "devicesAndState": "Devices and State", + "deviceSelected": "Selected Device", + "deviceTitle": "Devices", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifier", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Category", + "deviceLastUpdate": "Last Update", + "deviceCommand": "Command", + "deviceFollow": "Follow", + "deviceTotalDistance": "Total Distance", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "groupDialog": "Group", + "groupParent": "Group", + "groupNoGroup": "No Group", + "settingsTitle": "Settings", + "settingsUser": "Account", + "settingsGroups": "Groups", + "settingsServer": "Server", + "settingsUsers": "Users", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "12-hour Format", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "reportTitle": "Reports", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Device", + "reportGroup": "Group", + "reportFrom": "From", + "reportTo": "To", + "reportShow": "Show", + "reportClear": "Clear", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Valid", + "positionAccuracy": "Accuracy", + "positionLatitude": "Latitude", + "positionLongitude": "Longitude", + "positionAltitude": "Altitude", + "positionSpeed": "Speed", + "positionCourse": "Course", + "positionAddress": "Address", + "positionProtocol": "Protocol", + "positionDistance": "Distance", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Server Settings", + "serverZoom": "Zoom", + "serverRegistration": "Registration", + "serverReadonly": "Readonly", + "serverForceSettings": "Force Settings", + "serverAnnouncement": "Announcement", + "mapTitle": "Map", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Map Layer", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "State", + "stateName": "Attribute", + "stateValue": "Value", + "commandTitle": "Command", + "commandSend": "Send", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Unit", + "commandCustom": "Custom command", + "commandDeviceIdentification": "Device Identification", + "commandPositionSingle": "Single Reporting", + "commandPositionPeriodic": "Periodic Reporting", + "commandPositionStop": "Stop Reporting", + "commandEngineStop": "Engine Stop", + "commandEngineResume": "Engine Resume", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Reboot Device", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frequency", + "commandTimezone": "Timezone Offset", + "commandMessage": "Message", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Phone Number", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "All Events", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Maintenance required", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Type of Notification", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "Configure", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "Show Markers", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Device Name", + "reportAverageSpeed": "Average Speed", + "reportMaximumSpeed": "Maximum Speed", + "reportEngineHours": "Engine Hours", + "reportDuration": "Duration", + "reportStartDate": "Start Date", + "reportStartTime": "Start Time", + "reportStartAddress": "Start Address", + "reportEndTime": "End Time", + "reportEndAddress": "End Address", + "reportSpentFuel": "Spent Fuel", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistics", + "statisticsCaptureTime": "Capture Time", + "statisticsActiveUsers": "Active Users", + "statisticsActiveDevices": "Active Devices", + "statisticsRequests": "Requests", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Arrow", + "categoryDefault": "Default", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicycle", + "categoryBoat": "Boat", + "categoryBus": "Bus", + "categoryCar": "Car", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motorcycle", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Plane", + "categoryShip": "Ship", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truck", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +} diff --git a/legacy/web/l10n/es.json b/legacy/web/l10n/es.json new file mode 100644 index 00000000..a0405eb1 --- /dev/null +++ b/legacy/web/l10n/es.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Cargando…", + "sharedHide": "Ocultar", + "sharedSave": "Guardar", + "sharedUpload": "Cargar", + "sharedSet": "Establecer", + "sharedCancel": "Cancelar", + "sharedCopy": "Copiar", + "sharedAdd": "Añadir", + "sharedEdit": "Editar", + "sharedRemove": "Eliminar", + "sharedRemoveConfirm": "¿Eliminar elemento?", + "sharedNoData": "Sin datos", + "sharedSubject": "Asunto", + "sharedYes": "Si", + "sharedNo": "No", + "sharedKm": "Km", + "sharedMi": "MI", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Nudos", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Hora", + "sharedMinute": "Minuto", + "sharedSecond": "Segundo", + "sharedDays": "Días", + "sharedHours": "Horas", + "sharedMinutes": "minutos", + "sharedDecimalDegrees": "Grados", + "sharedDegreesDecimalMinutes": "Minutos", + "sharedDegreesMinutesSeconds": "Segundos", + "sharedName": "Nombre", + "sharedDescription": "Descripción", + "sharedSearch": "Buscar", + "sharedIconScale": "Escala de los iconos", + "sharedGeofence": "Geo-Zona", + "sharedGeofences": "Geo-Zonas", + "sharedCreateGeofence": "Crear Geo-Zona", + "sharedNotifications": "Notificaciones", + "sharedNotification": "Notificación", + "sharedAttributes": "Atributos", + "sharedAttribute": "Atributo", + "sharedDrivers": "Conductores", + "sharedDriver": "Conductor", + "sharedArea": "Área", + "sharedSound": "Sonido de notificación", + "sharedType": "Tipo", + "sharedDistance": "Distancia", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "I", + "sharedGallonAbbreviation": "Galón", + "sharedLiter": "Litro", + "sharedImpGallon": "Galón Imp.", + "sharedUsGallon": "Galón U.S.", + "sharedLiterPerHourAbbreviation": "L/h", + "sharedGetMapState": "Obtener Estado del Mapa", + "sharedComputedAttribute": "Atributo calculado", + "sharedComputedAttributes": "Atributos calculados", + "sharedCheckComputedAttribute": "Revisar atributo calculado", + "sharedExpression": "Expresión", + "sharedDevice": "Dispositivo", + "sharedTest": "Test", + "sharedTestNotification": "Enviar notificación de prueba", + "sharedTestNotificators": "Canales Test", + "sharedTestExpression": "Expresión Test", + "sharedCalendar": "Calendario", + "sharedCalendars": "Calendarios", + "sharedFile": "Archivo", + "sharedSearchDevices": "Buscar Dispositivos", + "sharedSortBy": "Ordenar por", + "sharedFilterMap": "Filtrar en Mapa", + "sharedSelectFile": "Seleccione archivo", + "sharedPhone": "Teléfono", + "sharedRequired": "Obligatorio", + "sharedPreferences": "Preferencias", + "sharedPermissions": "Permisos", + "sharedConnections": "Conexiones", + "sharedExtra": "Extra", + "sharedPrimary": "Principal", + "sharedSecondary": "Secundario", + "sharedTypeString": "Cadena", + "sharedTypeNumber": "Número", + "sharedTypeBoolean": "Booleano", + "sharedTimezone": "Zona Horaria", + "sharedInfoTitle": "Información", + "sharedSavedCommand": "Comando guardado", + "sharedSavedCommands": "Comandos guardados", + "sharedNew": "Nuevo…", + "sharedShowAddress": "Mostrar calle", + "sharedShowDetails": "Más detalles", + "sharedDisabled": "Deshabilitado", + "sharedMaintenance": "Mantenimientos", + "sharedDeviceAccumulators": "Acumulador", + "sharedAlarms": "Alarmas", + "sharedLocation": "Ubicación", + "sharedImport": "Importar", + "sharedColumns": "Columnas", + "sharedDropzoneText": "Arrastra y suelta el archivo aquí o pulsa", + "sharedLogs": "Registros", + "sharedLink": "Enlace", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrente", + "calendarOnce": "Una vez", + "calendarDaily": "Diario", + "calendarWeekly": "Semanal", + "calendarMonthly": "Mensual", + "calendarDays": "Días", + "calendarSunday": "Domingo", + "calendarMonday": "Lunes", + "calendarTuesday": "Martes", + "calendarWednesday": "Miércoles", + "calendarThursday": "Jueves", + "calendarFriday": "Viernes", + "calendarSaturday": "Sábado", + "attributeShowGeofences": "Mostrar Geo-Zonas", + "attributeSpeedLimit": "Límite de velocidad", + "attributeFuelDropThreshold": "Umbral de pérdida de combustible", + "attributeFuelIncreaseThreshold": "Umbral del subida de combustible", + "attributePolylineDistance": "Distancia de polilínea", + "attributeReportIgnoreOdometer": "Informe: Ignorar el odómetro", + "attributeWebReportColor": "Web: Color de informe", + "attributeDevicePassword": "Contraseña de dispositivo", + "attributeDeviceImage": "Imagen del dispositivo", + "attributeDeviceInactivityStart": "Inicio de inactividad del dispositivo", + "attributeDeviceInactivityPeriod": "Periodo de inactividad del dispositivo", + "attributeProcessingCopyAttributes": "Procesando: Copia de atributos", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Longitud de la ruta en directo", + "attributeWebSelectZoom": "Web: hacer zoom al seleccionar", + "attributeWebMaxZoom": "Web: Zoom máximo", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Nombres de Dispositivo", + "attributeMailSmtpHost": "Correo: Servidor SMTP", + "attributeMailSmtpPort": "Correo: Puerto SMTP", + "attributeMailSmtpStarttlsEnable": "Correo: Activar SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Correo: SMTP STARTTLS requerido", + "attributeMailSmtpSslEnable": "Correo: Activar SMTP SSL", + "attributeMailSmtpSslTrust": "Correo: SMTP SSL de confianza", + "attributeMailSmtpSslProtocols": "Correo: protocolos SMTP SSL", + "attributeMailSmtpFrom": "Correo: SMTP desde", + "attributeMailSmtpAuth": "Correo: Activar autenticación SMTP", + "attributeMailSmtpUsername": "Correo: Nombre de usuario SMTP", + "attributeMailSmtpPassword": "Correo: Contraseña SMTP", + "attributeUiDisableSavedCommands": "UI: Deshabilitar Comandos guardados", + "attributeUiDisableAttributes": "UI: Deshabilitar Atributos", + "attributeUiDisableGroups": "UI: Deshabilitar Grupos", + "attributeUiDisableEvents": "UI: Deshabilitar panel Eventos", + "attributeUiDisableVehicleFeatures": "UI: Desactivar características del vehículo", + "attributeUiDisableDrivers": "UI: Desactivar Conductores", + "attributeUiDisableComputedAttributes": "UI: Desactivar Atributos calculados", + "attributeUiDisableCalendars": "UI: Desactivar Calendario", + "attributeUiDisableMaintenance": "UI: Deshabilitar Mantenimiento", + "attributeUiHidePositionAttributes": "UI: Ocultar Atributos de Posición", + "attributeUiDisableLoginLanguage": "UI: Deshabilitar Idioma de inicio de sesión", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Información popup", + "errorTitle": "Error", + "errorGeneral": "Parámetros no válidos o fuera de los límites", + "errorConnection": "Error en la conexión", + "errorSocket": "Error del Web-Socket", + "errorZero": "No puede ser cero", + "userEmail": "Email", + "userPassword": "Contraseña", + "userAdmin": "Administrador", + "userRemember": "Recordar", + "userExpirationTime": "Caducidad", + "userDeviceLimit": "Límite de dispositivos", + "userUserLimit": "Límite de usuarios", + "userDeviceReadonly": "Dispositivo de solo lectura", + "userLimitCommands": "Limitar Comandos", + "userDisableReports": "Deshabilitar Informes", + "userFixedEmail": "No cambiar email", + "userToken": "Token Acceso", + "userDeleteAccount": "Borrar cuenta", + "userTemporary": "Temporal", + "loginTitle": "Iniciar sesión", + "loginLanguage": "Idioma", + "loginReset": "Reiniciar contraseña", + "loginRegister": "Registrarse", + "loginLogin": "Iniciar sesión", + "loginOpenId": "Iniciar sesión con OpenID", + "loginFailed": "Email o contraseña incorrecta", + "loginCreated": "Se ha registrado un nuevo usuario", + "loginResetSuccess": "Comprueba tu email", + "loginUpdateSuccess": "Se ha creado la nueva contraseña", + "loginLogout": "Cerrar Sesión", + "loginLogo": "Logotipo", + "loginTotpCode": "Código de un solo uso", + "loginTotpKey": "Llave de un solo uso", + "devicesAndState": "Dispositivos y Estado", + "deviceSelected": "Dispositivo seleccionado", + "deviceTitle": "Dispositivos", + "devicePrimaryInfo": "Título del dispositivo", + "deviceSecondaryInfo": "Detalles del dispositivo", + "deviceIdentifier": "Identificador", + "deviceModel": "Modelo", + "deviceContact": "Contacto", + "deviceCategory": "Categoría", + "deviceLastUpdate": "Última Actualización", + "deviceCommand": "Comando", + "deviceFollow": "Seguir", + "deviceTotalDistance": "Distancia Total", + "deviceStatus": "Estado", + "deviceStatusOnline": "En línea", + "deviceStatusOffline": "Fuera de línea", + "deviceStatusUnknown": "Desconocido", + "deviceRegisterFirst": "Registre su primer dispositivo", + "deviceIdentifierHelp": "El IMEI, numero de serie u otro id, tiene que ser igual que el identificador del dispositivo que reporta al servidor.", + "deviceShare": "Compartir dispositivo", + "groupDialog": "Grupo", + "groupParent": "Grupo", + "groupNoGroup": "Sin grupo", + "settingsTitle": "Ajustes", + "settingsUser": "Cuenta", + "settingsGroups": "Grupos", + "settingsServer": "Servidor", + "settingsUsers": "Usuarios", + "settingsDistanceUnit": "Unidad de Distancia", + "settingsAltitudeUnit": "Unidad de Altitud", + "settingsSpeedUnit": "Unidad de Velocidad", + "settingsVolumeUnit": "Unidad de Volumen", + "settingsTwelveHourFormat": "Formato de 12h.", + "settingsCoordinateFormat": "Formato de Coordenadas", + "settingsServerVersion": "Versión del servidor", + "settingsAppVersion": "Versión de la app", + "settingsConnection": "Conexión", + "settingsDarkMode": "Modo Oscuro", + "settingsTotpEnable": "Activar contraseña de un solo uso", + "settingsTotpForce": "Forzar contraseña de un solo uso", + "settingsServiceWorkerUpdateInterval": "Intervalo de actualización del ServiceWorker", + "settingsUpdateAvailable": "Hay una actualización disponible.", + "settingsSupport": "Soporte", + "reportTitle": "Reportes", + "reportScheduled": "Reportes Programados", + "reportDevice": "Dispositivos", + "reportGroup": "Grupo", + "reportFrom": "Desde", + "reportTo": "Hasta", + "reportShow": "Mostrar", + "reportClear": "Limpiar", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Hora ajustada", + "positionDeviceTime": "Hora del dispositivo", + "positionServerTime": "Hora del Servidor", + "positionValid": "Válida", + "positionAccuracy": "Precisión", + "positionLatitude": "Latitud", + "positionLongitude": "Longitud", + "positionAltitude": "Altitud", + "positionSpeed": "Velocidad", + "positionCourse": "Rumbo", + "positionAddress": "Dirección Calle", + "positionProtocol": "Protocolo", + "positionDistance": "Distancia", + "positionRpm": "RPM", + "positionFuel": "Combustible", + "positionPower": "Energía", + "positionBattery": "Batería", + "positionRaw": "Crudo", + "positionIndex": "Índice / Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satélites", + "positionSatVisible": "Satélites Visibles", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Evento", + "positionAlarm": "Alarma", + "positionStatus": "Estado", + "positionOdometer": "Odómetro", + "positionServiceOdometer": "Odómetro de mantenimiento", + "positionTripOdometer": "Odómetro de viaje", + "positionHours": "Horas", + "positionSteps": "Pasos", + "positionInput": "Entrada", + "positionHeartRate": "Ritmo cardiaco", + "positionOutput": "Salida", + "positionBatteryLevel": "Nivel de batería", + "positionFuelConsumption": "Consumo de combustible", + "positionRfid": "RFDI", + "positionVersionFw": "Versión de firmware", + "positionVersionHw": "Versión de hardware", + "positionIgnition": "Encendido", + "positionFlags": "Banderas", + "positionCharge": "Carga", + "positionIp": "IP", + "positionArchive": "Archivo", + "positionVin": "VIN", + "positionApproximate": "Aproximado", + "positionThrottle": "Acelerador", + "positionMotion": "Movimiento", + "positionArmed": "Armado", + "positionAcceleration": "Aceleración", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura del dispositivo", + "positionCoolantTemp": "Temperatura del Refrigerante", + "positionOperator": "Operador", + "positionCommand": "Comando", + "positionBlocked": "Bloqueado", + "positionDtcs": "DTCs", + "positionObdSpeed": "Velocidad OBD", + "positionObdOdometer": "Odómetro OBD", + "positionDrivingTime": "Tiempo Conduciendo", + "positionDriverUniqueId": "ID única del conductor", + "positionCard": "Tarjeta", + "positionImage": "Imagen", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Ajustes del servidor", + "serverZoom": "Zoom", + "serverRegistration": "Registro", + "serverReadonly": "Solo lectura", + "serverForceSettings": "Forzar estos ajustes", + "serverAnnouncement": "Mostrar anuncio", + "serverName": "Nombre del Servidor", + "serverDescription": "Descripción del Servidor", + "serverColorPrimary": "Color Primario", + "serverColorSecondary": "Color Secundario", + "serverLogo": "Imagen del Logo", + "serverLogoInverted": "Imagen de logo invertida", + "serverChangeDisable": "Deshabilitar el cambio de servidor", + "serverDisableShare": "Deshabilitar poder Compartir Dispositivos", + "mapTitle": "Mapa", + "mapActive": "Mapas activos", + "mapOverlay": "Capa sobre el mapa", + "mapOverlayCustom": "Capa personalizada", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Capas del Mapa", + "mapCustom": "Personalizado (XYZ)", + "mapCustomArcgis": "ArcGIS Personalizado", + "mapCustomLabel": "Mapa Personalizado", + "mapCarto": "Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Carreteras", + "mapGoogleHybrid": "Google Híbrido", + "mapGoogleSatellite": "Google Satélite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps - Carretera", + "mapBingAerial": "Bing Maps - Aéreo", + "mapBingHybrid": "Bing Maps - Híbrido", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex", + "mapYandexSat": "Yandex Satélite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polígono", + "mapShapeCircle": "Círculo", + "mapShapePolyline": "Polilínea", + "mapLiveRoutes": "Rutas en Directo", + "mapDirection": "Mostrar dirección", + "mapCurrentLocation": "Ubicación Actual", + "mapPoiLayer": "Capa POI", + "mapClustering": "Agrupar Marcadores", + "mapOnSelect": "Mostrar Mapas en la selección", + "mapDefault": "Mapa por defecto", + "stateTitle": "Estado", + "stateName": "Parámetro", + "stateValue": "Valor", + "commandTitle": "Comando", + "commandSend": "Enviar", + "commandSent": "Comando enviado", + "commandQueued": "Comando en cola", + "commandUnit": "Unidad", + "commandCustom": "Comando personalizado", + "commandDeviceIdentification": "Identificación de Dispositivo", + "commandPositionSingle": "Informe Único", + "commandPositionPeriodic": "Informe Periódico", + "commandPositionStop": "Detener Informe", + "commandEngineStop": "Apagar motor", + "commandEngineResume": "Desbloquear Encendido de Motor", + "commandAlarmArm": "Armar Alarma", + "commandAlarmDisarm": "Desarmar Alarma", + "commandAlarmDismiss": "Descartar Alarma", + "commandSetTimezone": "Establecer Zona Horaria", + "commandRequestPhoto": "Solicitar Foto", + "commandPowerOff": "Apagar dispositivo", + "commandRebootDevice": "Reiniciar dispositivo", + "commandFactoryReset": "Valores de fábrica", + "commandSendSms": "Enviar SMS", + "commandSendUssd": "Enviar USSD", + "commandSosNumber": "Establecer el número SOS", + "commandSilenceTime": "Establecer horario de silencio", + "commandSetPhonebook": "Establecer contacto", + "commandVoiceMessage": "Mensaje de voz", + "commandOutputControl": "Control de Salidas", + "commandVoiceMonitoring": "Monitoreo de Voz", + "commandSetAgps": "Establecer AGPS", + "commandSetIndicator": "Establecer indicador", + "commandConfiguration": "Configuración", + "commandGetVersion": "Obtener Versión", + "commandFirmwareUpdate": "Actualizar Firmware", + "commandSetConnection": "Establecer Conexión", + "commandSetOdometer": "Establecer Odómetro", + "commandGetModemStatus": "Obtener Estatus de Módem", + "commandGetDeviceStatus": "Obtener Estatus de Dispositivo", + "commandSetSpeedLimit": "Establecer Límite de Velocidad", + "commandModePowerSaving": "Modo Ahorro de Energía", + "commandModeDeepSleep": "Modo Ahorro de Energía Profundo", + "commandAlarmGeofence": "Establecer Alarma de Geo-Zona", + "commandAlarmBattery": "Establecer Alarma de Batería", + "commandAlarmSos": "Establecer Alarma de SOS", + "commandAlarmRemove": "Establecer Alarma de Desmontaje", + "commandAlarmClock": "Establecer Alarma de Hora", + "commandAlarmSpeed": "Establecer Alarma de Velocidad", + "commandAlarmFall": "Establecer Alarma de Caída", + "commandAlarmVibration": "Establecer Alarma de Vibración", + "commandFrequency": "Frequencia", + "commandTimezone": "Compensación de zona horaria", + "commandMessage": "Mensaje", + "commandRadius": "Radio", + "commandEnable": "Activado", + "commandData": "Datos", + "commandIndex": "Índice", + "commandPhone": "Número de Teléfono", + "commandServer": "Servidor", + "commandPort": "Puerto", + "eventAll": "Todos los eventos", + "eventDeviceOnline": "Dispositivo en Línea", + "eventDeviceUnknown": "Dispositivo en estado Desconocido", + "eventDeviceOffline": "Dispositivo Fuera de Línea", + "eventDeviceInactive": "Dispositivo Inactivo", + "eventQueuedCommandSent": "Comando en cola enviado", + "eventDeviceMoving": "Dispositivo en Movimiento", + "eventDeviceStopped": "Dispositivo Detenido", + "eventDeviceOverspeed": "Excedido el límite de Velocidad", + "eventDeviceFuelDrop": "Perdida de Combustible ", + "eventDeviceFuelIncrease": "Incremento de combustible", + "eventCommandResult": "Resultado del comando", + "eventGeofenceEnter": "Entrada en la Geo-Zona", + "eventGeofenceExit": "Salida de la Geo-Zona", + "eventAlarm": "Alarma ", + "eventIgnitionOn": "Llave encendido ON", + "eventIgnitionOff": "Llave encendido OFF", + "eventMaintenance": "Se requiere mantenimiento", + "eventTextMessage": "Mensaje de texto recibido", + "eventDriverChanged": "El conductor ha cambiado", + "eventMedia": "Media", + "eventsScrollToLast": "Desplazarse hasta el último", + "eventsSoundEvents": "Sonido para eventos", + "eventsSoundAlarms": "Sonido para alarmas", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibración", + "alarmMovement": "Movimiento", + "alarmLowspeed": "Baja Velocidad", + "alarmOverspeed": "Exceso de Velocidad ", + "alarmFallDown": "Alarma de caída", + "alarmLowPower": "Energía baja", + "alarmLowBattery": "Batería Baja", + "alarmFault": "Alarma de fallo", + "alarmPowerOff": "Apagado", + "alarmPowerOn": "Encendido", + "alarmDoor": "Puerta", + "alarmLock": "Bloqueado", + "alarmUnlock": "Desbloquear", + "alarmGeofence": "Geo-Zona", + "alarmGeofenceEnter": "El Dispositivo ha entrado a la Geo-Zona", + "alarmGeofenceExit": "El Dispositivo ha salido de la Geo-Zona", + "alarmGpsAntennaCut": "Antena del GPS Cortada ", + "alarmAccident": "Accidente", + "alarmTow": "Grúa de arrastre", + "alarmIdle": "Reposo", + "alarmHighRpm": "Altas revoluciones", + "alarmHardAcceleration": "Aceleración brusca", + "alarmHardBraking": "Frenada extrema", + "alarmHardCornering": "Giro brusco", + "alarmLaneChange": "Cambio de carril", + "alarmFatigueDriving": "Conducción fatigosa", + "alarmPowerCut": "Energía desconectada", + "alarmPowerRestored": "Energía restaurada", + "alarmJamming": "Interferencia", + "alarmTemperature": "Temperatura", + "alarmParking": "Aparcamiento", + "alarmBonnet": "Capó", + "alarmFootBrake": "Freno de pie", + "alarmFuelLeak": "Fuga de combustible", + "alarmTampering": "Manipulación", + "alarmRemoving": "Eliminando", + "notificationType": "Tipo de Notificación", + "notificationAlways": "Todos los dispositivos", + "notificationNotificators": "Canales", + "notificatorCommand": "Comando", + "notificatorWeb": "Web", + "notificatorMail": "Correo", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Repetición Ruta", + "reportCombined": "Combinado", + "reportRoute": "Ruta", + "reportEvents": "Eventos", + "reportTrips": "Viajes", + "reportStops": "Paradas", + "reportSummary": "Resumen", + "reportDaily": "Resumen diario", + "reportChart": "Gráfica", + "reportConfigure": "Configurar", + "reportEventTypes": "Tipos de evento", + "reportChartType": "Tipo de gráfica", + "reportShowMarkers": "Mostrar marcadores", + "reportExport": "Exportar", + "reportEmail": "Informe por correo", + "reportSchedule": "Planificación", + "reportPeriod": "Período", + "reportCustom": "Personalizado", + "reportToday": "Hoy", + "reportYesterday": "Ayer", + "reportThisWeek": "Semana Actual", + "reportPreviousWeek": "Semana Anterior", + "reportThisMonth": "Mes Actual", + "reportPreviousMonth": "Mes Anterior", + "reportDeviceName": "Nombre", + "reportAverageSpeed": "Velocidad media", + "reportMaximumSpeed": "Velocidad máxima", + "reportEngineHours": "Horas motor", + "reportDuration": "Duración", + "reportStartDate": "Fecha de inicio", + "reportStartTime": "Hora de Inicio", + "reportStartAddress": "Dirección de Inicio", + "reportEndTime": "Hora de Fin", + "reportEndAddress": "Dirección de Fin", + "reportSpentFuel": "Combustible consumido", + "reportStartOdometer": "Odómetro inicial", + "reportEndOdometer": "Odómetro final", + "statisticsTitle": "Estadísticas", + "statisticsCaptureTime": "Fecha de captura", + "statisticsActiveUsers": "Usuarios activos", + "statisticsActiveDevices": "Dispositivos activos", + "statisticsRequests": "Peticiones", + "statisticsMessagesReceived": "Mensajes recibidos", + "statisticsMessagesStored": "Mensajes almacenados", + "statisticsGeocoder": "Solicitudes al codificador geográfico", + "statisticsGeolocation": "Solicitudes de geolocalización", + "categoryArrow": "Flecha", + "categoryDefault": "Prederminado", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicicleta", + "categoryBoat": "Barco", + "categoryBus": "Autobús", + "categoryCar": "Automóvil", + "categoryCamper": "Camper", + "categoryCrane": "Grúa", + "categoryHelicopter": "Helicóptero", + "categoryMotorcycle": "Motocicleta", + "categoryOffroad": "Todoterreno", + "categoryPerson": "Persona", + "categoryPickup": "Pickup", + "categoryPlane": "Avión", + "categoryShip": "Barco", + "categoryTractor": "Tractor", + "categoryTrain": "Trén", + "categoryTram": "Tranvía", + "categoryTrolleybus": "Trolebús", + "categoryTruck": "Camión", + "categoryVan": "Furgoneta", + "categoryScooter": "Moto", + "maintenanceStart": "Iniciar", + "maintenancePeriod": "Período" +}
\ No newline at end of file diff --git a/legacy/web/l10n/fa.json b/legacy/web/l10n/fa.json new file mode 100644 index 00000000..3507681c --- /dev/null +++ b/legacy/web/l10n/fa.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "در حال بارگزارى ...", + "sharedHide": "مخفی", + "sharedSave": "ذخيره", + "sharedUpload": "Upload", + "sharedSet": "تنظیم", + "sharedCancel": "انصراف", + "sharedCopy": "Copy", + "sharedAdd": "اضافه كردن", + "sharedEdit": "ویرایش", + "sharedRemove": "پاک کردن", + "sharedRemoveConfirm": "پاک کردن آیتم", + "sharedNoData": "داده ای نیست", + "sharedSubject": "Subject", + "sharedYes": "بلی", + "sharedNo": "خیر", + "sharedKm": "Km", + "sharedMi": "Mile", + "sharedNmi": "مایل دریایی", + "sharedMeters": "متر", + "sharedFeet": "فوت", + "sharedKn": "گره دریایی", + "sharedKmh": "Km/h", + "sharedMph": "M/h", + "sharedHour": "ساعت", + "sharedMinute": "دقيقه", + "sharedSecond": "ثانيه", + "sharedDays": "روز", + "sharedHours": "ساعت", + "sharedMinutes": "دقیقه", + "sharedDecimalDegrees": "درجه اعشار", + "sharedDegreesDecimalMinutes": "درجه اعشار دقیقه", + "sharedDegreesMinutesSeconds": "درجه اعشار ثانیه", + "sharedName": "نام", + "sharedDescription": "توضیحات", + "sharedSearch": "جستجو", + "sharedIconScale": "اندازه آیکن", + "sharedGeofence": "حصار جغرافیایی", + "sharedGeofences": "حصارهای جغرافیایی", + "sharedCreateGeofence": "ایجاد جغرافیا", + "sharedNotifications": "رویدادها", + "sharedNotification": "اطلاعیه", + "sharedAttributes": "ویژگی ها", + "sharedAttribute": "ویژگی", + "sharedDrivers": "رانندگان", + "sharedDriver": "راننده", + "sharedArea": "محدوده", + "sharedSound": "صدای هشدار", + "sharedType": "نوع خط", + "sharedDistance": "طول مسیر", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "گالن", + "sharedLiter": "لیتر", + "sharedImpGallon": "گالن UK", + "sharedUsGallon": "گالن US", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "دریافت نقشه وضعیت", + "sharedComputedAttribute": "ویژگی محاسبه شده", + "sharedComputedAttributes": "ویژگیهای محاسبه شده", + "sharedCheckComputedAttribute": "بررسی ویژگی محاسبه شده", + "sharedExpression": "اصطلاح", + "sharedDevice": "دستگاه", + "sharedTest": "آزمایش", + "sharedTestNotification": "ارسال تست اخطار", + "sharedTestNotificators": "آزمایش کانال ها", + "sharedTestExpression": "تست اصطلاح", + "sharedCalendar": "تقویم", + "sharedCalendars": "تقویمها", + "sharedFile": "فایل", + "sharedSearchDevices": "جستجوی دستگاهها", + "sharedSortBy": "مرتب سازی", + "sharedFilterMap": "فیلتر بر روی نقشه", + "sharedSelectFile": "انتخاب فایل", + "sharedPhone": "تلفن", + "sharedRequired": "ضروری", + "sharedPreferences": "تنظیمات", + "sharedPermissions": "دسترسی ها", + "sharedConnections": "اتصالات", + "sharedExtra": "بیشتر", + "sharedPrimary": "اولیه", + "sharedSecondary": "ثانویه", + "sharedTypeString": "رشته", + "sharedTypeNumber": "عدد", + "sharedTypeBoolean": "True/False", + "sharedTimezone": "منطقه زمانی", + "sharedInfoTitle": "اطلاعات", + "sharedSavedCommand": "دستور ذخیره شده", + "sharedSavedCommands": "دستورات ذخیره شده", + "sharedNew": "جدید...", + "sharedShowAddress": "نمایش آدرس", + "sharedShowDetails": "جزئیات بیشتر", + "sharedDisabled": "غیرفعال شده", + "sharedMaintenance": "تعمیر و نگهداری", + "sharedDeviceAccumulators": "باطری", + "sharedAlarms": "هشدارها", + "sharedLocation": "مکان", + "sharedImport": "وارد كردن", + "sharedColumns": "ستونها", + "sharedDropzoneText": "یک فایل را در اینجا بکشید و رها کنید یا کلیک کنید", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "ساده", + "calendarRecurrence": "عکس العمل", + "calendarOnce": "یکبار", + "calendarDaily": "روزانه", + "calendarWeekly": "هفتگی", + "calendarMonthly": "ماهانه", + "calendarDays": "روزها", + "calendarSunday": "یکشنبه", + "calendarMonday": "دوشنبه", + "calendarTuesday": "سه شنبه", + "calendarWednesday": "چهارشنبه", + "calendarThursday": "پنجشنبه", + "calendarFriday": "جمعه", + "calendarSaturday": "شنبه", + "attributeShowGeofences": "نمایش حصار مجازی", + "attributeSpeedLimit": "محدودیت سرعت", + "attributeFuelDropThreshold": "حد اتمام سوخت", + "attributeFuelIncreaseThreshold": "حد تکمیل سوخت", + "attributePolylineDistance": "مسافت چند مسیری", + "attributeReportIgnoreOdometer": "گزارش : بدون کیلومتر شمار", + "attributeWebReportColor": "وب : گزارش رنگ", + "attributeDevicePassword": "رمز عبور ردیاب", + "attributeDeviceImage": "عکس دستگاه", + "attributeDeviceInactivityStart": "آغاز عدم فعالیت دستگاه", + "attributeDeviceInactivityPeriod": "دوره عدم فعالیت دستگاه", + "attributeProcessingCopyAttributes": "در حال پردازش : کپی ویژگیها", + "attributeColor": "رنگ", + "attributeWebLiveRouteLength": "وب : طول جاده آنلاین", + "attributeWebSelectZoom": "وب : زوم با انتخاب", + "attributeWebMaxZoom": "بیشترین زوم", + "attributeTelegramChatId": "آی دی تلگرام", + "attributePushoverUserKey": "Pushover کلید کاربری", + "attributePushoverDeviceNames": "Pushover نام دستگاه", + "attributeMailSmtpHost": "ایمیل : هاست SMTP", + "attributeMailSmtpPort": "ایمیل : پورت SMTP", + "attributeMailSmtpStarttlsEnable": "ایمیل : SMTP STARTTLS فعال", + "attributeMailSmtpStarttlsRequired": "ایمیل : SMTP STARTTLS ضروری است", + "attributeMailSmtpSslEnable": "ایمیل : SMTP SSL فعال", + "attributeMailSmtpSslTrust": "ایمیل : SMTP SSL معتبر", + "attributeMailSmtpSslProtocols": "ایمیل : پروتکلهای SMTP SSL", + "attributeMailSmtpFrom": "ایمیل : SMTP ازطرف", + "attributeMailSmtpAuth": "ایمیل : معتبر سازی SMTP فعال", + "attributeMailSmtpUsername": "ایمیل : نام کاربری SMTP", + "attributeMailSmtpPassword": "ایمیل : رمز عبور SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: ویژگی ها را غیرفعال کنید", + "attributeUiDisableGroups": "UI: غیر فعال کردن گروه ها", + "attributeUiDisableEvents": "UI: غیر فعال کردن رویدادها", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "غیرفعالسازی رانندگان", + "attributeUiDisableComputedAttributes": "غیرفعالسازی محاسبات", + "attributeUiDisableCalendars": "غیرفعالسازی تقویم", + "attributeUiDisableMaintenance": "غیر فعال کردن تعمییرات", + "attributeUiHidePositionAttributes": "پنهان کردن ویژگی های موقعیت", + "attributeUiDisableLoginLanguage": "UI: انتخاب زبان در هنگام ورود را غیرفعال کنید", + "attributeNotificationTokens": "اخطار توکن", + "attributePopupInfo": "اطلاعات Popup", + "errorTitle": "خطا", + "errorGeneral": "نقض پارامترها یا محدودیت ها نامعتبر است", + "errorConnection": "خطا در اتصال", + "errorSocket": "ایراد اتصال سوکت وب", + "errorZero": "نمیتواند صفر باشد", + "userEmail": "ایمیل", + "userPassword": "رمز عبور", + "userAdmin": "مدیر", + "userRemember": "به یاد آوردن", + "userExpirationTime": "انقضاء", + "userDeviceLimit": "محدودیت دستگاه", + "userUserLimit": "محدودیت کاربر", + "userDeviceReadonly": "دستگاه فقط خواندنی", + "userLimitCommands": "دستورات محدود", + "userDisableReports": "گزارشات غیرفعال", + "userFixedEmail": "عدم تغییر ایمیل", + "userToken": "رمز یکبار", + "userDeleteAccount": "حذف اکانت", + "userTemporary": "Temporary", + "loginTitle": "ورود", + "loginLanguage": "انتخاب زبان", + "loginReset": "بازیابی رمز عبور", + "loginRegister": "ثبت نام", + "loginLogin": "ورود", + "loginOpenId": "با OpenID وارد شوید", + "loginFailed": "نام كاربرى يا گذرواژه اشتباه است", + "loginCreated": "ثبت نام با موفقيت انجام شد", + "loginResetSuccess": "ایمیلتان را چک کنید", + "loginUpdateSuccess": "رمز جدید اعمال شد", + "loginLogout": "خروج", + "loginLogo": "لوگو", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "دستگاه ها و وضعیت", + "deviceSelected": "دستگاه انتخاب شده", + "deviceTitle": "دستگاه ها", + "devicePrimaryInfo": "عنوان دستگاه", + "deviceSecondaryInfo": "جزئیات دستگاه", + "deviceIdentifier": "سريال دستگاه", + "deviceModel": "مدل", + "deviceContact": "تماس", + "deviceCategory": "دسته بندی", + "deviceLastUpdate": "آخرين بروزرسانى", + "deviceCommand": "فرمان", + "deviceFollow": "تعقیب", + "deviceTotalDistance": "کل مسافت", + "deviceStatus": "وضعیت", + "deviceStatusOnline": "آنلاین", + "deviceStatusOffline": "آفلاین", + "deviceStatusUnknown": "نامعلوم", + "deviceRegisterFirst": "اولین دستگاه خود را ثبت کنید", + "deviceIdentifierHelp": "IEMI ، شماره سریال یا شناسه دیگر باید با گزارش های دستگاه شناسه به سرور مطابقت داشته باشد.", + "deviceShare": "Share Device", + "groupDialog": "گروه", + "groupParent": "گروه", + "groupNoGroup": "بدون گروه", + "settingsTitle": "تنظيمات", + "settingsUser": "حساب كاربرى", + "settingsGroups": "گروه ها", + "settingsServer": "سرور", + "settingsUsers": "کاربر", + "settingsDistanceUnit": "واحد مسافت", + "settingsAltitudeUnit": "واحد ارتفاع", + "settingsSpeedUnit": "واحد سرعت", + "settingsVolumeUnit": "واحد حجم", + "settingsTwelveHourFormat": "فرمت ساعت : 12 ساعتی", + "settingsCoordinateFormat": "فرمت مختصاتی", + "settingsServerVersion": "نسخه سرور", + "settingsAppVersion": "نسخه برنامه", + "settingsConnection": "ارتباط", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "گزارشات ", + "reportScheduled": "گزارش های برنامه ریزی شده", + "reportDevice": "دستگاه", + "reportGroup": "گروه", + "reportFrom": "از", + "reportTo": "تا", + "reportShow": "نمایش", + "reportClear": "خالی کردن", + "linkGoogleMaps": "نقشه گوگل", + "linkAppleMaps": "نقشه اپل", + "linkStreetView": "نمای خیابان", + "positionFixTime": "زمان ثابت", + "positionDeviceTime": "زمان دستگاه", + "positionServerTime": "زمان سرور", + "positionValid": "معتبر", + "positionAccuracy": "دقت", + "positionLatitude": "عرض جغرافيايى", + "positionLongitude": "طول جغرافيايى", + "positionAltitude": "ارتفاع", + "positionSpeed": "سرعت", + "positionCourse": "دوره", + "positionAddress": "آدرس", + "positionProtocol": "پروتکل", + "positionDistance": "مسافت", + "positionRpm": "دور / دقیقه", + "positionFuel": "سوخت", + "positionPower": "روشن بودن", + "positionBattery": "باطری", + "positionRaw": "خالص", + "positionIndex": "شاخص", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "ماهواره ها", + "positionSatVisible": "ماهواره های قابل مشاهده", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "رومینگ", + "positionEvent": "رویداد", + "positionAlarm": "هشدار", + "positionStatus": "وضعیت", + "positionOdometer": "کیلومتر شمار", + "positionServiceOdometer": "سرویس کیلومتر شمار", + "positionTripOdometer": "کیلومتر شمار مسافت", + "positionHours": "ساعت", + "positionSteps": "مراحل", + "positionInput": "ورود", + "positionHeartRate": "ضربان قلب", + "positionOutput": "خروج", + "positionBatteryLevel": "وضعیت باطری", + "positionFuelConsumption": "مصرف سوخت", + "positionRfid": "RFID", + "positionVersionFw": "ورژن فلش", + "positionVersionHw": "ورژن سخت افزار", + "positionIgnition": "روشن بودن", + "positionFlags": "نشانها", + "positionCharge": "شارژ", + "positionIp": "IP", + "positionArchive": "آرشیو", + "positionVin": "VIN", + "positionApproximate": "تقریبی", + "positionThrottle": "دریچه گاز", + "positionMotion": "حرکت", + "positionArmed": "مسلح", + "positionAcceleration": "شتاب", + "positionTemp": "درجه حرارت", + "positionDeviceTemp": "دمای دستگاه", + "positionCoolantTemp": "دمای مایع خنک کننده", + "positionOperator": "اپراتور", + "positionCommand": "کد دستوری", + "positionBlocked": "بلوکه", + "positionDtcs": "DTCs", + "positionObdSpeed": "سرعت OBD", + "positionObdOdometer": "کیلومتر شمار ODB", + "positionDrivingTime": "زمان رانندگی", + "positionDriverUniqueId": "کد شناسایی راننده", + "positionCard": "کارت", + "positionImage": "تصویر", + "positionVideo": "ویدیو", + "positionAudio": "صدا", + "serverTitle": "تنظیمات سرور", + "serverZoom": "بزرگنمایی", + "serverRegistration": "ثبت نام", + "serverReadonly": "فقط خواندنی", + "serverForceSettings": "تنظیمات اجباری", + "serverAnnouncement": "اطلاعیه", + "serverName": "نام سرور", + "serverDescription": "توضیحات سرور", + "serverColorPrimary": "رنگ اصلی", + "serverColorSecondary": "رنگ ثانویه", + "serverLogo": "عکس لوگو", + "serverLogoInverted": "معکوس سازی رنگ لوگو", + "serverChangeDisable": "غیرفعال کردن تغییر سرور", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "نقشه", + "mapActive": "نقشه های فعال", + "mapOverlay": "لایه نقشه", + "mapOverlayCustom": "لایه سفارشی", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API کلید", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather فشار", + "mapOpenWeatherWind": "OpenWeather باد", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "لایه های نقشه", + "mapCustom": "سفارشی (XYZ)", + "mapCustomArcgis": "سفارشی (ArcGIS)", + "mapCustomLabel": "نقشه اختیاری", + "mapCarto": "نقشه کارتو", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google جاده", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google ماهواره", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing کلید نقشه", + "mapBingRoad": "Bing نقشه جاده", + "mapBingAerial": "Bing نقشه هوایی", + "mapBingHybrid": "Bing نقشه هیبریدی", + "mapBaidu": "Baidu چین", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex نقشه", + "mapYandexSat": "Yandex ماهواره", + "mapWikimedia": "ویکی مدیا", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox توکن دسترسی", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler کلید API", + "mapLocationIqStreets": "LocationIQ Streets نقشه", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ توکن دسترسی", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom جریان ترافیک", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom کلید API", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite نقشه", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "چند ضلعی", + "mapShapeCircle": "دایره ", + "mapShapePolyline": "چند خطی", + "mapLiveRoutes": "تعقیب مسیر", + "mapDirection": "نمایش جهت", + "mapCurrentLocation": "موقعیت فعلی", + "mapPoiLayer": "لایه POI", + "mapClustering": "خوشه بندی نشانگرها", + "mapOnSelect": "نمایش نقشه در انتخاب", + "mapDefault": "نقشه پیش فرض", + "stateTitle": "وضعیت", + "stateName": "ویژگی", + "stateValue": "مقدار", + "commandTitle": "ارسال دستور به دستگاه", + "commandSend": "ارسال", + "commandSent": "ارسال دستور", + "commandQueued": "دستور در صف", + "commandUnit": "واحد", + "commandCustom": "دستور سفارشی", + "commandDeviceIdentification": "شناسایی دستگاه", + "commandPositionSingle": "گزارش ساده", + "commandPositionPeriodic": "گزارشات چندوضعیتی", + "commandPositionStop": "توقف گزارش", + "commandEngineStop": "توقف موتور", + "commandEngineResume": "ادامه موتور", + "commandAlarmArm": "آلارم فعال", + "commandAlarmDisarm": "آلارم غیر فعال", + "commandAlarmDismiss": "رد کردن هشدار", + "commandSetTimezone": "تنظیم منطقه زمانی", + "commandRequestPhoto": "درخواست عکس", + "commandPowerOff": "خاموش شدن دستگاه", + "commandRebootDevice": "ریست کردن دستگاه", + "commandFactoryReset": "ریست تنظیم کارخانه", + "commandSendSms": "ارسال پیام کوتاه", + "commandSendUssd": "USSD ارسال کد", + "commandSosNumber": "شماره SOS را تنظیم کنید", + "commandSilenceTime": "تنظیم زمان سکوت", + "commandSetPhonebook": "تنظیم دفترچه تلفن", + "commandVoiceMessage": "پیام صوتی", + "commandOutputControl": "تنظیمات خروجی ", + "commandVoiceMonitoring": "کنترل صوتی", + "commandSetAgps": "تنظیم AGPS", + "commandSetIndicator": "ایجاد شاخص", + "commandConfiguration": "پیکر بندی", + "commandGetVersion": "دریافت نگارش", + "commandFirmwareUpdate": "به روز رسانی فریمور", + "commandSetConnection": "تنظیم ارتباط", + "commandSetOdometer": "تنظیم کیلومتر شمار", + "commandGetModemStatus": "دریافت وضعیت مودم", + "commandGetDeviceStatus": "دریافت وضعیت دستگاه", + "commandSetSpeedLimit": "تنظیم محدودیت سرعت", + "commandModePowerSaving": "حالت کم مصرف", + "commandModeDeepSleep": "حالت خواب عمیق", + "commandAlarmGeofence": "تنظیم هشدار محدوده جغرافیایی", + "commandAlarmBattery": "تنظیم هشدار باتری", + "commandAlarmSos": "تنظیم هشدار کمک", + "commandAlarmRemove": "تنظیم حذف هشدار", + "commandAlarmClock": "تنظیم ساعت هشدار", + "commandAlarmSpeed": "تنظیم هشدار سرعت", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "تاخیر ارسال", + "commandTimezone": "فاصله زمانی مبدا", + "commandMessage": "پیام", + "commandRadius": "شعاع", + "commandEnable": "فعال", + "commandData": "دیتا", + "commandIndex": "فهرست", + "commandPhone": "شماره تلفن", + "commandServer": "سرور", + "commandPort": "پورت", + "eventAll": "همه رویدادها", + "eventDeviceOnline": "وضعیت آنلاین", + "eventDeviceUnknown": "وضعیت نامعلوم", + "eventDeviceOffline": "وضعیت آفلاین", + "eventDeviceInactive": "دستگاه غیرفعال", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "حرکت دستگاه", + "eventDeviceStopped": "دستگاه متوقف شد", + "eventDeviceOverspeed": "سرعت از حد مجاز فراتر رفت", + "eventDeviceFuelDrop": "افت سوخت", + "eventDeviceFuelIncrease": "افزایش سوخت", + "eventCommandResult": "نتیجه ارسال دستور", + "eventGeofenceEnter": "ورود محدوده جغرافیایی", + "eventGeofenceExit": "خروج محدوده جغرافیایی", + "eventAlarm": "هشدار", + "eventIgnitionOn": "سویچ روشن", + "eventIgnitionOff": "سوئیچ خاموش", + "eventMaintenance": "نیاز به تعمیر", + "eventTextMessage": "پیامک دریافت شد", + "eventDriverChanged": "تعویض راننده", + "eventMedia": "مدیا", + "eventsScrollToLast": "اسکرول تا آخر", + "eventsSoundEvents": "رویدادهای صدا", + "eventsSoundAlarms": "هشدار صوتی", + "alarmGeneral": "اصلی", + "alarmSos": "درخواست کمک", + "alarmVibration": "لرزش", + "alarmMovement": "جابجایی", + "alarmLowspeed": "سرعت کم", + "alarmOverspeed": "سرعت بالا", + "alarmFallDown": "سقوط", + "alarmLowPower": "انرژی کم", + "alarmLowBattery": "باطری کم", + "alarmFault": "نقص", + "alarmPowerOff": "خاموش", + "alarmPowerOn": "روشن", + "alarmDoor": "درب", + "alarmLock": "قفل", + "alarmUnlock": "باز کردن", + "alarmGeofence": "محدوده جغرافیایی", + "alarmGeofenceEnter": "ورود محدوده جغرافیایی", + "alarmGeofenceExit": "خروج محدوده جغرافیایی", + "alarmGpsAntennaCut": "قطع آنتن GPS", + "alarmAccident": "تصادف", + "alarmTow": "یدک کش", + "alarmIdle": "بیکار", + "alarmHighRpm": "دورموتور بالا", + "alarmHardAcceleration": "شتاب تند", + "alarmHardBraking": "ترمز تند", + "alarmHardCornering": "زاویه شدید", + "alarmLaneChange": "تغییر مسیر", + "alarmFatigueDriving": "رانندگی خسته", + "alarmPowerCut": "قطع ولتاژ", + "alarmPowerRestored": "برگشت ولتاژ", + "alarmJamming": "مسدود", + "alarmTemperature": "دما", + "alarmParking": "پارکینگ", + "alarmBonnet": "صندوق", + "alarmFootBrake": "پدال ترمز", + "alarmFuelLeak": "نشت باک", + "alarmTampering": "دستکاری", + "alarmRemoving": "حذف", + "notificationType": "تعیین نوع رویداد ", + "notificationAlways": "همه ردیابها", + "notificationNotificators": "کانال ها", + "notificatorCommand": "فرمان", + "notificatorWeb": "وب", + "notificatorMail": "ایمیل", + "notificatorSms": "پیامک", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "تلگرام", + "notificatorPushover": "Pushover", + "reportReplay": "بازپخش", + "reportCombined": "ترکیب شده", + "reportRoute": "مسیر های پیموده شده ", + "reportEvents": "رویداد ها", + "reportTrips": "مسافرتها", + "reportStops": "توقفها", + "reportSummary": "خلاصه وضعیت ", + "reportDaily": "وقایع روزانه", + "reportChart": "نمودار", + "reportConfigure": "تنظیمات", + "reportEventTypes": "نوع رویدادها", + "reportChartType": "نوع نمودار", + "reportShowMarkers": "نمایش علامتها", + "reportExport": "خروجی فایل", + "reportEmail": "گزارش پست الکترونیکی", + "reportSchedule": "برنامه زمانی", + "reportPeriod": "بازه", + "reportCustom": "سفارشی", + "reportToday": "امروز", + "reportYesterday": "دیروز", + "reportThisWeek": "هفته جاری", + "reportPreviousWeek": "هفته قبلی", + "reportThisMonth": "ماه جاری", + "reportPreviousMonth": "ماه قبلی", + "reportDeviceName": "نام دستگاه ", + "reportAverageSpeed": "سرعت میانگین", + "reportMaximumSpeed": "حداکثر سرعت", + "reportEngineHours": "مدت زمان روشن بودن وسیله", + "reportDuration": "مسافت", + "reportStartDate": "تاریخ آغاز", + "reportStartTime": "زمان شروع", + "reportStartAddress": "آدرس شروع", + "reportEndTime": "زمان پایانی", + "reportEndAddress": "آدرس پایانی", + "reportSpentFuel": "مصرف سوخت", + "reportStartOdometer": "شروع کیلومترشمار", + "reportEndOdometer": "پایان کیلومتر شمار", + "statisticsTitle": "گزارشات", + "statisticsCaptureTime": "زمان ضبط", + "statisticsActiveUsers": "کاربران فعال", + "statisticsActiveDevices": "ردیابهای فعال", + "statisticsRequests": "درخواستها", + "statisticsMessagesReceived": "پیامهای دریافتی", + "statisticsMessagesStored": "پیامها ذخیره", + "statisticsGeocoder": "درخواست محدوده", + "statisticsGeolocation": "درخواستهای محدوده", + "categoryArrow": "فلش", + "categoryDefault": "پیش فرض", + "categoryAnimal": "حیوان", + "categoryBicycle": "دوچرخه", + "categoryBoat": "قایق", + "categoryBus": "اتوبوس", + "categoryCar": "خودرو", + "categoryCamper": "Camper", + "categoryCrane": "جرثقیل", + "categoryHelicopter": "هلی کوپتر", + "categoryMotorcycle": "موتورسیکلت", + "categoryOffroad": "شاسی بلند", + "categoryPerson": "شخص", + "categoryPickup": "وانت", + "categoryPlane": "هواپیما", + "categoryShip": "کشتی", + "categoryTractor": "تراکتور", + "categoryTrain": "قطار", + "categoryTram": "تراموا", + "categoryTrolleybus": "تریلر", + "categoryTruck": "تریلی", + "categoryVan": "ون", + "categoryScooter": "اسکوتر", + "maintenanceStart": "شروع", + "maintenancePeriod": "بازه" +}
\ No newline at end of file diff --git a/legacy/web/l10n/fi.json b/legacy/web/l10n/fi.json new file mode 100644 index 00000000..f5459166 --- /dev/null +++ b/legacy/web/l10n/fi.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Ladataan...", + "sharedHide": "Piilota", + "sharedSave": "Tallenna", + "sharedUpload": "Lataa palvelimelle", + "sharedSet": "Aseta", + "sharedCancel": "Peruuta", + "sharedCopy": "Kopioi", + "sharedAdd": "Lisää", + "sharedEdit": "Muokkaa", + "sharedRemove": "Poista", + "sharedRemoveConfirm": "Poista kohde?", + "sharedNoData": "Ei dataa", + "sharedSubject": "Subject", + "sharedYes": "Kyllä", + "sharedNo": "Ei", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Tunti", + "sharedMinute": "Minuutti", + "sharedSecond": "Sekunti", + "sharedDays": "päivää", + "sharedHours": "tuntia", + "sharedMinutes": "minuuttia", + "sharedDecimalDegrees": "Desimaaliasteet", + "sharedDegreesDecimalMinutes": "Asteet ja desimaaliminuutit", + "sharedDegreesMinutesSeconds": "Asteet, minuutit ja sekunnit", + "sharedName": "Nimi", + "sharedDescription": "Kuvaus", + "sharedSearch": "Haku", + "sharedIconScale": "Kuvakkeiden skaalaus", + "sharedGeofence": "Geoaita", + "sharedGeofences": "Geoaidat", + "sharedCreateGeofence": "Luo geoaita", + "sharedNotifications": "Ilmoitukset", + "sharedNotification": "Ilmoitus", + "sharedAttributes": "Ominaisuudet", + "sharedAttribute": "Ominaisuus", + "sharedDrivers": "Kuljettajat", + "sharedDriver": "Kuljettaja", + "sharedArea": "Alue", + "sharedSound": "Ilmoitusääni", + "sharedType": "Tyyppi", + "sharedDistance": "Matka", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gallona", + "sharedLiter": "Litra", + "sharedImpGallon": "Brittiläinen gallona", + "sharedUsGallon": "Amerikkalainen gallona", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Hae kartan tila", + "sharedComputedAttribute": "Laskettu ominaisuus", + "sharedComputedAttributes": "Lasketut ominaisuudet", + "sharedCheckComputedAttribute": "Tarkista laskettu ominaisuus", + "sharedExpression": "Lauseke", + "sharedDevice": "Laite", + "sharedTest": "Testaa", + "sharedTestNotification": "Lähetä testi-ilmoitus", + "sharedTestNotificators": "Testaa kanavia", + "sharedTestExpression": "Testaa lauseke", + "sharedCalendar": "Kalenteri", + "sharedCalendars": "Kalenterit", + "sharedFile": "Tiedosto", + "sharedSearchDevices": "Etsi laitteita", + "sharedSortBy": "Lajittele", + "sharedFilterMap": "Suodata kartalla", + "sharedSelectFile": "Valitse tiedosto", + "sharedPhone": "Puhelin", + "sharedRequired": "Vaadittavat", + "sharedPreferences": "Asetukset", + "sharedPermissions": "Käyttöoikeudet", + "sharedConnections": "Yhteydet", + "sharedExtra": "Ekstra", + "sharedPrimary": "Ensisijainen", + "sharedSecondary": "Toissijainen", + "sharedTypeString": "Merkkijono", + "sharedTypeNumber": "Numero", + "sharedTypeBoolean": "Totuusarvo", + "sharedTimezone": "Aikavyöhyke", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Tallennettu komento", + "sharedSavedCommands": "Tallennetut komennot", + "sharedNew": "Uusi...", + "sharedShowAddress": "Näytä osoite", + "sharedShowDetails": "Lisätietoja", + "sharedDisabled": "Poistettu käytöstä", + "sharedMaintenance": "Huolto", + "sharedDeviceAccumulators": "Laskurit", + "sharedAlarms": "Hälytykset", + "sharedLocation": "Sijainti", + "sharedImport": "Tuo", + "sharedColumns": "Sarakkeet", + "sharedDropzoneText": "Vedä ja pudota tiedosto tähän tai klikkaa", + "sharedLogs": "Lokit", + "sharedLink": "Link", + "calendarSimple": "Yksinkertainen", + "calendarRecurrence": "Toisto", + "calendarOnce": "Kerran", + "calendarDaily": "Päivittäin", + "calendarWeekly": "Viikoittain", + "calendarMonthly": "Kuukausittain", + "calendarDays": "Päivät", + "calendarSunday": "Sunnuntai", + "calendarMonday": "Maanantai", + "calendarTuesday": "Tiistai", + "calendarWednesday": "Keskiviikko", + "calendarThursday": "Torstai", + "calendarFriday": "Perjantai", + "calendarSaturday": "Lauantai", + "attributeShowGeofences": "Näytä geoaita", + "attributeSpeedLimit": "Nopeusrajoitus", + "attributeFuelDropThreshold": "Polttoaineen vähenemisen raja-arvo", + "attributeFuelIncreaseThreshold": "Polttoaineen lisäämisen raja-arvo", + "attributePolylineDistance": "Etäisyys murtoviivaan", + "attributeReportIgnoreOdometer": "Raportti: Älä huomioi matkamittaria", + "attributeWebReportColor": "Web: Raportin väri", + "attributeDevicePassword": "Laitteen salasana", + "attributeDeviceImage": "Laitteen kuva", + "attributeDeviceInactivityStart": "Laitteen epäaktiivisuuden alku", + "attributeDeviceInactivityPeriod": "Laitteen epäaktiivisuuden jakso", + "attributeProcessingCopyAttributes": "Laskenta: Kopioi ominaisuudet", + "attributeColor": "Väri", + "attributeWebLiveRouteLength": "Web: Live-reitin pituus", + "attributeWebSelectZoom": "Web: Lähennys valittaessa", + "attributeWebMaxZoom": "Web: Suurin lähennys", + "attributeTelegramChatId": "Telegram keskustelu ID", + "attributePushoverUserKey": "Pushover käyttäjäavain", + "attributePushoverDeviceNames": "Pushover laitteiden nimet", + "attributeMailSmtpHost": "Email: SMTP-isäntäpalvelin", + "attributeMailSmtpPort": "Email: SMTP-portti", + "attributeMailSmtpStarttlsEnable": "Email: SMTP STARTTLS:n aktivointi", + "attributeMailSmtpStarttlsRequired": "Email: SMTP STARTTLS vaaditaan", + "attributeMailSmtpSslEnable": "Email: SMTP SSL:n aktivointi", + "attributeMailSmtpSslTrust": "Email: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Email: SMTP SSL -protokollat", + "attributeMailSmtpFrom": "Email: SMTP-lähettäjä", + "attributeMailSmtpAuth": "Email: SMTP-tunnistautumisen aktivointi", + "attributeMailSmtpUsername": "Email: SMTP-käyttäjätunnus", + "attributeMailSmtpPassword": "Email: SMTP-salasana", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Piilota ominaisuudet", + "attributeUiDisableGroups": "UI: Piilota ryhmät", + "attributeUiDisableEvents": "UI: Piilota tapahtumat", + "attributeUiDisableVehicleFeatures": "UI: Piilota ajoneuvon omainaisuudet", + "attributeUiDisableDrivers": "UI: Piilota kuljettajat", + "attributeUiDisableComputedAttributes": "UI: Piilota lasketut ominaisuudet", + "attributeUiDisableCalendars": "UI: Piilota kalenterit", + "attributeUiDisableMaintenance": "UI: Piilota huolto", + "attributeUiHidePositionAttributes": "UI: Piilota sijainnin ominaisuudet", + "attributeUiDisableLoginLanguage": "UI: Piilota kielivalinta kirjautumisesta", + "attributeNotificationTokens": "Ilmoitustunnukset", + "attributePopupInfo": "Popup tiedot", + "errorTitle": "Virhe", + "errorGeneral": "Epäkelvot parametrit tai rajoitteiden rikkomus", + "errorConnection": "Yhteysvirhe", + "errorSocket": "WebSocket-yhteysvirhe", + "errorZero": "Ei voi olla nolla", + "userEmail": "Sähköposti", + "userPassword": "Salasana", + "userAdmin": "Ylläpito", + "userRemember": "Muista", + "userExpirationTime": "Vanheneminen", + "userDeviceLimit": "Laiteraja", + "userUserLimit": "Käyttäjäraja", + "userDeviceReadonly": "Laitteet vain luettavissa", + "userLimitCommands": "Rajoita komentoja", + "userDisableReports": "Poista raportit käytöstä", + "userFixedEmail": "Ei sähköpostiosoitteen vaihtoa", + "userToken": "Todennustunnus", + "userDeleteAccount": "Poista tili", + "userTemporary": "Temporary", + "loginTitle": "Kirjaudu", + "loginLanguage": "Kieli", + "loginReset": "Nollaa salasana", + "loginRegister": "Rekisteröidy", + "loginLogin": "Kirjaudu", + "loginOpenId": "Kirjaudu OpenID:llä", + "loginFailed": "Virheellinen sähköposti tai salasana", + "loginCreated": "Uusi käyttäjä on rekisteröity", + "loginResetSuccess": "Tarkista sähköpostisi", + "loginUpdateSuccess": "Uusi salasana asetettu", + "loginLogout": "Kirjaudu ulos", + "loginLogo": "Logo", + "loginTotpCode": "Kertakäyttö salasana koodi", + "loginTotpKey": "Kertakäyttö salasanan avain", + "devicesAndState": "Laitteet ja Tilat", + "deviceSelected": "Valitse laite", + "deviceTitle": "Laitteet", + "devicePrimaryInfo": "Laitteen nimi", + "deviceSecondaryInfo": "Laitteen tiedot", + "deviceIdentifier": "Tunniste", + "deviceModel": "Malli", + "deviceContact": "Yhteyshenkilö", + "deviceCategory": "Kategoria", + "deviceLastUpdate": "Viimeisin päivitys", + "deviceCommand": "Komento", + "deviceFollow": "Seuraa", + "deviceTotalDistance": "Kokonaismatka", + "deviceStatus": "Tila", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Tuntematon", + "deviceRegisterFirst": "Rekisteröi ensimmäinen laitteesi", + "deviceIdentifierHelp": "IMEI, sarjanumeo tai muu id. ID:n pitää täsmätä laitteen lähettämään tunnisteeseen.", + "deviceShare": "Jaa laitteen sijainti", + "groupDialog": "Ryhmä", + "groupParent": "Ryhmä", + "groupNoGroup": "Ei ryhmää", + "settingsTitle": "Asetukset", + "settingsUser": "Tili", + "settingsGroups": "Ryhmät", + "settingsServer": "Palvelin", + "settingsUsers": "Käyttäjät", + "settingsDistanceUnit": "Matkayksikkö", + "settingsAltitudeUnit": "Korkeusyksikkö", + "settingsSpeedUnit": "Nopeusyksikkö", + "settingsVolumeUnit": "Tilavuusyksikkö", + "settingsTwelveHourFormat": "12-tunnin formaatti", + "settingsCoordinateFormat": "Koordinaattien formaatti", + "settingsServerVersion": "Palvelin versio", + "settingsAppVersion": "Sovellus versio", + "settingsConnection": "Yhteys", + "settingsDarkMode": "Tumma tila", + "settingsTotpEnable": "Ota käyttöön kertakäyttö salasana", + "settingsTotpForce": "Pakota kertakäyttöinen salasana", + "settingsServiceWorkerUpdateInterval": "Palvelun päivitysväli", + "settingsUpdateAvailable": "Päivitys saatavilla", + "settingsSupport": "Tuki", + "reportTitle": "Raportit", + "reportScheduled": "Ajastetut raportit", + "reportDevice": "Laite", + "reportGroup": "Ryhmä", + "reportFrom": "Mistä", + "reportTo": "Mihin", + "reportShow": "Näytä", + "reportClear": "Tyhjennä", + "linkGoogleMaps": "Google kartat", + "linkAppleMaps": "Apple kartat", + "linkStreetView": "Katunäkymä", + "positionFixTime": "Sijaintiaika", + "positionDeviceTime": "Laitteen aika", + "positionServerTime": "Palvelimen aika", + "positionValid": "Kelvollinen", + "positionAccuracy": "Tarkkuus", + "positionLatitude": "Leveysaste", + "positionLongitude": "Pituusaste", + "positionAltitude": "Korkeus", + "positionSpeed": "Nopeus", + "positionCourse": "Suunta", + "positionAddress": "Osoite", + "positionProtocol": "Protokolla", + "positionDistance": "Matka", + "positionRpm": "RPM", + "positionFuel": "Polttoaine", + "positionPower": "Virta", + "positionBattery": "Akku", + "positionRaw": "Raaka", + "positionIndex": "Indeksi", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelliitteja", + "positionSatVisible": "Näkyviä satelliitteja", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Verkkovierailu", + "positionEvent": "Tapahtuma", + "positionAlarm": "Hälytys", + "positionStatus": "Tila", + "positionOdometer": "Matkamittari", + "positionServiceOdometer": "Huollon matkamittari", + "positionTripOdometer": "Trippimittari", + "positionHours": "Tuntia", + "positionSteps": "Askeleita", + "positionInput": "Sisääntulo", + "positionHeartRate": "Syke", + "positionOutput": "Ulostulo", + "positionBatteryLevel": "Akun varaus", + "positionFuelConsumption": "Polttoaineen kulutus", + "positionRfid": "RFID", + "positionVersionFw": "Laiteohjelmiston versio", + "positionVersionHw": "Laitteiston versio", + "positionIgnition": "Virta (sytytys)", + "positionFlags": "Liput", + "positionCharge": "Lataus", + "positionIp": "IP-osoite", + "positionArchive": "Arkisto", + "positionVin": "VIN", + "positionApproximate": "Likimääräinen", + "positionThrottle": "Kaasupoljin", + "positionMotion": "Liike", + "positionArmed": "Hälytys kytketty", + "positionAcceleration": "Kiihtyvyys", + "positionTemp": "Lämpötila", + "positionDeviceTemp": "Laitteen lämpötila", + "positionCoolantTemp": "Jäähdytysnesteen lämpötila", + "positionOperator": "Operaattori", + "positionCommand": "Komento", + "positionBlocked": "Estetty", + "positionDtcs": "DTC:t", + "positionObdSpeed": "OBD-nopeus", + "positionObdOdometer": "OBD-matkamittari", + "positionDrivingTime": "Ajoaika", + "positionDriverUniqueId": "Kuljettajan ID", + "positionCard": "Kortti", + "positionImage": "Kuva", + "positionVideo": "Video", + "positionAudio": "Ääni", + "serverTitle": "Palvelinasetukset", + "serverZoom": "Lähennys", + "serverRegistration": "Rekisteröinti", + "serverReadonly": "Vain luku", + "serverForceSettings": "Pakota asetukset", + "serverAnnouncement": "Ilmoitus", + "serverName": "Palvelimen nimi", + "serverDescription": "Palvelimen kuvaus", + "serverColorPrimary": "Ensisijainen väri", + "serverColorSecondary": "Toissijainen väri", + "serverLogo": "Logo kuva", + "serverLogoInverted": "Logo kuva negatiivinen", + "serverChangeDisable": "Estä palvelimen vaihto", + "serverDisableShare": "Estä laitteen jakaminen", + "mapTitle": "Kartta", + "mapActive": "Aktiiviset kartat", + "mapOverlay": "Karttapäällys", + "mapOverlayCustom": "Oma karttapäällys", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API-avain", + "mapOpenWeatherClouds": "OpenWeather pilvet", + "mapOpenWeatherPrecipitation": "OpenWeather sade", + "mapOpenWeatherPressure": "OpenWeather ilmanpaine", + "mapOpenWeatherWind": "OpenWeather tuuli", + "mapOpenWeatherTemperature": "OpenWeather lämpötila", + "mapLayer": "Karttataso", + "mapCustom": "Oma kartta (XYZ)", + "mapCustomArcgis": "Oma kartta (ArcGIS)", + "mapCustomLabel": "Oma kartta", + "mapCarto": "Carto-pohjakartat", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google katukartta", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google ilmakuva", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps -avain", + "mapBingRoad": "Bing Maps -tiet", + "mapBingAerial": "Bing Maps -ilmakuva", + "mapBingHybrid": "Bing Maps -hybridi", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex-kartta", + "mapYandexSat": "Yandex-satelliittikuva", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox kadut", + "mapMapboxStreetsDark": "Mapbox Streets tumma", + "mapMapboxOutdoors": "Mapbox ulkoilu", + "mapMapboxSatellite": "Mapbox satelliitti", + "mapMapboxKey": "Mapbox pääsyavain", + "mapMapTilerBasic": "MapTile perus", + "mapMapTilerHybrid": "MapTiler hybrid", + "mapMapTilerKey": "MapTiler API-avain", + "mapLocationIqStreets": "LocationIQ kadut", + "mapLocationIqDark": "LocationIQ tumma", + "mapLocationIqKey": "LocationIQ pääsyavain", + "mapTomTomBasic": "TomTom perus", + "mapTomTomFlow": "TomTom liikenne", + "mapTomTomIncidents": "TomTom liikenneonnettomuudet", + "mapTomTomKey": "TomTom API-avain", + "mapHereBasic": "Here perus", + "mapHereHybrid": "Here hybrid", + "mapHereSatellite": "Here satellitti", + "mapHereFlow": "Here liikenne", + "mapHereKey": "Here API-avain", + "mapShapePolygon": "Monikulmio", + "mapShapeCircle": "Ympyrä", + "mapShapePolyline": "Murtoviiva", + "mapLiveRoutes": "Live-reitit", + "mapDirection": "Näytä suunta", + "mapCurrentLocation": "Nykyinen sijainti", + "mapPoiLayer": "Kohdepistetaso", + "mapClustering": "Merkkien ryvästäminen", + "mapOnSelect": "Näytä kartta valittaessa", + "mapDefault": "Oletus kartta", + "stateTitle": "Tila", + "stateName": "Ominaisuus", + "stateValue": "Arvo", + "commandTitle": "Komento", + "commandSend": "Lähetä", + "commandSent": "Komento lähetetty", + "commandQueued": "Komento jonossa", + "commandUnit": "Yksikkö", + "commandCustom": "Oma komento", + "commandDeviceIdentification": "Laitteen tunnistus", + "commandPositionSingle": "Yksittäinen raportointi", + "commandPositionPeriodic": "Määräaikaisraportointi", + "commandPositionStop": "Lopeta raportointi", + "commandEngineStop": "Sammuta moottori", + "commandEngineResume": "Palauta moottori", + "commandAlarmArm": "Hälytys päälle", + "commandAlarmDisarm": "Hälytys pois", + "commandAlarmDismiss": "Hylkää hälytys", + "commandSetTimezone": "Aseta aikavyöhyke", + "commandRequestPhoto": "Pyydä kuva", + "commandPowerOff": "Sammuta laite", + "commandRebootDevice": "Käynnistä laite uudelleen", + "commandFactoryReset": "Tehdasasetusten palautus", + "commandSendSms": "Lähetä tekstiviesti", + "commandSendUssd": "Lähetä USSD", + "commandSosNumber": "Aseta SOS-numero", + "commandSilenceTime": "Aseta hiljainen aika", + "commandSetPhonebook": "Aseta osoitekirja", + "commandVoiceMessage": "Ääniviesti", + "commandOutputControl": "Ulostulon ohjaus", + "commandVoiceMonitoring": "Äänitarkkailu", + "commandSetAgps": "Aseta AGPS", + "commandSetIndicator": "Aseta indikaattori", + "commandConfiguration": "Konfigurointi", + "commandGetVersion": "Pyydä versio", + "commandFirmwareUpdate": "Päivitä laiteohjelmisto", + "commandSetConnection": "Aseta yhteys", + "commandSetOdometer": "Aseta matkamittari", + "commandGetModemStatus": "Pyydä modeemin tila", + "commandGetDeviceStatus": "Pyydä laitteen tila", + "commandSetSpeedLimit": "Aseta nopeusrajoitus", + "commandModePowerSaving": "Virransäästötila", + "commandModeDeepSleep": "Syväunitila", + "commandAlarmGeofence": "Aseta geoaitahälytys", + "commandAlarmBattery": "Aseta akkuhälytys", + "commandAlarmSos": "Aseta SOS-hälytys", + "commandAlarmRemove": "Aseta poistettu hälytys", + "commandAlarmClock": "Aseta aikahälytys", + "commandAlarmSpeed": "Aseta nopeushälytys", + "commandAlarmFall": "Aseta kaatumishälytys", + "commandAlarmVibration": "Aseta tärinähälytys", + "commandFrequency": "Taajuus", + "commandTimezone": "Aikavyöhykkeen poikkeama", + "commandMessage": "Viesti", + "commandRadius": "Säde", + "commandEnable": "Ota käyttöön", + "commandData": "Tieto", + "commandIndex": "Indeksi", + "commandPhone": "Puhelinnumero", + "commandServer": "Palvelin", + "commandPort": "Portti", + "eventAll": "Kaikki tapahtumat", + "eventDeviceOnline": "Tila online", + "eventDeviceUnknown": "Tila tuntematon", + "eventDeviceOffline": "Tila offline", + "eventDeviceInactive": "Laite epäaktiivinen", + "eventQueuedCommandSent": "Jonossa oleva komento lähetetty", + "eventDeviceMoving": "Laite liikkuu", + "eventDeviceStopped": "Laite pysähtynyt", + "eventDeviceOverspeed": "Nopeusrajoitus ylitetty", + "eventDeviceFuelDrop": "Polttoaineen väheneminen", + "eventDeviceFuelIncrease": "Polttoaineen lisääminen", + "eventCommandResult": "Komennon tulos", + "eventGeofenceEnter": "Laite saapui geoaitaan", + "eventGeofenceExit": "Laite poistui geoaidasta", + "eventAlarm": "Hälytykset", + "eventIgnitionOn": "Sytytysvirta päällä", + "eventIgnitionOff": "Sytytysvirta pois päältä", + "eventMaintenance": "Huoltoa tarvitaan", + "eventTextMessage": "Tekstiviesti vastaanotettu", + "eventDriverChanged": "Kuljettaja vaihtunut", + "eventMedia": "Media", + "eventsScrollToLast": "Vieritä viimeiseen", + "eventsSoundEvents": "Ääni tapahtumat", + "eventsSoundAlarms": "Ääni hälytykset", + "alarmGeneral": "Yleinen", + "alarmSos": "SOS", + "alarmVibration": "Tärinä", + "alarmMovement": "Liike", + "alarmLowspeed": "Alhainen nopeus", + "alarmOverspeed": "Ylinopeus", + "alarmFallDown": "Kaatuminen", + "alarmLowPower": "Alhainen virta", + "alarmLowBattery": "Alhainen akun varaus", + "alarmFault": "Vikaantuminen", + "alarmPowerOff": "Virran sammutus", + "alarmPowerOn": "Virran käynnistys", + "alarmDoor": "Ovi", + "alarmLock": "Lukittu", + "alarmUnlock": "Lukitus avattu", + "alarmGeofence": "Geoaita", + "alarmGeofenceEnter": "Geoaitaan saapuminen", + "alarmGeofenceExit": "Geoaidasta poistuminen", + "alarmGpsAntennaCut": "GPS antennivika", + "alarmAccident": "Onnettomuus", + "alarmTow": "Hinaus", + "alarmIdle": "Tyhjäkäynti", + "alarmHighRpm": "Korkea kierrosluku", + "alarmHardAcceleration": "Nopea kiihdytys", + "alarmHardBraking": "Nopea jarrutus", + "alarmHardCornering": "Kova käännös", + "alarmLaneChange": "Kaistan vaihto", + "alarmFatigueDriving": "Väsyneenä ajaminen", + "alarmPowerCut": "Sähkökatko", + "alarmPowerRestored": "Sähkökatkon loppuminen", + "alarmJamming": "Häirintä", + "alarmTemperature": "Lämpötila", + "alarmParking": "Pysäköinti", + "alarmBonnet": "Konepelti", + "alarmFootBrake": "Jalkajarru", + "alarmFuelLeak": "Polttoainevuoto", + "alarmTampering": "Peukalointi", + "alarmRemoving": "Siirto", + "notificationType": "Ilmoituksen tyyppi", + "notificationAlways": "Kaikki laitteet", + "notificationNotificators": "Kanavat", + "notificatorCommand": "Komento", + "notificatorWeb": "Web", + "notificatorMail": "Sähköposti", + "notificatorSms": "Tekstiviesti", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Toista", + "reportCombined": "Yhdistelmä", + "reportRoute": "Reitti", + "reportEvents": "Tapahtumat", + "reportTrips": "Matkat", + "reportStops": "Pysähdykset", + "reportSummary": "Yhteenveto", + "reportDaily": "Päivittäinen yhteenveto", + "reportChart": "Kuvaaja", + "reportConfigure": "Konfiguroi", + "reportEventTypes": "Tapahtumatyypit", + "reportChartType": "Kuvaajatyypit", + "reportShowMarkers": "Näytä merkit", + "reportExport": "Vie", + "reportEmail": "Sähköpostiraportti", + "reportSchedule": "Ajastettu", + "reportPeriod": "Jakso", + "reportCustom": "Oma", + "reportToday": "Tänään", + "reportYesterday": "Eilen", + "reportThisWeek": "Tällä viikolla", + "reportPreviousWeek": "Viime viikolla", + "reportThisMonth": "Tässä kuussa", + "reportPreviousMonth": "Viime kuussa", + "reportDeviceName": "Laitteen nimi", + "reportAverageSpeed": "Keskinopeus", + "reportMaximumSpeed": "Suurin nopeus", + "reportEngineHours": "Käyttötunnit", + "reportDuration": "Kesto", + "reportStartDate": "Aloituspäivä", + "reportStartTime": "Aloitusaika", + "reportStartAddress": "Aloitusosoite", + "reportEndTime": "Lopetusaika", + "reportEndAddress": "Lopetusosoite", + "reportSpentFuel": "Käytetty polttoaine", + "reportStartOdometer": "Matkamittari alussa", + "reportEndOdometer": "Matkamittari lopussa", + "statisticsTitle": "Tilastot", + "statisticsCaptureTime": "Tarkasteluaika", + "statisticsActiveUsers": "Aktiivisia käyttäjiä", + "statisticsActiveDevices": "Aktiivisia laitteita", + "statisticsRequests": "Pyyntöjä", + "statisticsMessagesReceived": "Viestejä vastaanotettu", + "statisticsMessagesStored": "Viestejä tallennettu", + "statisticsGeocoder": "Geokoodauspyyntöjä", + "statisticsGeolocation": "Sijaintipyyntöjä", + "categoryArrow": "Nuoli", + "categoryDefault": "Oletus", + "categoryAnimal": "Eläin", + "categoryBicycle": "Polkupyörä", + "categoryBoat": "Vene", + "categoryBus": "Bussi", + "categoryCar": "Auto", + "categoryCamper": "Matkailuajoneuvo", + "categoryCrane": "Nosturi", + "categoryHelicopter": "Helikopteri", + "categoryMotorcycle": "Moottoripyörä", + "categoryOffroad": "Maastoajoneuvo", + "categoryPerson": "Henkilö", + "categoryPickup": "Lava-auto", + "categoryPlane": "Lentokone", + "categoryShip": "Laiva", + "categoryTractor": "Traktori", + "categoryTrain": "Juna", + "categoryTram": "Raitiovaunu", + "categoryTrolleybus": "Johdinauto", + "categoryTruck": "Kuorma-auto", + "categoryVan": "Pakettiauto", + "categoryScooter": "Potkulauta", + "maintenanceStart": "Alku", + "maintenancePeriod": "Huoltoväli" +}
\ No newline at end of file diff --git a/legacy/web/l10n/fr.json b/legacy/web/l10n/fr.json new file mode 100644 index 00000000..1e9147ae --- /dev/null +++ b/legacy/web/l10n/fr.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Chargement...", + "sharedHide": "Cacher", + "sharedSave": "Enregistrer", + "sharedUpload": "Upload", + "sharedSet": "Régler", + "sharedCancel": "Annuler", + "sharedCopy": "Copy", + "sharedAdd": "Ajouter", + "sharedEdit": "Editer", + "sharedRemove": "Effacer", + "sharedRemoveConfirm": "Effacer objet?", + "sharedNoData": "Aucune donnée", + "sharedSubject": "Subject", + "sharedYes": "Oui", + "sharedNo": "Non", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "nd", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Heure", + "sharedMinute": "Minute", + "sharedSecond": "Seconde", + "sharedDays": "jours", + "sharedHours": "heures", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "Degrés Décimaux", + "sharedDegreesDecimalMinutes": "Degrés Décimaux Minutes", + "sharedDegreesMinutesSeconds": "Degrés Minutes Secondes", + "sharedName": "Nom", + "sharedDescription": "Description", + "sharedSearch": "Recherche", + "sharedIconScale": "Echelle des icônes", + "sharedGeofence": "Périmètre virtuel", + "sharedGeofences": "Périmètres virtuels", + "sharedCreateGeofence": "Créé un périmètre virtuel", + "sharedNotifications": "Notifications", + "sharedNotification": "Notification", + "sharedAttributes": "Attributs", + "sharedAttribute": "Attribut", + "sharedDrivers": "Pilotes", + "sharedDriver": "Pilote", + "sharedArea": "Aire", + "sharedSound": "Son de notification", + "sharedType": "Type", + "sharedDistance": "Distance", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litre", + "sharedImpGallon": "Gallon impérial", + "sharedUsGallon": "Gallon US", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "État de la carte", + "sharedComputedAttribute": "Attribut calculé", + "sharedComputedAttributes": "Attributs calculés", + "sharedCheckComputedAttribute": "Verifier l'attribut calculé", + "sharedExpression": "Expression", + "sharedDevice": "Appareil", + "sharedTest": "Test", + "sharedTestNotification": "Test d'envoi de notification", + "sharedTestNotificators": "Test canaux", + "sharedTestExpression": "Test expression", + "sharedCalendar": "Calendrier", + "sharedCalendars": "Calendriers", + "sharedFile": "Fichier", + "sharedSearchDevices": "Recherche appareils", + "sharedSortBy": "Trier par", + "sharedFilterMap": "Filtrer sur la carte", + "sharedSelectFile": "Sélectionner un fichier", + "sharedPhone": "Téléphone", + "sharedRequired": "Requis", + "sharedPreferences": "Préférences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connexions", + "sharedExtra": "Extra", + "sharedPrimary": "Primaire", + "sharedSecondary": "Secondaire", + "sharedTypeString": "Chaîne de caractères", + "sharedTypeNumber": "Nombre", + "sharedTypeBoolean": "Booléen", + "sharedTimezone": "Fuseau horaire", + "sharedInfoTitle": "Information", + "sharedSavedCommand": "Commande sauvegardée", + "sharedSavedCommands": "Commandes sauvegardées", + "sharedNew": "Nouveau", + "sharedShowAddress": "Montrer adresse", + "sharedShowDetails": "Plus de détails", + "sharedDisabled": "Désactivé", + "sharedMaintenance": "Entretien", + "sharedDeviceAccumulators": "Accumulateurs", + "sharedAlarms": "Alarmes", + "sharedLocation": "Localisation", + "sharedImport": "Importer", + "sharedColumns": "Colonnes", + "sharedDropzoneText": "Glissez et déposez un fichier ici ou cliquez", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Récurrence", + "calendarOnce": "Une fois", + "calendarDaily": "Journalier", + "calendarWeekly": "Hebdomadaire", + "calendarMonthly": "Mensuel", + "calendarDays": "Jours", + "calendarSunday": "Dimanche", + "calendarMonday": "Lundi", + "calendarTuesday": "Mardi", + "calendarWednesday": "Mercredi", + "calendarThursday": "Jeudi", + "calendarFriday": "Vendredi", + "calendarSaturday": "Samedi", + "attributeShowGeofences": "Afficher les périmètres virtuels", + "attributeSpeedLimit": "Limite de vitesse", + "attributeFuelDropThreshold": "Seuil perte de carburant", + "attributeFuelIncreaseThreshold": "Seuil ajout de carburant", + "attributePolylineDistance": "Distance polyligne", + "attributeReportIgnoreOdometer": "Rapport: Ignorer l'odomètre", + "attributeWebReportColor": "Web: couleur du rapport", + "attributeDevicePassword": "Mot de passe de l'appareil", + "attributeDeviceImage": "Image de l'appareil", + "attributeDeviceInactivityStart": "Début d'inactivité de l'appareil", + "attributeDeviceInactivityPeriod": "Période d'inactivité de l'appareil", + "attributeProcessingCopyAttributes": "En cours: Copie des attributs", + "attributeColor": "Couleur", + "attributeWebLiveRouteLength": "Web: Longueur de route en temps réel", + "attributeWebSelectZoom": "Web: Zoomer à la sélection", + "attributeWebMaxZoom": "Web: Zoom maximum", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover Clé Utilisateur", + "attributePushoverDeviceNames": "Pushover Noms d'appareils", + "attributeMailSmtpHost": "Mail: Hôte SMTP", + "attributeMailSmtpPort": "Mail: Port SMTP", + "attributeMailSmtpStarttlsEnable": "Mail: Activer SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Mail: Requérir SMTP STARTTLS", + "attributeMailSmtpSslEnable": "Mail: Activer SMTP SSL", + "attributeMailSmtpSslTrust": "Mail: Trust SMTP SSL", + "attributeMailSmtpSslProtocols": "Mail: Protocoles SMTP SSL", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: Activer l'authentification", + "attributeMailSmtpUsername": "Mail: Nom d'utilisateur", + "attributeMailSmtpPassword": "Mail: Mot de passe", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Désactiver les attributs", + "attributeUiDisableGroups": "UI: Désactiver groupes", + "attributeUiDisableEvents": "UI: Désactiver évènements", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Désactiver les conducteurs", + "attributeUiDisableComputedAttributes": "UI: Désactiver les attributs calculés", + "attributeUiDisableCalendars": "UI: Désactiver les calendiers", + "attributeUiDisableMaintenance": "UI: Désactiver l'entretien", + "attributeUiHidePositionAttributes": "UI: Cacher Attributs de Position", + "attributeUiDisableLoginLanguage": "UI: Désactiver choix des languges", + "attributeNotificationTokens": "Jeton de notification", + "attributePopupInfo": "Informations dans popup", + "errorTitle": "Erreur", + "errorGeneral": "Paramètres invalides ou violation de contrainte", + "errorConnection": "Erreur de connexion", + "errorSocket": "Erreur de connexion au socket web", + "errorZero": "Ne peut être zéro", + "userEmail": "Email", + "userPassword": "Mot de Passe", + "userAdmin": "Admin", + "userRemember": "Rappel", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Limite de l'appareil", + "userUserLimit": "Limite d'utilisateurs", + "userDeviceReadonly": "Appareil - Lecture seule", + "userLimitCommands": "Commandes de limite", + "userDisableReports": "Désactiver les rapports", + "userFixedEmail": "Changement d'email bloqué", + "userToken": "Jeton", + "userDeleteAccount": "Supprimer le compte", + "userTemporary": "Temporary", + "loginTitle": "Identification", + "loginLanguage": "Langue", + "loginReset": "Réinitialiser le mot de passe", + "loginRegister": "Inscription", + "loginLogin": "Se connecter", + "loginOpenId": "Login with OpenID", + "loginFailed": "Adresse email ou mot de passe incorrect", + "loginCreated": "Nouvel utilisateur enregistré", + "loginResetSuccess": "Vérifiez vos emails", + "loginUpdateSuccess": "Le nouveau mot de passe est défini", + "loginLogout": "Déconnexion", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Appareils et État", + "deviceSelected": "Appareil sélectionné", + "deviceTitle": "Appareils", + "devicePrimaryInfo": "Titre de l'appareil", + "deviceSecondaryInfo": "Détail de l'appareil", + "deviceIdentifier": "Identifiant", + "deviceModel": "Modèle", + "deviceContact": "Contact", + "deviceCategory": "Catégorie", + "deviceLastUpdate": "Dernière mise à jour", + "deviceCommand": "Commande", + "deviceFollow": "Suivre", + "deviceTotalDistance": "Distance totale", + "deviceStatus": "Statut", + "deviceStatusOnline": "En ligne", + "deviceStatusOffline": "Hors ligne", + "deviceStatusUnknown": "Inconnu", + "deviceRegisterFirst": "Enregistrez votre premier appareil", + "deviceIdentifierHelp": "IMEI, numéro de série ou autre id. Cela doit correspondre à l'identifiant avec lequel l'appareil envoie ses données au serveur.", + "deviceShare": "Share Device", + "groupDialog": "Groupe", + "groupParent": "Groupe", + "groupNoGroup": "Sans groupe", + "settingsTitle": "Paramètres", + "settingsUser": "Compte", + "settingsGroups": "Groupes", + "settingsServer": "Serveur", + "settingsUsers": "Utilisateurs", + "settingsDistanceUnit": "Unité de distance", + "settingsAltitudeUnit": "Unité d'altitude", + "settingsSpeedUnit": "Unité de vitesse", + "settingsVolumeUnit": "Unité de volume", + "settingsTwelveHourFormat": "Format d'heure - 12 heures", + "settingsCoordinateFormat": "Format des coordonées", + "settingsServerVersion": "Version serveur", + "settingsAppVersion": "Version application", + "settingsConnection": "Connexion", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Rapports", + "reportScheduled": "Rapports programmés", + "reportDevice": "Appareil", + "reportGroup": "Groupe", + "reportFrom": "De", + "reportTo": "À", + "reportShow": "Afficher", + "reportClear": "Effacer", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Plans", + "linkStreetView": "Street View", + "positionFixTime": "Horodatage", + "positionDeviceTime": "Heure de l'appareil", + "positionServerTime": "Heure du serveur", + "positionValid": "Valide", + "positionAccuracy": "Précision", + "positionLatitude": "Latitude", + "positionLongitude": "Longitude", + "positionAltitude": "Altitude", + "positionSpeed": "Vitesse", + "positionCourse": "Orientation", + "positionAddress": "Adresse", + "positionProtocol": "Protocole", + "positionDistance": "Distance", + "positionRpm": "t/m", + "positionFuel": "Carburant", + "positionPower": "Courant", + "positionBattery": "Batterie", + "positionRaw": "Brut", + "positionIndex": "Index", + "positionHdop": "Dilution de précision horizontale", + "positionVdop": "Dilution de précision verticale", + "positionPdop": "Dilution de précision de position", + "positionSat": "Satellites", + "positionSatVisible": "Satellites visibles", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Itinérance", + "positionEvent": "Évènement", + "positionAlarm": "Alarme", + "positionStatus": "Statut", + "positionOdometer": "Odomètre", + "positionServiceOdometer": "Odomètre d'entretien", + "positionTripOdometer": "Odomètre de voyage", + "positionHours": "Heures", + "positionSteps": "Etapes", + "positionInput": "Entrée de données", + "positionHeartRate": "Heart Rate", + "positionOutput": "Sortie de données", + "positionBatteryLevel": "Niveau de batterie", + "positionFuelConsumption": "Consommation de carburant", + "positionRfid": "RFID", + "positionVersionFw": "Version du micrologiciel", + "positionVersionHw": "Version du matériel", + "positionIgnition": "Allumage", + "positionFlags": "Drapeau", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "Numéro de chassis", + "positionApproximate": "Approximatif", + "positionThrottle": "Accélérateur", + "positionMotion": "Mouvement", + "positionArmed": "Armé", + "positionAcceleration": "Accélération", + "positionTemp": "Température", + "positionDeviceTemp": "Température de l'appareil", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Opérateur", + "positionCommand": "Commande", + "positionBlocked": "Bloqué", + "positionDtcs": "Code erreur", + "positionObdSpeed": "Vitesse OBD", + "positionObdOdometer": "Odomètre OBD", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "ID unique du pilote", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Vidéo", + "positionAudio": "Audio", + "serverTitle": "Paramètres de serveur", + "serverZoom": "Zoom", + "serverRegistration": "Inscription", + "serverReadonly": "Lecture seule", + "serverForceSettings": "Forcer les paramètres", + "serverAnnouncement": "Avis", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Carte", + "mapActive": "Cartes actives", + "mapOverlay": "Superposition de cartes", + "mapOverlayCustom": "Superposition personnalisée", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather Clé d'API", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Précipitations", + "mapOpenWeatherPressure": "OpenWeather Pression", + "mapOpenWeatherWind": "OpenWeather Vents", + "mapOpenWeatherTemperature": "OpenWeather Températures", + "mapLayer": "Couche cartographique", + "mapCustom": "Personnalisé (XYZ)", + "mapCustomArcgis": "Personnalisé (ArcGIS)", + "mapCustomLabel": "Carte Personnalisée", + "mapCarto": "Cartographie Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Clé d'API", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybride", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satelitte", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Jeton d'Accès", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler Clé d'API", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Jeton d'Accès", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom Clé d'API", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here Clé d'API", + "mapShapePolygon": "Polygone", + "mapShapeCircle": "Cercle", + "mapShapePolyline": "Polyligne", + "mapLiveRoutes": "Routes en direct", + "mapDirection": "Montre la direction", + "mapCurrentLocation": "Localisation actuelle", + "mapPoiLayer": "Couche Point d'intérêt", + "mapClustering": "Regroupement des marqueurs", + "mapOnSelect": "Afficher la carte lors de la sélection", + "mapDefault": "Carte par défaut", + "stateTitle": "État", + "stateName": "Paramètre", + "stateValue": "Valeur", + "commandTitle": "Commande", + "commandSend": "Envoyer", + "commandSent": "Commande envoyée", + "commandQueued": "Commande mise en queue", + "commandUnit": "Unité", + "commandCustom": "Commande personnalisée", + "commandDeviceIdentification": "Identification de l'appareil", + "commandPositionSingle": "Rapport de position unique", + "commandPositionPeriodic": "Périodicité du rapport de position", + "commandPositionStop": "Arrêt du rapport de position", + "commandEngineStop": "Arrêt moteur", + "commandEngineResume": "Démarrage moteur", + "commandAlarmArm": "Activer l'alarme", + "commandAlarmDisarm": "Désactiver l'alarme", + "commandAlarmDismiss": "Ignorer l'alarme", + "commandSetTimezone": "Régler le fuseau horaire", + "commandRequestPhoto": "Demander une photo", + "commandPowerOff": "Eteindre l'appareil", + "commandRebootDevice": "Redémarrer l'appareil", + "commandFactoryReset": "Réinitialisation d'usine", + "commandSendSms": "Envoyer un SMS", + "commandSendUssd": "Envoyer un USSD", + "commandSosNumber": "Régler le n° SOS", + "commandSilenceTime": "Définir le temps de silence", + "commandSetPhonebook": "Définir l'annuaire", + "commandVoiceMessage": "Message vocal", + "commandOutputControl": "Contrôle de la sortie", + "commandVoiceMonitoring": "Moniteur vocal", + "commandSetAgps": "Fixer l'AGPS", + "commandSetIndicator": "Définir l'indicateur", + "commandConfiguration": "Configuration", + "commandGetVersion": "Acquérir la version", + "commandFirmwareUpdate": "Mettre à jour le firmware", + "commandSetConnection": "Fixer la connexion", + "commandSetOdometer": "Fixer l'odomètre", + "commandGetModemStatus": "Acquérir le statut du modem", + "commandGetDeviceStatus": "Acquérir le statut du périphérique", + "commandSetSpeedLimit": "Définir la limite de vitesse", + "commandModePowerSaving": "Mode économie d'énergie", + "commandModeDeepSleep": "Mode veille profonde", + "commandAlarmGeofence": "Définir l'alarme périmètre virtuel", + "commandAlarmBattery": "Définir l'alarme de batterie", + "commandAlarmSos": "Définir l'alarme SOS", + "commandAlarmRemove": "Définir l'effacement des alarmes", + "commandAlarmClock": "Définir l'alarme de l'horloge", + "commandAlarmSpeed": "Définir l'alarme de vitesse", + "commandAlarmFall": "Définir l'alarme de chute", + "commandAlarmVibration": "Définir l'alarme de vibration", + "commandFrequency": "Fréquence", + "commandTimezone": "Décalage horaire", + "commandMessage": "Message", + "commandRadius": "Rayon", + "commandEnable": "Activer", + "commandData": "Données", + "commandIndex": "Index", + "commandPhone": "Numéro de téléphone", + "commandServer": "Serveur", + "commandPort": "Port", + "eventAll": "Tous les événements", + "eventDeviceOnline": "Statut: en ligne", + "eventDeviceUnknown": "Statut: inconnu", + "eventDeviceOffline": "Statut: hors ligne", + "eventDeviceInactive": "Appareil inactif", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Appareil en mouvement", + "eventDeviceStopped": "Appareil arrêté", + "eventDeviceOverspeed": "Vitesse limite dépassée", + "eventDeviceFuelDrop": "Perte de carburant", + "eventDeviceFuelIncrease": "Ajout de carburant", + "eventCommandResult": "Résultat de la commande", + "eventGeofenceEnter": "Entrée dans le périmètre virtuel", + "eventGeofenceExit": "Sortie du périmètre virtuel", + "eventAlarm": "Alarme", + "eventIgnitionOn": "Contact mis", + "eventIgnitionOff": "Contact coupé", + "eventMaintenance": "Entretien requis", + "eventTextMessage": "Message textuel reçu", + "eventDriverChanged": "Changement de conducteur", + "eventMedia": "Média", + "eventsScrollToLast": "Faire défiler jusqu'à la fin", + "eventsSoundEvents": "Son d'événements", + "eventsSoundAlarms": "Son d'alarmes", + "alarmGeneral": "Général", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Mouvement", + "alarmLowspeed": "Basse vitesse", + "alarmOverspeed": "Vitesse trop haute", + "alarmFallDown": "Chute", + "alarmLowPower": "Tension basse", + "alarmLowBattery": "Batterie basse", + "alarmFault": "Défaut", + "alarmPowerOff": "Eteindre", + "alarmPowerOn": "Allumer", + "alarmDoor": "Porte", + "alarmLock": "Verrouiller", + "alarmUnlock": "Déverrouiller", + "alarmGeofence": "Périmètre virtuel", + "alarmGeofenceEnter": "Entrée dans le périmètre virtuel", + "alarmGeofenceExit": "Sortie du périmètre virtuel", + "alarmGpsAntennaCut": "Antenne GPS coupée", + "alarmAccident": "Accident", + "alarmTow": "Remorquage", + "alarmIdle": "Au repos", + "alarmHighRpm": "Tours par minute élevés", + "alarmHardAcceleration": "Accélération brusque", + "alarmHardBraking": "Freinage brusque", + "alarmHardCornering": "Virage sec", + "alarmLaneChange": "Changement de bande", + "alarmFatigueDriving": "Conduite en état de fatigue", + "alarmPowerCut": "Courant coupé", + "alarmPowerRestored": "Courant restauré", + "alarmJamming": "Brouillage", + "alarmTemperature": "Température", + "alarmParking": "Parking", + "alarmBonnet": "Capot", + "alarmFootBrake": "Frein à pied", + "alarmFuelLeak": "Fuite de carburant", + "alarmTampering": "Altération", + "alarmRemoving": "Retrait", + "notificationType": "Type de notification", + "notificationAlways": "Tous les appareils", + "notificationNotificators": "Canaux", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combinés", + "reportRoute": "Route", + "reportEvents": "Évènements", + "reportTrips": "Trajets", + "reportStops": "Arrêts", + "reportSummary": "Résumé", + "reportDaily": "Rapport journalier", + "reportChart": "Graphique", + "reportConfigure": "Configurer", + "reportEventTypes": "Types d'évènements", + "reportChartType": "Type de graphique", + "reportShowMarkers": "Montrer les marqueurs", + "reportExport": "Exporter", + "reportEmail": "Rapport par email", + "reportSchedule": "Programme", + "reportPeriod": "Période", + "reportCustom": "Personnalisé", + "reportToday": "Aujourd'hui", + "reportYesterday": "Hier", + "reportThisWeek": "Cette semaine", + "reportPreviousWeek": "La semaine dernière", + "reportThisMonth": "Ce mois-ci", + "reportPreviousMonth": "Le mois dernier", + "reportDeviceName": "Nom de l'appareil", + "reportAverageSpeed": "Vitesse moyenne", + "reportMaximumSpeed": "Vitesse maximum", + "reportEngineHours": "Heures du moteur", + "reportDuration": "Durée", + "reportStartDate": "Date de départ", + "reportStartTime": "Heure de départ", + "reportStartAddress": "Adresse de départ", + "reportEndTime": "Date de fin", + "reportEndAddress": "Adresse de fin", + "reportSpentFuel": "Consommation de carburant", + "reportStartOdometer": "Départ de l'odomètre", + "reportEndOdometer": "Arrêt de l'odomètre", + "statisticsTitle": "Statistiques", + "statisticsCaptureTime": "Heure de capture", + "statisticsActiveUsers": "Utilisateurs actifs", + "statisticsActiveDevices": "Appareils actifs", + "statisticsRequests": "Requêtes", + "statisticsMessagesReceived": "Messages reçus", + "statisticsMessagesStored": "Messages stockés", + "statisticsGeocoder": "Requêtes de géocodage", + "statisticsGeolocation": "Requêtes de géolocalisation", + "categoryArrow": "Flèche", + "categoryDefault": "Par défaut", + "categoryAnimal": "Animal", + "categoryBicycle": "Vélo", + "categoryBoat": "Bateau", + "categoryBus": "Bus", + "categoryCar": "Voiture", + "categoryCamper": "Camper", + "categoryCrane": "Grue", + "categoryHelicopter": "Hélicoptère", + "categoryMotorcycle": "Moto", + "categoryOffroad": "Véhicule tout-terrain", + "categoryPerson": "Personne", + "categoryPickup": "Pickup", + "categoryPlane": "Avion", + "categoryShip": "Bateau", + "categoryTractor": "Tracteur", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Camion", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Départ", + "maintenancePeriod": "Période" +}
\ No newline at end of file diff --git a/legacy/web/l10n/gl.json b/legacy/web/l10n/gl.json new file mode 100644 index 00000000..8464e7bb --- /dev/null +++ b/legacy/web/l10n/gl.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Cargando...", + "sharedHide": "Agochar", + "sharedSave": "Gardar", + "sharedUpload": "Upload", + "sharedSet": "Establecer", + "sharedCancel": "Cancelar", + "sharedCopy": "Copy", + "sharedAdd": "Engadir", + "sharedEdit": "Editar", + "sharedRemove": "Eliminar", + "sharedRemoveConfirm": "Eliminar elemento?", + "sharedNoData": "Sen datos", + "sharedSubject": "Subject", + "sharedYes": "Si", + "sharedNo": "Non", + "sharedKm": "Km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Nós", + "sharedKmh": "Km/h", + "sharedMph": "mph", + "sharedHour": "Hora", + "sharedMinute": "Minuto", + "sharedSecond": "Segundo", + "sharedDays": "días", + "sharedHours": "horas", + "sharedMinutes": "minutos", + "sharedDecimalDegrees": "Graos", + "sharedDegreesDecimalMinutes": "Minutos", + "sharedDegreesMinutesSeconds": "Segundos", + "sharedName": "Nome", + "sharedDescription": "Descrición", + "sharedSearch": "Buscar", + "sharedIconScale": "Escala das iconas", + "sharedGeofence": "Xeocerca", + "sharedGeofences": "Xeocercas", + "sharedCreateGeofence": "Crear xeocerca", + "sharedNotifications": "Notificacións", + "sharedNotification": "Notificación", + "sharedAttributes": "Atributos", + "sharedAttribute": "Atributo", + "sharedDrivers": "Condutores", + "sharedDriver": "Condutor", + "sharedArea": "Área", + "sharedSound": "Son de notificación", + "sharedType": "Tipo", + "sharedDistance": "Distancia", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litro", + "sharedImpGallon": "Imp. Galón", + "sharedUsGallon": "Galón dos EUA", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Obter o estado do mapa", + "sharedComputedAttribute": "Atributo calculado", + "sharedComputedAttributes": "Atributos calculados", + "sharedCheckComputedAttribute": "Revisar atributo calculado", + "sharedExpression": "Expresión", + "sharedDevice": "Dispositivo", + "sharedTest": "Probar", + "sharedTestNotification": "Enviar notificación de proba", + "sharedTestNotificators": "Probar Canles", + "sharedTestExpression": "Probar expresión", + "sharedCalendar": "Calendario", + "sharedCalendars": "Calendarios", + "sharedFile": "Arquivo", + "sharedSearchDevices": "Buscar dispositivos", + "sharedSortBy": "Ordenar por", + "sharedFilterMap": "Filtrar no mapa", + "sharedSelectFile": "Seleccione Arquivo", + "sharedPhone": "Teléfono", + "sharedRequired": "Obrigatorio", + "sharedPreferences": "Preferencias", + "sharedPermissions": "Permisos", + "sharedConnections": "Conexións", + "sharedExtra": "Extra", + "sharedPrimary": "Principal", + "sharedSecondary": "Secundario", + "sharedTypeString": "Cadena", + "sharedTypeNumber": "Número", + "sharedTypeBoolean": "Booleano", + "sharedTimezone": "Fuso horario", + "sharedInfoTitle": "Información", + "sharedSavedCommand": "Comando gardado", + "sharedSavedCommands": "Comandos gardados", + "sharedNew": "Novo…", + "sharedShowAddress": "Mostrar enderezo", + "sharedShowDetails": "Máis detalles", + "sharedDisabled": "Desactivado", + "sharedMaintenance": "Mantemento", + "sharedDeviceAccumulators": "Acumuladores", + "sharedAlarms": "Alarmas", + "sharedLocation": "Localización", + "sharedImport": "Importar", + "sharedColumns": "Columnas", + "sharedDropzoneText": "Arrastra e solta un arquivo aquí ou fai clic", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recorrencia", + "calendarOnce": "Unha vez", + "calendarDaily": "A diario", + "calendarWeekly": "Semanal", + "calendarMonthly": "Mensual", + "calendarDays": "Días", + "calendarSunday": "Domingo", + "calendarMonday": "Luns", + "calendarTuesday": "martes", + "calendarWednesday": "Mércores", + "calendarThursday": "Xoves", + "calendarFriday": "Venres", + "calendarSaturday": "Sábado", + "attributeShowGeofences": "Mostrar xeocercas", + "attributeSpeedLimit": "Límite de velocidade", + "attributeFuelDropThreshold": "Limiar de perda de combustible", + "attributeFuelIncreaseThreshold": "Umbral de subida de combustible", + "attributePolylineDistance": "Distancia de poliliña", + "attributeReportIgnoreOdometer": "Informe: ignorar o odómetro", + "attributeWebReportColor": "Web: Cor de informe", + "attributeDevicePassword": "Contrasinal do dispositivo", + "attributeDeviceImage": "Imaxe do dispositivo", + "attributeDeviceInactivityStart": "Inicio da inactividade do dispositivo", + "attributeDeviceInactivityPeriod": "Período de inactividade do dispositivo", + "attributeProcessingCopyAttributes": "Procesamento: Copia de atributos", + "attributeColor": "Cor", + "attributeWebLiveRouteLength": "Web: Lonxitude da ruta en directo", + "attributeWebSelectZoom": "Web: Zoom na selección", + "attributeWebMaxZoom": "Web: Zoom máximo", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover nomes de dispositivos", + "attributeMailSmtpHost": "Correo: Servidor SMTP", + "attributeMailSmtpPort": "Correo: porto SMTP", + "attributeMailSmtpStarttlsEnable": "Correo: Activar SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Correo: SMTP STARTTLS necesario", + "attributeMailSmtpSslEnable": "Correo: Activar SMTP SSL", + "attributeMailSmtpSslTrust": "Correo: SMTP SSL de confianza", + "attributeMailSmtpSslProtocols": "Correo: Protocolos SMTP SSL", + "attributeMailSmtpFrom": "Correo: SMTP De", + "attributeMailSmtpAuth": "Correo: Activar autenticación SMTP", + "attributeMailSmtpUsername": "Correo: Nome de usuario SMTP", + "attributeMailSmtpPassword": "Correo: Contrasinal SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "IU: Desactivar atributos", + "attributeUiDisableGroups": "IU: Desactivar grupos", + "attributeUiDisableEvents": "IU: Desactivar eventos", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "IU: Desactivar condutores", + "attributeUiDisableComputedAttributes": "IU: Desactivar atributos calculados", + "attributeUiDisableCalendars": "IU: desactivar os calendarios", + "attributeUiDisableMaintenance": "IU: Desactivar o mantemento", + "attributeUiHidePositionAttributes": "IU: ocultar atributos de posición", + "attributeUiDisableLoginLanguage": "IU: desactivar o idioma de inicio de sesión", + "attributeNotificationTokens": "Tokens de notificación", + "attributePopupInfo": "Información emerxente", + "errorTitle": "Erro", + "errorGeneral": "Parámetros non válidos ou violación das restricións", + "errorConnection": "Erro de conexión", + "errorSocket": "Erro de conexión do socket web", + "errorZero": "Non pode ser cero", + "userEmail": "Email", + "userPassword": "Contrasinal", + "userAdmin": "Administrador", + "userRemember": "Recordar", + "userExpirationTime": "Caducidade", + "userDeviceLimit": "Límite de dispositivos", + "userUserLimit": "Límite de usuarios", + "userDeviceReadonly": "Dispositivo só de lectura", + "userLimitCommands": "Limitar comandos", + "userDisableReports": "Desactivar informes", + "userFixedEmail": "Sen cambio de correo electrónico", + "userToken": "Token Acceso", + "userDeleteAccount": "Eliminar conta", + "userTemporary": "Temporary", + "loginTitle": "Iniciar sesión", + "loginLanguage": "Idioma", + "loginReset": "Restablecer o contrasinal", + "loginRegister": "Rexistrarse", + "loginLogin": "Iniciar sesión", + "loginOpenId": "Iniciar sesión con OpenID", + "loginFailed": "Enderezo de correo electrónico ou contrasinal incorrectos", + "loginCreated": "Rexistrouse un novo usuario", + "loginResetSuccess": "Comprobe o seu correo electrónico", + "loginUpdateSuccess": "Establécese un novo contrasinal", + "loginLogout": "Pechar sesión", + "loginLogo": "Logotipo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Dispositivos e estado", + "deviceSelected": "Dispositivo seleccionado", + "deviceTitle": "Dispositivos", + "devicePrimaryInfo": "Título do dispositivo", + "deviceSecondaryInfo": "Detalle do dispositivo", + "deviceIdentifier": "Identificador", + "deviceModel": "Modelo", + "deviceContact": "Contacto", + "deviceCategory": "Categoría", + "deviceLastUpdate": "Última actualización", + "deviceCommand": "Comando", + "deviceFollow": "Seguir", + "deviceTotalDistance": "Distancia total", + "deviceStatus": "Estado", + "deviceStatusOnline": "En liña", + "deviceStatusOffline": "Sen conexión", + "deviceStatusUnknown": "Descoñecido", + "deviceRegisterFirst": "Rexistra o teu primeiro dispositivo", + "deviceIdentifierHelp": " O IMEI, número de serie ou outro id., ten que ser igual que o identificador do dispositivo que se meteu no servidor", + "deviceShare": "Share Device", + "groupDialog": "Grupo", + "groupParent": "Grupo", + "groupNoGroup": "Sen grupo", + "settingsTitle": "Axustes", + "settingsUser": "Conta", + "settingsGroups": "Grupos", + "settingsServer": "Servidor", + "settingsUsers": "Usuarios", + "settingsDistanceUnit": "Unidade de Distancia", + "settingsAltitudeUnit": "Unidade de altitude", + "settingsSpeedUnit": "Unidade de velocidade", + "settingsVolumeUnit": "Unidad de volumen", + "settingsTwelveHourFormat": "Formato de 12 horas", + "settingsCoordinateFormat": "Formato de coordenadas", + "settingsServerVersion": "Versión do servidor", + "settingsAppVersion": "Versión da aplicación", + "settingsConnection": "Conexión", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Informes", + "reportScheduled": "Informes programados", + "reportDevice": "Dispositivo", + "reportGroup": "Grupo", + "reportFrom": "Dende", + "reportTo": "Ata", + "reportShow": "Mostrar", + "reportClear": "Limpar", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Hora axustada", + "positionDeviceTime": "Hora do dispositivo", + "positionServerTime": "Hora do servidor", + "positionValid": "Válida", + "positionAccuracy": "Precisión", + "positionLatitude": "Latitude", + "positionLongitude": "Lonxitude", + "positionAltitude": "Altitude", + "positionSpeed": "Velocidade", + "positionCourse": "Rumbo", + "positionAddress": "Enderezo", + "positionProtocol": "Protocolo", + "positionDistance": "Distancia", + "positionRpm": "RPM", + "positionFuel": "Combustible", + "positionPower": "Enerxía", + "positionBattery": "Batería", + "positionRaw": "Crudo", + "positionIndex": "Índice", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satélites", + "positionSatVisible": "Satélites visibles", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Itinerancia", + "positionEvent": "Evento", + "positionAlarm": "Alarma", + "positionStatus": "Estado", + "positionOdometer": "Odómetro", + "positionServiceOdometer": "Odómetro de mantemento", + "positionTripOdometer": "Odómetro de viaxe", + "positionHours": "Horas", + "positionSteps": "Pasos", + "positionInput": "Entrada", + "positionHeartRate": "Ritmo cardíaco", + "positionOutput": "Saída", + "positionBatteryLevel": "Nivel de batería", + "positionFuelConsumption": "Consumo de combustible", + "positionRfid": "RFID", + "positionVersionFw": "Versión de firmware", + "positionVersionHw": "Versión de hardware", + "positionIgnition": "Encendido", + "positionFlags": "Bandeiras", + "positionCharge": "Carga", + "positionIp": "IP", + "positionArchive": "Arquivo", + "positionVin": "VIN", + "positionApproximate": "Aproximado", + "positionThrottle": "Acelerador", + "positionMotion": "Movemento", + "positionArmed": "Armado", + "positionAcceleration": "Aceleración", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura do dispositivo", + "positionCoolantTemp": "Temperatura do Refrixerante", + "positionOperator": "Operador", + "positionCommand": "Comando", + "positionBlocked": "Bloqueado", + "positionDtcs": "DTC", + "positionObdSpeed": "Velocidade OBD", + "positionObdOdometer": "Odómetro OBD", + "positionDrivingTime": "Tempo conducindo", + "positionDriverUniqueId": "ID única do condutor", + "positionCard": "Tarxeta", + "positionImage": "Imaxe", + "positionVideo": "Vídeo", + "positionAudio": "Audio", + "serverTitle": "Axustes do servidor", + "serverZoom": "Zoom", + "serverRegistration": "Rexistro", + "serverReadonly": "Só lectura", + "serverForceSettings": "Forzar axustes", + "serverAnnouncement": "Anuncio", + "serverName": "Nome do servidor", + "serverDescription": "Descrición do servidor", + "serverColorPrimary": "Color primario", + "serverColorSecondary": "Color secundario", + "serverLogo": "Imaxe do logotipo", + "serverLogoInverted": "Imaxe do logotipo con cores inversos", + "serverChangeDisable": "Desactivar o cambio de servidor", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Mapas activos", + "mapOverlay": "Superposición de mapas", + "mapOverlayCustom": "Superposición personalizada", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Capa do mapa", + "mapCustom": "Personalizado (XYZ)", + "mapCustomArcgis": "Personalizado (ArcGIS)", + "mapCustomLabel": "Mapa personalizado", + "mapCarto": "Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps - Clave", + "mapBingRoad": "Bing Maps - Carreteras", + "mapBingAerial": "Bing Maps - Aéreo", + "mapBingHybrid": "Bing Maps - Híbrido", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex", + "mapYandexSat": "Yandex Satélite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polígono", + "mapShapeCircle": "Círculo", + "mapShapePolyline": "Poliliña", + "mapLiveRoutes": "Rutas en directo", + "mapDirection": "Mostrar dirección", + "mapCurrentLocation": "Localización actual", + "mapPoiLayer": "Capa de PDI", + "mapClustering": "Agrupar marcadores", + "mapOnSelect": "Mostrar mapa na selección", + "mapDefault": "Mapa por defecto", + "stateTitle": "Estado", + "stateName": "Atributo", + "stateValue": "Valor", + "commandTitle": "Comando", + "commandSend": "Enviar", + "commandSent": "Comando enviado", + "commandQueued": "Comando en cola", + "commandUnit": "Unidade", + "commandCustom": "Comando personalizado", + "commandDeviceIdentification": "Identificador do dispositivo", + "commandPositionSingle": "Informe único", + "commandPositionPeriodic": "Informes periódicos", + "commandPositionStop": "Deixar de informar", + "commandEngineStop": "Apagar motor", + "commandEngineResume": "Desbloquear aceso de motor", + "commandAlarmArm": "Armar alarma", + "commandAlarmDisarm": "Desarmar alarma", + "commandAlarmDismiss": "Descartar alarma", + "commandSetTimezone": "Establecer fuso horario", + "commandRequestPhoto": "Solicitar foto", + "commandPowerOff": "Apagar o dispositivo", + "commandRebootDevice": "Reiniciar dispositivo", + "commandFactoryReset": "Restablecemento de fábrica", + "commandSendSms": "Enviar SMS", + "commandSendUssd": "Enviar USSD", + "commandSosNumber": "Establece o número de SOS", + "commandSilenceTime": "Establecer o horario de silencio", + "commandSetPhonebook": "Establecer axenda telefónica", + "commandVoiceMessage": "Mensaxe de voz", + "commandOutputControl": "Control de saídas", + "commandVoiceMonitoring": "Monitorización de voz", + "commandSetAgps": "Establecer AGPS", + "commandSetIndicator": "Establecer indicador", + "commandConfiguration": "Configuración", + "commandGetVersion": "Obter a versión", + "commandFirmwareUpdate": "Actualizar o firmware", + "commandSetConnection": "Establecer conexión", + "commandSetOdometer": "Establecer odómetro", + "commandGetModemStatus": "Obter o estado do módem", + "commandGetDeviceStatus": "Obter o estado do dispositivo", + "commandSetSpeedLimit": "Establecer límite de velocidade", + "commandModePowerSaving": "Modo de aforro de enerxía", + "commandModeDeepSleep": "Modo de aforro de enerxía profundo", + "commandAlarmGeofence": "Establecer alarma de xeocerca", + "commandAlarmBattery": "Establecer alarma de batería", + "commandAlarmSos": "Establecer alarma de SOS", + "commandAlarmRemove": "Establecer alarma de desmontaje", + "commandAlarmClock": "Establecer alarma de hora", + "commandAlarmSpeed": "Establecer alarma de velocidade", + "commandAlarmFall": "Establecer alarma de caída", + "commandAlarmVibration": "Establecer alarma de vibración", + "commandFrequency": "Frecuencia", + "commandTimezone": "Desfase de fuso horario", + "commandMessage": "Mensaxe", + "commandRadius": "Radio", + "commandEnable": "Activar", + "commandData": "Datos", + "commandIndex": "Índice", + "commandPhone": "Número de teléfono", + "commandServer": "Servidor", + "commandPort": "Porto", + "eventAll": "Todos os eventos", + "eventDeviceOnline": "Estado en liña", + "eventDeviceUnknown": "Estado descoñecido", + "eventDeviceOffline": "Estado sen conexión", + "eventDeviceInactive": "Dispositivo inactivo", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Dispositivo en movemento", + "eventDeviceStopped": "Dispositivo detido", + "eventDeviceOverspeed": "Superouse o límite de velocidade", + "eventDeviceFuelDrop": "Perda de combustible", + "eventDeviceFuelIncrease": "Aumento de combustible", + "eventCommandResult": "Resultado do comando", + "eventGeofenceEnter": "Entrada na xeocerca", + "eventGeofenceExit": "Saída da cerca xeocerca", + "eventAlarm": "Alarma", + "eventIgnitionOn": "Chave Encendida - ON", + "eventIgnitionOff": "Chave apagada - OFF", + "eventMaintenance": "Necesítase mantemento", + "eventTextMessage": "Mensaxe de texto recibida", + "eventDriverChanged": "O condutor cambiou", + "eventMedia": "Medios", + "eventsScrollToLast": "Desprazarse ata o último", + "eventsSoundEvents": "Sonido para eventos", + "eventsSoundAlarms": "Sonido para alarmas", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibración", + "alarmMovement": "Movemento", + "alarmLowspeed": "Baixa velocidade", + "alarmOverspeed": "Exceso de velocidade", + "alarmFallDown": "Alarma de caída", + "alarmLowPower": "Enerxía baixa", + "alarmLowBattery": "Batería baixa", + "alarmFault": "Alarma de fallo", + "alarmPowerOff": "Apagado", + "alarmPowerOn": "Encendido", + "alarmDoor": "Porta", + "alarmLock": "Bloquear", + "alarmUnlock": "Desbloquear", + "alarmGeofence": "Xeocerca", + "alarmGeofenceEnter": "Entrou na xeocerca", + "alarmGeofenceExit": "Saíu da xeocerca", + "alarmGpsAntennaCut": "Corte de antena GPS", + "alarmAccident": "Accidente", + "alarmTow": "Guindastre de arrastre", + "alarmIdle": "Inactivo", + "alarmHighRpm": "Altas RPM", + "alarmHardAcceleration": "Aceleración brusca", + "alarmHardBraking": "Freada brusca", + "alarmHardCornering": "Xiro brusco", + "alarmLaneChange": "Cambio de carril", + "alarmFatigueDriving": "Condución con cansazo", + "alarmPowerCut": "Corte de alimentación", + "alarmPowerRestored": "Enerxía restablecida", + "alarmJamming": "Interferencia", + "alarmTemperature": "Temperatura", + "alarmParking": "Aparcadoiro", + "alarmBonnet": "Capó", + "alarmFootBrake": "Freo de pé", + "alarmFuelLeak": "Fuga de combustible", + "alarmTampering": "Manipulación", + "alarmRemoving": "Eliminando", + "notificationType": "Tipo de notificación", + "notificationAlways": "Todos os dispositivos", + "notificationNotificators": "Canles", + "notificatorCommand": "Comando", + "notificatorWeb": "Web", + "notificatorMail": "Correo", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Repetición ruta", + "reportCombined": "Combinado \n ", + "reportRoute": "Ruta", + "reportEvents": "Eventos", + "reportTrips": "Viaxes", + "reportStops": "Paradas", + "reportSummary": "Resumo", + "reportDaily": "Resumo diario", + "reportChart": "Gráfica", + "reportConfigure": "Configurar", + "reportEventTypes": "Tipos de eventos", + "reportChartType": "Tipo de gráfica", + "reportShowMarkers": "Amosar marcadores", + "reportExport": "Exportar", + "reportEmail": "Informe por correo", + "reportSchedule": "Planificación", + "reportPeriod": "Período", + "reportCustom": "Personalizado", + "reportToday": "Hoxe", + "reportYesterday": "Onte", + "reportThisWeek": "Esta semana", + "reportPreviousWeek": "Semana anterior", + "reportThisMonth": "Este mes", + "reportPreviousMonth": "Mes anterior", + "reportDeviceName": "Nome", + "reportAverageSpeed": "Velocidade media", + "reportMaximumSpeed": "Velocidade máxima", + "reportEngineHours": "Horas do motor", + "reportDuration": "Duración", + "reportStartDate": "Data de inicio", + "reportStartTime": "Hora de inicio", + "reportStartAddress": "Enderezo de inicio", + "reportEndTime": "Hora de fin", + "reportEndAddress": "Enderezo de fin", + "reportSpentFuel": "Combustible gastado", + "reportStartOdometer": "Odómetro inicial", + "reportEndOdometer": "Odómetro final", + "statisticsTitle": "Estatísticas", + "statisticsCaptureTime": "Fecha de captura", + "statisticsActiveUsers": "Usuarios activos", + "statisticsActiveDevices": "Dispositivos activos", + "statisticsRequests": "Peticións", + "statisticsMessagesReceived": "Mensaxes recibidas", + "statisticsMessagesStored": "Mensaxes almacenadas", + "statisticsGeocoder": "Solicitudes ao xeocodificador", + "statisticsGeolocation": "Solicitudes de xeolocalización", + "categoryArrow": "Frecha", + "categoryDefault": "Por defecto", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicicleta", + "categoryBoat": "Barco", + "categoryBus": "Autobús", + "categoryCar": "Coche", + "categoryCamper": "Camper", + "categoryCrane": "Grúa", + "categoryHelicopter": "Helicóptero", + "categoryMotorcycle": "Motocicleta", + "categoryOffroad": "Todoterreo", + "categoryPerson": "Persoa", + "categoryPickup": "Pickup", + "categoryPlane": "Avión", + "categoryShip": "Barco", + "categoryTractor": "Tractor", + "categoryTrain": "Tren", + "categoryTram": "Tranvía", + "categoryTrolleybus": "Trolebús", + "categoryTruck": "Camión", + "categoryVan": "Furgoneta", + "categoryScooter": "Scooter", + "maintenanceStart": "Comezar", + "maintenancePeriod": "Período" +}
\ No newline at end of file diff --git a/legacy/web/l10n/he.json b/legacy/web/l10n/he.json new file mode 100644 index 00000000..8a2a4eed --- /dev/null +++ b/legacy/web/l10n/he.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "טוען...", + "sharedHide": "הסתר", + "sharedSave": "שמירה", + "sharedUpload": "Upload", + "sharedSet": "הגדרה", + "sharedCancel": "ביטול", + "sharedCopy": "העתקה", + "sharedAdd": "הוספה", + "sharedEdit": "עריכה", + "sharedRemove": "הסרה", + "sharedRemoveConfirm": "הסרת פריט", + "sharedNoData": "No data", + "sharedSubject": "נושא", + "sharedYes": "כן", + "sharedNo": "לא", + "sharedKm": "ק\"מ", + "sharedMi": "מייל", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "קשר", + "sharedKmh": "ק\"מ/שעה", + "sharedMph": "מייל/שעה", + "sharedHour": "שעה", + "sharedMinute": "דקה", + "sharedSecond": "שנייה", + "sharedDays": "ימים", + "sharedHours": "שעות", + "sharedMinutes": "דקות", + "sharedDecimalDegrees": "מעלות עשרוניות", + "sharedDegreesDecimalMinutes": "מעלות ודקות עשרוניות", + "sharedDegreesMinutesSeconds": "מעלות, דקות ושניות", + "sharedName": "שם", + "sharedDescription": "תיאור", + "sharedSearch": "חיפוש", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "גדר וירטואלית", + "sharedGeofences": "גדרות וירטואליות", + "sharedCreateGeofence": "צרו איזור מגודר", + "sharedNotifications": "התראות", + "sharedNotification": "התראה", + "sharedAttributes": "תכונות", + "sharedAttribute": "תכונה", + "sharedDrivers": "נהגים", + "sharedDriver": "נהג", + "sharedArea": "איזור", + "sharedSound": "צליל התראה", + "sharedType": "סוג", + "sharedDistance": "מרחק", + "sharedHourAbbreviation": "ש'", + "sharedMinuteAbbreviation": "דק'", + "sharedSecondAbbreviation": "שנ'", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "ל", + "sharedGallonAbbreviation": "גלון", + "sharedLiter": "ליטר", + "sharedImpGallon": "גלון", + "sharedUsGallon": "גלון", + "sharedLiterPerHourAbbreviation": "ליטר/ שעה", + "sharedGetMapState": "הגדר מהמפה", + "sharedComputedAttribute": "תכונה ממוחשבת", + "sharedComputedAttributes": "תכונה ממוחשבת", + "sharedCheckComputedAttribute": "בדוק תכונות ממוחשבות", + "sharedExpression": "ביטוי", + "sharedDevice": "התקן", + "sharedTest": "בדיקה", + "sharedTestNotification": "שלח הודעת בדיקה", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "יומן", + "sharedCalendars": "יומנים", + "sharedFile": "קובץ", + "sharedSearchDevices": "חיפוש מכשירים", + "sharedSortBy": "מיון לפי", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "בחר קובץ", + "sharedPhone": "טלפון", + "sharedRequired": "נדרש", + "sharedPreferences": "עדיפויות", + "sharedPermissions": "הרשאות", + "sharedConnections": "Connections", + "sharedExtra": "תוספת", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "מחרוזת", + "sharedTypeNumber": "מספר", + "sharedTypeBoolean": "בוליאני", + "sharedTimezone": "אזור זמן", + "sharedInfoTitle": "פרטים", + "sharedSavedCommand": "פקודות שמורות", + "sharedSavedCommands": "פקודות שמורות", + "sharedNew": "חדש", + "sharedShowAddress": "הצג כתובת", + "sharedShowDetails": "יותר פרטים", + "sharedDisabled": "מושבת", + "sharedMaintenance": "תחזוקה", + "sharedDeviceAccumulators": "מצברים", + "sharedAlarms": "אזעקות", + "sharedLocation": "מיקום", + "sharedImport": "ייבוא", + "sharedColumns": "עמודות", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "פעם אחת", + "calendarDaily": "יומי", + "calendarWeekly": "שבועי", + "calendarMonthly": "חודשי", + "calendarDays": "Days", + "calendarSunday": "יום ראשון", + "calendarMonday": "יום שני", + "calendarTuesday": "יום שלישי", + "calendarWednesday": "יום רביעי", + "calendarThursday": "יום חמישי", + "calendarFriday": "יום שישי", + "calendarSaturday": "שבת", + "attributeShowGeofences": "הצג איזורים מגודרים", + "attributeSpeedLimit": "הגבלת מהירות", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "מרחק מצולע", + "attributeReportIgnoreOdometer": "דוח : התעלם ממד המרחק", + "attributeWebReportColor": "אתר : בחר צבע", + "attributeDevicePassword": "סיסמת התקן ", + "attributeDeviceImage": "תמונת רכב", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "עיבוד: העתקת תכונות", + "attributeColor": "צבע", + "attributeWebLiveRouteLength": "ממשק : אורך מסלול זמן אמת", + "attributeWebSelectZoom": "אתר : בחר הפעלת זום", + "attributeWebMaxZoom": "אתר : זום מקסימלי", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "כתובת שרת דואר SMTP", + "attributeMailSmtpPort": "שרת דואר: פורט גישה ", + "attributeMailSmtpStarttlsEnable": "אפשר מייל מאובטח באמצעות TLS", + "attributeMailSmtpStarttlsRequired": "נדרש SMTP STARTTLS ", + "attributeMailSmtpSslEnable": "אפשר SSL לשרת דואר", + "attributeMailSmtpSslTrust": "דואר:SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "פרוטוקול חיבור SSL לשרת דואר", + "attributeMailSmtpFrom": "כתובת השולח ", + "attributeMailSmtpAuth": "אפשר אימות לSMTP", + "attributeMailSmtpUsername": "שם משתמש SMTP ", + "attributeMailSmtpPassword": "סיסמת SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "ממשק: בטל ארועים", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "ממשק : בטל נהגים ", + "attributeUiDisableComputedAttributes": "ממשק : בטל תכונה ממוחשבת", + "attributeUiDisableCalendars": "ממשק : בטל יומנים", + "attributeUiDisableMaintenance": "אל תציג :תחזוקה", + "attributeUiHidePositionAttributes": "ממשק : הסתר מיקום תכונות", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "שגיאה", + "errorGeneral": "גורם לא בתוקף או הפרת אילוצים ", + "errorConnection": "בעייה בחיבור", + "errorSocket": "בעיית רשת", + "errorZero": "ערך לא יכול להיות אפס", + "userEmail": "אימייל", + "userPassword": "סיסמה", + "userAdmin": "מנהל", + "userRemember": "זכור אותי", + "userExpirationTime": "תוקף", + "userDeviceLimit": "מגבלת מכשירים", + "userUserLimit": "מגבלת משתמשים", + "userDeviceReadonly": "מכשירים - לקריאה בלבד", + "userLimitCommands": "הגבל פקודות ", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "אסימון", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "כניסה", + "loginLanguage": "שפה", + "loginReset": "איפוס סיסמה", + "loginRegister": "הרשם", + "loginLogin": "כניסה", + "loginOpenId": "Login with OpenID", + "loginFailed": "אימייל או סיסמה שגויים", + "loginCreated": "משתמש חדש נרשם", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "הסיסמה החדשה הוגדרה", + "loginLogout": "יציאה", + "loginLogo": "לוגו", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "מכשירים וסטטוס", + "deviceSelected": "Selected Device", + "deviceTitle": "מכשירים", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "מזהה", + "deviceModel": "דגם", + "deviceContact": "איש קשר", + "deviceCategory": "קטגוריה", + "deviceLastUpdate": "עודכן לאחרונה", + "deviceCommand": "פקודה", + "deviceFollow": "עקוב", + "deviceTotalDistance": "מרחק כולל", + "deviceStatus": "סטטוס", + "deviceStatusOnline": "מחובר", + "deviceStatusOffline": "מנותק", + "deviceStatusUnknown": "מצבו אינו ידוע", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "קבוצה", + "groupParent": "קבוצה", + "groupNoGroup": "ללא קבוצה", + "settingsTitle": "הגדרות", + "settingsUser": "חשבון", + "settingsGroups": "קבוצות", + "settingsServer": "שרת", + "settingsUsers": "משתמשים", + "settingsDistanceUnit": "יח מרחק", + "settingsAltitudeUnit": "יחידת גובה", + "settingsSpeedUnit": "יח מהירות ", + "settingsVolumeUnit": "יחידת נפח", + "settingsTwelveHourFormat": "פורמט של 12 שעות", + "settingsCoordinateFormat": "פורמט קואורדינטות", + "settingsServerVersion": "גרסת השרת", + "settingsAppVersion": "גרסת האפליקציה", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "דו\"חות", + "reportScheduled": "דוחות מתוזמנים", + "reportDevice": "מכשיר", + "reportGroup": "קבוצה", + "reportFrom": "מ-", + "reportTo": "עד", + "reportShow": "הצג", + "reportClear": "נקה", + "linkGoogleMaps": "מפות גוגל", + "linkAppleMaps": "מפות אפל", + "linkStreetView": "תצוגת רחוב", + "positionFixTime": "זמן עדכון GPS", + "positionDeviceTime": "עדכון אחרון", + "positionServerTime": "זמן השרת", + "positionValid": "תקין", + "positionAccuracy": "דיוק", + "positionLatitude": "קו רוחב", + "positionLongitude": "קו אורך", + "positionAltitude": "גובה", + "positionSpeed": "מהירות", + "positionCourse": "מסלול", + "positionAddress": "כתובת", + "positionProtocol": "פרוטוקול", + "positionDistance": "מרחק", + "positionRpm": "סל\"ד ", + "positionFuel": "דלק", + "positionPower": "מצבר", + "positionBattery": "סוללה", + "positionRaw": "גלם", + "positionIndex": "אינדקס", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "לווינים", + "positionSatVisible": "לווניינים בשימוש ", + "positionRssi": "RSSI", + "positionGps": "מערכת איתור לוונית ", + "positionRoaming": "נדידה", + "positionEvent": "אירוע", + "positionAlarm": "התראה", + "positionStatus": "סטטוס", + "positionOdometer": "מד מרחק", + "positionServiceOdometer": "טיפול לפי ספידומטר", + "positionTripOdometer": "מד מרחק נסיעה", + "positionHours": "שעות", + "positionSteps": "צעדים", + "positionInput": "כניסה", + "positionHeartRate": "Heart Rate", + "positionOutput": "יציאה", + "positionBatteryLevel": "רמת הסוללה", + "positionFuelConsumption": "צריכת דלק", + "positionRfid": "RFID", + "positionVersionFw": "גרסת קושחה", + "positionVersionHw": "גרסת חומרה", + "positionIgnition": "הצתה", + "positionFlags": "איתות -סימון", + "positionCharge": "טעינה", + "positionIp": "כתובת IP", + "positionArchive": "ארכיון", + "positionVin": "מס זיהוי רכב יצרן", + "positionApproximate": "משוער", + "positionThrottle": "מצערת", + "positionMotion": "תנועה", + "positionArmed": "דרוך", + "positionAcceleration": "תאוצה", + "positionTemp": "טמפרטורה", + "positionDeviceTemp": "טמפרטורת המכשיר", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "מפעיל", + "positionCommand": "פקודה", + "positionBlocked": "חסום", + "positionDtcs": "מערכת תקשורת טקטית מבוזרת", + "positionObdSpeed": "מהירות לפי OBD", + "positionObdOdometer": "מד מרחק OBD", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "מזהה נהג יחודי", + "positionCard": "Card", + "positionImage": "תמונה", + "positionVideo": "Video", + "positionAudio": "קול", + "serverTitle": "הגדרות שרת", + "serverZoom": "זום", + "serverRegistration": "הרשמה", + "serverReadonly": "לקריאה בלבד", + "serverForceSettings": "כפה הגדרות", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "מפה", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "שכבת מפה", + "mapCustom": "מותאם (XYZ)", + "mapCustomArcgis": "מפה מותאמת (ArcGIS)", + "mapCustomLabel": "מפה מותאמת ", + "mapCarto": "Carto Basemaps\n", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "מפתח מפות בינג", + "mapBingRoad": "מפות כביש בינג", + "mapBingAerial": "מפות אוויריות בינג", + "mapBingHybrid": "מפות היברדיות בינג", + "mapBaidu": "מפות סיניות ביידו", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "מפות רוסיות Yandex", + "mapYandexSat": "מפות רוסיות לווין Yandex", + "mapWikimedia": "ויקימדיה", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "פוליגון", + "mapShapeCircle": "מעגל", + "mapShapePolyline": "צלע", + "mapLiveRoutes": "מסלול נסיעה", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "שכבת נק' עניין", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "מצב", + "stateName": "תכונה", + "stateValue": "ערך", + "commandTitle": "פקודה", + "commandSend": "שליחה", + "commandSent": "פקודה נשלחה", + "commandQueued": "הפקודה ממתינה ", + "commandUnit": "יחידה", + "commandCustom": "פקודה בהתאמה אישית", + "commandDeviceIdentification": "זיהוי מכשיר", + "commandPositionSingle": "דו\"ח יחיד", + "commandPositionPeriodic": "דיווח תקופתי", + "commandPositionStop": "עצור דיווח", + "commandEngineStop": "דומם מנוע", + "commandEngineResume": "הפעל מנוע", + "commandAlarmArm": "הפעלת אזעקה", + "commandAlarmDisarm": "נטרול אזעקה", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "קבע איזור זמן", + "commandRequestPhoto": "בקשה לתמונה", + "commandPowerOff": "כיבוי התקן ", + "commandRebootDevice": "איתחול המכשיר", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "שלח סמס", + "commandSendUssd": "שלח נתוני שירות משלימים לא מובנים", + "commandSosNumber": "קבע מספר חירום", + "commandSilenceTime": "קבע משך זמן הדממה", + "commandSetPhonebook": "הגדר ספר טלפונים", + "commandVoiceMessage": "הודעה קולית", + "commandOutputControl": "בקרת פלט", + "commandVoiceMonitoring": "האזנה ", + "commandSetAgps": "הפעל AGPS", + "commandSetIndicator": "הגדר מד ", + "commandConfiguration": "תצורה", + "commandGetVersion": "קבל גרסה", + "commandFirmwareUpdate": "עדכן גרסת חומרה", + "commandSetConnection": "הגדר תקשורת", + "commandSetOdometer": "הגדר מד מרחק", + "commandGetModemStatus": "הבא מצב מודם", + "commandGetDeviceStatus": "הבא מצב התקן ", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "מצב חיסכון בחשמל", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "תדירות", + "commandTimezone": "איזון אזור זמן ", + "commandMessage": "הודעה", + "commandRadius": "רדיוס", + "commandEnable": "מאופשר", + "commandData": "נתונים", + "commandIndex": "אינדקס", + "commandPhone": "טלפון", + "commandServer": "שרת", + "commandPort": "פורט", + "eventAll": "כל ההתראות", + "eventDeviceOnline": "מצב אונליין", + "eventDeviceUnknown": "מצב לא ידוע", + "eventDeviceOffline": "מצב מנותק", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "ההתקן בתנועה", + "eventDeviceStopped": "ההתקן עצר", + "eventDeviceOverspeed": "חרג מהמהירות המותרת ", + "eventDeviceFuelDrop": "שחרור מיכל דלק", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "תוצאות הפקודה", + "eventGeofenceEnter": "נכנס אל האזור המתוחם", + "eventGeofenceExit": "יצא מהאזור המתוחם", + "eventAlarm": "התראה", + "eventIgnitionOn": "התנעה", + "eventIgnitionOff": "מנוע נכבה", + "eventMaintenance": "תחזוקה נדרשת", + "eventTextMessage": "התקבלה הודעת טקסט", + "eventDriverChanged": "נהג הוחלף", + "eventMedia": "Media", + "eventsScrollToLast": "גלול אל האחרון", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "כללי", + "alarmSos": "חירום", + "alarmVibration": "ויברציה", + "alarmMovement": "תנועה", + "alarmLowspeed": "מהירות נמוכה", + "alarmOverspeed": "עבר מהירות מותרת", + "alarmFallDown": "ליפול", + "alarmLowPower": "מצבר חלש", + "alarmLowBattery": "סוללה חלשה", + "alarmFault": "תקלה", + "alarmPowerOff": "כיבוי", + "alarmPowerOn": "הדלקה", + "alarmDoor": "דלת", + "alarmLock": "נעילה", + "alarmUnlock": "פתיחה", + "alarmGeofence": "גדר וירטואלית ", + "alarmGeofenceEnter": "נכנס לתחום המוגדר", + "alarmGeofenceExit": "יצא מהתחום המוגדר", + "alarmGpsAntennaCut": "ניתוק GPS", + "alarmAccident": "תאונה", + "alarmTow": "גרירה", + "alarmIdle": "מצב מנוחה", + "alarmHighRpm": "סלד גבוה", + "alarmHardAcceleration": "האצה חדה", + "alarmHardBraking": "בלימת חירום", + "alarmHardCornering": "פניה חדה", + "alarmLaneChange": "סטיה מהנתיב", + "alarmFatigueDriving": "עייפות נהיגה", + "alarmPowerCut": "ניתוק", + "alarmPowerRestored": "חשמל חזר", + "alarmJamming": "שיבוש", + "alarmTemperature": "טמפרטורה", + "alarmParking": "חניה", + "alarmBonnet": "מכסה מנוע", + "alarmFootBrake": "בלם ", + "alarmFuelLeak": "דליפת דלק", + "alarmTampering": "מפריע", + "alarmRemoving": "מסיר", + "notificationType": "סוג ההתראה", + "notificationAlways": "כל ההתקנים", + "notificationNotificators": "ערוצים", + "notificatorCommand": "Command", + "notificatorWeb": "אתר", + "notificatorMail": "מייל", + "notificatorSms": "סמס", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "מסלול", + "reportEvents": "אירועים", + "reportTrips": "נסיעות", + "reportStops": "עצירות", + "reportSummary": "סיכום", + "reportDaily": "Daily Summary", + "reportChart": "תרשים", + "reportConfigure": "הגדר", + "reportEventTypes": "סוגי אירועים", + "reportChartType": "סוג תרשים", + "reportShowMarkers": "הצג חצים", + "reportExport": "יצוא", + "reportEmail": "דוח במייל", + "reportSchedule": "Schedule", + "reportPeriod": "תקופה", + "reportCustom": "מותאם אישית", + "reportToday": "היום", + "reportYesterday": "אתמול", + "reportThisWeek": "השבוע", + "reportPreviousWeek": "שבוע שעבר", + "reportThisMonth": "חודש נוכחי", + "reportPreviousMonth": "חודש קודם", + "reportDeviceName": "שם המכשיר", + "reportAverageSpeed": "מהירות ממוצעת", + "reportMaximumSpeed": "מהירות מירבית", + "reportEngineHours": "שעות מנוע", + "reportDuration": "משך הנסיעה", + "reportStartDate": "Start Date", + "reportStartTime": "זמן התחלה", + "reportStartAddress": "נקודת מוצא", + "reportEndTime": "זמן סיום", + "reportEndAddress": "נקודת יעד", + "reportSpentFuel": "צריכת דלק", + "reportStartOdometer": "ספידומטר קמ התחלתי", + "reportEndOdometer": "ספידומטר קמ סוף ", + "statisticsTitle": "סטטיסטיקה", + "statisticsCaptureTime": "פרק זמן", + "statisticsActiveUsers": "משתמשים פעילים", + "statisticsActiveDevices": "מכשירים פעילים", + "statisticsRequests": "בקשות", + "statisticsMessagesReceived": "הודעות שהתקבלו", + "statisticsMessagesStored": "הודעות שנשמרו", + "statisticsGeocoder": "בקשת מיקום גיאוגרפי\n", + "statisticsGeolocation": "בקשות מיקום גיאוגרפי", + "categoryArrow": "חץ", + "categoryDefault": "ברירת מחדל", + "categoryAnimal": "חיה", + "categoryBicycle": "אופניים", + "categoryBoat": "סירה", + "categoryBus": "אוטובוס", + "categoryCar": "רכב פרטי", + "categoryCamper": "Camper", + "categoryCrane": "מנוף", + "categoryHelicopter": "מסוק", + "categoryMotorcycle": "אופנוע", + "categoryOffroad": "רכב שטח", + "categoryPerson": "אדם", + "categoryPickup": "משאית קלה", + "categoryPlane": "מטוס", + "categoryShip": "ספינה", + "categoryTractor": "טרקטור", + "categoryTrain": "רכבת", + "categoryTram": "חשמלית ", + "categoryTrolleybus": "אוטובוס", + "categoryTruck": "משאית", + "categoryVan": "מסחרית", + "categoryScooter": "קטנוע", + "maintenanceStart": "התחל", + "maintenancePeriod": "פרק זמן " +}
\ No newline at end of file diff --git a/legacy/web/l10n/hi.json b/legacy/web/l10n/hi.json new file mode 100644 index 00000000..1716dc99 --- /dev/null +++ b/legacy/web/l10n/hi.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "लोड हो रहा है...", + "sharedHide": "छिपाना", + "sharedSave": "सुरक्षित करें", + "sharedUpload": "Upload", + "sharedSet": "स्वीकृति दें", + "sharedCancel": "रद्द करें", + "sharedCopy": "Copy", + "sharedAdd": "जोड़ें", + "sharedEdit": "संपादित करें", + "sharedRemove": "हटाएं", + "sharedRemoveConfirm": "आइटम हटाएं ?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "हाँ", + "sharedNo": "नहीं", + "sharedKm": "किमी / किलोमीटर", + "sharedMi": "एम आई", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "के.एन.", + "sharedKmh": "किमी / घंटा", + "sharedMph": "मील प्रति घंटा", + "sharedHour": "घंटा", + "sharedMinute": "मिनट", + "sharedSecond": "सैकंड", + "sharedDays": "दिन", + "sharedHours": "घंटे", + "sharedMinutes": "मिनट", + "sharedDecimalDegrees": "दशमलव डिग्री", + "sharedDegreesDecimalMinutes": "डिग्री दशमलव मिनट", + "sharedDegreesMinutesSeconds": "डिग्री मिनट सेकेंड", + "sharedName": "नाम", + "sharedDescription": "विवरण", + "sharedSearch": "खोजें", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "जिओफेंस / भूगौलिक परिधि", + "sharedGeofences": "जिओफेंसस / भूगौलिक परिधियां", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "सूचनाएं", + "sharedNotification": "अधिसूचना", + "sharedAttributes": "एक से अधिक गुण", + "sharedAttribute": "गुण", + "sharedDrivers": "ड्राइवर", + "sharedDriver": "ड्राइवर", + "sharedArea": "क्षेत्र", + "sharedSound": "ध्वनि", + "sharedType": "टाइप/प्रकार", + "sharedDistance": "दूरी", + "sharedHourAbbreviation": "एच", + "sharedMinuteAbbreviation": "एम", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "गैल", + "sharedLiter": "लीटर", + "sharedImpGallon": "Imp. गैलन", + "sharedUsGallon": "U.S. गैलन", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "मानचित्र की स्तिति प्रदान करें", + "sharedComputedAttribute": "गणना गुण", + "sharedComputedAttributes": "गणना गुण", + "sharedCheckComputedAttribute": "गणना गुण की जांच करें", + "sharedExpression": "अभिव्यक्ति", + "sharedDevice": "उपकरण", + "sharedTest": "Test", + "sharedTestNotification": "कसौटी अधिसूचना भेजें", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "कैलेंडर", + "sharedCalendars": "कैलेंडर", + "sharedFile": "फ़ाइल", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "फ़ाइल का चयन करें", + "sharedPhone": "फ़ोन", + "sharedRequired": "अपेक्षित", + "sharedPreferences": "प्राथमिकताएं", + "sharedPermissions": "अनुमतियां", + "sharedConnections": "Connections", + "sharedExtra": "अतिरिक्त", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "समय क्षेत्र", + "sharedInfoTitle": "जानकारी", + "sharedSavedCommand": "संग्रहीत आदेश", + "sharedSavedCommands": "संग्रहीत आदेश", + "sharedNew": "नई…", + "sharedShowAddress": "पता दिखाएं", + "sharedShowDetails": "More Details", + "sharedDisabled": "अक्षम करें", + "sharedMaintenance": "रखरखाव", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "गति सीमा", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "पॉलीलाइन दूरी", + "attributeReportIgnoreOdometer": "रिपोर्ट: ओडोमीटर को अनदेखा करें", + "attributeWebReportColor": "वेब: रिपोर्ट रंग", + "attributeDevicePassword": "उपकरण पासवर्ड", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "प्रसंस्करण: गुण कॉपी करें", + "attributeColor": "रंग", + "attributeWebLiveRouteLength": "वेब: लाइव मार्ग लंबाई", + "attributeWebSelectZoom": "वेब: ज़ूम पर चुनना", + "attributeWebMaxZoom": "वेब: अधिकतम ज़ूम", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "मेल: एसएमटीपी होस्ट", + "attributeMailSmtpPort": "मेल: एसएमटीपी पोर्ट", + "attributeMailSmtpStarttlsEnable": "मेल: एसएमटीपी स्टार्ट्स सक्षम करें", + "attributeMailSmtpStarttlsRequired": "मेल: एसएमटीपी स्टार्टल्स आवश्यक है", + "attributeMailSmtpSslEnable": "मेल: एसएमटीपी एसएसएल सक्षम करें", + "attributeMailSmtpSslTrust": "मेल: एसएमटीपी एसएसएल ट्रस्ट", + "attributeMailSmtpSslProtocols": "मेल: एसएमटीपी एसएसएल प्रोटोकॉल", + "attributeMailSmtpFrom": "मेल: एसएमटीपी से", + "attributeMailSmtpAuth": "मेल: एसएमटीपी प्रमाण सक्षम करें", + "attributeMailSmtpUsername": "मेल: एसएमटीपी उपयोगकर्ता नाम", + "attributeMailSmtpPassword": "मेल: एसएमटीपी पासवर्ड", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "यूआई: घटनाओं को अक्षम करें", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "यूआई: ड्राइवर्स को अक्षम करें", + "attributeUiDisableComputedAttributes": "यूआई: गणना गुणों को अक्षम करें", + "attributeUiDisableCalendars": "यूआई: कैलेंडर अक्षम करें", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "यूआई: स्थिति गुण छुपाएं", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "त्रुटि", + "errorGeneral": "अमान्य पैरामीटर या बाधाओं का उल्लंघन", + "errorConnection": "कनेक्शन त्रुटि", + "errorSocket": "वेब सॉकेट कनेक्शन त्रुटि", + "errorZero": "शून्य नहीं हो सकता", + "userEmail": "ईमेल", + "userPassword": "पासवर्ड / गोपनीय शब्द", + "userAdmin": "एडमिन / व्यवस्थापक", + "userRemember": "याद रखें", + "userExpirationTime": "समय सीमा समाप्ति", + "userDeviceLimit": "उपकरण सीमा", + "userUserLimit": "उपयोगकर्ता सीमा", + "userDeviceReadonly": "उपकरण केवल पढ़ने के लिए", + "userLimitCommands": "सीमा कमांड", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "टोकन", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "लॉगिन / प्रवेश करें", + "loginLanguage": "भाषा", + "loginReset": "Reset Password", + "loginRegister": "रजिस्टर / पंजीकृत करें", + "loginLogin": "लॉगिन / प्रवेश करें", + "loginOpenId": "Login with OpenID", + "loginFailed": "ई-मेल पता या पासवर्ड गलत है", + "loginCreated": "नया उपयोगकर्ता पंजीकृत हो गया है", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "लॉगआउट / निष्कासन करें", + "loginLogo": "लोगो", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "उपकरण एवम स्तिति", + "deviceSelected": "Selected Device", + "deviceTitle": "उपकरण", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "पहचानकर्ता", + "deviceModel": "आदर्श", + "deviceContact": "संपर्क", + "deviceCategory": "श्रेणी", + "deviceLastUpdate": "आखिरी अद्यतन / ताज़ा जानकारी", + "deviceCommand": "आदेश", + "deviceFollow": "पालन / अनुकरण करें", + "deviceTotalDistance": "कुल दूरी", + "deviceStatus": "स्थिति", + "deviceStatusOnline": "ऑनलाइन", + "deviceStatusOffline": "ऑफ़लाइन", + "deviceStatusUnknown": "अज्ञात", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "समूह", + "groupParent": "समूह", + "groupNoGroup": "कोई समूह नहीं", + "settingsTitle": "सेटिंग्स", + "settingsUser": "अकाउंट / लेखा", + "settingsGroups": "ग्रुप्स / एक से अधिक समूह", + "settingsServer": "सर्वर", + "settingsUsers": "एक से अधिक उपयोगकर्ता", + "settingsDistanceUnit": "दूरी इकाई", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "स्पीड यूनिट", + "settingsVolumeUnit": "वॉल्यूम यूनिट", + "settingsTwelveHourFormat": "12 - घंटा का प्रारूप", + "settingsCoordinateFormat": "समन्वय प्रारूप", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "रिपोर्ट्स / एक से अधिक रिपोर्ट / विवरण", + "reportScheduled": "Scheduled Reports", + "reportDevice": "उपकरण", + "reportGroup": "समूह", + "reportFrom": "से", + "reportTo": "तक", + "reportShow": "दिखाएं", + "reportClear": "स्पष्ट / साफ़", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "मान्य / वैध", + "positionAccuracy": "शुद्धता", + "positionLatitude": "अक्षांश / अक्षरेखा", + "positionLongitude": "देशान्तर", + "positionAltitude": "ऊंचाई", + "positionSpeed": "गति", + "positionCourse": "मार्ग", + "positionAddress": "पता", + "positionProtocol": "प्रोटोकॉल", + "positionDistance": "दूरी", + "positionRpm": "आरपीएम", + "positionFuel": "ईंधन", + "positionPower": "शक्ति", + "positionBattery": "बैटरी", + "positionRaw": "कच्चा", + "positionIndex": "सूची", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "उपग्रहों", + "positionSatVisible": "दृश्यमान उपग्रह", + "positionRssi": "RSSI", + "positionGps": "जीपीएस", + "positionRoaming": "रोमिंग", + "positionEvent": "घटना", + "positionAlarm": "अलार्म", + "positionStatus": "स्थिति", + "positionOdometer": "ओडोमीटर", + "positionServiceOdometer": "सेवा ओडोमीटर", + "positionTripOdometer": "ट्रिप ओडोमीटर", + "positionHours": "घंटे", + "positionSteps": "कदम", + "positionInput": "इनपुट", + "positionHeartRate": "Heart Rate", + "positionOutput": "उत्पादन", + "positionBatteryLevel": "बैटरी स्तर", + "positionFuelConsumption": "ईंधन उपभोग", + "positionRfid": "आरएफआईडी", + "positionVersionFw": "फर्मवेयर संस्करण", + "positionVersionHw": "हार्डवेयर संस्करण", + "positionIgnition": "इग्निशन", + "positionFlags": "झंडे", + "positionCharge": "चार्ज", + "positionIp": "आईपी", + "positionArchive": "पुरालेख", + "positionVin": "VIN", + "positionApproximate": "लगभग", + "positionThrottle": "Throttle", + "positionMotion": "चलती", + "positionArmed": "हथियारबंद", + "positionAcceleration": "त्वरण", + "positionTemp": "Temperature", + "positionDeviceTemp": "उपकरण तापमान", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "ऑपरेटर", + "positionCommand": "आदेश", + "positionBlocked": "अवरुद्ध", + "positionDtcs": "DTCs", + "positionObdSpeed": "ओबीडी गति", + "positionObdOdometer": "ओबीडी ओडोमीटर", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "चालक अद्वितीय आईडी", + "positionCard": "Card", + "positionImage": "छवि", + "positionVideo": "Video", + "positionAudio": "ऑडियो", + "serverTitle": "सर्वर की सेटिंग्स", + "serverZoom": "ज़ूम", + "serverRegistration": "पंजीकरण", + "serverReadonly": "केवल पठीय / पड़ने के लिए", + "serverForceSettings": "बल सेटिंग्स", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "मानचित्र", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "मानचित्र की परत", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "बिंग मैप्स की कुंजी", + "mapBingRoad": "बिंग मैप्स रोड / सड़क", + "mapBingAerial": "बिंग मैप्स एरियल", + "mapBingHybrid": "बिंग मैप्स हाइब्रिड", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "यांडेक्स मानचित्र", + "mapYandexSat": "यांडेक्स सैटेलाइट", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "बहुभुज", + "mapShapeCircle": "वृत्त", + "mapShapePolyline": "पाली लाइन", + "mapLiveRoutes": "लाइव मार्ग", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "पीओआई परत", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "स्थिति / अवस्ता", + "stateName": "गुण", + "stateValue": "मान / वेल्यु", + "commandTitle": "आदेश", + "commandSend": "भेजें / प्रेषित करें", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "इकाई", + "commandCustom": "विशिष्ट रूप से निर्मित मेसेज / संदेश", + "commandDeviceIdentification": "उपकरण की पहचान", + "commandPositionSingle": "एक बार की रिपोर्टिंग", + "commandPositionPeriodic": "आवधिक रिपोर्टिंग", + "commandPositionStop": "रिपोर्टिंग रोकें", + "commandEngineStop": "इंजन बंद", + "commandEngineResume": "इंजन फिर से शुरू", + "commandAlarmArm": "अलार्म लगाएं", + "commandAlarmDisarm": "अलार्म हटाएं", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "समय क्षेत्र सेट करें", + "commandRequestPhoto": "फोटो मँगवाएं", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "उपकरण बंद करके पुन्ह आरंभ करें", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "एसएमएस भेजें / प्रेषित करें", + "commandSendUssd": "यूएसएसडी कोड भेजें / प्रेषित करें", + "commandSosNumber": "एसओएस / एमर्जेन्सी फोन नंबर सेट करें", + "commandSilenceTime": "खामोशी का समय सेट करें", + "commandSetPhonebook": "फोनबुक सेट करें", + "commandVoiceMessage": "ध्वनि संदेश / वाय्स मेसेज", + "commandOutputControl": "आउटपुट नियंत्रण", + "commandVoiceMonitoring": "आवाज निगरानी", + "commandSetAgps": "एजीपीएस सेट करें", + "commandSetIndicator": "संकेतक सेट करें", + "commandConfiguration": "विन्यास", + "commandGetVersion": "संस्करण प्राप्त करें", + "commandFirmwareUpdate": "फर्मवेयर अपडेट करें", + "commandSetConnection": "कनेक्शन सेट करें", + "commandSetOdometer": "ओडोमीटर सेट करें", + "commandGetModemStatus": "मोडेम स्थिति प्राप्त करें", + "commandGetDeviceStatus": "उपकरण स्थिति प्राप्त करें", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "फ्रीक्वेंसी / आवृत्ति", + "commandTimezone": "टाइमज़ोन ऑफ़सेट", + "commandMessage": "संदेश / मेसेज", + "commandRadius": "त्रिज्या", + "commandEnable": "सक्षम करें", + "commandData": "डाटा / आंकड़े", + "commandIndex": "अनुक्रमणिका", + "commandPhone": "फोन नंबर", + "commandServer": "सर्वर", + "commandPort": "पोर्ट", + "eventAll": "सभी घटनाएँ / इवेंट्स", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "आदेश / क्मांड का परिणाम", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "रखरखाव की आवश्यकता है", + "eventTextMessage": "पाठ संदेश प्राप्त हुआ", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "अंतिम तक स्क्रॉल करें", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "सूचना का प्रकार", + "notificationAlways": "सभी उपकरण", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "मार्ग", + "reportEvents": "घटनाएँ / इवेंट्स", + "reportTrips": "यात्राएँ / ट्रिप्स", + "reportStops": "Stops", + "reportSummary": "सारांश", + "reportDaily": "Daily Summary", + "reportChart": "चार्ट", + "reportConfigure": "समनुरूप / कन्फिगर करें", + "reportEventTypes": "घटनाओं / इवेंट्स के प्रकार", + "reportChartType": "चार्ट टाइप", + "reportShowMarkers": "मार्कर दिखाएं", + "reportExport": "निर्यात", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "अवधि", + "reportCustom": "Custom", + "reportToday": "आज", + "reportYesterday": "कल", + "reportThisWeek": "इस सप्ताह", + "reportPreviousWeek": "पिछले सप्ताह", + "reportThisMonth": "इस महीने", + "reportPreviousMonth": "पिछले महीने", + "reportDeviceName": "उपकरण / उपकरण का नाम", + "reportAverageSpeed": "औसत गति", + "reportMaximumSpeed": "अधिकतम गति", + "reportEngineHours": "इंजन के घंटे", + "reportDuration": "अवधि", + "reportStartDate": "Start Date", + "reportStartTime": "समय का आरंभ", + "reportStartAddress": "प्रारंभ पता", + "reportEndTime": "अंतिम समय", + "reportEndAddress": "अंत पता", + "reportSpentFuel": "ईंधन खर्च", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "आंकड़े", + "statisticsCaptureTime": "समय कैप्चर करें", + "statisticsActiveUsers": "सक्रिय उपयोगकर्ता", + "statisticsActiveDevices": "सक्रिय उपकरण", + "statisticsRequests": "अनुरोध", + "statisticsMessagesReceived": "संदेश प्राप्त हुए", + "statisticsMessagesStored": "संदेश संग्रहीत", + "statisticsGeocoder": "जियोकोडर अनुरोध", + "statisticsGeolocation": "जियोलोकेशन अनुरोध", + "categoryArrow": "तीर", + "categoryDefault": "Default", + "categoryAnimal": "पशु", + "categoryBicycle": "साइकिल", + "categoryBoat": "नाव", + "categoryBus": "बस", + "categoryCar": "कार", + "categoryCamper": "Camper", + "categoryCrane": "क्रेन", + "categoryHelicopter": "हेलीकाप्टर", + "categoryMotorcycle": "मोटरसाइकिल", + "categoryOffroad": "Offroad", + "categoryPerson": "व्यक्ति", + "categoryPickup": "Pickup", + "categoryPlane": "विमान", + "categoryShip": "जहाज़", + "categoryTractor": "ट्रैक्टर", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "ट्रक", + "categoryVan": "वैन", + "categoryScooter": "Scooter", + "maintenanceStart": "प्रारंभ", + "maintenancePeriod": "अवधि" +}
\ No newline at end of file diff --git a/legacy/web/l10n/hr.json b/legacy/web/l10n/hr.json new file mode 100644 index 00000000..f64cdb04 --- /dev/null +++ b/legacy/web/l10n/hr.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Učitavanje...", + "sharedHide": "Sakrij", + "sharedSave": "Spremi", + "sharedUpload": "Upload", + "sharedSet": "Postavi", + "sharedCancel": "Poništi", + "sharedCopy": "Copy", + "sharedAdd": "Dodaj", + "sharedEdit": "Uredi", + "sharedRemove": "Ukloni", + "sharedRemoveConfirm": "Ukloniti stavku?", + "sharedNoData": "Nema podataka", + "sharedSubject": "Subject", + "sharedYes": "Da", + "sharedNo": "Ne", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "čv", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Sat", + "sharedMinute": "Minuta", + "sharedSecond": "Sekunda", + "sharedDays": "dani", + "sharedHours": "sati", + "sharedMinutes": "minuta", + "sharedDecimalDegrees": "Decimalni stupnjevi", + "sharedDegreesDecimalMinutes": "Stupnjevi u decimalnim minutama", + "sharedDegreesMinutesSeconds": "Stupnjevi u minutama i sekundama", + "sharedName": "Ime", + "sharedDescription": "Opis", + "sharedSearch": "Pretraži", + "sharedIconScale": "Skaliraj ikonu", + "sharedGeofence": "Geo-ograda", + "sharedGeofences": "Geo-ograde", + "sharedCreateGeofence": "Kreiraj geo-ogradu", + "sharedNotifications": "Obavijesti", + "sharedNotification": "Obavijest", + "sharedAttributes": "Atributi", + "sharedAttribute": "Atribut", + "sharedDrivers": "Vozači", + "sharedDriver": "Vozač", + "sharedArea": "Područje", + "sharedSound": "Zvuk obavijesti", + "sharedType": "Tip", + "sharedDistance": "Udaljenost", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "galon", + "sharedLiter": "Litra", + "sharedImpGallon": "Imperijalni galon", + "sharedUsGallon": "američki galon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Dohvati stanje karte", + "sharedComputedAttribute": "Izračunati atribut", + "sharedComputedAttributes": "Izračunati atributi", + "sharedCheckComputedAttribute": "Provjeri izračunati atribut", + "sharedExpression": "Izraz", + "sharedDevice": "Uređaj", + "sharedTest": "Test", + "sharedTestNotification": "Pošalji testnu obavijest", + "sharedTestNotificators": "Testiraj kanale", + "sharedTestExpression": "Testiraj izraz", + "sharedCalendar": "Kalendar", + "sharedCalendars": "Kalendari", + "sharedFile": "Datoteka", + "sharedSearchDevices": "Traži uređaje", + "sharedSortBy": "Sortiraj po", + "sharedFilterMap": "Filtriraj na karti", + "sharedSelectFile": "Odaberi datoteku", + "sharedPhone": "Telefon", + "sharedRequired": "Potrebno", + "sharedPreferences": "Postavke", + "sharedPermissions": "Dozvole", + "sharedConnections": "Veze", + "sharedExtra": "Extra", + "sharedPrimary": "Primarno", + "sharedSecondary": "Sekundarno", + "sharedTypeString": "String", + "sharedTypeNumber": "Broj", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Vremenska zona", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Snimljena naredba", + "sharedSavedCommands": "Snimljene naredbe", + "sharedNew": "Novo", + "sharedShowAddress": "Prikaži adresu", + "sharedShowDetails": "Više detalja", + "sharedDisabled": "Isključeno", + "sharedMaintenance": "Održavanje", + "sharedDeviceAccumulators": "Varijable", + "sharedAlarms": "Alarmi", + "sharedLocation": "Lokacija", + "sharedImport": "Uvoz", + "sharedColumns": "Stupac", + "sharedDropzoneText": "Dovuci i pusti datoteku ovdje ili klikni", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Jednostavno", + "calendarRecurrence": "Ponavljajuće", + "calendarOnce": "Jednom", + "calendarDaily": "Dnevno", + "calendarWeekly": "Tjedno", + "calendarMonthly": "Mjesečno", + "calendarDays": "Dani", + "calendarSunday": "Nedjelja", + "calendarMonday": "Ponedjeljak", + "calendarTuesday": "Utorak", + "calendarWednesday": "Srijeda", + "calendarThursday": "Četvrtak", + "calendarFriday": "Petak", + "calendarSaturday": "Subota", + "attributeShowGeofences": "Pokaži geo-ograde", + "attributeSpeedLimit": "Ograničenje brzine", + "attributeFuelDropThreshold": "Gorivo je ispod zadane vrijednosti", + "attributeFuelIncreaseThreshold": "Gorivo je iznad zadane vrijednosti", + "attributePolylineDistance": "Udaljenost linijom", + "attributeReportIgnoreOdometer": "Izvještaj: ignoriraj kilometražu", + "attributeWebReportColor": "Web: Boja izvještaja", + "attributeDevicePassword": "Lozinka uređaja", + "attributeDeviceImage": "Slika uređaja", + "attributeDeviceInactivityStart": "Neaktivnost uređaja", + "attributeDeviceInactivityPeriod": "Vrijeme neaktivnosti uređaja", + "attributeProcessingCopyAttributes": "Obrada: Kopiraj atribute", + "attributeColor": "Boja", + "attributeWebLiveRouteLength": "Web: Udaljenost rute uživo", + "attributeWebSelectZoom": "Web: Približi kod odabira", + "attributeWebMaxZoom": "Web: Maksimalni zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Proslijedi ključ korisnika", + "attributePushoverDeviceNames": "Proslijedi imena uređaja", + "attributeMailSmtpHost": "Mail: SMTP poslužitelj", + "attributeMailSmtpPort": "Mail: SMTP port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS uključen", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS potreban", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL uključen", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL protokoli", + "attributeMailSmtpFrom": "Mail: SMTP pošiljatelj", + "attributeMailSmtpAuth": "Mail: SMTP uključi autentikaciju", + "attributeMailSmtpUsername": "Mail: SMTP korisničko ime", + "attributeMailSmtpPassword": "Mail: SMTP lozinka", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Onemogući atribute", + "attributeUiDisableGroups": "UI: Onemogući grupe", + "attributeUiDisableEvents": "UI: Isključi događaje", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Isključi vozače", + "attributeUiDisableComputedAttributes": "UI: Isključi izračunate atribute", + "attributeUiDisableCalendars": "UI: Isključi kalendare", + "attributeUiDisableMaintenance": "UI: Isključi održavanje", + "attributeUiHidePositionAttributes": "UI: Sakrij atribute pozicioniranja", + "attributeUiDisableLoginLanguage": "UI: Onemogući jezik prilikom logina", + "attributeNotificationTokens": "Token za notifikacije", + "attributePopupInfo": "Popup info", + "errorTitle": "Greška", + "errorGeneral": "Nevažeći parametri ili kršenje ograničenja", + "errorConnection": "Greška konekcije", + "errorSocket": "WebSocket konekcijska greška", + "errorZero": "Ne može biti nula.", + "userEmail": "E-mail", + "userPassword": "Lozinka", + "userAdmin": "Administrator", + "userRemember": "Zapamti", + "userExpirationTime": "Vrijeme isteka", + "userDeviceLimit": "Maksimalni broj uređaja", + "userUserLimit": "Maksimalni broj korisnika", + "userDeviceReadonly": "Onemogući dodavanje uređaja", + "userLimitCommands": "Ograniči komande", + "userDisableReports": "Onemogući izvještaje", + "userFixedEmail": "Zabrani promjenu e-pošte", + "userToken": "Token", + "userDeleteAccount": "Obriši račun", + "userTemporary": "Temporary", + "loginTitle": "Prijava", + "loginLanguage": "Jezik", + "loginReset": "Ponovo postavi lozinku", + "loginRegister": "Registracija", + "loginLogin": "Prijava", + "loginOpenId": "Prijavi se sa OpenID-om", + "loginFailed": "Netočna e-mail adresa ili password", + "loginCreated": "Registiran je novi korisnik", + "loginResetSuccess": "Provjeri e-poštu", + "loginUpdateSuccess": "Postavljena je nova lozinka", + "loginLogout": "Odjava", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Uređaji i stanje", + "deviceSelected": "Odabrani uređaj", + "deviceTitle": "Uređaji", + "devicePrimaryInfo": "Ime uređaja", + "deviceSecondaryInfo": "Detalji uređaja", + "deviceIdentifier": "Identifikator", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategorija", + "deviceLastUpdate": "Zadnje ažuriranje", + "deviceCommand": "Naredba", + "deviceFollow": "Prati", + "deviceTotalDistance": "Ukupna udaljenost", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Nepoznato", + "deviceRegisterFirst": "Prijavi svoj prvi uređaj", + "deviceIdentifierHelp": "IMEI, serijski broj ili drugi ID mora biti jednak identifikatoru uređaja koji se prijavljuje na poslužitelj", + "deviceShare": "Share Device", + "groupDialog": "Grupa", + "groupParent": "Grupa", + "groupNoGroup": "Bez grupe", + "settingsTitle": "Postavke", + "settingsUser": "Račun", + "settingsGroups": "Grupe", + "settingsServer": "Server", + "settingsUsers": "Korisnici", + "settingsDistanceUnit": "Jedinica udaljenosti", + "settingsAltitudeUnit": "Mjerna jedinica za visinu", + "settingsSpeedUnit": "Jedinica brzine", + "settingsVolumeUnit": "Mjerna jedinica za volumen", + "settingsTwelveHourFormat": "12-satno vrijeme", + "settingsCoordinateFormat": "Format koordinata", + "settingsServerVersion": "Verzija poslužitelja", + "settingsAppVersion": "Verzija aplikacije", + "settingsConnection": "Veza", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Izvještaji", + "reportScheduled": "Redovni izvještaj", + "reportDevice": "Uređaj", + "reportGroup": "Grupa", + "reportFrom": "Od", + "reportTo": "Za", + "reportShow": "Prikaži", + "reportClear": "Očisti", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fiksno vrijeme", + "positionDeviceTime": "Vrijeme na uređaju", + "positionServerTime": "Vrijeme na poslužitelju", + "positionValid": "Važeće", + "positionAccuracy": "Preciznost", + "positionLatitude": "Širina", + "positionLongitude": "Dužina", + "positionAltitude": "Visina", + "positionSpeed": "Brzina", + "positionCourse": "Kurs", + "positionAddress": "Adresa", + "positionProtocol": "Protokol", + "positionDistance": "Udaljenost", + "positionRpm": "O/min", + "positionFuel": "Gorivo", + "positionPower": "Napajanje", + "positionBattery": "Baterija", + "positionRaw": "Sirovi podaci", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Sateliti", + "positionSatVisible": "Vidljivi sateliti", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roming", + "positionEvent": "Događaj", + "positionAlarm": "Alarm", + "positionStatus": "Stanje", + "positionOdometer": "Kilometraža", + "positionServiceOdometer": "Kilometara do servisa", + "positionTripOdometer": "Kilometraža puta", + "positionHours": "Sati", + "positionSteps": "Koraci", + "positionInput": "Ulaz", + "positionHeartRate": "Otkucaji srca", + "positionOutput": "Izlaz", + "positionBatteryLevel": "Razina baterije", + "positionFuelConsumption": "Potrošnja goriva", + "positionRfid": "RFID", + "positionVersionFw": "Verzija firmwarea", + "positionVersionHw": "Verzija hadrvera", + "positionIgnition": "Paljenje", + "positionFlags": "Zastavice", + "positionCharge": "Punjenje", + "positionIp": "IP", + "positionArchive": "Arhiva", + "positionVin": "VIN", + "positionApproximate": "Približno", + "positionThrottle": "Gas", + "positionMotion": "Kretanje", + "positionArmed": "Aktivirano", + "positionAcceleration": "Ubrzavanje", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura uređaja", + "positionCoolantTemp": "Temperatura rashladne tekućine", + "positionOperator": "Operater", + "positionCommand": "Naredba", + "positionBlocked": "Blokirano", + "positionDtcs": "DTC kodovi", + "positionObdSpeed": "OBD brzina", + "positionObdOdometer": "OBD kilometraža", + "positionDrivingTime": "Vrijeme vožnje", + "positionDriverUniqueId": "Vozačev jedinstveni ID", + "positionCard": "Kartica", + "positionImage": "Slika", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Postavke poslužitelja", + "serverZoom": "Povećanje", + "serverRegistration": "Registracija", + "serverReadonly": "Samo pregledavanje", + "serverForceSettings": "Nametni postavke", + "serverAnnouncement": "Najava", + "serverName": "Ime poslužitelja", + "serverDescription": "Opis poslužitelja", + "serverColorPrimary": "Primarna boja", + "serverColorSecondary": "Sekundarna boja", + "serverLogo": "Logo", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Karta", + "mapActive": "Aktivna karta", + "mapOverlay": "Prekrivajuća karta", + "mapOverlayCustom": "Prilagođeno prekrivanje", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API ključ", + "mapOpenWeatherClouds": "OpenWeather oblaci", + "mapOpenWeatherPrecipitation": "OpenWeather oborine", + "mapOpenWeatherPressure": "OpenWeather tlak", + "mapOpenWeatherWind": "OpenWeather vjetar", + "mapOpenWeatherTemperature": "OpenWeather temperatura", + "mapLayer": "Sloj karte", + "mapCustom": "Prilagođeno (XYZ)", + "mapCustomArcgis": "Prilagođeno (ArcGIS)", + "mapCustomLabel": "Prilagođena karta", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox ulice", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox izvana", + "mapMapboxSatellite": "Mapbox satelit", + "mapMapboxKey": "Mapbox pristupni ključ", + "mapMapTilerBasic": "MapTiler osnovno", + "mapMapTilerHybrid": "MapTiler hibrid", + "mapMapTilerKey": "MapTiler API ključ", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ pristupni ključ", + "mapTomTomBasic": "TomTom osnovno", + "mapTomTomFlow": "TomTom prikaz prometa", + "mapTomTomIncidents": "TomTom prometne nesreće", + "mapTomTomKey": "TomTom API ključ", + "mapHereBasic": "Here osnovno", + "mapHereHybrid": "Here hibridno", + "mapHereSatellite": "Here satelit", + "mapHereFlow": "Here prikaz prometa", + "mapHereKey": "Here API ključ", + "mapShapePolygon": "Mnogokut", + "mapShapeCircle": "Krug", + "mapShapePolyline": "Razlomljena linija", + "mapLiveRoutes": "Rute uživo", + "mapDirection": "Pokaži smjer", + "mapCurrentLocation": "Trenutna lokacija", + "mapPoiLayer": "Točke interesa sloj", + "mapClustering": "Organizacija markera", + "mapOnSelect": "Prikaži kartu na odabranom", + "mapDefault": "Zadana karta", + "stateTitle": "Stanje", + "stateName": "Atribut", + "stateValue": "Vrijednost", + "commandTitle": "Naredba", + "commandSend": "Pošalji", + "commandSent": "Naredba poslana", + "commandQueued": "Naredba u redu čekanja", + "commandUnit": "Jedinica", + "commandCustom": "Prilagođena naredba", + "commandDeviceIdentification": "Identifikacija uređaja", + "commandPositionSingle": "Jedan izvještaj", + "commandPositionPeriodic": "Periodično izvješćivanje", + "commandPositionStop": "Zaustavi izvješćivanje", + "commandEngineStop": "Zaustavi motor", + "commandEngineResume": "Pokreni motor", + "commandAlarmArm": "Aktiviraj alarm", + "commandAlarmDisarm": "Deaktiviraj alarm", + "commandAlarmDismiss": "Zanemari alarm", + "commandSetTimezone": "Postavi vremensku zonu", + "commandRequestPhoto": "Zatraži sliku", + "commandPowerOff": "Isključi uređaj", + "commandRebootDevice": "Ponovno pokretanje uređaja", + "commandFactoryReset": "Tvorničko postavljanje", + "commandSendSms": "Pošalji SMS", + "commandSendUssd": "Pošalji USSD", + "commandSosNumber": "Postavi SOS broj", + "commandSilenceTime": "Postavi vrijeme tišine", + "commandSetPhonebook": "Postavi imenik", + "commandVoiceMessage": "Glasovna poruka", + "commandOutputControl": "Kontrola izlaza", + "commandVoiceMonitoring": "Nadzor glasa", + "commandSetAgps": "Postavi AGPS", + "commandSetIndicator": "Postavi indikator", + "commandConfiguration": "Konfiguracija", + "commandGetVersion": "Provjeri verzij", + "commandFirmwareUpdate": "Nadogradi firmware", + "commandSetConnection": "Postavi vezu", + "commandSetOdometer": "Postavi odometar", + "commandGetModemStatus": "Dohvati status modema", + "commandGetDeviceStatus": "Dohvati status uređaja", + "commandSetSpeedLimit": "Postavi ograničenje brzine", + "commandModePowerSaving": "Način uštede energije", + "commandModeDeepSleep": "Način dubokog sna", + "commandAlarmGeofence": "Postavi alarm za geo-ogradu", + "commandAlarmBattery": "Postavi alarm za bateriju", + "commandAlarmSos": "Postavi SOS alarm", + "commandAlarmRemove": "Ukloni alarm", + "commandAlarmClock": "Postavi alarm na vrijeme", + "commandAlarmSpeed": "Postavi alarm za brzinu", + "commandAlarmFall": "Postavi alarm za pad", + "commandAlarmVibration": "Postavi alarm za vribracije", + "commandFrequency": "Učestalost", + "commandTimezone": "Korekcija vremenske zone", + "commandMessage": "Poruka", + "commandRadius": "Radius", + "commandEnable": "Uključ", + "commandData": "Podaci", + "commandIndex": "Indeks", + "commandPhone": "Telefonski broj", + "commandServer": "Poslužitelj", + "commandPort": "Port", + "eventAll": "Svi događaji", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status nepoznat", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Uređaj neaktivan", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Uređaj se pomiče", + "eventDeviceStopped": "Uređaj zaustavljen", + "eventDeviceOverspeed": "Prekoračeno ograničenje brzine", + "eventDeviceFuelDrop": "Pad količine goriva", + "eventDeviceFuelIncrease": "Porast goriva", + "eventCommandResult": "Rezultat naredbe", + "eventGeofenceEnter": "Ulaz u geo-ogradu", + "eventGeofenceExit": "Izlaz iz geo-ograde", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Vozilo upaljeno", + "eventIgnitionOff": "Vozilo isključeno", + "eventMaintenance": "Potrebno održavanje", + "eventTextMessage": "Primljena tekstualna poruka", + "eventDriverChanged": "Vozač promijenjen", + "eventMedia": "Media", + "eventsScrollToLast": "Pomakni na zadnji", + "eventsSoundEvents": "Zvučni događaji", + "eventsSoundAlarms": "Zvučni alarm", + "alarmGeneral": "Općenito", + "alarmSos": "SOS", + "alarmVibration": "Vibracija", + "alarmMovement": "Pokret", + "alarmLowspeed": "Niska brzina", + "alarmOverspeed": "Prekoračena brzina", + "alarmFallDown": "Pad", + "alarmLowPower": "Niska energija", + "alarmLowBattery": "Nizak napon baterije", + "alarmFault": "Greška", + "alarmPowerOff": "Gašenje vozila", + "alarmPowerOn": "Paljenje vozila", + "alarmDoor": "Vrata", + "alarmLock": "Zaključavanje", + "alarmUnlock": "Otključavanje", + "alarmGeofence": "Geo-ograda", + "alarmGeofenceEnter": "Ulaz u geo-ogradu", + "alarmGeofenceExit": "Izlaz iz geo-ograde", + "alarmGpsAntennaCut": "GPS antena uklonjena", + "alarmAccident": "Nesreća", + "alarmTow": "Vuča", + "alarmIdle": "Prazan hod", + "alarmHighRpm": "Visoki okretaji", + "alarmHardAcceleration": "Naglo kretanje", + "alarmHardBraking": "Naglo kočenje", + "alarmHardCornering": "Nagli ulaz u zavoj", + "alarmLaneChange": "Promjena trake", + "alarmFatigueDriving": "Umorna vožnja", + "alarmPowerCut": "Napajanje uklonjeno", + "alarmPowerRestored": "Napajanje vraćeno", + "alarmJamming": "Ometanje", + "alarmTemperature": "Temperatura", + "alarmParking": "Parking", + "alarmBonnet": "Hauba", + "alarmFootBrake": "Kočnica", + "alarmFuelLeak": "Curenje goriva", + "alarmTampering": "Petljanje", + "alarmRemoving": "Uklanjanje", + "notificationType": "Tip obavijesti", + "notificationAlways": "Svi uređaji", + "notificationNotificators": "Kanali", + "notificatorCommand": "Naredba", + "notificatorWeb": "Web", + "notificatorMail": "Email", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pošalji", + "reportReplay": "Ponovi", + "reportCombined": "Kombinirano", + "reportRoute": "Ruta", + "reportEvents": "Događaji", + "reportTrips": "Putovanja", + "reportStops": "Zaustavljanja", + "reportSummary": "Sažetak", + "reportDaily": "Dnevni izvještaj", + "reportChart": "Graf", + "reportConfigure": "Konfiguriraj", + "reportEventTypes": "Vrste događaja", + "reportChartType": "Vrsta grafa", + "reportShowMarkers": "Pokaži markere", + "reportExport": "Izvoz", + "reportEmail": "Izvještaj emailom", + "reportSchedule": "Raspored", + "reportPeriod": "Period", + "reportCustom": "Prilagođeno", + "reportToday": "Danas", + "reportYesterday": "Jučer", + "reportThisWeek": "Ovaj tjedan", + "reportPreviousWeek": "Prošli tjedan", + "reportThisMonth": "Ovaj mjesec", + "reportPreviousMonth": "Prošli mjesec", + "reportDeviceName": "Ime uređaja", + "reportAverageSpeed": "Prosječna brzina", + "reportMaximumSpeed": "Maksimalna brzina", + "reportEngineHours": "Sati rada motora", + "reportDuration": "Trajanje", + "reportStartDate": "Početni datum", + "reportStartTime": "Početno vrijeme", + "reportStartAddress": "Početna adresa", + "reportEndTime": "Vrijeme završetka", + "reportEndAddress": "Završna adresa", + "reportSpentFuel": "Potrošeno goriva", + "reportStartOdometer": "Početna kilometraža", + "reportEndOdometer": "Završna kilometraža", + "statisticsTitle": "Statistike", + "statisticsCaptureTime": "Vrijeme dohvaćanja", + "statisticsActiveUsers": "Aktivnih korisnika", + "statisticsActiveDevices": "Aktivnih uređaja", + "statisticsRequests": "Zahtjeva", + "statisticsMessagesReceived": "Poruka primljeno", + "statisticsMessagesStored": "Poruka spremljeno", + "statisticsGeocoder": "Geocoder zahtjevi", + "statisticsGeolocation": "Geolokacijski zahtjevi", + "categoryArrow": "Strelica", + "categoryDefault": "Zadano", + "categoryAnimal": "Životinja", + "categoryBicycle": "Bicikl", + "categoryBoat": "Brod", + "categoryBus": "Autobus", + "categoryCar": "Automobil", + "categoryCamper": "Camper", + "categoryCrane": "Dizalica", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motocikl", + "categoryOffroad": "Offroad", + "categoryPerson": "Osoba", + "categoryPickup": "Pickup", + "categoryPlane": "Avion", + "categoryShip": "Brod", + "categoryTractor": "Traktor", + "categoryTrain": "Vlak", + "categoryTram": "Tramvaj", + "categoryTrolleybus": "Trolejbus", + "categoryTruck": "Kamion", + "categoryVan": "Kombi", + "categoryScooter": "Skuter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/hu.json b/legacy/web/l10n/hu.json new file mode 100644 index 00000000..f50b329c --- /dev/null +++ b/legacy/web/l10n/hu.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Betöltés...", + "sharedHide": "Elrejt", + "sharedSave": "Mentés", + "sharedUpload": "Upload", + "sharedSet": "Beállít", + "sharedCancel": "Mégse", + "sharedCopy": "Copy", + "sharedAdd": "Hozzáadás", + "sharedEdit": "Szerkesztés", + "sharedRemove": "Törlés", + "sharedRemoveConfirm": "Biztosan törli?", + "sharedNoData": "Nincs adat", + "sharedSubject": "Subject", + "sharedYes": "Igen", + "sharedNo": "Nem", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "láb", + "sharedKn": "csomó", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Óra", + "sharedMinute": "Perc", + "sharedSecond": "Másodperc", + "sharedDays": "nap", + "sharedHours": "óra", + "sharedMinutes": "perc", + "sharedDecimalDegrees": "Decimális fok", + "sharedDegreesDecimalMinutes": "Fok decimális percben", + "sharedDegreesMinutesSeconds": "Fok decimális másodpercben", + "sharedName": "Név", + "sharedDescription": "Leírás", + "sharedSearch": "Keresés", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geokerítés", + "sharedGeofences": "Geokerítések", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Értesítések", + "sharedNotification": "Értesítés", + "sharedAttributes": "Tulajdonságok", + "sharedAttribute": "Tulajdonság", + "sharedDrivers": "Sofőrök", + "sharedDriver": "Sofőr", + "sharedArea": "Terület", + "sharedSound": "Értesítési hang", + "sharedType": "Típus", + "sharedDistance": "Távolság", + "sharedHourAbbreviation": "ó", + "sharedMinuteAbbreviation": "p", + "sharedSecondAbbreviation": "mp", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gallon", + "sharedLiter": "Liter", + "sharedImpGallon": "Angolszász gallon", + "sharedUsGallon": "Amerikai Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Térkép állapot lekérés", + "sharedComputedAttribute": "Számított attribútum", + "sharedComputedAttributes": "Számított attribútumok", + "sharedCheckComputedAttribute": "Számított attribútum ellenőrzése", + "sharedExpression": "Kifejezés", + "sharedDevice": "Eszköz", + "sharedTest": "Teszt", + "sharedTestNotification": "Próba értesítés küldése", + "sharedTestNotificators": "Teszt csatornák", + "sharedTestExpression": "Test kifejezés", + "sharedCalendar": "Naptár", + "sharedCalendars": "Naptárak", + "sharedFile": "Fájl", + "sharedSearchDevices": "Eszközök keresése", + "sharedSortBy": "Rendezés", + "sharedFilterMap": "Szűrés a térképen", + "sharedSelectFile": "Fájl kiválasztása", + "sharedPhone": "Telefon", + "sharedRequired": "Kötelező", + "sharedPreferences": "Preferenciák", + "sharedPermissions": "Jogosultságok", + "sharedConnections": "Kapcsolatok", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Szöveg", + "sharedTypeNumber": "Szám", + "sharedTypeBoolean": "Logikai", + "sharedTimezone": "Időzóna", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Elmentett parancs", + "sharedSavedCommands": "Elmentett Parancsok", + "sharedNew": "Új...", + "sharedShowAddress": "Cím megjelenítése", + "sharedShowDetails": "További részletek", + "sharedDisabled": "Letiltva", + "sharedMaintenance": "Karbantartás", + "sharedDeviceAccumulators": "Akkumulátorok", + "sharedAlarms": "Riasztások", + "sharedLocation": "Lokáció", + "sharedImport": "Importálás", + "sharedColumns": "Oszlopok", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Sebesség határ", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Vonaltávolság", + "attributeReportIgnoreOdometer": "Jelentés: Odométer figyelmen kívül hagyása", + "attributeWebReportColor": "Web: Jelentés színe", + "attributeDevicePassword": "Eszköz jelszó", + "attributeDeviceImage": "Eszköz kép", + "attributeDeviceInactivityStart": "Eszköz inaktivitás kezdete", + "attributeDeviceInactivityPeriod": "Eszköz inaktivitás periódus", + "attributeProcessingCopyAttributes": "Feldolgozás: Attribútumok másolása", + "attributeColor": "Szín", + "attributeWebLiveRouteLength": "Web: Élő útvonal hossz", + "attributeWebSelectZoom": "Web: közelítés a kiválasztáson", + "attributeWebMaxZoom": "Web: Maximális Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "SMTP kiszolgáló", + "attributeMailSmtpPort": "SMTP port", + "attributeMailSmtpStarttlsEnable": "SMTP STARTTLS engedélyezése", + "attributeMailSmtpStarttlsRequired": "SMTP STARTTLS szükséges", + "attributeMailSmtpSslEnable": "SMTP SSL engedélyezése", + "attributeMailSmtpSslTrust": "SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "SMTP SSL Protokollok", + "attributeMailSmtpFrom": "SMTP Feladó", + "attributeMailSmtpAuth": "SMTP autentikáció engedélyezése", + "attributeMailSmtpUsername": "SMTP felhasználónév", + "attributeMailSmtpPassword": "SMTP jelszó", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Csoportok letiltása", + "attributeUiDisableEvents": "UI: Események letiltása", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Sofőrök letiltása", + "attributeUiDisableComputedAttributes": "UI: Számított attribútumok letiltása", + "attributeUiDisableCalendars": "UI: Naptárak letiltása", + "attributeUiDisableMaintenance": "UI: Karbantartás letiltása", + "attributeUiHidePositionAttributes": "UI: Pozíciós attribútumok elrejtése", + "attributeUiDisableLoginLanguage": "UI: Bejelentkezés nyelv letiltás", + "attributeNotificationTokens": "Értesítés tokenek", + "attributePopupInfo": "Popup Info", + "errorTitle": "Hiba", + "errorGeneral": "Érvénytelen paraméterek vagy integritási szabályok megsértése", + "errorConnection": "Kapcsolódási hiba", + "errorSocket": "Kapcsolódási hiba", + "errorZero": "Nem lehet nulla", + "userEmail": "Email", + "userPassword": "Jelszó", + "userAdmin": "Adminisztrátor", + "userRemember": "Megjegyez", + "userExpirationTime": "Lejárat", + "userDeviceLimit": "Eszköz limit", + "userUserLimit": "Felhasználólimit", + "userDeviceReadonly": "Eszköz csak olvasható", + "userLimitCommands": "Parancsok listázása", + "userDisableReports": "Riportok letiltása", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Bejelentkezés", + "loginLanguage": "Nyelv", + "loginReset": "Jelszó reset", + "loginRegister": "Regisztráció", + "loginLogin": "Bejelentkezés", + "loginOpenId": "Login with OpenID", + "loginFailed": "Hibás email vagy jelszó", + "loginCreated": "Az új felhasználó sikeresen létrehozva", + "loginResetSuccess": "Ellenőrizd az emailedet", + "loginUpdateSuccess": "Új jelszó beállítva", + "loginLogout": "Kilépés", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Eszközök és állapotuk", + "deviceSelected": "Selected Device", + "deviceTitle": "Eszközök", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Azonosító", + "deviceModel": "Modell", + "deviceContact": "Kapcsolat", + "deviceCategory": "Kategória", + "deviceLastUpdate": "Utolsó frissítés", + "deviceCommand": "Parancs", + "deviceFollow": "Követ", + "deviceTotalDistance": "Teljes távolság", + "deviceStatus": "Státusz", + "deviceStatusOnline": "Elérhető", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Ismeretlen", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Csoport", + "groupParent": "Csoport", + "groupNoGroup": "Nincs Csoport", + "settingsTitle": "Beállítások", + "settingsUser": "Fiók", + "settingsGroups": "Csoportok", + "settingsServer": "Szerver", + "settingsUsers": "Felhasználók", + "settingsDistanceUnit": "Távolság egysége", + "settingsAltitudeUnit": "Magasság mértékegység", + "settingsSpeedUnit": "Sebesség egysége", + "settingsVolumeUnit": "Térfogat egysége", + "settingsTwelveHourFormat": "12-órás formátum", + "settingsCoordinateFormat": "Koordináta formátuma", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Jelentések", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Eszköz", + "reportGroup": "Csoport", + "reportFrom": "Kezdő dátum:", + "reportTo": "Végső dátum:", + "reportShow": "Mutat", + "reportClear": "Töröl", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Idő beállítás", + "positionDeviceTime": "Eszköz idő", + "positionServerTime": "Szerver idő", + "positionValid": "Valós", + "positionAccuracy": "Pontosság", + "positionLatitude": "Szélességi fok", + "positionLongitude": "Hosszúsági fok", + "positionAltitude": "Magasság", + "positionSpeed": "Sebesség", + "positionCourse": "Irány", + "positionAddress": "Cím", + "positionProtocol": "Protokoll", + "positionDistance": "Távolság", + "positionRpm": "Fordulat", + "positionFuel": "Üzemanyag", + "positionPower": "Áramforrás", + "positionBattery": "Akkumulátor", + "positionRaw": "Nyers", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Műholdak", + "positionSatVisible": "Látható műholdak", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Esemény", + "positionAlarm": "Riasztás", + "positionStatus": "Státusz", + "positionOdometer": "Megtett út", + "positionServiceOdometer": "Szerviz megtett út", + "positionTripOdometer": "Utazás megtett út", + "positionHours": "Órák", + "positionSteps": "Lépések", + "positionInput": "Bemenet", + "positionHeartRate": "Heart Rate", + "positionOutput": "Kimenet", + "positionBatteryLevel": "Akkumulátor szint", + "positionFuelConsumption": "Fogyasztás", + "positionRfid": "RFID", + "positionVersionFw": "Firmware verzió", + "positionVersionHw": "Hardver verzió", + "positionIgnition": "Gyújtás", + "positionFlags": "Zászlók", + "positionCharge": "Töltés", + "positionIp": "IP", + "positionArchive": "Arhív", + "positionVin": "Alvázszám", + "positionApproximate": "Megközelít", + "positionThrottle": "Gázkar", + "positionMotion": "Mozgás", + "positionArmed": "Élesített", + "positionAcceleration": "Gyorsulás", + "positionTemp": "Hőmérséklet", + "positionDeviceTemp": "Eszköz hőmérséklet", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operátor", + "positionCommand": "Parancs", + "positionBlocked": "Blokkolt", + "positionDtcs": "DTCk", + "positionObdSpeed": "ODB sebesség", + "positionObdOdometer": "ODB megtett út", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Sofőr egyedi azonosítója", + "positionCard": "Card", + "positionImage": "Kép", + "positionVideo": "Video", + "positionAudio": "Hang", + "serverTitle": "Szerver beállítások", + "serverZoom": "Nagyítás", + "serverRegistration": "Regisztráció", + "serverReadonly": "Csak olvasható", + "serverForceSettings": "Erő beállítások", + "serverAnnouncement": "Bejelentés", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Térkép", + "mapActive": "Aktív térképek", + "mapOverlay": "Térkép réteg", + "mapOverlayCustom": "Egyedi réteg", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Felhőtérkép", + "mapOpenWeatherPrecipitation": "OpenWeather Csapadéktérkép", + "mapOpenWeatherPressure": "OpenWeather Nyomás", + "mapOpenWeatherWind": "OpenWeather Széltérkép", + "mapOpenWeatherTemperature": "OpenWeather Hőtérkép", + "mapLayer": "Térkép réteg", + "mapCustom": "Egyedi (XYZ)", + "mapCustomArcgis": "Egyedi (ArcGIS)", + "mapCustomLabel": "Egyedi térkép", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps kulcs", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex térkép", + "mapYandexSat": "Yandex Műhold", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Rendelkezésre állási felmérés", + "mapMapboxStreets": "Mapbox utca", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox kültéri", + "mapMapboxSatellite": "Mapbox műhold", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Alap", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Alap", + "mapTomTomFlow": "TomTom Forgalom", + "mapTomTomIncidents": "TomTom Balesetek", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Alap", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Műhold", + "mapHereFlow": "Here Forgalom", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Poligon", + "mapShapeCircle": "Kör", + "mapShapePolyline": "Vonallánc", + "mapLiveRoutes": "Élő útvonalak", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Jelenlegi pozíció", + "mapPoiLayer": "POI réteg", + "mapClustering": "Jelölő csoportosítás", + "mapOnSelect": "Térkép mutatása a kijelölésen", + "mapDefault": "Default Map", + "stateTitle": "Helyzet", + "stateName": "Paraméter", + "stateValue": "Érték", + "commandTitle": "Parancs", + "commandSend": "Küld", + "commandSent": "Parancs elküldve", + "commandQueued": "Parancs várakozik", + "commandUnit": "Egység", + "commandCustom": "Egyedi parancs", + "commandDeviceIdentification": "Eszköz azonosító", + "commandPositionSingle": "Egyszeri jelentés", + "commandPositionPeriodic": "Pozició küldés", + "commandPositionStop": "Pozició küldés vége", + "commandEngineStop": "Motor letiltás", + "commandEngineResume": "Motor engedélyezés", + "commandAlarmArm": "Riasztó élesítés", + "commandAlarmDisarm": "Riasztó kikapcsolás", + "commandAlarmDismiss": "Riasztás némítása", + "commandSetTimezone": "Időzóna beállítás", + "commandRequestPhoto": "Kép lekérés", + "commandPowerOff": "Készülék kikapcsolás", + "commandRebootDevice": "Eszköz újraindítása", + "commandFactoryReset": "Gyári visszaállítás", + "commandSendSms": "SMS küldés", + "commandSendUssd": "USSD 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", + "commandVoiceMonitoring": "Hangfelügyelet", + "commandSetAgps": "AGPS beállítása", + "commandSetIndicator": "Jelölő beállítása", + "commandConfiguration": "Konfiguráció", + "commandGetVersion": "Verzió beszerzése", + "commandFirmwareUpdate": "Firmware frissítése", + "commandSetConnection": "Kapcsolat beállítása", + "commandSetOdometer": "Távolságmérés beállítása", + "commandGetModemStatus": "Modem állapotának lekérdezése", + "commandGetDeviceStatus": "Eszköz állapotának lekérdezése", + "commandSetSpeedLimit": "Sebességhatár beállítása", + "commandModePowerSaving": "Energiatakarékos mód", + "commandModeDeepSleep": "Mélyalvás mód", + "commandAlarmGeofence": "Zóna riasztás beállítás", + "commandAlarmBattery": "Akkumulátor riasztás beállítás", + "commandAlarmSos": "SOS riasztás beállítása", + "commandAlarmRemove": "Eltávolítás riasztás beállítása", + "commandAlarmClock": "Óra riasztás beállítása", + "commandAlarmSpeed": "Sebesség riasztás beállítása", + "commandAlarmFall": "Leesés riasztás beállítása", + "commandAlarmVibration": "Rezgés riasztás beállítása", + "commandFrequency": "Frekvencia", + "commandTimezone": "Időzóna eltoása", + "commandMessage": "Üzenet", + "commandRadius": "Sugár", + "commandEnable": "Engedélyez", + "commandData": "Adat", + "commandIndex": "Index", + "commandPhone": "Telefonszám", + "commandServer": "Szerver", + "commandPort": "Port", + "eventAll": "Minden esemény", + "eventDeviceOnline": "Státusz online", + "eventDeviceUnknown": "Státusz ismeretlen", + "eventDeviceOffline": "Státusz offline", + "eventDeviceInactive": "Eszköz inaktív", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Eszköz mozgásban", + "eventDeviceStopped": "Eszköz megállt", + "eventDeviceOverspeed": "Sebességhatár túllépés", + "eventDeviceFuelDrop": "Üzemanyag vesztés", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Parancs eredmény", + "eventGeofenceEnter": "Beléptett a területbe", + "eventGeofenceExit": "Kilépett a területből", + "eventAlarm": "Riasztás", + "eventIgnitionOn": "Gyújtás be", + "eventIgnitionOff": "Gyújtás ki", + "eventMaintenance": "Karbantartás szükséges", + "eventTextMessage": "Szöveges üzenet érkezett", + "eventDriverChanged": "Vezető váltás", + "eventMedia": "Media", + "eventsScrollToLast": "Utolsóhoz ugrás", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Általános", + "alarmSos": "SOS", + "alarmVibration": "Rezgés", + "alarmMovement": "Mozgás", + "alarmLowspeed": "Alacsony sebesség", + "alarmOverspeed": "Gyorshajtás", + "alarmFallDown": "Leesett", + "alarmLowPower": "Alacsony feszültség", + "alarmLowBattery": "Alacsony töltöttség", + "alarmFault": "Meghibásodás", + "alarmPowerOff": "Kikapcsolva", + "alarmPowerOn": "Bekapcsolva", + "alarmDoor": "Ajtó", + "alarmLock": "Zárás", + "alarmUnlock": "Nyitás", + "alarmGeofence": "Terület", + "alarmGeofenceEnter": "Belépés a területre", + "alarmGeofenceExit": "Kilépés a területről", + "alarmGpsAntennaCut": "GPS jelvesztés", + "alarmAccident": "Baleset", + "alarmTow": "Vontatás", + "alarmIdle": "Tétlen", + "alarmHighRpm": "Magas fordulatszám", + "alarmHardAcceleration": "Erős gyorsítás", + "alarmHardBraking": "Erős fékezés", + "alarmHardCornering": "Hirtelen kanyarodás", + "alarmLaneChange": "Sávváltás", + "alarmFatigueDriving": "Veszélyes vezetés", + "alarmPowerCut": "Áramvesztés", + "alarmPowerRestored": "Áram helyreállítva", + "alarmJamming": "Zavarás", + "alarmTemperature": "Hőmérséklet", + "alarmParking": "Parkolás", + "alarmBonnet": "Motorház", + "alarmFootBrake": "Fék", + "alarmFuelLeak": "Üzemanyag szivárgás", + "alarmTampering": "Manipulálás", + "alarmRemoving": "Eltávolítás", + "notificationType": "Értesítés Típusa", + "notificationAlways": "Minden eszköz", + "notificationNotificators": "Csatornák", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Levelezés", + "notificatorSms": "SMS", + "notificatorFirebase": "Tűzoltóság", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Visszajátszás", + "reportCombined": "Combined", + "reportRoute": "Útvonal", + "reportEvents": "Események", + "reportTrips": "Utazások", + "reportStops": "Megállók", + "reportSummary": "Összegzés", + "reportDaily": "Napi összesítés", + "reportChart": "Diagram", + "reportConfigure": "Konfiguráció", + "reportEventTypes": "Esemény típusok", + "reportChartType": "Diagram típusa", + "reportShowMarkers": "Jelölők megjelenítése", + "reportExport": "Exportálás", + "reportEmail": "Email Riport", + "reportSchedule": "Schedule", + "reportPeriod": "Periódus", + "reportCustom": "Egyéni", + "reportToday": "Ma", + "reportYesterday": "Tegnap", + "reportThisWeek": "Ez a hét", + "reportPreviousWeek": "Előző hét", + "reportThisMonth": "Ez a hónap", + "reportPreviousMonth": "Előző hónap", + "reportDeviceName": "Eszköz neve", + "reportAverageSpeed": "Átlagos sebesség", + "reportMaximumSpeed": "Maximális sebesség", + "reportEngineHours": "Motorjárat órák", + "reportDuration": "Időtartam", + "reportStartDate": "Kezdés dátuma", + "reportStartTime": "Indulás ideje", + "reportStartAddress": "Induló címe", + "reportEndTime": "Megérkezés ideje", + "reportEndAddress": "Megérkezés címe", + "reportSpentFuel": "Elhasznált üzemanyag", + "reportStartOdometer": "Kilométer start", + "reportEndOdometer": "Kilométer Vég", + "statisticsTitle": "Statisztika", + "statisticsCaptureTime": "Rögzítés ideje", + "statisticsActiveUsers": "Aktív felhasználók", + "statisticsActiveDevices": "Aktív eszközök", + "statisticsRequests": "Kérések", + "statisticsMessagesReceived": "Fogadott üzenetek", + "statisticsMessagesStored": "Tárolt üzenetek", + "statisticsGeocoder": "Geocoder kérések", + "statisticsGeolocation": "Geopozíció kérések", + "categoryArrow": "Nyíl", + "categoryDefault": "Alapértelmezett", + "categoryAnimal": "Állat", + "categoryBicycle": "Bicikli", + "categoryBoat": "Csónak", + "categoryBus": "Busz", + "categoryCar": "Autó", + "categoryCamper": "Camper", + "categoryCrane": "Daru", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorbicikli", + "categoryOffroad": "Terep", + "categoryPerson": "Személy", + "categoryPickup": "Platós", + "categoryPlane": "Repülő", + "categoryShip": "Hajó", + "categoryTractor": "Traktor", + "categoryTrain": "Vonat", + "categoryTram": "Villamos", + "categoryTrolleybus": "Trolibusz", + "categoryTruck": "Kamion", + "categoryVan": "Teherkocsi", + "categoryScooter": "Roller", + "maintenanceStart": "Start", + "maintenancePeriod": "Periódus" +}
\ No newline at end of file diff --git a/legacy/web/l10n/id.json b/legacy/web/l10n/id.json new file mode 100644 index 00000000..c7883dae --- /dev/null +++ b/legacy/web/l10n/id.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Memuat...", + "sharedHide": "Sembunyikan", + "sharedSave": "Simpan", + "sharedUpload": "Upload", + "sharedSet": "Setel", + "sharedCancel": "Batal", + "sharedCopy": "Copy", + "sharedAdd": "Tambah", + "sharedEdit": "Ubah", + "sharedRemove": "Hapus", + "sharedRemoveConfirm": "Hapus Item?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mp/h", + "sharedHour": "Jam", + "sharedMinute": "Menit", + "sharedSecond": "Detik", + "sharedDays": "Hari", + "sharedHours": "Jam", + "sharedMinutes": "Menit", + "sharedDecimalDegrees": "Derajat Desimal", + "sharedDegreesDecimalMinutes": "Menit Derajat Desimal", + "sharedDegreesMinutesSeconds": "Menit Detik Derajat", + "sharedName": "Nama", + "sharedDescription": "Deskripsi", + "sharedSearch": "Cari", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Batas Wilayah", + "sharedGeofences": "Semua Batas Wilayah", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notifikasi", + "sharedNotification": "Notification", + "sharedAttributes": "Semua Atribut", + "sharedAttribute": "Atribut", + "sharedDrivers": "Antarmuka", + "sharedDriver": "Antarmuka", + "sharedArea": "Area", + "sharedSound": "Notifikasi Suara", + "sharedType": "Tipe", + "sharedDistance": "Jarak", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Dapatkan Status Peta", + "sharedComputedAttribute": "Atribut Terkomputerisasi", + "sharedComputedAttributes": "Semua Atribut Terkomputerisasi", + "sharedCheckComputedAttribute": "Pilih Atribut Terkomputerisasi", + "sharedExpression": "Ekspresi", + "sharedDevice": "Perangkat", + "sharedTest": "Test", + "sharedTestNotification": "Kirim Test Notifikasi", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalender", + "sharedCalendars": "Semua Kalender", + "sharedFile": "Berkas", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Pilih Berkas", + "sharedPhone": "Telepon", + "sharedRequired": "Diperlukan", + "sharedPreferences": "Preferensi", + "sharedPermissions": "Kewenangan", + "sharedConnections": "Connections", + "sharedExtra": "Ekstra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Nomor", + "sharedTypeBoolean": "Pilihan", + "sharedTimezone": "Zona Waktu", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Perintah Tersimpan", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "Baru...", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Batas Kecepatan", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Laporan: Biarkan Odometer", + "attributeWebReportColor": "Web: Warna Laporan", + "attributeDevicePassword": "Sandi Perangkat", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Memproses: Salin Semua Atribut", + "attributeColor": "Warna", + "attributeWebLiveRouteLength": "Web: Panjang Rute Aktif", + "attributeWebSelectZoom": "Web: Perbesar Saat Pilih", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Aktif", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Diperlukan", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Aktif", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Terpercaya", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protokol", + "attributeMailSmtpFrom": "Mail: SMTP Pengirim", + "attributeMailSmtpAuth": "Mail: SMTP Otorisasi Aktif", + "attributeMailSmtpUsername": "Mail: SMTP Pengguna", + "attributeMailSmtpPassword": "Mail: SMTP Sandi", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI : Nonaktifkan Antarmuka", + "attributeUiDisableComputedAttributes": "UI : Nonaktifkan Computed Attributes", + "attributeUiDisableCalendars": "UI : Nonaktifkan Kalender", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Bermasalah", + "errorGeneral": "Semua Parameter Salah Atau Salah Aturan", + "errorConnection": "Koneksi Bermasalah", + "errorSocket": "Koneksi Web Socket Bermasalah", + "errorZero": "Can't be zero", + "userEmail": "Email", + "userPassword": "Sandi", + "userAdmin": "Admin", + "userRemember": "Diingat", + "userExpirationTime": "Kadaluarsa", + "userDeviceLimit": "Batas Perangkat", + "userUserLimit": "Batas Pengguna", + "userDeviceReadonly": "Perangkat Hanya Dilihat", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Masuk", + "loginLanguage": "Bahasa", + "loginReset": "Reset Password", + "loginRegister": "Daftar", + "loginLogin": "Masuk", + "loginOpenId": "Login with OpenID", + "loginFailed": "Email Atau Password Salah", + "loginCreated": "Pengguna Baru Telah Terdaftar", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Keluar", + "loginLogo": "Lambang", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Perangkat Dan Status", + "deviceSelected": "Selected Device", + "deviceTitle": "Semua Perangkat", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Pengindetifikasi", + "deviceModel": "Model", + "deviceContact": "Kontak", + "deviceCategory": "Kategori", + "deviceLastUpdate": "Terbaru", + "deviceCommand": "Perintah", + "deviceFollow": "Ikuti", + "deviceTotalDistance": "Total Jarak", + "deviceStatus": "Status", + "deviceStatusOnline": "Aktif", + "deviceStatusOffline": "Tidak Aktif", + "deviceStatusUnknown": "Tidak Diketahui", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Grup", + "groupParent": "Grup", + "groupNoGroup": "No Grup", + "settingsTitle": "Pengaturan", + "settingsUser": "Akun", + "settingsGroups": "Semua Grup", + "settingsServer": "Server", + "settingsUsers": "Pengguna", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "Format 12 Jam", + "settingsCoordinateFormat": "Format Koordinat", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Semua Laporan", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Perangkat", + "reportGroup": "Grup", + "reportFrom": "Dari", + "reportTo": "Ke", + "reportShow": "Tampilkan", + "reportClear": "Bersihkan", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Validitas", + "positionAccuracy": "Akurasi", + "positionLatitude": "Lintang", + "positionLongitude": "Bujur", + "positionAltitude": "Ketinggian", + "positionSpeed": "Kecepatan", + "positionCourse": "Arah", + "positionAddress": "Alamat", + "positionProtocol": "Protokol", + "positionDistance": "Jarak", + "positionRpm": "RPM", + "positionFuel": "BBM", + "positionPower": "Tenaga", + "positionBattery": "Baterai", + "positionRaw": "Mentah", + "positionIndex": "Indek", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Peristiwa", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Odometer Perbaikan", + "positionTripOdometer": "Odometer Perjalanan", + "positionHours": "Semua Jam", + "positionSteps": "Steps", + "positionInput": "Masukan", + "positionHeartRate": "Heart Rate", + "positionOutput": "Keluaran", + "positionBatteryLevel": "Level Battery", + "positionFuelConsumption": "Konsumsi BBM", + "positionRfid": "RFID", + "positionVersionFw": "Versi Firmware", + "positionVersionHw": "Versi Hardware", + "positionIgnition": "Mesin", + "positionFlags": "Semua Bendera", + "positionCharge": "Pengisian", + "positionIp": "IP", + "positionArchive": "Arsip", + "positionVin": "VIN", + "positionApproximate": "Perkiraan", + "positionThrottle": "Throttle", + "positionMotion": "Gerakan", + "positionArmed": "Aktif", + "positionAcceleration": "Akselerasi", + "positionTemp": "Temperature", + "positionDeviceTemp": "Suhu Perangkat", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Perintah", + "positionBlocked": "Diblok", + "positionDtcs": "DTCs", + "positionObdSpeed": "Kecepatan OBD", + "positionObdOdometer": "Odometer OBD", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "ID Unik Antarmuka", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Semua Pengaturan Server", + "serverZoom": "Perbesar", + "serverRegistration": "Pendaftaran", + "serverReadonly": "Hanya Dilihat", + "serverForceSettings": "Semua Pengaturan Paksa", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Peta", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Layer Peta", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Peta Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Key Peta Bing", + "mapBingRoad": "Peta Jalan Bing", + "mapBingAerial": "Peta Udara Bing", + "mapBingHybrid": "Peta Bing Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Peta Yandex", + "mapYandexSat": "Satelit Yandex", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Poligon", + "mapShapeCircle": "Lingkaran", + "mapShapePolyline": "Garis Poli", + "mapLiveRoutes": "Rute Aktif", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Status", + "stateName": "Atribut", + "stateValue": "Nilai", + "commandTitle": "Perintah", + "commandSend": "Kirim", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Unit", + "commandCustom": "Perintah Buatan", + "commandDeviceIdentification": "Identifikasi Perangkat", + "commandPositionSingle": "Laporan Tunggal", + "commandPositionPeriodic": "Laporan Berkala", + "commandPositionStop": "Stop Laporan", + "commandEngineStop": "Matikan Mesin", + "commandEngineResume": "HIdupkan Mesin", + "commandAlarmArm": "Alarm Aktif", + "commandAlarmDisarm": "Alarm Tidak Aktif", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Setel Zona Waktu", + "commandRequestPhoto": "Permintaan Foto", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Hidupkan Ulang Perangkat", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Kirim SMS", + "commandSendUssd": "Kirim USSD", + "commandSosNumber": "Kirim Nomor Darurat", + "commandSilenceTime": "Setel Waktu DIam", + "commandSetPhonebook": "Setel Buku Telepon", + "commandVoiceMessage": "Pesan Suara", + "commandOutputControl": "Kontrol Output", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Setel Indikasi", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekuensi", + "commandTimezone": "Zona Waktu Tidak Tepat", + "commandMessage": "Pesan", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Indeks", + "commandPhone": "Nomor Telepon", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Semua Peristiwa", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Hasil Perintah", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Perlu Perbaikan", + "eventTextMessage": "Pesan Teks Diterima", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Bergulir Ke Terakhir", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Tipe Notifikasi", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Rute", + "reportEvents": "Semua Peristiwa", + "reportTrips": "Perjalanan", + "reportStops": "Berhenti", + "reportSummary": "Ringkasan", + "reportDaily": "Daily Summary", + "reportChart": "Grafik", + "reportConfigure": "Pengaturan", + "reportEventTypes": "Tipe Peristiwa", + "reportChartType": "Tipe Grafik", + "reportShowMarkers": "Tampilkan Tanda", + "reportExport": "Ekspor", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Nama Perangkat", + "reportAverageSpeed": "Kecepatan Rata-rata", + "reportMaximumSpeed": "Kecepatan Tertinggi", + "reportEngineHours": "Durasi Mesin", + "reportDuration": "Durasi", + "reportStartDate": "Start Date", + "reportStartTime": "Waktu Awal", + "reportStartAddress": "Alamat Awal", + "reportEndTime": "Waktu Akhir", + "reportEndAddress": "Alamat Akhir", + "reportSpentFuel": "BBM Terpakai", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistik", + "statisticsCaptureTime": "Waktu Didapat", + "statisticsActiveUsers": "Pengguna Aktif", + "statisticsActiveDevices": "Perangkat Aktif", + "statisticsRequests": "Permintaan", + "statisticsMessagesReceived": "Pesan Diterima", + "statisticsMessagesStored": "Pesan Disimpan", + "statisticsGeocoder": "Permintaan Geocoder", + "statisticsGeolocation": "Permintaan Geolokasi", + "categoryArrow": "Panah", + "categoryDefault": "Pengaturan Awal", + "categoryAnimal": "Hewan", + "categoryBicycle": "Sepeda", + "categoryBoat": "Perahu", + "categoryBus": "Bis", + "categoryCar": "Mobil", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Sepeda Motor", + "categoryOffroad": "Offroad", + "categoryPerson": "Orang", + "categoryPickup": "Jemput", + "categoryPlane": "Pesawat", + "categoryShip": "Kapal Laut", + "categoryTractor": "Traktor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truk", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/it.json b/legacy/web/l10n/it.json new file mode 100644 index 00000000..03fcbb16 --- /dev/null +++ b/legacy/web/l10n/it.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Caricamento...", + "sharedHide": "Nascondi", + "sharedSave": "Salva", + "sharedUpload": "Carica", + "sharedSet": "Imposta", + "sharedCancel": "Annulla", + "sharedCopy": "Copia", + "sharedAdd": "Aggiungi", + "sharedEdit": "Modifica", + "sharedRemove": "Rimuovi", + "sharedRemoveConfirm": "Rimuovere elemento?", + "sharedNoData": "Nessun dato", + "sharedSubject": "Soggetto", + "sharedYes": "Si", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Ora", + "sharedMinute": "Minuto", + "sharedSecond": "Secondo", + "sharedDays": "giorni", + "sharedHours": "ore", + "sharedMinutes": "minuti", + "sharedDecimalDegrees": "Gradi", + "sharedDegreesDecimalMinutes": "Gradi Minuti", + "sharedDegreesMinutesSeconds": "Gradi Minuti Secondi", + "sharedName": "Nome", + "sharedDescription": "Descrizione", + "sharedSearch": "Cerca", + "sharedIconScale": "Grandezza Icona", + "sharedGeofence": "Geo Area", + "sharedGeofences": "Geo Aree", + "sharedCreateGeofence": "Crea Geo Area", + "sharedNotifications": "Notifiche", + "sharedNotification": "Notifica", + "sharedAttributes": "Attributi", + "sharedAttribute": "Attributo", + "sharedDrivers": "Autisti", + "sharedDriver": "Autista", + "sharedArea": "Area", + "sharedSound": "Suono Notifica", + "sharedType": "Tipo", + "sharedDistance": "Distanza", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litri", + "sharedImpGallon": "Galloni Imperiali", + "sharedUsGallon": "Galloni USA", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Ottieni Stato Mappa", + "sharedComputedAttribute": "Attributo Calcolato", + "sharedComputedAttributes": "Attributi Calcolati", + "sharedCheckComputedAttribute": "Controlla Attributo Calcolato", + "sharedExpression": "Espressione", + "sharedDevice": "Dispositivo", + "sharedTest": "Prova", + "sharedTestNotification": "Invia Notifica di Prova", + "sharedTestNotificators": "Prova Canali", + "sharedTestExpression": "Prova Espressione", + "sharedCalendar": "Calendario", + "sharedCalendars": "Calendari", + "sharedFile": "File", + "sharedSearchDevices": "Cerca Dispositivi", + "sharedSortBy": "Ordina per", + "sharedFilterMap": "Filtra su Mappa", + "sharedSelectFile": "Seleziona file", + "sharedPhone": "Telefono", + "sharedRequired": "Richiesto", + "sharedPreferences": "Preferenze", + "sharedPermissions": "Permessi", + "sharedConnections": "Connessioni", + "sharedExtra": "Informazioni Aggiuntive", + "sharedPrimary": "Primario", + "sharedSecondary": "Secondario", + "sharedTypeString": "Stringa", + "sharedTypeNumber": "Numero", + "sharedTypeBoolean": "Booleano", + "sharedTimezone": "Fuso Orario", + "sharedInfoTitle": "Informazioni", + "sharedSavedCommand": "Comando Salvato", + "sharedSavedCommands": "Comandi Salvati", + "sharedNew": "Nuovo…", + "sharedShowAddress": "Mostra Indirizzo", + "sharedShowDetails": "Dettagli Aggiuntivi", + "sharedDisabled": "Disattivato", + "sharedMaintenance": "Manutenzione", + "sharedDeviceAccumulators": "Accumulatori", + "sharedAlarms": "Allarmi", + "sharedLocation": "Posizione", + "sharedImport": "Importa", + "sharedColumns": "Colonne", + "sharedDropzoneText": "Trascina un file qui o clicca", + "sharedLogs": "Registri", + "sharedLink": "Collegamento", + "calendarSimple": "Semplice", + "calendarRecurrence": "Ricorrente", + "calendarOnce": "Una volta", + "calendarDaily": "Giornaliero", + "calendarWeekly": "Settimanale", + "calendarMonthly": "Mensile", + "calendarDays": "Giorni", + "calendarSunday": "Domenica", + "calendarMonday": "Lunedì", + "calendarTuesday": "Martedì", + "calendarWednesday": "Mercoledì", + "calendarThursday": "Giovedì", + "calendarFriday": "Venerdì", + "calendarSaturday": "Sabato", + "attributeShowGeofences": "Mostra Geo Aree", + "attributeSpeedLimit": "Limite Di Velocità", + "attributeFuelDropThreshold": "Soglia di calo carburante", + "attributeFuelIncreaseThreshold": "Soglia di aumento carburante", + "attributePolylineDistance": "Distanza Polilinea", + "attributeReportIgnoreOdometer": "Rapporto: Ignora Odometro", + "attributeWebReportColor": "Web: Colore Rapporto", + "attributeDevicePassword": "Password Dispositivo", + "attributeDeviceImage": "Immagine dispositivo", + "attributeDeviceInactivityStart": "Inizio Inattività Dispositivo", + "attributeDeviceInactivityPeriod": "Periodo Inattività Dispositivo", + "attributeProcessingCopyAttributes": "Elaborazione: Copia Attributi", + "attributeColor": "Colore", + "attributeWebLiveRouteLength": "Web: Lunghezza Percorso in Diretta", + "attributeWebSelectZoom": "Web: Ingrandimento su Selezione", + "attributeWebMaxZoom": "Web: Ingrandimento Massimo", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover Chiave Utente", + "attributePushoverDeviceNames": "Pushover Nome Dispositivo", + "attributeMailSmtpHost": "Mail: Host SMTP", + "attributeMailSmtpPort": "Mail: Porta SMTP", + "attributeMailSmtpStarttlsEnable": "Mail: Attiva STARTTLS SMTP", + "attributeMailSmtpStarttlsRequired": "Mail: Richiesto STARTTLS SMTP", + "attributeMailSmtpSslEnable": "Mail: Attiva SSL SMTP", + "attributeMailSmtpSslTrust": "Mail: Fiducia SSL SMTP", + "attributeMailSmtpSslProtocols": "Mail: Protocolli SSL SMTP", + "attributeMailSmtpFrom": "Mail: SMTP Da", + "attributeMailSmtpAuth": "Mail: Attiva Autenticazione SMTP", + "attributeMailSmtpUsername": "Mail: Nome Utente SMTP", + "attributeMailSmtpPassword": "Mail: Password SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disattiva Attributi", + "attributeUiDisableGroups": "UI: Disattiva Gruppi", + "attributeUiDisableEvents": "UI: Disattiva Eventi", + "attributeUiDisableVehicleFeatures": "UI: disabilita le funzionalità del veicolo", + "attributeUiDisableDrivers": "UI: Disattiva Autisti", + "attributeUiDisableComputedAttributes": "UI: Disattiva Attributi Calcolati", + "attributeUiDisableCalendars": "UI: Disattiva Calendari", + "attributeUiDisableMaintenance": "UI: Disattiva Manutenzione", + "attributeUiHidePositionAttributes": "UI: Nascondi Attributi Posizione", + "attributeUiDisableLoginLanguage": "UI: Disabilita lingua di accesso", + "attributeNotificationTokens": "Token di Notifica", + "attributePopupInfo": "Informazioni Popup", + "errorTitle": "Errore", + "errorGeneral": "Parametri non validi o violazione dei vincoli", + "errorConnection": "Errore di connessione", + "errorSocket": "Errore connessione Web socket", + "errorZero": "Non può essere zero", + "userEmail": "Email", + "userPassword": "Password", + "userAdmin": "Amministratore", + "userRemember": "Ricorda", + "userExpirationTime": "Scadenza", + "userDeviceLimit": "Limite Dispositivo", + "userUserLimit": "Limite Utente", + "userDeviceReadonly": "Dispositivo in Sola Lettura", + "userLimitCommands": "Limita Comandi", + "userDisableReports": "Disattiva Rapporti", + "userFixedEmail": "Nessuna modifica Email", + "userToken": "Token", + "userDeleteAccount": "Elimina Account", + "userTemporary": "Temporaneo", + "loginTitle": "Accesso", + "loginLanguage": "Lingua", + "loginReset": "Resetta Password", + "loginRegister": "Registrazione", + "loginLogin": "Accesso", + "loginOpenId": "Accesso con OpenID", + "loginFailed": "Indirizzo email o password errati", + "loginCreated": "Un nuovo utente si è registrato", + "loginResetSuccess": "Controlla la tua email", + "loginUpdateSuccess": "Nuova password impostata", + "loginLogout": "Esci", + "loginLogo": "Logo", + "loginTotpCode": "Codice Password Monouso", + "loginTotpKey": "Chiave Password Monouso", + "devicesAndState": "Dispositivi e Stato", + "deviceSelected": "Dispositivo selezionato", + "deviceTitle": "Dispositivi", + "devicePrimaryInfo": "Titolo dispositivo", + "deviceSecondaryInfo": "Dettagli dispositivo", + "deviceIdentifier": "Identificativo", + "deviceModel": "Modello", + "deviceContact": "Contatto", + "deviceCategory": "Categoria", + "deviceLastUpdate": "Ultimo Aggiornamento", + "deviceCommand": "Comando", + "deviceFollow": "Segui", + "deviceTotalDistance": "Distanza Totale", + "deviceStatus": "Stato", + "deviceStatusOnline": "Connesso", + "deviceStatusOffline": "Disconnesso", + "deviceStatusUnknown": "Sconosciuto", + "deviceRegisterFirst": "Registra il tuo primo dispositivo", + "deviceIdentifierHelp": "IMEI, numero di serie o altro ID. Deve corrispondere ai rapporti del dispositivo identificatore sul server.", + "deviceShare": "Condividi Dispositivo", + "groupDialog": "Gruppo", + "groupParent": "Gruppo", + "groupNoGroup": "Nessun Gruppo", + "settingsTitle": "Impostazioni", + "settingsUser": "Profilo", + "settingsGroups": "Gruppi", + "settingsServer": "Server", + "settingsUsers": "Utenti", + "settingsDistanceUnit": "Unità distanza", + "settingsAltitudeUnit": "Unità altitudine", + "settingsSpeedUnit": "Unità velocità", + "settingsVolumeUnit": "Unità volume", + "settingsTwelveHourFormat": "Formato 12 ore", + "settingsCoordinateFormat": "Formato Coordinate", + "settingsServerVersion": "Versione server", + "settingsAppVersion": "Versione App", + "settingsConnection": "Connessione", + "settingsDarkMode": "Modalità Notturna", + "settingsTotpEnable": "Abilita Password Monouso", + "settingsTotpForce": "Forza Password Monouso", + "settingsServiceWorkerUpdateInterval": "Intervallo di Aggiornamento di ServiceWorker", + "settingsUpdateAvailable": "È disponibile un aggiornamento.", + "settingsSupport": "Supporto", + "reportTitle": "Rapporti", + "reportScheduled": "Rapporto programmato", + "reportDevice": "Dispositivo", + "reportGroup": "Gruppo", + "reportFrom": "Da", + "reportTo": "A", + "reportShow": "Visualizza", + "reportClear": "Pulisci", + "linkGoogleMaps": "Mappa Google", + "linkAppleMaps": "Mappa Apple", + "linkStreetView": "Vista Stradale", + "positionFixTime": "Tempo Corretto", + "positionDeviceTime": "Orario Dispositivo", + "positionServerTime": "Orario Server", + "positionValid": "Valido", + "positionAccuracy": "Precisione", + "positionLatitude": "Latitudine", + "positionLongitude": "Longitudine", + "positionAltitude": "Altitudine", + "positionSpeed": "Velocità", + "positionCourse": "Direzione", + "positionAddress": "Indirizzo", + "positionProtocol": "Protocollo", + "positionDistance": "Distanza", + "positionRpm": "Giri Motore", + "positionFuel": "Carburante", + "positionPower": "Alimentazione", + "positionBattery": "Batteria", + "positionRaw": "Dato grezzo", + "positionIndex": "Indice", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelliti", + "positionSatVisible": "Satelliti Visibili", + "positionRssi": "Segnale GSM", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Evento", + "positionAlarm": "Allarme", + "positionStatus": "Stato", + "positionOdometer": "Odometro", + "positionServiceOdometer": "Servizio Odometrico", + "positionTripOdometer": "Parziale Odometro", + "positionHours": "Ore", + "positionSteps": "Passi", + "positionInput": "Ingresso", + "positionHeartRate": "Frequenza Cardiaca", + "positionOutput": "Uscita", + "positionBatteryLevel": "Livello Batteria", + "positionFuelConsumption": "Consumo Carburante", + "positionRfid": "RFID", + "positionVersionFw": "Versione Firmware", + "positionVersionHw": "Versione Hardware", + "positionIgnition": "Accensione", + "positionFlags": "Bandiera", + "positionCharge": "Carica", + "positionIp": "IP", + "positionArchive": "Archivio", + "positionVin": "VIN", + "positionApproximate": "Approssimato", + "positionThrottle": "Acceleratore", + "positionMotion": "Movimento", + "positionArmed": "Armato/Attivo", + "positionAcceleration": "Accelerazione", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura Dispositivo", + "positionCoolantTemp": "Temperatura Motore", + "positionOperator": "Operatore", + "positionCommand": "Comando", + "positionBlocked": "Bloccato", + "positionDtcs": "DTCs", + "positionObdSpeed": "Velocità OBD", + "positionObdOdometer": "Odometro OBD", + "positionDrivingTime": "Ore di Guida", + "positionDriverUniqueId": "ID Univoco Autista", + "positionCard": "Carta", + "positionImage": "Immagine", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Impostazioni Server", + "serverZoom": "Zoom", + "serverRegistration": "Registrazione", + "serverReadonly": "Sola lettura", + "serverForceSettings": "Forza Impostazioni", + "serverAnnouncement": "Annuncio", + "serverName": "Nome del Server", + "serverDescription": "Descrizione del Server", + "serverColorPrimary": "Colore Primario", + "serverColorSecondary": "Colore Secondario", + "serverLogo": "Immagine Logo", + "serverLogoInverted": "Immagine Logo Invertita", + "serverChangeDisable": "Disattiva cambiamento Server", + "serverDisableShare": "Disattiva la Condivisione del Dispositivo", + "mapTitle": "Mappa", + "mapActive": "Mappe Attive", + "mapOverlay": "Soprapposizione Mappa", + "mapOverlayCustom": "Soprapposizione Personalizzata", + "mapOpenSeaMap": "Mappa OpenSea", + "mapOpenRailwayMap": "Mappa OpenRailway", + "mapOpenWeatherKey": "OpenWeather Chiave API", + "mapOpenWeatherClouds": "OpenWeather Nuvole", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitazioni", + "mapOpenWeatherPressure": "OpenWeather Pressione", + "mapOpenWeatherWind": "OpenWeather Vento", + "mapOpenWeatherTemperature": "OpenWeather Temperatura", + "mapLayer": "Livello Mappa", + "mapCustom": "Personalizzata (XYZ)", + "mapCustomArcgis": "Personalizzata (ArcGIS)", + "mapCustomLabel": "Mappa Personalizzata", + "mapCarto": "Mappe base di Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Stradale", + "mapGoogleHybrid": "Google Ibrida", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Chiave Mappa", + "mapBingRoad": "Bing Mappa Stradale", + "mapBingAerial": "Bing Mappa Aerea", + "mapBingHybrid": "Bing Mappa ibrida", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Mappa", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Stradale", + "mapMapboxStreetsDark": "Mapbox Stradale Notturno", + "mapMapboxOutdoors": "Mapbox all'Aperto", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Token di Accesso", + "mapMapTilerBasic": "MapTiler Base", + "mapMapTilerHybrid": "MapTiler Ibrida", + "mapMapTilerKey": "MapTiler Chiave API", + "mapLocationIqStreets": "LocationIQ Stradale", + "mapLocationIqDark": "LocationIQ Notturna", + "mapLocationIqKey": "LocationIQ Token di Accesso", + "mapTomTomBasic": "TomTom Base", + "mapTomTomFlow": "TomTom Traffico Stradale", + "mapTomTomIncidents": "TomTom Incidenti Stradali", + "mapTomTomKey": "TomTom Chiave API", + "mapHereBasic": "Here Base", + "mapHereHybrid": "Here Ibrida", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffico Stradale", + "mapHereKey": "Here Chiave API", + "mapShapePolygon": "Poligono", + "mapShapeCircle": "Cerchio", + "mapShapePolyline": "Polilinea", + "mapLiveRoutes": "Percorso in Diretta", + "mapDirection": "Mostra direzione", + "mapCurrentLocation": "Posizione Corrente", + "mapPoiLayer": "Layer POI", + "mapClustering": "Gruppi di marcatori", + "mapOnSelect": "Mostra mappa su selezione", + "mapDefault": "Mappa predefinita", + "stateTitle": "Stato", + "stateName": "Attributo", + "stateValue": "Valore", + "commandTitle": "Comando", + "commandSend": "Invia", + "commandSent": "Comando inviato", + "commandQueued": "Comando accodato", + "commandUnit": "Unità", + "commandCustom": "Comando Personalizzato", + "commandDeviceIdentification": "Identificativo Dispositivo", + "commandPositionSingle": "Rapporto Singolo", + "commandPositionPeriodic": "Rapporti Periodici", + "commandPositionStop": "Ferma Rapporti", + "commandEngineStop": "Ferma Motore", + "commandEngineResume": "Riavvio Motore", + "commandAlarmArm": "Attiva Allarme", + "commandAlarmDisarm": "Disattiva Allarme", + "commandAlarmDismiss": "Ignora Allarme", + "commandSetTimezone": "Imposta Fuso Orario", + "commandRequestPhoto": "Richiedi Foto", + "commandPowerOff": "Spegni Dispositivo", + "commandRebootDevice": "Riavvia Dispositivo", + "commandFactoryReset": "Reset di fabbrica", + "commandSendSms": "Invia SMS", + "commandSendUssd": "Invia USSD", + "commandSosNumber": "Imposta Numero SOS", + "commandSilenceTime": "Imposta Orario Silenzio", + "commandSetPhonebook": "Imposta Rubrica", + "commandVoiceMessage": "Messaggio Vocale", + "commandOutputControl": "Controllo Uscita", + "commandVoiceMonitoring": "Monitoraggio Vocale", + "commandSetAgps": "Imposta AGPS", + "commandSetIndicator": "Imposta Indicatore", + "commandConfiguration": "Configurazione", + "commandGetVersion": "Rileva Versione", + "commandFirmwareUpdate": "Aggiorna Firmware", + "commandSetConnection": "Imposta Connessione", + "commandSetOdometer": "Imposta Odometro", + "commandGetModemStatus": "Rileva Stato Modem", + "commandGetDeviceStatus": "Rileva Stato Dispositivo", + "commandSetSpeedLimit": "Imposta Limite Velocità", + "commandModePowerSaving": "Modalità di Risparmio Energetico", + "commandModeDeepSleep": "Modalità Sonno Profondo", + "commandAlarmGeofence": "Imposta Allarme Geo Area", + "commandAlarmBattery": "Imposta Allarme Batteria", + "commandAlarmSos": "Imposta Allarme SOS", + "commandAlarmRemove": "Imposta Rimozione Allarme", + "commandAlarmClock": "Imposta Allarme Sveglia", + "commandAlarmSpeed": "Imposta Allarme Velocità", + "commandAlarmFall": "Imposta Allarme Caduta", + "commandAlarmVibration": "Imposta Allarme Vibrazione", + "commandFrequency": "Frequenza", + "commandTimezone": "Differenza Fuso Orario", + "commandMessage": "Messaggio", + "commandRadius": "Raggio", + "commandEnable": "Attiva", + "commandData": "Dati", + "commandIndex": "Indice", + "commandPhone": "Numero Telefonico", + "commandServer": "Server", + "commandPort": "Porta", + "eventAll": "Tutti gli Eventi", + "eventDeviceOnline": "Connesso al server", + "eventDeviceUnknown": "Stato sconosciuto", + "eventDeviceOffline": "Disconnesso dal Server", + "eventDeviceInactive": "Dispositivo non attivo", + "eventQueuedCommandSent": "Comando in coda inviato", + "eventDeviceMoving": "Dispositivo in movimento", + "eventDeviceStopped": "Dispositivo Fermo", + "eventDeviceOverspeed": "Limite di velocità superato", + "eventDeviceFuelDrop": "Perdita di carburante", + "eventDeviceFuelIncrease": "Incremento carburante", + "eventCommandResult": "Risultato comando", + "eventGeofenceEnter": "Entrato nella Geo Area", + "eventGeofenceExit": "Uscito dalla Geo Area", + "eventAlarm": "Allarme", + "eventIgnitionOn": "Accensione inserita", + "eventIgnitionOff": "Accensione disinserita", + "eventMaintenance": "Richiesta manutenzione", + "eventTextMessage": "Messaggio di testo ricevuto", + "eventDriverChanged": "Autista cambiato", + "eventMedia": "Media", + "eventsScrollToLast": "Scorri fino all'ultimo", + "eventsSoundEvents": "Suono eventi", + "eventsSoundAlarms": "Suono allarmi", + "alarmGeneral": "Generale", + "alarmSos": "SOS", + "alarmVibration": "Vibrazione", + "alarmMovement": "Movimento", + "alarmLowspeed": "Bassa Velocità", + "alarmOverspeed": "Velocità Eccessiva", + "alarmFallDown": "Caduta", + "alarmLowPower": "Alimentazione Bassa", + "alarmLowBattery": "Batteria Scarica", + "alarmFault": "Guasto", + "alarmPowerOff": "Spegni", + "alarmPowerOn": "Accendi", + "alarmDoor": "Porta", + "alarmLock": "Blocca", + "alarmUnlock": "Sblocca", + "alarmGeofence": "Geo Area", + "alarmGeofenceEnter": "Ingresso Geo Area", + "alarmGeofenceExit": "Uscita Geo Area", + "alarmGpsAntennaCut": "Antenna GPS Scollegata", + "alarmAccident": "Incidente", + "alarmTow": "Inclinazione", + "alarmIdle": "Inattivo", + "alarmHighRpm": "Giri Motore Elevati", + "alarmHardAcceleration": "Accelerazione Brusca", + "alarmHardBraking": "Frenata Brusca", + "alarmHardCornering": "Curva Stretta", + "alarmLaneChange": "Cambio Corsia", + "alarmFatigueDriving": "Affaticamento del Guidatore", + "alarmPowerCut": "Alimentazione Interrotta", + "alarmPowerRestored": "Alimentazione Ripristinata", + "alarmJamming": "Disturbatore Frequenze", + "alarmTemperature": "Temperatura", + "alarmParking": "Parcheggio", + "alarmBonnet": "Cofano", + "alarmFootBrake": "Freno a pedale", + "alarmFuelLeak": "Perdita carburante", + "alarmTampering": "Manomissione", + "alarmRemoving": "Rimozione", + "notificationType": "Tipo Notifica", + "notificationAlways": "Tutti i Dispositivi", + "notificationNotificators": "Canali", + "notificatorCommand": "Comandi", + "notificatorWeb": "Web", + "notificatorMail": "Email", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Riguarda il Percorso", + "reportCombined": "Combinato", + "reportRoute": "Percorso", + "reportEvents": "Eventi", + "reportTrips": "Viaggi", + "reportStops": "Fermate", + "reportSummary": "Sommario", + "reportDaily": "Riassunto Giornaliero", + "reportChart": "Grafico", + "reportConfigure": "Configura", + "reportEventTypes": "Tipi Evento", + "reportChartType": "Tipo Grafico", + "reportShowMarkers": "Mostra i marcatori", + "reportExport": "Esporta", + "reportEmail": "Rapporto Email", + "reportSchedule": "Cronoprogramma", + "reportPeriod": "Periodo", + "reportCustom": "Personalizzato", + "reportToday": "Oggi", + "reportYesterday": "Ieri", + "reportThisWeek": "Settimana Corrente", + "reportPreviousWeek": "Settimana Precedente", + "reportThisMonth": "Mese Corrente", + "reportPreviousMonth": "Mese Precedente", + "reportDeviceName": "Nome Dispositivo", + "reportAverageSpeed": "Velocità Media", + "reportMaximumSpeed": "Velocità Massima", + "reportEngineHours": "Ore di Guida", + "reportDuration": "Durata", + "reportStartDate": "Data di partenza", + "reportStartTime": "Ora di Partenza", + "reportStartAddress": "Indirizzo di Partenza", + "reportEndTime": "Ora di Arrivo", + "reportEndAddress": "Indirizzo di Arrivo", + "reportSpentFuel": "Carburante Consumato", + "reportStartOdometer": "Odometro Inizio", + "reportEndOdometer": "Odometro Fine", + "statisticsTitle": "Statistiche", + "statisticsCaptureTime": "Tempo di Cattura", + "statisticsActiveUsers": "Utenti Attivi", + "statisticsActiveDevices": "Dispositivi Attivi", + "statisticsRequests": "Richieste", + "statisticsMessagesReceived": "Messaggi Ricevuti", + "statisticsMessagesStored": "Messaggi Salvati", + "statisticsGeocoder": "Richieste Geocoder", + "statisticsGeolocation": "Richieste Geolocalizzazione", + "categoryArrow": "Freccia", + "categoryDefault": "Predefinita", + "categoryAnimal": "Animale", + "categoryBicycle": "Bicicletta", + "categoryBoat": "Barca", + "categoryBus": "Autobus", + "categoryCar": "Automobile", + "categoryCamper": "Camper", + "categoryCrane": "Gru", + "categoryHelicopter": "Elicottero", + "categoryMotorcycle": "Moto", + "categoryOffroad": "Fuoristrada", + "categoryPerson": "Persona", + "categoryPickup": "Pickup", + "categoryPlane": "Aeroplano", + "categoryShip": "Nave", + "categoryTractor": "Trattore", + "categoryTrain": "Treno", + "categoryTram": "Tram", + "categoryTrolleybus": "Filobus", + "categoryTruck": "Camion", + "categoryVan": "Furgone", + "categoryScooter": "Scooter", + "maintenanceStart": "Inizio", + "maintenancePeriod": "Periodo" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ja.json b/legacy/web/l10n/ja.json new file mode 100644 index 00000000..3c99b0c0 --- /dev/null +++ b/legacy/web/l10n/ja.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "読み込み中...", + "sharedHide": "非表示", + "sharedSave": "保存", + "sharedUpload": "Upload", + "sharedSet": "設定", + "sharedCancel": "キャンセル", + "sharedCopy": "Copy", + "sharedAdd": "追加", + "sharedEdit": "編集", + "sharedRemove": "削除", + "sharedRemoveConfirm": "アイテムを削除しますか?", + "sharedNoData": "データがありません", + "sharedSubject": "Subject", + "sharedYes": "はい", + "sharedNo": "いいえ", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "メートル", + "sharedFeet": "フィート", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "時間", + "sharedMinute": "分", + "sharedSecond": "秒", + "sharedDays": "日", + "sharedHours": "時間", + "sharedMinutes": "分", + "sharedDecimalDegrees": "DEG形式(度)", + "sharedDegreesDecimalMinutes": "DMM形式(度分)", + "sharedDegreesMinutesSeconds": "DMS形式(度分秒)", + "sharedName": "名前", + "sharedDescription": "説明", + "sharedSearch": "検索", + "sharedIconScale": "アイコンの大きさ", + "sharedGeofence": "ジオフェンス", + "sharedGeofences": "ジオフェンス", + "sharedCreateGeofence": "ジオフェンスを作成", + "sharedNotifications": "通知", + "sharedNotification": "通知", + "sharedAttributes": "属性", + "sharedAttribute": "属性", + "sharedDrivers": "ドライバー", + "sharedDriver": "ドライバー", + "sharedArea": "エリア", + "sharedSound": "通知サウンド", + "sharedType": "タイプ", + "sharedDistance": "距離", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "リットル", + "sharedImpGallon": "英ガロン", + "sharedUsGallon": "米ガロン", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "地図から情報を取得", + "sharedComputedAttribute": "算出属性", + "sharedComputedAttributes": "算出属性", + "sharedCheckComputedAttribute": "算出属性を確認", + "sharedExpression": "式", + "sharedDevice": "デバイス", + "sharedTest": "テスト", + "sharedTestNotification": "テスト通知を送信", + "sharedTestNotificators": "チャンネルをテスト", + "sharedTestExpression": "式をテスト", + "sharedCalendar": "カレンダー", + "sharedCalendars": "カレンダー", + "sharedFile": "ファイル", + "sharedSearchDevices": "デバイスを探す", + "sharedSortBy": "並び替え", + "sharedFilterMap": "マップのフィルター", + "sharedSelectFile": "ファイルを選択", + "sharedPhone": "電話", + "sharedRequired": "必須項目", + "sharedPreferences": "環境設定", + "sharedPermissions": "アクセス許可", + "sharedConnections": "接続", + "sharedExtra": "拡張", + "sharedPrimary": "第一", + "sharedSecondary": "第二", + "sharedTypeString": "文字列", + "sharedTypeNumber": "数値", + "sharedTypeBoolean": "論理値", + "sharedTimezone": "タイムゾーン", + "sharedInfoTitle": "情報", + "sharedSavedCommand": "保存したコマンド", + "sharedSavedCommands": "保存したコマンド", + "sharedNew": "新規…", + "sharedShowAddress": "住所を表示", + "sharedShowDetails": "詳細を見る", + "sharedDisabled": "無効", + "sharedMaintenance": "メンテナンス", + "sharedDeviceAccumulators": "蓄電池", + "sharedAlarms": "警報", + "sharedLocation": "場所", + "sharedImport": "インポート", + "sharedColumns": "列", + "sharedDropzoneText": "ファイルをドラッグ&ドロップするかクリック", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "シンプル", + "calendarRecurrence": "再発", + "calendarOnce": "一度", + "calendarDaily": "日次", + "calendarWeekly": "週次", + "calendarMonthly": "月次", + "calendarDays": "日", + "calendarSunday": "日曜日", + "calendarMonday": "月曜日", + "calendarTuesday": "火曜日", + "calendarWednesday": "水曜日", + "calendarThursday": "木曜日", + "calendarFriday": "金曜日", + "calendarSaturday": "土曜日", + "attributeShowGeofences": "ジオフェンスを表示", + "attributeSpeedLimit": "速度制限", + "attributeFuelDropThreshold": "燃料低下の閾値", + "attributeFuelIncreaseThreshold": "燃料増加の閾値", + "attributePolylineDistance": "経路距離", + "attributeReportIgnoreOdometer": "レポート: 走行距離計を無視する", + "attributeWebReportColor": "Web: レポートの色", + "attributeDevicePassword": "デバイスパスワード", + "attributeDeviceImage": "デバイスのイメージ", + "attributeDeviceInactivityStart": "デバイス非アクティブ開始", + "attributeDeviceInactivityPeriod": "デバイス非アクティブ期間", + "attributeProcessingCopyAttributes": "処理中: 属性のコピー", + "attributeColor": "色", + "attributeWebLiveRouteLength": "Web: リアルタイム経路長", + "attributeWebSelectZoom": "Web: 選択時にズーム", + "attributeWebMaxZoom": "Web: 最大化", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover デバイス名", + "attributeMailSmtpHost": "メール: SMTP ホスト", + "attributeMailSmtpPort": "メール: SMTP ポート", + "attributeMailSmtpStarttlsEnable": "メール: SMTP STARTTLS 有効", + "attributeMailSmtpStarttlsRequired": "メール: SMTP STARTTLS 要求", + "attributeMailSmtpSslEnable": "メール: SMTP SSL 有効", + "attributeMailSmtpSslTrust": "メール: SMTP SSL 信頼", + "attributeMailSmtpSslProtocols": "メール: SMTP SSL プロトコル", + "attributeMailSmtpFrom": "メール: SMTP 元", + "attributeMailSmtpAuth": "メール: SMTP 認証有効", + "attributeMailSmtpUsername": "メール: SMTP ユーザー名", + "attributeMailSmtpPassword": "メール: SMTP パスワード", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI:属性を無効にする", + "attributeUiDisableGroups": "UI:グループを無効にする", + "attributeUiDisableEvents": "UI: イベントを無効にする", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: ドライバーを無効にする", + "attributeUiDisableComputedAttributes": "UI: 計算された属性を無効にする", + "attributeUiDisableCalendars": "UI: カレンダーを無効にする", + "attributeUiDisableMaintenance": "UI: メンテナンスを無効にする", + "attributeUiHidePositionAttributes": "UI: 位置属性を非表示にする", + "attributeUiDisableLoginLanguage": "UI:ログイン言語を無効にする", + "attributeNotificationTokens": "通知トークン", + "attributePopupInfo": "ポップアップ情報", + "errorTitle": "エラー", + "errorGeneral": "無効なパラメータまたは制約違反", + "errorConnection": "接続エラー", + "errorSocket": "Web ソケット接続エラー", + "errorZero": "0にはできません。", + "userEmail": "メール", + "userPassword": "パスワード", + "userAdmin": "管理者", + "userRemember": "記憶する", + "userExpirationTime": "有効期限", + "userDeviceLimit": "デバイス制限", + "userUserLimit": "ユーザー制限", + "userDeviceReadonly": "デバイス読み取り専用", + "userLimitCommands": "リミットコマンド", + "userDisableReports": "レポートを無効にする", + "userFixedEmail": "E-Mail変更は無し", + "userToken": "トークン", + "userDeleteAccount": "アカウントを削除", + "userTemporary": "Temporary", + "loginTitle": "ログイン", + "loginLanguage": "言語", + "loginReset": "パスワードをリセット", + "loginRegister": "登録", + "loginLogin": "ログイン", + "loginOpenId": "Login with OpenID", + "loginFailed": "メールアドレスまたはパスワードが間違っています", + "loginCreated": "新しいユーザーが登録されました", + "loginResetSuccess": "メールを確認してください", + "loginUpdateSuccess": "新しいパスワードが設定されました", + "loginLogout": "ログアウト", + "loginLogo": "ロゴ", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "デバイスと状態", + "deviceSelected": "選択したデバイス", + "deviceTitle": "デバイス", + "devicePrimaryInfo": "デバイスのタイトル", + "deviceSecondaryInfo": "デバイスの詳細", + "deviceIdentifier": "ID", + "deviceModel": "モデル", + "deviceContact": "連絡先", + "deviceCategory": "カテゴリー", + "deviceLastUpdate": "最終更新", + "deviceCommand": "コマンド", + "deviceFollow": "デバイスを追跡", + "deviceTotalDistance": "総距離", + "deviceStatus": "ステータス", + "deviceStatusOnline": "オンライン", + "deviceStatusOffline": "オフライン", + "deviceStatusUnknown": "不明", + "deviceRegisterFirst": "最初のデバイスを登録", + "deviceIdentifierHelp": "IMEI、シリアル番号あるいはその他のID。サーバーに接続するデバイスのIDに一致している必要があります。", + "deviceShare": "Share Device", + "groupDialog": "グループ", + "groupParent": "グループ", + "groupNoGroup": "グループなし", + "settingsTitle": "設定", + "settingsUser": "アカウント", + "settingsGroups": "グループ", + "settingsServer": "サーバー", + "settingsUsers": "ユーザー", + "settingsDistanceUnit": "距離の単位", + "settingsAltitudeUnit": "高度の単位", + "settingsSpeedUnit": "速度の単位", + "settingsVolumeUnit": "容量の単位", + "settingsTwelveHourFormat": "12 時間形式", + "settingsCoordinateFormat": "座標形式", + "settingsServerVersion": "サーバーのバージョン", + "settingsAppVersion": "アプリのバージョン", + "settingsConnection": "接続", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "レポート", + "reportScheduled": "Scheduled Reports", + "reportDevice": "デバイス", + "reportGroup": "グループ", + "reportFrom": "開始日時", + "reportTo": "終了日時", + "reportShow": "詳細", + "reportClear": "クリア", + "linkGoogleMaps": "Googleマップ", + "linkAppleMaps": "Appleマップ", + "linkStreetView": "Street View", + "positionFixTime": "固定日時", + "positionDeviceTime": "デバイスの時刻", + "positionServerTime": "サーバーの時刻", + "positionValid": "測位", + "positionAccuracy": "正確な位置", + "positionLatitude": "緯度", + "positionLongitude": "経度", + "positionAltitude": "高度", + "positionSpeed": "速度", + "positionCourse": "方角", + "positionAddress": "場所", + "positionProtocol": "プロトコル", + "positionDistance": "距離", + "positionRpm": "RPM", + "positionFuel": "燃料", + "positionPower": "電源", + "positionBattery": "バッテリー", + "positionRaw": "Raw", + "positionIndex": "インデックス", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "衛星の位置", + "positionSatVisible": "衛星の表示", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "ローミング", + "positionEvent": "イベント", + "positionAlarm": "警報", + "positionStatus": "ステータス", + "positionOdometer": "走行距離計", + "positionServiceOdometer": "サービス走行距離計", + "positionTripOdometer": "トリップ走行距離計", + "positionHours": "時間", + "positionSteps": "ステップ", + "positionInput": "入力", + "positionHeartRate": "Heart Rate", + "positionOutput": "出力", + "positionBatteryLevel": "バッテリーレベル", + "positionFuelConsumption": "燃料消費", + "positionRfid": "RFID", + "positionVersionFw": "ファームウェアバージョン", + "positionVersionHw": "ハードウェアバージョン", + "positionIgnition": "イグニッション", + "positionFlags": "フラグ", + "positionCharge": "充電", + "positionIp": "IP", + "positionArchive": "アーカイブ", + "positionVin": "VIN", + "positionApproximate": "近似", + "positionThrottle": "スロットル", + "positionMotion": "運動", + "positionArmed": "強化", + "positionAcceleration": "加速", + "positionTemp": "温度", + "positionDeviceTemp": "デバイス温度", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "運用", + "positionCommand": "コマンド", + "positionBlocked": "ブロック", + "positionDtcs": "DTC", + "positionObdSpeed": "OBD 速度", + "positionObdOdometer": "OBD 走行距離計", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "ドライバー固有ID", + "positionCard": "Card", + "positionImage": "画像", + "positionVideo": "ビデオ", + "positionAudio": "音声", + "serverTitle": "サーバー設定", + "serverZoom": "拡大縮小", + "serverRegistration": "新規ユーザー登録を許可", + "serverReadonly": "読み取り専用", + "serverForceSettings": "強制的に設定", + "serverAnnouncement": "お知らせ", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "地図", + "mapActive": "アクティブなマップ", + "mapOverlay": "マップのオーバーレイ", + "mapOverlayCustom": "カスタムオーバーレイ", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather APIキー", + "mapOpenWeatherClouds": "OpenWeather 雲", + "mapOpenWeatherPrecipitation": "OpenWeather 降水量", + "mapOpenWeatherPressure": "OpenWeather 気圧", + "mapOpenWeatherWind": "OpenWeather 風", + "mapOpenWeatherTemperature": "OpenWeather 気温", + "mapLayer": "使用する地図", + "mapCustom": "カスタム (XYZ)", + "mapCustomArcgis": "カスタム (ArcGIS)", + "mapCustomLabel": "カスタム地図", + "mapCarto": "Cartoベースマップ", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Map 道路", + "mapGoogleHybrid": "Google Map ハイブリッド", + "mapGoogleSatellite": "Google Map 人工衛星", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bingマップキー", + "mapBingRoad": "Bingマップ", + "mapBingAerial": "Bing航空写真マップ", + "mapBingHybrid": "Bingハイブリッドマップ", + "mapBaidu": "百度地図", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandexマップ", + "mapYandexSat": "Yandex衛星写真マップ", + "mapWikimedia": "ウィキメディア", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocatioIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "多角形", + "mapShapeCircle": "円形", + "mapShapePolyline": "折れ線形", + "mapLiveRoutes": "リアルタイム経路", + "mapDirection": "方向を表示", + "mapCurrentLocation": "現在の位置", + "mapPoiLayer": "POI レイヤー", + "mapClustering": "マーカー クラスタリング", + "mapOnSelect": "選択をマップで表示", + "mapDefault": "デフォルトのマップ", + "stateTitle": "詳細", + "stateName": "属性", + "stateValue": "値", + "commandTitle": "コマンド", + "commandSend": "送信", + "commandSent": "コマンドを送信した。", + "commandQueued": "コマンド実行待ち", + "commandUnit": "単位", + "commandCustom": "カスタムコマンド", + "commandDeviceIdentification": "デバイス ID", + "commandPositionSingle": "シングルレポート", + "commandPositionPeriodic": "定期レポート", + "commandPositionStop": "レポートを停止", + "commandEngineStop": "エンジン停止", + "commandEngineResume": "エンジン再始動", + "commandAlarmArm": "警報開始", + "commandAlarmDisarm": "警報解除", + "commandAlarmDismiss": "警報を無視する", + "commandSetTimezone": "タイムゾーンを設定", + "commandRequestPhoto": "写真をリクエスト", + "commandPowerOff": "デバイス電源 OFF", + "commandRebootDevice": "デバイスを再起動", + "commandFactoryReset": "工場出荷状態に戻す", + "commandSendSms": "SMSを送信", + "commandSendUssd": "USSDを送信", + "commandSosNumber": "SOS送信先電話番号", + "commandSilenceTime": "通知OFF時間帯", + "commandSetPhonebook": "電話帳設定", + "commandVoiceMessage": "音声メッセージ", + "commandOutputControl": "コマンド出力制御", + "commandVoiceMonitoring": "音声モニタ", + "commandSetAgps": "AGPS を設定", + "commandSetIndicator": "通知設定", + "commandConfiguration": "設定", + "commandGetVersion": "バージョンを取得", + "commandFirmwareUpdate": "ファームウェアを更新", + "commandSetConnection": "接続を設定", + "commandSetOdometer": "走行距離計を設定", + "commandGetModemStatus": "モデムのステータスを取得", + "commandGetDeviceStatus": "デバイスのステータスを取得", + "commandSetSpeedLimit": "速度制限を設定", + "commandModePowerSaving": "省電力モード", + "commandModeDeepSleep": "ディープスリープモード", + "commandAlarmGeofence": "ジオフェンス警報を設定", + "commandAlarmBattery": "バッテリー警報を設定", + "commandAlarmSos": "SOS警報を設定", + "commandAlarmRemove": "取り外し警報を設定", + "commandAlarmClock": "時計警報を設定", + "commandAlarmSpeed": "速度警報を設定", + "commandAlarmFall": "落下警報を設定", + "commandAlarmVibration": "振動警報を設定", + "commandFrequency": "周期", + "commandTimezone": "世界標準時との時差", + "commandMessage": "メッセージ", + "commandRadius": "Radius", + "commandEnable": "有効", + "commandData": "データー", + "commandIndex": "コマンド一覧", + "commandPhone": "電話番号", + "commandServer": "サーバー", + "commandPort": "ポート", + "eventAll": "全てのイベント", + "eventDeviceOnline": "オンライン状態", + "eventDeviceUnknown": "状態不明", + "eventDeviceOffline": "オフライン状態", + "eventDeviceInactive": "デバイス非アクティブ", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "デバイス移動中", + "eventDeviceStopped": "デバイス停止中", + "eventDeviceOverspeed": "速度制限を超過", + "eventDeviceFuelDrop": "燃料残量低下", + "eventDeviceFuelIncrease": "燃料増加", + "eventCommandResult": "コマンドの実行結果", + "eventGeofenceEnter": "ジオフェンスに進入しました。", + "eventGeofenceExit": "ジオフェンスから退出しました。", + "eventAlarm": "警報", + "eventIgnitionOn": "イグニッション ON", + "eventIgnitionOff": "イグニッション OFF", + "eventMaintenance": "メンテナンスが必要です。", + "eventTextMessage": "テキストメッセージを受信しました。", + "eventDriverChanged": "ドライバーが交代しました。", + "eventMedia": "メディア", + "eventsScrollToLast": "最後にスクロール", + "eventsSoundEvents": "警報イベント", + "eventsSoundAlarms": "警報音", + "alarmGeneral": "全般", + "alarmSos": "SOS", + "alarmVibration": "振動", + "alarmMovement": "移動", + "alarmLowspeed": "低速", + "alarmOverspeed": "速度超過", + "alarmFallDown": "転倒", + "alarmLowPower": "電力低下", + "alarmLowBattery": "バッテリー残量低下", + "alarmFault": "測位失敗", + "alarmPowerOff": "電源 OFF", + "alarmPowerOn": "電源 ON", + "alarmDoor": "ドア", + "alarmLock": "ロック", + "alarmUnlock": "ロック解除", + "alarmGeofence": "ジオフェンス", + "alarmGeofenceEnter": "ジオフェンスに進入", + "alarmGeofenceExit": "ジオフェンスから退出", + "alarmGpsAntennaCut": "GPSアンテナ切断", + "alarmAccident": "事故", + "alarmTow": "牽引", + "alarmIdle": "アイドリング", + "alarmHighRpm": "高 RPM", + "alarmHardAcceleration": "急加速", + "alarmHardBraking": "急ブレーキ", + "alarmHardCornering": "急転回", + "alarmLaneChange": "車線変更", + "alarmFatigueDriving": "過労運転", + "alarmPowerCut": "電源カット", + "alarmPowerRestored": "電源が復旧した。", + "alarmJamming": "ジャミング", + "alarmTemperature": "温度", + "alarmParking": "駐車", + "alarmBonnet": "ボンネット", + "alarmFootBrake": "フットブレーキ", + "alarmFuelLeak": "燃料漏れ", + "alarmTampering": "窃盗", + "alarmRemoving": "取り外し", + "notificationType": "通知の種別", + "notificationAlways": "すべてのデバイス", + "notificationNotificators": "チャンネル", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "メール", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "再生", + "reportCombined": "Combined", + "reportRoute": "移動経路", + "reportEvents": "イベント", + "reportTrips": "走行距離", + "reportStops": "停止", + "reportSummary": "概要", + "reportDaily": "日次サマリー", + "reportChart": "グラフ", + "reportConfigure": "設定", + "reportEventTypes": "イベント種別", + "reportChartType": "表示するグラフ", + "reportShowMarkers": "マーカーを表示", + "reportExport": "エクスポート", + "reportEmail": "Eメールレポート", + "reportSchedule": "Schedule", + "reportPeriod": "期間", + "reportCustom": "カスタム", + "reportToday": "今日", + "reportYesterday": "昨日", + "reportThisWeek": "今週", + "reportPreviousWeek": "先週", + "reportThisMonth": "今月", + "reportPreviousMonth": "先月", + "reportDeviceName": "デバイス名", + "reportAverageSpeed": "平均速度", + "reportMaximumSpeed": "最高速度", + "reportEngineHours": "エンジン稼働時間", + "reportDuration": "期間", + "reportStartDate": "開始日", + "reportStartTime": "開始日時", + "reportStartAddress": "出発地", + "reportEndTime": "終了日時", + "reportEndAddress": "到着地", + "reportSpentFuel": "燃料消費量", + "reportStartOdometer": "走行距離計開始", + "reportEndOdometer": "走行距離計終了", + "statisticsTitle": "統計", + "statisticsCaptureTime": "位置補足時間", + "statisticsActiveUsers": "稼働中ユーザー", + "statisticsActiveDevices": "稼働中デバイス", + "statisticsRequests": "リクエスト", + "statisticsMessagesReceived": "受信したメッセージ", + "statisticsMessagesStored": "保存したメッセージ", + "statisticsGeocoder": "ジオコーダーリクエスト", + "statisticsGeolocation": "ジオロケーションリクエスト", + "categoryArrow": "矢印", + "categoryDefault": "未指定", + "categoryAnimal": "動物", + "categoryBicycle": "自転車", + "categoryBoat": "ボート", + "categoryBus": "バス", + "categoryCar": "乗用車", + "categoryCamper": "Camper", + "categoryCrane": "クレーン", + "categoryHelicopter": "ヘリコプター", + "categoryMotorcycle": "オートバイ", + "categoryOffroad": "オフロード", + "categoryPerson": "個人", + "categoryPickup": "ピックアップ", + "categoryPlane": "航空機", + "categoryShip": "船舶", + "categoryTractor": "トラクター", + "categoryTrain": "鉄道", + "categoryTram": "トラム", + "categoryTrolleybus": "トロリーバス", + "categoryTruck": "トラック", + "categoryVan": "バン", + "categoryScooter": "スクーター", + "maintenanceStart": "メンテナンス開始", + "maintenancePeriod": "メンテナンス終了" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ka.json b/legacy/web/l10n/ka.json new file mode 100644 index 00000000..5a6b4cb2 --- /dev/null +++ b/legacy/web/l10n/ka.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "იტვირთება...", + "sharedHide": "დამალვა", + "sharedSave": "შენახვა", + "sharedUpload": "Upload", + "sharedSet": "დაყენება", + "sharedCancel": "უარყოფა", + "sharedCopy": "Copy", + "sharedAdd": "დამატება", + "sharedEdit": "შეცვლა", + "sharedRemove": "წაშლა", + "sharedRemoveConfirm": "გსურთ წაშლა ?", + "sharedNoData": "Მონაცემები არ არის", + "sharedSubject": "Subject", + "sharedYes": "დიახ", + "sharedNo": "არა", + "sharedKm": "კმ", + "sharedMi": "მლ", + "sharedNmi": "nmi", + "sharedMeters": "მ", + "sharedFeet": "ფუტი", + "sharedKn": "kn", + "sharedKmh": "კმ/სთ", + "sharedMph": "მლ/სთ", + "sharedHour": "საათი", + "sharedMinute": "წუთი", + "sharedSecond": "წამი", + "sharedDays": "დღეები", + "sharedHours": "საათები", + "sharedMinutes": "წუთები", + "sharedDecimalDegrees": "ათობითი გრადუსი", + "sharedDegreesDecimalMinutes": "გრადუსი ათეული წუთები", + "sharedDegreesMinutesSeconds": "გრადუსი ათეული წამები", + "sharedName": "დასახელება", + "sharedDescription": "აღწერილობა", + "sharedSearch": "ძებნა", + "sharedIconScale": "იკონკის მასშტაბი", + "sharedGeofence": "გეოზონა", + "sharedGeofences": "გეოზონები", + "sharedCreateGeofence": "შექმენით Geofence", + "sharedNotifications": "შეტყობინებები", + "sharedNotification": "შეტყობინება", + "sharedAttributes": "ატრიბუტები", + "sharedAttribute": "ატრიბუტი", + "sharedDrivers": "მძღოლები", + "sharedDriver": "მძროლი", + "sharedArea": "ფართობი", + "sharedSound": "შეტყობინების Sound", + "sharedType": "ტიპი", + "sharedDistance": "დისტანცია", + "sharedHourAbbreviation": "ს", + "sharedMinuteAbbreviation": "ჭ", + "sharedSecondAbbreviation": "წ", + "sharedVoltAbbreviation": "ვ", + "sharedLiterAbbreviation": "ლ", + "sharedGallonAbbreviation": "გალონი", + "sharedLiter": "ლიტრი", + "sharedImpGallon": "ინგლისური გალონი", + "sharedUsGallon": "ამერიკული გალონი", + "sharedLiterPerHourAbbreviation": "ლ/სთ", + "sharedGetMapState": "რუკის მდგომარეობა", + "sharedComputedAttribute": "გამოთვილითი ატრიბუტი", + "sharedComputedAttributes": "გამოთვილითი ატრიბუტები", + "sharedCheckComputedAttribute": "შეამოწმეთ გამოთვილითი ატრიბუტი", + "sharedExpression": "გამოსახულება", + "sharedDevice": "ოწყობილობა", + "sharedTest": "ტესტი", + "sharedTestNotification": "სატესტო შეტყობინების გაგზავნა", + "sharedTestNotificators": "სატესტო არხი", + "sharedTestExpression": "სატესტო გამოხატულება", + "sharedCalendar": "კალენდარი", + "sharedCalendars": "კალენდრები", + "sharedFile": "ფაილი", + "sharedSearchDevices": "მოწყობილობების ძებნა", + "sharedSortBy": "დალაგება", + "sharedFilterMap": "რუკაზე გაფილტვრა ", + "sharedSelectFile": "აირჩიე ფაილი", + "sharedPhone": "ტელეფონი", + "sharedRequired": "სავალდებულოა", + "sharedPreferences": "პრეფერენციები", + "sharedPermissions": "უფლებები", + "sharedConnections": "კავშირები", + "sharedExtra": "დამატებითი", + "sharedPrimary": "პირველადი", + "sharedSecondary": "მეორადი", + "sharedTypeString": "სტრიქონი", + "sharedTypeNumber": "ნომერი", + "sharedTypeBoolean": "ლოგიკური", + "sharedTimezone": "დროის სარტყელი", + "sharedInfoTitle": "ინფორმაცია", + "sharedSavedCommand": "შენახული ბრძანებება", + "sharedSavedCommands": "შენახული ბრძანებები", + "sharedNew": "ახალი…", + "sharedShowAddress": "მისამართის ჩვენება", + "sharedShowDetails": "უფრო ვრცლად", + "sharedDisabled": "გამორთულია", + "sharedMaintenance": "მომსახურება", + "sharedDeviceAccumulators": "აკუმულატორები", + "sharedAlarms": "სიგნალიზაცია", + "sharedLocation": "ლოკაცია", + "sharedImport": "იმპორტი", + "sharedColumns": "სვეტი", + "sharedDropzoneText": "გადმოათრიეთ ფაილი აქ ან დააწკაპუნეთ", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "მარტივი", + "calendarRecurrence": "რეციდივი", + "calendarOnce": "ერთხელ", + "calendarDaily": "ყოველდღიური", + "calendarWeekly": "ყოველკვირეული", + "calendarMonthly": "ყოველთვიური", + "calendarDays": "Days", + "calendarSunday": "კვირა", + "calendarMonday": "ორშაბათი", + "calendarTuesday": "სამშაბათი", + "calendarWednesday": "თხშაბათი", + "calendarThursday": "ხუთშაბათი", + "calendarFriday": "პარასკევი", + "calendarSaturday": "შაბათი", + "attributeShowGeofences": "Geofences-ს ჩვენება", + "attributeSpeedLimit": "სიჩქარის ლიმიტი", + "attributeFuelDropThreshold": "საწვავის ვარდნის ბარიერი", + "attributeFuelIncreaseThreshold": "საწვავის გაზრდის ბარიერი", + "attributePolylineDistance": "ტეხილის მანძილი", + "attributeReportIgnoreOdometer": "Report: ოდომეტრობის იგნორირება", + "attributeWebReportColor": "Web: რეპორტის ფერი", + "attributeDevicePassword": "მოწყობილობის პაროლი", + "attributeDeviceImage": "მოწყობილობის სურათი", + "attributeDeviceInactivityStart": "მოწყობილობის უმოქმედობის დაწყება", + "attributeDeviceInactivityPeriod": "მოწყობილობის უმოქმედობის პერიოდი", + "attributeProcessingCopyAttributes": "დამუშავება: ატრიბუტების კოპირება", + "attributeColor": "ფერი", + "attributeWebLiveRouteLength": "Web: ცოცხალი მარშრუტის სიგრძე", + "attributeWebSelectZoom": "Web: მასშტაბის არჩევა", + "attributeWebMaxZoom": "Web: მაქსიმალური ზუმი", + "attributeTelegramChatId": "Telegram ჩატის ID", + "attributePushoverUserKey": "Pushover-ის მომხმარებლის გასაღები", + "attributePushoverDeviceNames": "Pushover-ის მოწყობილობის სახელები", + "attributeMailSmtpHost": "Mail: SMTP ჰოსტი", + "attributeMailSmtpPort": "Mail: SMTP პორტი", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS ჩართვა", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS სავალდებულოა", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL ჩართვა", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL ნდობა", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL პროტოკოლი", + "attributeMailSmtpFrom": "Mail: SMTP საიდან", + "attributeMailSmtpAuth": "Mail: SMTP აუტენტიფიკაციის ჩართვა", + "attributeMailSmtpUsername": "Mail: SMTP სახელი", + "attributeMailSmtpPassword": "Mail: SMTP პაროლი", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "მომსხმარებლის ინტერფეისი: გამორთეთ ატრიბუტები", + "attributeUiDisableGroups": "მომსხმარებლის ინტერფეისი: ჯგუფების გამორთვა", + "attributeUiDisableEvents": "UI: მოვლენების გამორთვა", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: მძღოლების გამორთვა", + "attributeUiDisableComputedAttributes": "UI: გამოთვლითი ატრიბუტების გამორთვა", + "attributeUiDisableCalendars": "UI: კალენდრის გამორთვა", + "attributeUiDisableMaintenance": "UI: ტექნიკური მომსახურება გამორთვა", + "attributeUiHidePositionAttributes": "UI: პოზიციის ატრიბუტების დამალვა", + "attributeUiDisableLoginLanguage": "მომსხმარებლის ინტერფეისი: გამორთეთ შესვლის ენა", + "attributeNotificationTokens": "შეტყობინების ნიშნები", + "attributePopupInfo": "ამომხტარი ინფორმაცია", + "errorTitle": "შეცდომა", + "errorGeneral": "პარამეტრების ან შეზღუდვების არასწორი დარღვევა", + "errorConnection": "კავშირის შეცდომა", + "errorSocket": "ვებგვერდის კავშირის შეცდომა", + "errorZero": "არ შეიძლება იყოს ნული", + "userEmail": "ელ-ფოსტა", + "userPassword": "პაროლი", + "userAdmin": "ადმინი", + "userRemember": "დამიმახსოვრე", + "userExpirationTime": "ვადის გასვლა", + "userDeviceLimit": "მოწყობილობის ლიმიტი", + "userUserLimit": "მომხმარებლის ლიმიტი", + "userDeviceReadonly": "მოწყობილობა მხოლოდ წაკითხვით", + "userLimitCommands": "შეზღუდული ბრძანებები", + "userDisableReports": "რეპორტების გამორთვა", + "userFixedEmail": "ელფოსტა არ იცვლება", + "userToken": "ტოკენი", + "userDeleteAccount": "Ანგარიშის წაშლა", + "userTemporary": "Temporary", + "loginTitle": "ავტორიზაცია", + "loginLanguage": "ენა", + "loginReset": "პაროლის განულება", + "loginRegister": "რეგისტრაცია", + "loginLogin": "შესვლა", + "loginOpenId": "შედით OpenID-ით", + "loginFailed": "არასწორი ელ-ფოსტა ან პაროლი", + "loginCreated": "ახალი მომხარებელი დარეგისტრირდა", + "loginResetSuccess": "შეამოწმეთ თქვენი ელექტორნული ფოსტა", + "loginUpdateSuccess": "ახალი პაროლი დაყენებულია", + "loginLogout": "გამოსვლა", + "loginLogo": "ლოგო", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "მოწყობილობები და სტატუსი", + "deviceSelected": "არჩეული მოწყობილობები", + "deviceTitle": "მოწყობილობები", + "devicePrimaryInfo": "მოწყობილობის დასახელება", + "deviceSecondaryInfo": "მოწყობილობის დეტალები", + "deviceIdentifier": "იდენტიფიკატორი", + "deviceModel": "მოდელი", + "deviceContact": "კონტაქტი", + "deviceCategory": "კატეგორია", + "deviceLastUpdate": "ბოლო განახლება", + "deviceCommand": "ბრძანება", + "deviceFollow": "გაყოლა", + "deviceTotalDistance": "მთლიანი მანძილი", + "deviceStatus": "სტატუსი", + "deviceStatusOnline": "ონლაინ რეჟიმი", + "deviceStatusOffline": "ოფლაინ რეჟიმი", + "deviceStatusUnknown": "უცნობი", + "deviceRegisterFirst": "დაარეგისტრირეთ თქვენი პირველი მოწყობილობა", + "deviceIdentifierHelp": "IMEI, ან სხვა იდენტიფიკატორი. ის უნდა ემთხვეოდეს იდენტიფიკატორს რომელსაც მოწყობილბა უგზავნის სერვერს", + "deviceShare": "Share Device", + "groupDialog": "ჯგუფი", + "groupParent": "ჯგუფი", + "groupNoGroup": "ჯგუფის გარეშე", + "settingsTitle": "პარამეტრები", + "settingsUser": "პროფილი", + "settingsGroups": "ჯგუფები", + "settingsServer": "სერვერი", + "settingsUsers": "მომხამრებლები", + "settingsDistanceUnit": "მანძილის ერთეული", + "settingsAltitudeUnit": "სიმაღლის ერთეული", + "settingsSpeedUnit": "სიჩქარის ერთეული", + "settingsVolumeUnit": "მოცულობის ერთეული", + "settingsTwelveHourFormat": "12-საათიანი ფორმატი", + "settingsCoordinateFormat": "კოორდინატების ფორმატი", + "settingsServerVersion": "სერვერის ვერსია", + "settingsAppVersion": "აპლიკაციის ვერსია", + "settingsConnection": "კავშირი", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "რეპორტები", + "reportScheduled": "დაგეგმილი რეპორტები", + "reportDevice": "მოწყობილობა", + "reportGroup": "ჯგუფი", + "reportFrom": "დან", + "reportTo": "მდე", + "reportShow": "ჩვენება", + "reportClear": "გასუფთავება", + "linkGoogleMaps": "Google რუკა", + "linkAppleMaps": "Apple რუკა", + "linkStreetView": "ქუჩების დათვალიერება", + "positionFixTime": "დროის გასწორება", + "positionDeviceTime": "მოწყობილობის დრო", + "positionServerTime": "სერვერის დრო", + "positionValid": "ვარგისი", + "positionAccuracy": "სიზუსტე", + "positionLatitude": "განედი", + "positionLongitude": "გრძედი", + "positionAltitude": "სიმაღლე", + "positionSpeed": "სიჩქარე", + "positionCourse": "კურსი", + "positionAddress": "მისამართი", + "positionProtocol": "პროტოკოლი", + "positionDistance": "დისტანცია", + "positionRpm": "ბრუნი წუთში", + "positionFuel": "საწვავი", + "positionPower": "სიმძლავრე", + "positionBattery": "აკუმულატორი", + "positionRaw": "Raw", + "positionIndex": "ინდექსი", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "თანამგზავრები", + "positionSatVisible": "ხილული თანამგზავრები", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "როუმინგი", + "positionEvent": "მოვლენა", + "positionAlarm": "სიგნალიზაცია", + "positionStatus": "სტატუსი", + "positionOdometer": "ოდომეტრი", + "positionServiceOdometer": "ოდომეტრის სერვისი", + "positionTripOdometer": "მოგზაურობის ოდომეტრი", + "positionHours": "საათები", + "positionSteps": "ნაბიჯები", + "positionInput": "შემავალი", + "positionHeartRate": "Პულსი", + "positionOutput": "გამავალი", + "positionBatteryLevel": "აკუმულატორის დონე", + "positionFuelConsumption": "საწვავის მოხმარება", + "positionRfid": "RFID", + "positionVersionFw": "მიკროპროგრამის ვერსია", + "positionVersionHw": "მოწყობილობის ვერსია", + "positionIgnition": "ავტ. ანთების კლიტე", + "positionFlags": "მონიშვნა", + "positionCharge": "დამუხტვა", + "positionIp": "IP", + "positionArchive": "არქივი", + "positionVin": "VIN", + "positionApproximate": "მიახლოებითი", + "positionThrottle": "დროსელი", + "positionMotion": "მოძრაობა", + "positionArmed": "დაცული", + "positionAcceleration": "აჩქარება", + "positionTemp": "ტემპერატურა", + "positionDeviceTemp": "მოწყობილობის ტემპერატურა", + "positionCoolantTemp": "გამაგრილებლის ტემპერატურა", + "positionOperator": "ორიენტაცია", + "positionCommand": "ბრძანება", + "positionBlocked": "დაბლოკილია", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD სიჩქარე", + "positionObdOdometer": "OBD ოდომეტრი", + "positionDrivingTime": "მართვის დრო", + "positionDriverUniqueId": "მძღოლის უნიკალური N", + "positionCard": "ბარათი", + "positionImage": "სურათი", + "positionVideo": "ვიდეო", + "positionAudio": "აუდიო", + "serverTitle": "სერვერის პარამეტრები", + "serverZoom": "ზუმი", + "serverRegistration": "რეგისტრაცია", + "serverReadonly": "მხოლოდ ნახვის", + "serverForceSettings": "იძულებითი პარამეტრები", + "serverAnnouncement": "განცხადება", + "serverName": "სერვერის სახელი", + "serverDescription": "სერვერის აღწერილობა", + "serverColorPrimary": "პიველადი ფერი", + "serverColorSecondary": "მეორადი ფერი", + "serverLogo": "ლოგოს სურათი", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "რუკა", + "mapActive": "აქტიური რუკა", + "mapOverlay": "რუკის დაფარვა", + "mapOverlayCustom": "მორგებული გადაფარვა", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API გასაღები", + "mapOpenWeatherClouds": "OpenWeather ღრუბლები", + "mapOpenWeatherPrecipitation": "OpenWeather ნალექები", + "mapOpenWeatherPressure": "OpenWeather წნევა", + "mapOpenWeatherWind": "OpenWeather ქარი", + "mapOpenWeatherTemperature": "OpenWeather ტემპერატურა", + "mapLayer": "რუკის ფენა", + "mapCustom": "მორგებული (XYZ)", + "mapCustomArcgis": "მორგებული (ArcGIS)", + "mapCustomLabel": "მორგებული რუკა", + "mapCarto": "Carto ძირითადი რუკა", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google გზები", + "mapGoogleHybrid": "Google ჰიბრიდული", + "mapGoogleSatellite": "Google სატელიტი", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps გასაღები", + "mapBingRoad": "Bing Maps გზები", + "mapBingAerial": "Bing Maps საჰაერო", + "mapBingHybrid": "Bing Maps ჰიბრიდული", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex რუკა", + "mapYandexSat": "Yandex თანამგზავრული", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "კარტოგრაფიული განყოფილება", + "mapMapboxStreets": "Mapbox ქუჩები", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox ღია ცის ქვეშ", + "mapMapboxSatellite": "Mapbox სატელიტი", + "mapMapboxKey": "Mapbox-ის წვდომის ჟეტონი", + "mapMapTilerBasic": "MapTiler ძირითადი", + "mapMapTilerHybrid": "MapTiler ჰიბრიდული", + "mapMapTilerKey": "MapTiler API გასაღები", + "mapLocationIqStreets": "LocationIQ ქუჩები", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ წვდომის ჟეტონი", + "mapTomTomBasic": "TomTom ძირითადი", + "mapTomTomFlow": "TomTom Სატრანსპორტო ნაკადი", + "mapTomTomIncidents": "TomTom საგზაო ინციდენტები", + "mapTomTomKey": "TomTom API გასაღები", + "mapHereBasic": "Here Basic ძირითადი", + "mapHereHybrid": "Here ჰიბრიდი", + "mapHereSatellite": "Here სატელიტი", + "mapHereFlow": "Here Სატრანსპორტო ნაკადი", + "mapHereKey": "Here API გასაღები", + "mapShapePolygon": "მრავალკუთხედი", + "mapShapeCircle": "წრე", + "mapShapePolyline": "ტეხილი ხაზები", + "mapLiveRoutes": "ცოცხალი მარშრუტები", + "mapDirection": "მიმართულების ჩვენება", + "mapCurrentLocation": "ახლანდელი ადგილსამყოფელი", + "mapPoiLayer": "POI ფენა", + "mapClustering": "მარკერების კლასტერირება", + "mapOnSelect": "რუკის ჩვენება არჩევის დროს", + "mapDefault": "ნაგულისხმევი რუკა", + "stateTitle": "სტატუსი", + "stateName": "ატრიბუტი", + "stateValue": "მნიშვნელობა", + "commandTitle": "ბრძანება", + "commandSend": "გაგზავნა", + "commandSent": "ბრძანება გაიგზავნილია", + "commandQueued": "ბრძანება რიგშია", + "commandUnit": "ერთეული", + "commandCustom": "მორგებული ბრძანება", + "commandDeviceIdentification": "მოწყობილობის იდენტიფიკაცია", + "commandPositionSingle": "ერთჯერადი რეპორტი", + "commandPositionPeriodic": "პერიოდული რეპორტი", + "commandPositionStop": "რეპორტის შეჩერება", + "commandEngineStop": "ძრავის გამორთვა", + "commandEngineResume": "ძრავის ჩართვა", + "commandAlarmArm": "Arm სიგნალიზაცია", + "commandAlarmDisarm": "სიგნალიზაციის გამორთვა", + "commandAlarmDismiss": "სიგნალიზაციის გათავისუფლება", + "commandSetTimezone": "დროის სარტყელის დაყენება", + "commandRequestPhoto": "ფოტოს მოთხოვნა", + "commandPowerOff": "მოწყობილობის გამორთვა", + "commandRebootDevice": "მოწყობილობის გადატვირთვა", + "commandFactoryReset": "ქარხნულ პარამეტრებზე დაბრუნება", + "commandSendSms": "SMS გაგზავნა", + "commandSendUssd": "USSD გაგზავნა", + "commandSosNumber": "SOS ნომრის დაყენება", + "commandSilenceTime": "დუმილის დროის დაყენება", + "commandSetPhonebook": "სატელეფონო წიგნაკის დაყენება", + "commandVoiceMessage": "ხმოვანი შეტყობინება", + "commandOutputControl": "გამსლელის კონტროლი", + "commandVoiceMonitoring": "ხმოვანი მონიტორინგი", + "commandSetAgps": "AGPS-ის დაყენება", + "commandSetIndicator": "ინდიკატორის დაყენება", + "commandConfiguration": "კონფიგურაცია", + "commandGetVersion": "ვერსიის მიღება", + "commandFirmwareUpdate": "მიკროპროგრამის განახლება", + "commandSetConnection": "კავშირის დაყენება", + "commandSetOdometer": "ოდომეტრის დაყენება", + "commandGetModemStatus": "მოდემის სტატუსი", + "commandGetDeviceStatus": "მოწყობილობის სტატუსი", + "commandSetSpeedLimit": "სიჩქარის ლიმიტის დაყენება", + "commandModePowerSaving": "ენერგიის დაზოგვის რეჟიმი", + "commandModeDeepSleep": "ღრმა ძილის რეჟიმი", + "commandAlarmGeofence": "დააყენეთ Geofence სიგნალიზაცია", + "commandAlarmBattery": "დააყენეთ ბატარეის სიგნალიზაცია", + "commandAlarmSos": "დააყენეთ SOS სიგნალიზაცია", + "commandAlarmRemove": "დააყენეთ მოხსნის სიგნალიზაცია", + "commandAlarmClock": "საათის მაღვიძარას დაყენება", + "commandAlarmSpeed": "დააყენეთ სიჩქარის სიგნალიზაცია", + "commandAlarmFall": "დააყენეთ დაცემის სიგნალიზაცია", + "commandAlarmVibration": "დააყენეთ ვიბრაციის სიგნალიზაცია", + "commandFrequency": "სიხშირე", + "commandTimezone": "დროის სარტყელი ბიჯი", + "commandMessage": "შეტყობინება", + "commandRadius": "რადიუსი", + "commandEnable": "ჩართვა", + "commandData": "თარიღი", + "commandIndex": "ინდექსი", + "commandPhone": "ტელეფონის N", + "commandServer": "სერვერი", + "commandPort": "პორტი", + "eventAll": "ყველა მოვლენა", + "eventDeviceOnline": "ონლაინ სტატუსი", + "eventDeviceUnknown": "უცნობი სტატუსი", + "eventDeviceOffline": "ოფლაინ სტატუსი", + "eventDeviceInactive": "მოწყობილობა არააქტიურია", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "მოწყობილობა მოძრაობს", + "eventDeviceStopped": "მოწყობილობა გაჩერებულია", + "eventDeviceOverspeed": "სიჩქარის ლიმიტი გადაჭარბებულია", + "eventDeviceFuelDrop": "საწვავის დაქცევა", + "eventDeviceFuelIncrease": "საწვავის მატება", + "eventCommandResult": "ბრძანების შედეგი", + "eventGeofenceEnter": "გეოზონა დაყენებულია", + "eventGeofenceExit": "გეოზონა გამორთულია", + "eventAlarm": "სიგნალიზაცია", + "eventIgnitionOn": "ავტ. ანთაება ჩართულია", + "eventIgnitionOff": "ავტ. ანთაება გამორთულია", + "eventMaintenance": "საჭიროა ტექნიკური სამუშაოების ჩატარება", + "eventTextMessage": "მიღებულია ტექსტური შეტყობინება", + "eventDriverChanged": "მძღოლის ცვლილება", + "eventMedia": "მედია", + "eventsScrollToLast": "გადაახვიეთ ბოლომდე", + "eventsSoundEvents": "ხმოვანი მოვლენები", + "eventsSoundAlarms": "ხმოვანი სიგნალიზაცია", + "alarmGeneral": "საერთო", + "alarmSos": "SOS", + "alarmVibration": "ვიბრაცია", + "alarmMovement": "მოძრაობა", + "alarmLowspeed": "დაბალი სიჩქარე", + "alarmOverspeed": "სიჩქარის გადაჭარბება", + "alarmFallDown": "დაცემა", + "alarmLowPower": "დაბალი სიმძლავრე", + "alarmLowBattery": "Დამჯდარი ელემენტი", + "alarmFault": "გაუმართავობა", + "alarmPowerOff": "Გამორთულია", + "alarmPowerOn": "ჩართულია", + "alarmDoor": "კარები", + "alarmLock": "დაკეტილია", + "alarmUnlock": "გაღებულია", + "alarmGeofence": "გეოზონა", + "alarmGeofenceEnter": "გეოზონში შესვლა", + "alarmGeofenceExit": "გეოზონიდან გამოსვლა", + "alarmGpsAntennaCut": "GPS ანტენის კონფიგურაცია", + "alarmAccident": "ინციდენტი", + "alarmTow": "ბუქსირი", + "alarmIdle": "უქმი სვლის რეჟიმი", + "alarmHighRpm": "მაღალი RPM", + "alarmHardAcceleration": "მძიმე აჩქარება", + "alarmHardBraking": "მყარი დამუხრუჭება", + "alarmHardCornering": "მყარი მოხვევა", + "alarmLaneChange": "მოძრაობის ზოლის ცვლილება", + "alarmFatigueDriving": "დაღლილობის მართვა", + "alarmPowerCut": "კვების გამორთვა", + "alarmPowerRestored": "კვება აღდგენილია", + "alarmJamming": "ჭექითი ცვეთა", + "alarmTemperature": "ტემპერატურა", + "alarmParking": "პარკინგი", + "alarmBonnet": "კაპოტი", + "alarmFootBrake": "ფეხის მუხრუჭი", + "alarmFuelLeak": "საწვავის გაჟონვა", + "alarmTampering": "ჩარევა", + "alarmRemoving": "ამოღება", + "notificationType": "შეტყობინების ტიპი", + "notificationAlways": "ყველა მოწყობილობა", + "notificationNotificators": "არხები", + "notificatorCommand": "ბრძანება", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "გამეორება", + "reportCombined": "კომბინირებული", + "reportRoute": "მარშრუტი", + "reportEvents": "მოვლენები", + "reportTrips": "მოგზაურობები", + "reportStops": "გაჩერებები", + "reportSummary": "შემაჯამებელი", + "reportDaily": "ყოველდღიური ჯამი", + "reportChart": "დიაგრამა", + "reportConfigure": "კონფიგურაცია", + "reportEventTypes": "მოვლენის ტიპი", + "reportChartType": "დიაგრამის ტიპი", + "reportShowMarkers": "მარკერების ჩვენება", + "reportExport": "ექსპორტი", + "reportEmail": "რეპორტი მეილზე", + "reportSchedule": "განრიგი", + "reportPeriod": "პერიოდი", + "reportCustom": "ხელოვნური", + "reportToday": "დღეს", + "reportYesterday": "გუშინ", + "reportThisWeek": "ეს კვირა", + "reportPreviousWeek": "წინა კვირა", + "reportThisMonth": "ეს თვე", + "reportPreviousMonth": "წინა თვე", + "reportDeviceName": "მოწყობილობსი სახელი", + "reportAverageSpeed": "საშუალო სიჩქარე", + "reportMaximumSpeed": "მაქსიმალური სიჩქარე", + "reportEngineHours": "მოტოსაათი", + "reportDuration": "ხანგრძლივობა", + "reportStartDate": "დაწყების თარიღი", + "reportStartTime": "დაწყების დრო", + "reportStartAddress": "დაწყების მისამართი", + "reportEndTime": "დამთავრების დრო", + "reportEndAddress": "დამთავრების მისამართი", + "reportSpentFuel": "დახარჯული საწვავი", + "reportStartOdometer": "ოდომეტრის სტარტი", + "reportEndOdometer": "ოდომეტრის გაჩერება", + "statisticsTitle": "სტატისტიკა", + "statisticsCaptureTime": "დროის დაწყება", + "statisticsActiveUsers": "აქტიური მომხმარებლები", + "statisticsActiveDevices": "აქტიური მოწყობილობები", + "statisticsRequests": "მოთხოვნები", + "statisticsMessagesReceived": "შეტყობინება მიღებულია", + "statisticsMessagesStored": "შეტყობინებები შენახულია", + "statisticsGeocoder": "გეოკოდერის მოთხოვნა", + "statisticsGeolocation": "გეოლოკაციის მოთხოვნა", + "categoryArrow": "ისარი", + "categoryDefault": "ნაგულისხმევი", + "categoryAnimal": "ცხოველი", + "categoryBicycle": "მოტოციკლი", + "categoryBoat": "ნავი", + "categoryBus": "ავტობუსი", + "categoryCar": "ავტომანქანა", + "categoryCamper": "Camper", + "categoryCrane": "ამწე", + "categoryHelicopter": "შვეულფრენი", + "categoryMotorcycle": "მოტოციკლი", + "categoryOffroad": "ოფროუდი", + "categoryPerson": "ადამინაი", + "categoryPickup": "პიკაპი", + "categoryPlane": "პლანერი", + "categoryShip": "გემი", + "categoryTractor": "ტრაქტორი", + "categoryTrain": "მატარებელი", + "categoryTram": "ტრამვაი", + "categoryTrolleybus": "ტროლეიბუსი", + "categoryTruck": "სატვირთო", + "categoryVan": "ფურგონი", + "categoryScooter": "სკუტერი", + "maintenanceStart": "დაწყება", + "maintenancePeriod": "პერიოდი" +}
\ No newline at end of file diff --git a/legacy/web/l10n/kk.json b/legacy/web/l10n/kk.json new file mode 100644 index 00000000..706f2b78 --- /dev/null +++ b/legacy/web/l10n/kk.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Жүктеу...", + "sharedHide": "Жасыру", + "sharedSave": "Сақтау", + "sharedUpload": "Upload", + "sharedSet": "Орнату", + "sharedCancel": "Болдырмау", + "sharedCopy": "Copy", + "sharedAdd": "Енгізу", + "sharedEdit": "Түзету", + "sharedRemove": "Жою", + "sharedRemoveConfirm": "Элементті жою?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "км", + "sharedMi": "мили", + "sharedNmi": "теңіз мили", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "тораптар", + "sharedKmh": "км/сағ", + "sharedMph": "миля/сағ", + "sharedHour": "Сағаттар", + "sharedMinute": "Минуттар", + "sharedSecond": "Секундтар", + "sharedDays": "күндер", + "sharedHours": "сағат", + "sharedMinutes": "минут", + "sharedDecimalDegrees": "Ондық Градустар", + "sharedDegreesDecimalMinutes": "Градустар Ондық Минуттар", + "sharedDegreesMinutesSeconds": "Градустар Минуттар Секундтар", + "sharedName": "Атауы", + "sharedDescription": "Сипаттамасы", + "sharedSearch": "Іздеу", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Геозона", + "sharedGeofences": "Геозоналар", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Ескертулер", + "sharedNotification": "Notification", + "sharedAttributes": "Атрибуттар", + "sharedAttribute": "Атрибут", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "Аймақ", + "sharedSound": "Дыбыстық Ескерту", + "sharedType": "Түр", + "sharedDistance": "Қашықтық", + "sharedHourAbbreviation": "с", + "sharedMinuteAbbreviation": "м", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Картаның Жағдайын Білу", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "Құрылғы", + "sharedTest": "Test", + "sharedTestNotification": "Тестілік Хабарландыру Жіберу", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Күнтізбе", + "sharedCalendars": "Күнтізбелер", + "sharedFile": "Файл", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Файлды таңдау", + "sharedPhone": "Телефон", + "sharedRequired": "Міндетті", + "sharedPreferences": "Баптау", + "sharedPermissions": "Рұқсат", + "sharedConnections": "Connections", + "sharedExtra": "Экстра", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Сағаттық белдеу", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Жылдамдықты Шектеу", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Есеп: одометр елемеу", + "attributeWebReportColor": "Веб: Түсі Есеп", + "attributeDevicePassword": "Құрылғы Құпия Сөз", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Өңдеу: атрибуттары көшіру", + "attributeColor": "Түс", + "attributeWebLiveRouteLength": "Веб: Белсенді Маршруттың Ұзындығы", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Пошта: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Пошта: SMTP SSL Включить", + "attributeMailSmtpSslTrust": "Пошта: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Пошта: SMTP SSL Протокол ", + "attributeMailSmtpFrom": "Пошта: SMTP From", + "attributeMailSmtpAuth": "Пошта: SMTP Auth Enable", + "attributeMailSmtpUsername": "Пошта: SMTP Пайдаланушы", + "attributeMailSmtpPassword": "Пошта: SMTP Құпиясөз", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Қате", + "errorGeneral": "Қолайсыз бұзылуы параметрлері немесе шектеулер", + "errorConnection": "Қосылу қатесі", + "errorSocket": "Web socket біріктіру қатесі", + "errorZero": "Can't be zero", + "userEmail": "Email", + "userPassword": "Құпиясөз", + "userAdmin": "Әкімші", + "userRemember": "Еске сақтау", + "userExpirationTime": "Қолданылу мерзімі", + "userDeviceLimit": "Құрылғыларды Шектеу", + "userUserLimit": "Қолданушылар Лимиті", + "userDeviceReadonly": "Құрылғыларды қарау ғана", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Кілт", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Кіру", + "loginLanguage": "Тіл", + "loginReset": "Reset Password", + "loginRegister": "Тіркеу", + "loginLogin": "Кіру", + "loginOpenId": "Login with OpenID", + "loginFailed": "Қате email немесе пароль", + "loginCreated": "Жаңа қолданушы тіркелді", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Шығу", + "loginLogo": "Логотип", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Құрылғылар және Жай - күйлер", + "deviceSelected": "Selected Device", + "deviceTitle": "Құрылғылар", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Идентификатор", + "deviceModel": "Моделі", + "deviceContact": "Байланыс", + "deviceCategory": "Санат", + "deviceLastUpdate": "Соңғы жаңарту", + "deviceCommand": "Команда", + "deviceFollow": "Ілесу", + "deviceTotalDistance": "Жалпы Тармақ", + "deviceStatus": "Мәртебе", + "deviceStatusOnline": "Онлайн", + "deviceStatusOffline": "Оффлайн", + "deviceStatusUnknown": "Белгісіз", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Топ", + "groupParent": "Топ", + "groupNoGroup": "Топсыз", + "settingsTitle": "Баптау", + "settingsUser": "Аккаунт", + "settingsGroups": "Топтар", + "settingsServer": "Сервер", + "settingsUsers": "Қолданушылар", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "12 сағаттық пішім", + "settingsCoordinateFormat": "Координат пішімі", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Есептер", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Құрылғы", + "reportGroup": "Топ", + "reportFrom": "Бастап", + "reportTo": "Дейін", + "reportShow": "Көрсету", + "reportClear": "Тазарту", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Туралық", + "positionAccuracy": "Нақтылық", + "positionLatitude": "Ендігі", + "positionLongitude": "Ұзақтығы", + "positionAltitude": "Биіктігі", + "positionSpeed": "Жылдамдық", + "positionCourse": "Бағыты", + "positionAddress": "Мекен-жай", + "positionProtocol": "Хаттама", + "positionDistance": "Қашықтық", + "positionRpm": "RPM", + "positionFuel": "Отын", + "positionPower": "Қуат көзі", + "positionBattery": "Аккумулятор", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Серверді баптау", + "serverZoom": "Жақындау", + "serverRegistration": "Тіркеу", + "serverReadonly": "Тек қарап шығу", + "serverForceSettings": "Баптауды жылдамдату", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Карта", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Карта қабаты", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps кілті", + "mapBingRoad": "Bing Maps жолдары", + "mapBingAerial": "Bing Maps Жер серігі", + "mapBingHybrid": "Bing Maps Будан", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Яндекс Карталар", + "mapYandexSat": "Яндекс Жер серіктері", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Көпбұрыш", + "mapShapeCircle": "Шеңбер", + "mapShapePolyline": "Сызық", + "mapLiveRoutes": "Нақты бағыттар", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Жай күйі", + "stateName": "Параметрі", + "stateValue": "Мағынасы", + "commandTitle": "Команда", + "commandSend": "Жіберу", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Бірліктер", + "commandCustom": "Қолданушылар командасы", + "commandDeviceIdentification": "Құрылғы идентификациясы", + "commandPositionSingle": "Біржолғы қадағалау", + "commandPositionPeriodic": "Қадағалауды бастау", + "commandPositionStop": "Қадағалауды болдырмау", + "commandEngineStop": "Қозғалтқышты бұғаттау", + "commandEngineResume": "Қозғалтқышты бұғаттан шығару", + "commandAlarmArm": "Сигнал жабдығын іске қосу", + "commandAlarmDisarm": "Сигнал жабдығын істен айыру", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Сағаттық белдеуді баптау", + "commandRequestPhoto": "Фото сұрау", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Құрылғыны қайта жүктеу", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "СМС жіберу", + "commandSendUssd": "USSD жіберу", + "commandSosNumber": "Төтенше нөмірді баптау", + "commandSilenceTime": "Тыныштық уақытын баптау", + "commandSetPhonebook": "Телефон анықтамасын баптау", + "commandVoiceMessage": "Дыбыстық хабарлама", + "commandOutputControl": "Шығуды бақылау", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Индикаторды орнату", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Жиілік", + "commandTimezone": "Уақытша аймақты жылжыту", + "commandMessage": "Хабарлама", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Мәліметтер", + "commandIndex": "Индексі", + "commandPhone": "Телефон нөмірі", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Барлық", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Команда нәтижесі", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Қызмет көрсету геозону", + "eventTextMessage": "Мәтіндік хабарлама алынды", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Ескерту түрі", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Бағыт", + "reportEvents": "Оқиғалар", + "reportTrips": "Сапарлар", + "reportStops": "Stops", + "reportSummary": "Мәлімет", + "reportDaily": "Daily Summary", + "reportChart": "Диаграмма", + "reportConfigure": "Конфигурациялау", + "reportEventTypes": "Оқиға түрі", + "reportChartType": "Түр Диаграммалар", + "reportShowMarkers": "Маркерлер көрсету", + "reportExport": "Экспорт", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Құрылғы атауы", + "reportAverageSpeed": "Орташа жылдамдық", + "reportMaximumSpeed": "Максималды жылдамдық", + "reportEngineHours": "Мотосағат", + "reportDuration": "Ұзақтығы", + "reportStartDate": "Start Date", + "reportStartTime": "Бастапқы уақыт", + "reportStartAddress": "Бастапқы мекен-жай", + "reportEndTime": "Ақырғы уақыт", + "reportEndAddress": "Ақырғы мекен-жай", + "reportSpentFuel": "Отын пайдаланылды", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Статистика", + "statisticsCaptureTime": "Жинау уақыты", + "statisticsActiveUsers": "Белсенді қолданушылар", + "statisticsActiveDevices": "Белсенді құрылғылар", + "statisticsRequests": "Сұраныстар", + "statisticsMessagesReceived": "Хабарлама алынды", + "statisticsMessagesStored": "Хабарлама сақталды", + "statisticsGeocoder": "Геокодер Сұраулар", + "statisticsGeolocation": "Геолокация Сұраулар", + "categoryArrow": "Тетік", + "categoryDefault": "Қалып бойынша", + "categoryAnimal": "Жануар", + "categoryBicycle": "Велосипед", + "categoryBoat": "Boat", + "categoryBus": "Автобус", + "categoryCar": "Автомобиль", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Мотоцикл", + "categoryOffroad": "Offroad", + "categoryPerson": "Адам", + "categoryPickup": "Pickup", + "categoryPlane": "Ұшақ", + "categoryShip": "Кеме", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Жүк автомобилі", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/km.json b/legacy/web/l10n/km.json new file mode 100644 index 00000000..d6d38ea8 --- /dev/null +++ b/legacy/web/l10n/km.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "កំពុងផ្ទុក...", + "sharedHide": "លាក់", + "sharedSave": "រក្សារទុក", + "sharedUpload": "Upload", + "sharedSet": "កំណត់", + "sharedCancel": "បោះបង់", + "sharedCopy": "Copy", + "sharedAdd": "បន្ថែម", + "sharedEdit": "កែសម្រួល", + "sharedRemove": "យកចេញ", + "sharedRemoveConfirm": "យកចំណុចចេញ", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "គ.ម", + "sharedMi": "ម៉ាយ", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "គ.ម/ម៉ោង", + "sharedMph": "ម៉ាយក្នុងមួយម៉ោង", + "sharedHour": "ម៉ោង", + "sharedMinute": "នាទី", + "sharedSecond": "វិនាទី", + "sharedDays": "days", + "sharedHours": "hours", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "អង្សាទសភាគ", + "sharedDegreesDecimalMinutes": "អង្សាទសភាគនាទី", + "sharedDegreesMinutesSeconds": "អង្សានាទីវិនាទី", + "sharedName": "ឈ្មោះ", + "sharedDescription": "បរិយាយ", + "sharedSearch": "ស្វែងរក", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "កំណត់ភូមិសាស្ត្រ", + "sharedGeofences": "កំណត់ភូមិសាស្ត្រ", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "ការជូនដំណឹង", + "sharedNotification": "Notification", + "sharedAttributes": "គុណលក្ខណៈ", + "sharedAttribute": "គុណលក្ខណៈ", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "តំបន់", + "sharedSound": "Notification Sound", + "sharedType": "ប្រភេទ", + "sharedDistance": "ចម្ងាយ", + "sharedHourAbbreviation": "ម៉ោង", + "sharedMinuteAbbreviation": "នាទី", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "ទទួលបានការកំណត់ផែនទី", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "ឧបករណ៍", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "ប្រតិទិន", + "sharedCalendars": "ប្រតិទិន", + "sharedFile": "ឯកសារ", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "ជ្រើសឯកសារ", + "sharedPhone": "Phone", + "sharedRequired": "Required", + "sharedPreferences": "Preferences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Timezone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Speed Limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "កំហុស", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "កំហុសក្នុងការតភ្ជាប់", + "errorSocket": "កំហុសក្នុងការតភ្ជាប់ Web socket", + "errorZero": "Can't be zero", + "userEmail": "អ៊ីម៉ែល", + "userPassword": "ពាក្យសម្ងាត់", + "userAdmin": "អ្នកគ្រប់គ្រង", + "userRemember": "សូមចងចាំ", + "userExpirationTime": "ការផុតកំណត់", + "userDeviceLimit": "កំណត់ចំនួនឧបករណ៍", + "userUserLimit": "កំណត់ចំនួនអ្នកប្រើ", + "userDeviceReadonly": "ឧបករណ៍បានតែអាន", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "សញ្ញាសម្ងាត់", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "ចូល", + "loginLanguage": "ភាសា", + "loginReset": "Reset Password", + "loginRegister": "ចុះឈ្មោះ", + "loginLogin": "ចូល", + "loginOpenId": "Login with OpenID", + "loginFailed": "អាសយដ្ឋានអ៊ីម៉ែលឬពាក្យសម្ងាត់មិនត្រឹមត្រូវ", + "loginCreated": "អ្នកប្រើថ្មីត្រូវបានចុះបញ្ជី", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "ចាកចេញ", + "loginLogo": "រូបសញ្ញា", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "ឧបករណ៍និងសភាព", + "deviceSelected": "Selected Device", + "deviceTitle": "ឧបករណ៍", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "គ្រឿងសម្គាល់", + "deviceModel": "គំរូ", + "deviceContact": "ទំនក់ទំនង", + "deviceCategory": "ប្រភេទ", + "deviceLastUpdate": "ទិន្នន័យចុងក្រោយ", + "deviceCommand": "ពាក្យបញ្ជា", + "deviceFollow": "តាមដាន", + "deviceTotalDistance": "ចម្ងាយសរុប", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "ក្រុម", + "groupParent": "ក្រុម", + "groupNoGroup": "គ្មានក្រុម", + "settingsTitle": "ការកំណត់", + "settingsUser": "គណនី", + "settingsGroups": "ក្រុម", + "settingsServer": "ម៉ាស៊ីនមេ", + "settingsUsers": "អ្នកប្រើ", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "ទំរង់ 12 ម៉ោង", + "settingsCoordinateFormat": "ទំរង់កូអរដោនេ", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "របាយការណ៍", + "reportScheduled": "Scheduled Reports", + "reportDevice": "ឧបករណ៍", + "reportGroup": "ក្រុម", + "reportFrom": "ពី", + "reportTo": "ទៅកាន់", + "reportShow": "បង្ហាញ", + "reportClear": "ដើម្បីជម្រះ", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "សុពលភាព", + "positionAccuracy": "ភាពត្រឹមត្រូវ", + "positionLatitude": "រយៈទទឹង", + "positionLongitude": "រយៈបណ្ដោយ", + "positionAltitude": "កម្ពស់", + "positionSpeed": "ល្បឿន", + "positionCourse": "ធ្វើដំណើរ", + "positionAddress": "អាសយដ្ឋាន", + "positionProtocol": "ពិធីការ", + "positionDistance": "ចម្ងាយ", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "ការកំណត់ម៉ាស៊ីនមេ", + "serverZoom": "ពង្រីក", + "serverRegistration": "ការចុះឈ្មោះ", + "serverReadonly": "អាចបានតែអាន", + "serverForceSettings": "ការកំណត់កម្លាំង", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "ផែនទី", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "ស្រទាប់ផែនទី", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "ផែនទីគោល Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "គន្លឹះផែនទី Bing", + "mapBingRoad": "ផ្លូវលើផែនទីBing", + "mapBingAerial": "ផែនទីពីលើអាកាសBing", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "ពហុកោណ", + "mapShapeCircle": "រង្វង់", + "mapShapePolyline": "ពហុបន្ទាត់", + "mapLiveRoutes": "ផ្លូវបន្តផ្ទាល់", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "សភាព", + "stateName": "គុណលក្ខណៈ", + "stateValue": "តម្លៃ", + "commandTitle": "ពាក្យបញ្ជា", + "commandSend": "បញ្ជូន", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "ឯកតា", + "commandCustom": "ពាក្យបញ្ជាផ្ទាល់ខ្លួន", + "commandDeviceIdentification": "អត្តសញ្ញាណឧបករណ៍", + "commandPositionSingle": "របាយការណ៍រួមមួយ", + "commandPositionPeriodic": "របាយការណ៍តាមកាលកំណត់", + "commandPositionStop": "បញ្ឈប់ការបញ្ជូនទិន្នន័យ", + "commandEngineStop": "ម៉ាស៊ីនបានបញ្ឈប់", + "commandEngineResume": "ម៉ាស៊ីនបានបន្ត", + "commandAlarmArm": "ចាប់ផ្តើមសំឡេងរោទិ៍", + "commandAlarmDisarm": "បញ្ឈប់សំឡេងរោទិ៍", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "កំណត់តំបន់ពេលវេលា", + "commandRequestPhoto": "ស្នើសុំរូបថត", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "ឧបករណ៍ចាប់ផ្ដើមឡើងវិញ", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "ផ្ញើ SMS", + "commandSendUssd": "ផ្ញើ USSD", + "commandSosNumber": "កំណត់លេខ SOS", + "commandSilenceTime": "កំណត់ម៉ោងភាពស្ងប់ស្ងាត់", + "commandSetPhonebook": "ដើម្បីកំណត់សៀវភៅទូរស័ព្ទ", + "commandVoiceMessage": "សារជាសំឡេង", + "commandOutputControl": "ការត្រួតពិនិត្យទិន្នផល", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "កំណត់ចំណាំ", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "ជាញឹកញាប់", + "commandTimezone": "តំបន់ពេលវេលា", + "commandMessage": "សារ", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "ទិន្នន័យ", + "commandIndex": "សន្ទស្សន៍", + "commandPhone": "លេខទូរសព្ទ", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "ព្រឹត្តិការណ៍ទាំងអស់", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "លទ្ធផលពាក្យបញ្ជា", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "ថែទាំត្រូវការជាចាំបាច់", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "ប្រភេទការជូនដំណឹង", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "ផ្លូវ", + "reportEvents": "ព្រឹត្តិការណ៍", + "reportTrips": "ការធ្វើដំណើរ", + "reportStops": "Stops", + "reportSummary": "សេចក្តីសង្ខេប", + "reportDaily": "Daily Summary", + "reportChart": "គំនូសតាង", + "reportConfigure": "កំណត់រចនាសម្ព័ន្ធ", + "reportEventTypes": "ប្រភេទព្រឹត្តិការណ៍", + "reportChartType": "ប្រភេទគំនូសតាង", + "reportShowMarkers": "បង្ហាញសញ្ញាសម្គាល់", + "reportExport": "ការនាំចេញ", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "ឈ្មោះឧបករណ៍", + "reportAverageSpeed": "ល្បឿនមធ្យម", + "reportMaximumSpeed": "ល្បឿនអតិបរមា", + "reportEngineHours": "ម៉ោងម៉ាស៊ីន", + "reportDuration": "រយៈពេល", + "reportStartDate": "Start Date", + "reportStartTime": "ម៉ោងចាប់ផ្តើម", + "reportStartAddress": "អាសយដ្ឋានចាប់ផ្តើម", + "reportEndTime": "ម៉ោងបញ្ចប់", + "reportEndAddress": "អាសយដ្ឋានចុង", + "reportSpentFuel": "ការចំណាយប្រេងឥន្ធនៈ", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "ស្ថិតិ", + "statisticsCaptureTime": "ពេលការចាប់យក", + "statisticsActiveUsers": "អ្នកប្រើប្រាស់សកម្ម", + "statisticsActiveDevices": "ឧបករណ៍សកម្ម", + "statisticsRequests": "សំណើ", + "statisticsMessagesReceived": "សារដែលបានទទួល", + "statisticsMessagesStored": "សារដែលបានរក្សាទុក", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "ព្រួញ", + "categoryDefault": "លំនាំដើម", + "categoryAnimal": "សត្វ", + "categoryBicycle": "កង់", + "categoryBoat": "Boat", + "categoryBus": "រថយន្ដក្រុង", + "categoryCar": "រថយន្ត", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "ម៉ូតូ", + "categoryOffroad": "Offroad", + "categoryPerson": "មនុស្ស", + "categoryPickup": "Pickup", + "categoryPlane": "យន្តហោះ", + "categoryShip": "នាវា", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "រថយន្តដឹកទំនិញ", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ko.json b/legacy/web/l10n/ko.json new file mode 100644 index 00000000..0ba191cf --- /dev/null +++ b/legacy/web/l10n/ko.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "로딩중...", + "sharedHide": "숨기기", + "sharedSave": "저장", + "sharedUpload": "Upload", + "sharedSet": "확인", + "sharedCancel": "취소", + "sharedCopy": "Copy", + "sharedAdd": "추가", + "sharedEdit": "편집", + "sharedRemove": "제거", + "sharedRemoveConfirm": "제거 하시겠습니까?", + "sharedNoData": "비어있음", + "sharedSubject": "Subject", + "sharedYes": "예", + "sharedNo": "아니오", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "1시간", + "sharedMinute": "1분", + "sharedSecond": "초", + "sharedDays": "일", + "sharedHours": "시간", + "sharedMinutes": "분", + "sharedDecimalDegrees": "DD 좌표계", + "sharedDegreesDecimalMinutes": "DDM 좌표계", + "sharedDegreesMinutesSeconds": "DMS 좌표계", + "sharedName": "이름", + "sharedDescription": "내용", + "sharedSearch": "검색", + "sharedIconScale": "아이콘 크기", + "sharedGeofence": "지오펜스", + "sharedGeofences": "지오펜스", + "sharedCreateGeofence": "지오펜스 생성", + "sharedNotifications": "알림", + "sharedNotification": "알림", + "sharedAttributes": "속성", + "sharedAttribute": "속성", + "sharedDrivers": "운전자", + "sharedDriver": "운전자", + "sharedArea": "공간", + "sharedSound": "알림 소리", + "sharedType": "유형", + "sharedDistance": "거리", + "sharedHourAbbreviation": "시", + "sharedMinuteAbbreviation": "분", + "sharedSecondAbbreviation": "초", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "L", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "L", + "sharedImpGallon": "영국 갤런", + "sharedUsGallon": "미국 갤런", + "sharedLiterPerHourAbbreviation": "L/H", + "sharedGetMapState": "지도 상태 가져오기", + "sharedComputedAttribute": "자동화 속성", + "sharedComputedAttributes": "자동화 속성", + "sharedCheckComputedAttribute": "자동화 속성 테스트", + "sharedExpression": "표현", + "sharedDevice": "기기", + "sharedTest": "테스트", + "sharedTestNotification": "테스트 알림 보내기", + "sharedTestNotificators": "채널 테스트", + "sharedTestExpression": "표현 테스트", + "sharedCalendar": "달력", + "sharedCalendars": "달력", + "sharedFile": "파일", + "sharedSearchDevices": "기기 검색", + "sharedSortBy": "정렬", + "sharedFilterMap": "지도 필터", + "sharedSelectFile": "파일 선택", + "sharedPhone": "전화번호", + "sharedRequired": "필수", + "sharedPreferences": "환경 설정", + "sharedPermissions": "권한", + "sharedConnections": "연결", + "sharedExtra": "기타", + "sharedPrimary": "주요", + "sharedSecondary": "일반", + "sharedTypeString": "문자열", + "sharedTypeNumber": "숫자", + "sharedTypeBoolean": "불리언", + "sharedTimezone": "시간대", + "sharedInfoTitle": "정보", + "sharedSavedCommand": "저장된 커맨드", + "sharedSavedCommands": "저장된 커맨드", + "sharedNew": "생성...", + "sharedShowAddress": "주소 보기", + "sharedShowDetails": "상세 보기", + "sharedDisabled": "비활성화됨", + "sharedMaintenance": "관리", + "sharedDeviceAccumulators": "누적", + "sharedAlarms": "알림", + "sharedLocation": "위치", + "sharedImport": "불러오기", + "sharedColumns": "열", + "sharedDropzoneText": "파일을 가져오거나 여기를 누르세요.", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "심플", + "calendarRecurrence": "반복 주기", + "calendarOnce": "한번", + "calendarDaily": "매일", + "calendarWeekly": "매주", + "calendarMonthly": "매달", + "calendarDays": "일", + "calendarSunday": "일요일", + "calendarMonday": "월요일", + "calendarTuesday": "화요일", + "calendarWednesday": "수요일", + "calendarThursday": "목요일", + "calendarFriday": "금요일", + "calendarSaturday": "토요일", + "attributeShowGeofences": "지오펜스 표시하기", + "attributeSpeedLimit": "속도 제한", + "attributeFuelDropThreshold": "기름 감소 한계값", + "attributeFuelIncreaseThreshold": "기름 증가 한계값", + "attributePolylineDistance": "연속 거리", + "attributeReportIgnoreOdometer": "보고: 주행거리 무시", + "attributeWebReportColor": "웹: 보고서 색상", + "attributeDevicePassword": "기기 비밀번호", + "attributeDeviceImage": "기기 이미지", + "attributeDeviceInactivityStart": "기기 비활성화 시작", + "attributeDeviceInactivityPeriod": "기기 비활성화 주기", + "attributeProcessingCopyAttributes": "진행 중: 속성 복사", + "attributeColor": "색상", + "attributeWebLiveRouteLength": "웹: 라이브 주행거리", + "attributeWebSelectZoom": "웹: 확대값 선택", + "attributeWebMaxZoom": "웹: 최대 확대값", + "attributeTelegramChatId": "텔레그램 채팅 ID", + "attributePushoverUserKey": "Pushover 유저키", + "attributePushoverDeviceNames": "Pushover 기기이름", + "attributeMailSmtpHost": "메일: SMTP 호스트", + "attributeMailSmtpPort": "메일: SMTP 포트", + "attributeMailSmtpStarttlsEnable": " 메일: SMTP STARTTLS 활성화", + "attributeMailSmtpStarttlsRequired": "메일: SMTP STARTTLS 필요함", + "attributeMailSmtpSslEnable": "메일: SMTP SSL 활성화", + "attributeMailSmtpSslTrust": "메일: SMTP SSL 신뢰", + "attributeMailSmtpSslProtocols": "메일: SMTP SSL 프로토콜", + "attributeMailSmtpFrom": "메일: SMTP From", + "attributeMailSmtpAuth": "메일: SMTP Auth 활성화", + "attributeMailSmtpUsername": "메일: SMTP 유저이름", + "attributeMailSmtpPassword": "메일: SMTP 비밀번호", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: 속성 비활성화", + "attributeUiDisableGroups": "UI: 그룹 비활성화", + "attributeUiDisableEvents": "UI: 이벤트 비활성화", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: 운전자 비활성화", + "attributeUiDisableComputedAttributes": "UI: 자동화 속성 비활성화", + "attributeUiDisableCalendars": "UI: 달력 비활성화", + "attributeUiDisableMaintenance": "UI: 관리 비활성화", + "attributeUiHidePositionAttributes": "UI: 위치 정보 숨기기", + "attributeUiDisableLoginLanguage": "UI: 로그인 언어 숨기기", + "attributeNotificationTokens": "알림 토큰", + "attributePopupInfo": "팝업 정보", + "errorTitle": "오류", + "errorGeneral": "부적절한 매개변수 또는 범위 초과", + "errorConnection": "연결 오류", + "errorSocket": "웹 소켓 연결 오류", + "errorZero": "0이 될 수 없음", + "userEmail": "이메일", + "userPassword": "비밀번호", + "userAdmin": "관리자", + "userRemember": "저장하기", + "userExpirationTime": "기간 제한", + "userDeviceLimit": "기기 제한", + "userUserLimit": "사용자 제한", + "userDeviceReadonly": "기기 읽기전용", + "userLimitCommands": "커맨드 제한", + "userDisableReports": "보고서 비활성화", + "userFixedEmail": "이메일 변경 제한", + "userToken": "토큰", + "userDeleteAccount": "계정 삭제", + "userTemporary": "Temporary", + "loginTitle": "로그인", + "loginLanguage": "언어", + "loginReset": "비밀번호 초기화", + "loginRegister": "회원가입", + "loginLogin": "로그인", + "loginOpenId": "오픈ID로 로그인", + "loginFailed": "이메일 또는 비밀번호가 틀렸습니다", + "loginCreated": "회원가입 되었습니다.", + "loginResetSuccess": "이메일을 확인해주세요", + "loginUpdateSuccess": "비밀번호가 변경되었습니다", + "loginLogout": "로그아웃", + "loginLogo": "로고", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "기기와 상태", + "deviceSelected": "선택된 기기", + "deviceTitle": "기기", + "devicePrimaryInfo": "기기 이름", + "deviceSecondaryInfo": "기기 설명", + "deviceIdentifier": "고유값", + "deviceModel": "모델명", + "deviceContact": "연락처", + "deviceCategory": "카테고리", + "deviceLastUpdate": "마지막 변경", + "deviceCommand": "커맨드", + "deviceFollow": "따라가기", + "deviceTotalDistance": "총 주행거리", + "deviceStatus": "상태", + "deviceStatusOnline": "온라인", + "deviceStatusOffline": "오프라인", + "deviceStatusUnknown": "알 수 없음", + "deviceRegisterFirst": "첫 기기를 등록하세요", + "deviceIdentifierHelp": "IMEI, 일련번호와 같은 고유한 ID로 기기를 식별합니다.", + "deviceShare": "Share Device", + "groupDialog": "그룹", + "groupParent": "그룹", + "groupNoGroup": "그룹 없음", + "settingsTitle": "설정", + "settingsUser": "계정", + "settingsGroups": "그룹", + "settingsServer": "서버", + "settingsUsers": "사용자", + "settingsDistanceUnit": "거리 단위", + "settingsAltitudeUnit": "고도 단위", + "settingsSpeedUnit": "속도 단위", + "settingsVolumeUnit": "부피 단위", + "settingsTwelveHourFormat": "12시 형식", + "settingsCoordinateFormat": "좌표 형식", + "settingsServerVersion": "서버 버전", + "settingsAppVersion": "앱 버전", + "settingsConnection": "연결 상태", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "보고서", + "reportScheduled": "예정된 보고서", + "reportDevice": "기기", + "reportGroup": "그룹", + "reportFrom": "발신자", + "reportTo": "수신자", + "reportShow": "보이기", + "reportClear": "초기화", + "linkGoogleMaps": "구글 지도", + "linkAppleMaps": "애플 지도", + "linkStreetView": "스트리트 뷰", + "positionFixTime": "Fix 시간", + "positionDeviceTime": "기기 시간", + "positionServerTime": "서버 시간", + "positionValid": "유효성", + "positionAccuracy": "정확성", + "positionLatitude": "위도", + "positionLongitude": "경도", + "positionAltitude": "고도", + "positionSpeed": "속도", + "positionCourse": "코스", + "positionAddress": "주소", + "positionProtocol": "프로토콜", + "positionDistance": "거리", + "positionRpm": "RPM", + "positionFuel": "기름", + "positionPower": "전압", + "positionBattery": "배터리", + "positionRaw": "Raw", + "positionIndex": "인덱스", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "위성 수", + "positionSatVisible": "이용 중인 위성 수", + "positionRssi": "신호강도", + "positionGps": "GPS", + "positionRoaming": "로밍", + "positionEvent": "이벤트", + "positionAlarm": "알림", + "positionStatus": "상태", + "positionOdometer": "주행 거리계", + "positionServiceOdometer": "서비스 주행 거리계", + "positionTripOdometer": "구간 거리계", + "positionHours": "시간", + "positionSteps": "걸음 수", + "positionInput": "입력", + "positionHeartRate": "동기화 주기", + "positionOutput": "출력", + "positionBatteryLevel": "배터리 레벨", + "positionFuelConsumption": "기름 소비량", + "positionRfid": "RFID", + "positionVersionFw": "펌웨어 버전", + "positionVersionHw": "하드웨어 버전", + "positionIgnition": "시동", + "positionFlags": "플래그", + "positionCharge": "충전", + "positionIp": "IP", + "positionArchive": "저장됨", + "positionVin": "VIN", + "positionApproximate": "추정", + "positionThrottle": "스로틀", + "positionMotion": "움직임", + "positionArmed": "장착됨", + "positionAcceleration": "가속도", + "positionTemp": "온도", + "positionDeviceTemp": "기기 온도", + "positionCoolantTemp": "냉각수 온도", + "positionOperator": "소유자", + "positionCommand": "커맨드", + "positionBlocked": "차단됨", + "positionDtcs": "속도계", + "positionObdSpeed": "OBD 속도", + "positionObdOdometer": "OBD 주행거리", + "positionDrivingTime": "주행 시간", + "positionDriverUniqueId": "운전자 ID", + "positionCard": "카드", + "positionImage": "이미지", + "positionVideo": "비디오", + "positionAudio": "오디오", + "serverTitle": "서버 설정", + "serverZoom": "배율", + "serverRegistration": "회원가입", + "serverReadonly": "읽기 전용", + "serverForceSettings": "강제 설정", + "serverAnnouncement": "공지사항", + "serverName": "서버 이름", + "serverDescription": "서버 설명", + "serverColorPrimary": "주요 색상", + "serverColorSecondary": "일반 색상", + "serverLogo": "로고 이미지", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "지도", + "mapActive": "활성화된 지도", + "mapOverlay": "지도 오버레이", + "mapOverlayCustom": "커스텀 오버레이", + "mapOpenSeaMap": "OpenSea 지도", + "mapOpenRailwayMap": "OpenRailway 지도", + "mapOpenWeatherKey": "OpenWeather API 키", + "mapOpenWeatherClouds": "OpenWeather 구름", + "mapOpenWeatherPrecipitation": "OpenWeather 강수량", + "mapOpenWeatherPressure": "OpenWeather 기압", + "mapOpenWeatherWind": "OpenWeather 바람", + "mapOpenWeatherTemperature": "OpenWeather 온도", + "mapLayer": "지도 레이어", + "mapCustom": "커스텀 (XYZ)", + "mapCustomArcgis": "커스텀 (ArcGIS)", + "mapCustomLabel": "커스텀 지도", + "mapCarto": "Carto 지도", + "mapOsm": "OpenStreet 지도", + "mapGoogleRoad": "구글 지도", + "mapGoogleHybrid": "구글 하이브리드 지도", + "mapGoogleSatellite": "구글 위성 지도", + "mapOpenTopoMap": "OpenTopo 지도", + "mapBingKey": "빙 지도 키", + "mapBingRoad": "빙 도로 지도", + "mapBingAerial": "빙 위성 지도", + "mapBingHybrid": "빙 하이브리드 지도", + "mapBaidu": "바이두", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "얀덱스 지도", + "mapYandexSat": "얀덱스 위성 지도", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox 도로 지도", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox 실외 지도", + "mapMapboxSatellite": "Mapbox 위성 지도", + "mapMapboxKey": "Mapbox 액세스 토큰", + "mapMapTilerBasic": "MapTiler 기본 지도", + "mapMapTilerHybrid": "MapTiler 하이브리드 지도", + "mapMapTilerKey": "MapTiler API 키", + "mapLocationIqStreets": "LocationIQ 도로 지도", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ 액세스 토큰", + "mapTomTomBasic": "톰톰 기본 지도", + "mapTomTomFlow": "톰톰 교통정보 지도", + "mapTomTomIncidents": "톰톰 교통사고 지도", + "mapTomTomKey": "톰톰 API 키", + "mapHereBasic": "Here 기본 지도", + "mapHereHybrid": "Here 하이브리드 지도", + "mapHereSatellite": "Here 위성 지도", + "mapHereFlow": "Here 교통정보 지도", + "mapHereKey": "Here API 키", + "mapShapePolygon": "다각형", + "mapShapeCircle": "원", + "mapShapePolyline": "연속선", + "mapLiveRoutes": "실시간 경로", + "mapDirection": "방향 표시하기", + "mapCurrentLocation": "현재 위치", + "mapPoiLayer": "POI 레이어", + "mapClustering": "마커 군집화", + "mapOnSelect": "선택 시 지도에 표시하기", + "mapDefault": "기본 지도", + "stateTitle": "상태", + "stateName": "속성", + "stateValue": "값", + "commandTitle": "커맨드", + "commandSend": "전송", + "commandSent": "커맨드 전송됨", + "commandQueued": "커맨드 대기중", + "commandUnit": "단위", + "commandCustom": "커스텀 커맨드", + "commandDeviceIdentification": "장치 식별자", + "commandPositionSingle": "일회성 보고", + "commandPositionPeriodic": "정기적 보고", + "commandPositionStop": "보고 중지", + "commandEngineStop": "엔진 정지", + "commandEngineResume": "엔진 활성화", + "commandAlarmArm": "경보", + "commandAlarmDisarm": "경보 해제", + "commandAlarmDismiss": "경보 확인", + "commandSetTimezone": "시간대 설정", + "commandRequestPhoto": "사진 요청", + "commandPowerOff": "기기 종료", + "commandRebootDevice": "기기 재부팅", + "commandFactoryReset": "공장초기화", + "commandSendSms": "문자 보내기", + "commandSendUssd": "USSD 보내기", + "commandSosNumber": "긴급번호 설정", + "commandSilenceTime": "알림 금지 시간대", + "commandSetPhonebook": "연락처 설정", + "commandVoiceMessage": "음성 메시지", + "commandOutputControl": "출력 제어", + "commandVoiceMonitoring": "음성 모니터링", + "commandSetAgps": "AGPS 설정", + "commandSetIndicator": "방향 설정", + "commandConfiguration": "설정", + "commandGetVersion": "버전 정보", + "commandFirmwareUpdate": "펌웨어 업데이트", + "commandSetConnection": "연결 설정", + "commandSetOdometer": "주행거리 설정", + "commandGetModemStatus": "모뎀 정보", + "commandGetDeviceStatus": "기기 정보", + "commandSetSpeedLimit": "속도 제한", + "commandModePowerSaving": "절전 모드", + "commandModeDeepSleep": "딥슬립 모드", + "commandAlarmGeofence": "지오펜스 알림", + "commandAlarmBattery": "배터리 알림", + "commandAlarmSos": "SOS 알림", + "commandAlarmRemove": "알림 제거", + "commandAlarmClock": "시간 알림", + "commandAlarmSpeed": "속도 알림", + "commandAlarmFall": "추락 알림", + "commandAlarmVibration": "진동 알림", + "commandFrequency": "주기", + "commandTimezone": "시간대 오프셋", + "commandMessage": "메시지", + "commandRadius": "반경", + "commandEnable": "활성화", + "commandData": "데이터", + "commandIndex": "인덱스", + "commandPhone": "연락처", + "commandServer": "서버", + "commandPort": "포트", + "eventAll": "모든 이벤트", + "eventDeviceOnline": "온라인 상태", + "eventDeviceUnknown": "상태 알 수 없음", + "eventDeviceOffline": "오프라인 상태", + "eventDeviceInactive": "기기 비활성화", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "기기 이동 중", + "eventDeviceStopped": "기기 정지", + "eventDeviceOverspeed": "속도 제한 초과", + "eventDeviceFuelDrop": "기름 부족", + "eventDeviceFuelIncrease": "기름 증가", + "eventCommandResult": "커맨드 결과", + "eventGeofenceEnter": "지오펜스 진입", + "eventGeofenceExit": "지오펜스 퇴장", + "eventAlarm": "알림", + "eventIgnitionOn": "시동 켜짐", + "eventIgnitionOff": "시동 꺼짐", + "eventMaintenance": "관리 필요", + "eventTextMessage": "메시지가 왔습니다", + "eventDriverChanged": "운전자 변경됨", + "eventMedia": "미디어", + "eventsScrollToLast": "마지막으로 이동", + "eventsSoundEvents": "소리 이벤트", + "eventsSoundAlarms": "소리 알림", + "alarmGeneral": "일반", + "alarmSos": "SOS", + "alarmVibration": "진동", + "alarmMovement": "움직임", + "alarmLowspeed": "저속", + "alarmOverspeed": "과속", + "alarmFallDown": "떨어짐", + "alarmLowPower": "파워 부족", + "alarmLowBattery": "배터리 부족", + "alarmFault": "오류", + "alarmPowerOff": "꺼짐", + "alarmPowerOn": "켜짐", + "alarmDoor": "문", + "alarmLock": "잠김", + "alarmUnlock": "잠금해제", + "alarmGeofence": "지오펜스", + "alarmGeofenceEnter": "지오펜스 진입", + "alarmGeofenceExit": "지오펜스 퇴장", + "alarmGpsAntennaCut": "GPS 안테나 잘림", + "alarmAccident": "사고", + "alarmTow": "견인", + "alarmIdle": "대기", + "alarmHighRpm": "RPM 높음", + "alarmHardAcceleration": "급가속", + "alarmHardBraking": "급브레이크", + "alarmHardCornering": "급코너링", + "alarmLaneChange": "차선 변경", + "alarmFatigueDriving": "운전자 피로", + "alarmPowerCut": "전원 끊김", + "alarmPowerRestored": "전원 복구됨", + "alarmJamming": "전파 방해", + "alarmTemperature": "온도", + "alarmParking": "주차", + "alarmBonnet": "후드 열림", + "alarmFootBrake": "풋 브레이크", + "alarmFuelLeak": "기름 누출", + "alarmTampering": "변조됨", + "alarmRemoving": "제거됨", + "notificationType": "알림 유형", + "notificationAlways": "전체 기기", + "notificationNotificators": "채널", + "notificatorCommand": "커맨드", + "notificatorWeb": "웹", + "notificatorMail": "메일", + "notificatorSms": "메시지", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "텔레그램", + "notificatorPushover": "Pushover", + "reportReplay": "리플레이", + "reportCombined": "혼합", + "reportRoute": "경로", + "reportEvents": "이벤트", + "reportTrips": "구간", + "reportStops": "정지", + "reportSummary": "요약", + "reportDaily": "일일 요약", + "reportChart": "차트", + "reportConfigure": "설정", + "reportEventTypes": "이벤트 유형", + "reportChartType": "차트 유형", + "reportShowMarkers": "마커 표시", + "reportExport": "내보내기", + "reportEmail": "이메일 보고", + "reportSchedule": "스케줄", + "reportPeriod": "주기", + "reportCustom": "커스텀", + "reportToday": "오늘", + "reportYesterday": "어제", + "reportThisWeek": "이번주", + "reportPreviousWeek": "지난주", + "reportThisMonth": "이번달", + "reportPreviousMonth": "지난달", + "reportDeviceName": "기기 이름", + "reportAverageSpeed": "평균 속도", + "reportMaximumSpeed": "최대 속도", + "reportEngineHours": "엔진 시간", + "reportDuration": "기간", + "reportStartDate": "시작일", + "reportStartTime": "시작시간", + "reportStartAddress": "시작주소", + "reportEndTime": "종료시간", + "reportEndAddress": "종료주소", + "reportSpentFuel": "사용한 연료", + "reportStartOdometer": "주행거리계 시작", + "reportEndOdometer": "주행거리계 종료", + "statisticsTitle": "통계", + "statisticsCaptureTime": "캡처 시간", + "statisticsActiveUsers": "활성화된 유저", + "statisticsActiveDevices": "활성화된 기기", + "statisticsRequests": "요청", + "statisticsMessagesReceived": "수신된 메시지", + "statisticsMessagesStored": "저장한 메세지", + "statisticsGeocoder": "지오코더 요청", + "statisticsGeolocation": "지오로케이션 요청", + "categoryArrow": "화살표", + "categoryDefault": "기본값", + "categoryAnimal": "동물", + "categoryBicycle": "자전거", + "categoryBoat": "배", + "categoryBus": "버스", + "categoryCar": "차", + "categoryCamper": "Camper", + "categoryCrane": "크레인", + "categoryHelicopter": "헬리콥터", + "categoryMotorcycle": "오토바이", + "categoryOffroad": "오프로드", + "categoryPerson": "사람", + "categoryPickup": "픽업 트럭", + "categoryPlane": "비행기", + "categoryShip": "배", + "categoryTractor": "트랙터", + "categoryTrain": "기차", + "categoryTram": "트램", + "categoryTrolleybus": "트롤리 버스", + "categoryTruck": "트럭", + "categoryVan": "밴", + "categoryScooter": "오토바이", + "maintenanceStart": "시작", + "maintenancePeriod": "주기" +}
\ No newline at end of file diff --git a/legacy/web/l10n/lo.json b/legacy/web/l10n/lo.json new file mode 100644 index 00000000..d0a40085 --- /dev/null +++ b/legacy/web/l10n/lo.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "ກຳລັງໂຫລດ...", + "sharedHide": "Hide", + "sharedSave": "ບັນທຶກ", + "sharedUpload": "Upload", + "sharedSet": "Set", + "sharedCancel": "ຍົກເລີກ", + "sharedCopy": "Copy", + "sharedAdd": "ເພີ່ມ", + "sharedEdit": "ແກ້ໄຂ", + "sharedRemove": "ລົບອອກ", + "sharedRemoveConfirm": "ລົບລາຍການນີ້ບໍ່?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "ກມ.", + "sharedMi": "ໄມລ໌", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "ນ໊ອດ", + "sharedKmh": "ກມ. /ຊມ.", + "sharedMph": "ໄມລ໌ຕໍ່ຊົ່ວໂມງ", + "sharedHour": "ຊົ່ວໂມງ", + "sharedMinute": "ນາທີ", + "sharedSecond": "ວິນາທີ", + "sharedDays": "days", + "sharedHours": "hours", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "Decimal Degrees", + "sharedDegreesDecimalMinutes": "Degrees Decimal Minutes", + "sharedDegreesMinutesSeconds": "Degrees Minutes Seconds", + "sharedName": "ຊື່", + "sharedDescription": "ລັກສະນະ", + "sharedSearch": "ຄົ້ນຫາ", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "ເຂດພື້ນທີ່", + "sharedGeofences": "ເຂດພື້ນທີ່", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "ການແຈ້ງເຕືອນ", + "sharedNotification": "Notification", + "sharedAttributes": "ຄຸນລັກສະນະ", + "sharedAttribute": "ຄຸນລັກສະນະ", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "ພື້ນທີ່", + "sharedSound": "Notification Sound", + "sharedType": "Type", + "sharedDistance": "Distance", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Get Map State", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "Device", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Calendar", + "sharedCalendars": "Calendars", + "sharedFile": "File", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Select File", + "sharedPhone": "Phone", + "sharedRequired": "Required", + "sharedPreferences": "Preferences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Timezone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Speed Limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "ຜິດພາດ", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "ການເຊື່ອມຕໍ່ຜິດພາດ", + "errorSocket": "Web socket connection error", + "errorZero": "Can't be zero", + "userEmail": "ອີເມວ", + "userPassword": "ລະຫັດຜ່ານ", + "userAdmin": "ຜູ້ເບິ່ງແຍງລະບົບ", + "userRemember": "ຈື່ໄວ້", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Device Limit", + "userUserLimit": "User Limit", + "userDeviceReadonly": "Device Readonly", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "ເຂົ້າສູ່ລະບົບ", + "loginLanguage": "ພາສາ", + "loginReset": "Reset Password", + "loginRegister": "ລົງທະບຽນ", + "loginLogin": "ເຂົ້າສູ່ລະບົບ", + "loginOpenId": "Login with OpenID", + "loginFailed": "ທີ່ຢູ່ອີເມວຫລືລະຫັດຜ່ານບໍ່ຖືກຕ້ອງ", + "loginCreated": "ຜູ້ໃຊ້ໃຫມ່ ໄດ້ຮັບການລົງທະບຽນ", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "ອອກຈາກລະບົບ", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "ອຸປະກອນແລະສະຖານະ", + "deviceSelected": "Selected Device", + "deviceTitle": "ເຄື່ອງ/ອຸປະກອນ", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "ລະບຸເລກອຸປະກອນ", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Category", + "deviceLastUpdate": "ແກ້ໄຂລ່າສຸດ", + "deviceCommand": "ຄຳສັ່ງ", + "deviceFollow": "ຕິດຕາມ", + "deviceTotalDistance": "Total Distance", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "ກຸ່ມ", + "groupParent": "ກຸ່ມ", + "groupNoGroup": "ບໍ່ຈັດໃນກຸ່ມ", + "settingsTitle": "ການຕັ້ງຄ່າ", + "settingsUser": "ບັນຊີຜູ້ໃຊ້", + "settingsGroups": "ຕັ້ງຄ່າກຸ່ມ", + "settingsServer": "ຕັ້ງຄ່າລະບົບ", + "settingsUsers": "ຕັ້ງຄ່າຜູ້ໃຊ້ງານ", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "ຮູບແບບເວລາ 12 ຊົ່ວໂມງ", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "ລາຍງານ", + "reportScheduled": "Scheduled Reports", + "reportDevice": "ລາຍງານເຄື່ອງ/ອຸປະກອນ", + "reportGroup": "Group", + "reportFrom": "ຈາກ", + "reportTo": "ໄປເຖິງ", + "reportShow": "ສະແດງ", + "reportClear": "ລົບລ້າງລາຍງານ", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "ຖືກຕ້ອງ", + "positionAccuracy": "Accuracy", + "positionLatitude": "ລາຕິຈູດ", + "positionLongitude": "ລອງຈິຈູດ", + "positionAltitude": "ລະດັບຄວາມສູງ", + "positionSpeed": "ຄວາມໄວ", + "positionCourse": "ທິດທາງ", + "positionAddress": "ທີ່ຢູ່", + "positionProtocol": "ໂປຣໂຕຄໍລ໌", + "positionDistance": "Distance", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "ການຕັ້ງຄ່າເຊີເວີ້", + "serverZoom": "ຂະຫຍາຍ +/-", + "serverRegistration": "ລົງທະບຽນ", + "serverReadonly": "ອ່ານໄດ້ຢ່າງດຽວ", + "serverForceSettings": "Force Settings", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "ແຜ່ນທີ", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "ຊັ້ນແຜ່ນທີ", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps ສຳຄັນ", + "mapBingRoad": "Bing Maps ຖະຫນົນ", + "mapBingAerial": "Bing Maps ທາງອາກາດ", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "ໂພລີກອນ", + "mapShapeCircle": "ວົງກົມ", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "ສະຖານະ", + "stateName": "ຄຸນລັກສະນະ", + "stateValue": "ມູນຄ່າ", + "commandTitle": "ຄຳສັ່ງ", + "commandSend": "ສົ່ງ", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "ຫນ່ວຍ", + "commandCustom": "ຄຳສັ່ງກຳຫນົດເອງ", + "commandDeviceIdentification": "ໝາຍເລກອຸປະກອນ", + "commandPositionSingle": "ລາຍງານຕ່ຳແຫນ່ງດຽວ", + "commandPositionPeriodic": "ແກ້ໄຂຕ່ຳແຫນ່ງ", + "commandPositionStop": "ຕ່ຳແຫນ່ງ ຢຸດ", + "commandEngineStop": "ດັບເຄື່ອງຈັກ", + "commandEngineResume": "ຕິດເຄື່ອງຈັກຄືນໃຫມ່", + "commandAlarmArm": "ແຈ້ງເຕືອນຕິດຕໍ່ສາຂາ", + "commandAlarmDisarm": "ແຈ້ງເຕືອນຍົກເລີກຕິດຕໍ່ສາຂາ", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "ຕັ້ງຄ່າເຂດເວລາ", + "commandRequestPhoto": "ສັ່ງຖ່າຍຮູບ", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "ຣີບູດ", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "ສົ່ງ SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "ຕັ້ງຄ່າເລກໝາຍໂທສຸກເສີນ SOS", + "commandSilenceTime": "ຕັ້ງຄ່າຊ່ວງເວລາຢຸດນິ່ງ", + "commandSetPhonebook": "ຕັ້ງຄ່າສະໝຸດໂທລະສັບ", + "commandVoiceMessage": "ຂໍ້ຄວາມສຽງ", + "commandOutputControl": "ຄວບຄຸມຂໍ້ມູນທີ່ສົ່ງອອກ", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "ຄວາມຖີ່", + "commandTimezone": "Timezone Offset", + "commandMessage": "Message", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Phone Number", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "All Events", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "ຜົນຮັບຈາກຄຳສັ່ງ", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Maintenance required", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "ຊະນິດການແຈ້ງເຕືອນ", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "Configure", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "Show Markers", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Device Name", + "reportAverageSpeed": "Average Speed", + "reportMaximumSpeed": "Maximum Speed", + "reportEngineHours": "Engine Hours", + "reportDuration": "Duration", + "reportStartDate": "Start Date", + "reportStartTime": "Start Time", + "reportStartAddress": "Start Address", + "reportEndTime": "End Time", + "reportEndAddress": "End Address", + "reportSpentFuel": "Spent Fuel", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistics", + "statisticsCaptureTime": "Capture Time", + "statisticsActiveUsers": "Active Users", + "statisticsActiveDevices": "Active Devices", + "statisticsRequests": "Requests", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Arrow", + "categoryDefault": "Default", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicycle", + "categoryBoat": "Boat", + "categoryBus": "Bus", + "categoryCar": "Car", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motorcycle", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Plane", + "categoryShip": "Ship", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truck", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/lt.json b/legacy/web/l10n/lt.json new file mode 100644 index 00000000..d4ae0530 --- /dev/null +++ b/legacy/web/l10n/lt.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Kraunasi..", + "sharedHide": "Paslėpti", + "sharedSave": "Išsaugoti", + "sharedUpload": "Įkelti", + "sharedSet": "Nustatyti", + "sharedCancel": "Atšaukti", + "sharedCopy": "Kopijuoti", + "sharedAdd": "Pridėti", + "sharedEdit": "Redaguoti", + "sharedRemove": "Pašalinti", + "sharedRemoveConfirm": "Pašalinti objektą?", + "sharedNoData": "Nėra duomenų", + "sharedSubject": "Subject", + "sharedYes": "Taip", + "sharedNo": "Ne", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "jurmylė", + "sharedMeters": "m", + "sharedFeet": "pėdos", + "sharedKn": "mazgai", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Valanda(-os)", + "sharedMinute": "Minutė(-es)", + "sharedSecond": "Sekundė(-es)", + "sharedDays": "dienos", + "sharedHours": "valandos", + "sharedMinutes": "minutės", + "sharedDecimalDegrees": "Laipsniai ir jų dalys", + "sharedDegreesDecimalMinutes": "Laipsniai minutės ir jų dalys", + "sharedDegreesMinutesSeconds": "Laipsniai minutės sekundės", + "sharedName": "Pavadinimas", + "sharedDescription": "Aprašymas", + "sharedSearch": "Paieška", + "sharedIconScale": "Ikonos mastelis", + "sharedGeofence": "Georiba", + "sharedGeofences": "Georibos", + "sharedCreateGeofence": "Sukurti Georibas", + "sharedNotifications": "Perspėjimai", + "sharedNotification": "Pranešimas", + "sharedAttributes": "Parametrai", + "sharedAttribute": "Parametras", + "sharedDrivers": "Vairuotojai", + "sharedDriver": "Vairuotojas", + "sharedArea": "Plotas", + "sharedSound": "Perspėjimo garsas", + "sharedType": "Tipas", + "sharedDistance": "Atstumas", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "I", + "sharedGallonAbbreviation": "galonas", + "sharedLiter": "Litras", + "sharedImpGallon": "Standartinis galonas", + "sharedUsGallon": "JAV galonas", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Gauti žemėlapio buseną", + "sharedComputedAttribute": "Apskaičiuotas parametras", + "sharedComputedAttributes": "Apskaičiuoti parametrai", + "sharedCheckComputedAttribute": "Patikrinti apskaičiuotą parametrą", + "sharedExpression": "Išraiška", + "sharedDevice": "Prietaisas", + "sharedTest": "Testas", + "sharedTestNotification": "Siųsti bandomąjį perspėjimą", + "sharedTestNotificators": "Bandyti kanalus", + "sharedTestExpression": "Bandyti reikšmę", + "sharedCalendar": "Kalendorius", + "sharedCalendars": "Kalendoriai", + "sharedFile": "Failas", + "sharedSearchDevices": "Ieškoti įrenginių", + "sharedSortBy": "Rūšiuoti pagal", + "sharedFilterMap": "Filtruoti žemėlapyje", + "sharedSelectFile": "Parinkite failą", + "sharedPhone": "Telefonas", + "sharedRequired": "Privalomas", + "sharedPreferences": "Pasirinkimai", + "sharedPermissions": "Leidimai", + "sharedConnections": "Susijungimai", + "sharedExtra": "Extra", + "sharedPrimary": "Pagrindinis", + "sharedSecondary": "Antrinis", + "sharedTypeString": "Tekstas", + "sharedTypeNumber": "Skaičius", + "sharedTypeBoolean": "Loginis", + "sharedTimezone": "Laiko zona", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Išsaugota komanda", + "sharedSavedCommands": "Išsaugotos komandos", + "sharedNew": "Naujas...", + "sharedShowAddress": "Rodyti adresą", + "sharedShowDetails": "Daugiau informacijos", + "sharedDisabled": "Išjungtas", + "sharedMaintenance": "Aptarnavimas", + "sharedDeviceAccumulators": "Akumuliatorius", + "sharedAlarms": "Perspėjimai", + "sharedLocation": "Lokacija", + "sharedImport": "Importuoti", + "sharedColumns": "Stulpeliai", + "sharedDropzoneText": "Nutempkite failą čia arba paspauskite", + "sharedLogs": "Žurnalai", + "sharedLink": "Link", + "calendarSimple": "Paprastas", + "calendarRecurrence": "Pasikartojimas", + "calendarOnce": "Vienkartinis", + "calendarDaily": "Kasdien", + "calendarWeekly": "Savaitinis", + "calendarMonthly": "Mėnesinis", + "calendarDays": "Dienos", + "calendarSunday": "Sekmadienis", + "calendarMonday": "Pirmadienis", + "calendarTuesday": "Antradienis", + "calendarWednesday": "Trečiadienis", + "calendarThursday": "Ketvirtadienis", + "calendarFriday": "Penktadienis", + "calendarSaturday": "Šeštadienis", + "attributeShowGeofences": "Rodyti Georibas", + "attributeSpeedLimit": "Greičio limitas", + "attributeFuelDropThreshold": "Kuro mažėjimo riba", + "attributeFuelIncreaseThreshold": "Kuro didėjimo riba", + "attributePolylineDistance": "Linijos atstumas", + "attributeReportIgnoreOdometer": "Ataskaita: Ignoruoti odometrą", + "attributeWebReportColor": "Web: Ataskaitos spalva", + "attributeDevicePassword": "Įrenginio slaptažodis", + "attributeDeviceImage": "Įrenginio vaizdas", + "attributeDeviceInactivityStart": "Įrenginio neaktyvumo pradžia", + "attributeDeviceInactivityPeriod": "Įrenginio neaktyvumo trukmė", + "attributeProcessingCopyAttributes": "Apdorojimas: Kopijuoti atributus", + "attributeColor": "Spalva", + "attributeWebLiveRouteLength": "Web: Tiesioginio maršruto ilgis", + "attributeWebSelectZoom": "Web: Išdidinti pažymėjus", + "attributeWebMaxZoom": "Web: Maximalus išdidinimas", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP adresas", + "attributeMailSmtpPort": "Mail: SMTP prievadas", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS įjungtas", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTLS privalomas", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL įjungtas", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL protokolai", + "attributeMailSmtpFrom": "Mail: SMTP Siuntėjas", + "attributeMailSmtpAuth": "Mail: SMTP autentifikacija įjungta", + "attributeMailSmtpUsername": "Mail: SMTP prisijungimas", + "attributeMailSmtpPassword": "Mail: SMTP slaptažodis", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: išjungti atributus", + "attributeUiDisableGroups": "UI: išjungti grupes", + "attributeUiDisableEvents": "UI: Išjungti įvykius", + "attributeUiDisableVehicleFeatures": "UI: Išjungti automobilio funkcijas", + "attributeUiDisableDrivers": "UI: Išjungti vairuotojus", + "attributeUiDisableComputedAttributes": "UI: Išjungti apskaičiuotus parametrus", + "attributeUiDisableCalendars": "UI: Išjungti kalendorius", + "attributeUiDisableMaintenance": "UI: Išjungti aptarnavimus", + "attributeUiHidePositionAttributes": "UI: Slėpti pozicijos adresą", + "attributeUiDisableLoginLanguage": "UI: Išjungti prisijungimo kalbą", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Klaida", + "errorGeneral": "Netinkami parametrai ar apribojimų pažeidimas", + "errorConnection": "Ryšio klaida", + "errorSocket": "Web socket prisijungimo klaida", + "errorZero": "Negali būti nulis", + "userEmail": "Vartotojo vardas", + "userPassword": "Slaptažodis", + "userAdmin": "Administratorius", + "userRemember": "Prisiminti", + "userExpirationTime": "Galiojimas", + "userDeviceLimit": "Prietaiso limitas", + "userUserLimit": "Vartotojo limitas", + "userDeviceReadonly": "Prietaisai skaitymo rėžimu", + "userLimitCommands": "Apriboti komandas", + "userDisableReports": "Išjungti ataskaitas", + "userFixedEmail": "Neleisti keisti Email", + "userToken": "Token", + "userDeleteAccount": "Pašalinti vartotoją", + "userTemporary": "Temporary", + "loginTitle": "Prisijungimas", + "loginLanguage": "Kalba", + "loginReset": "Atstatyti slaptažodį", + "loginRegister": "Registruotis", + "loginLogin": "Prisijungti", + "loginOpenId": "Jungtis naudojant Google", + "loginFailed": "Neteisingas el.paštas ir/ar slaptažodis", + "loginCreated": "Registracija sėkminga", + "loginResetSuccess": "Patikrinkite savo el. paštą", + "loginUpdateSuccess": "Naujas slaptažodis sukurtas", + "loginLogout": "Atsijungti", + "loginLogo": "Logotipas", + "loginTotpCode": "Vienkartinio slaptažodžio kodas", + "loginTotpKey": "Vienkartinio slaptažodžio raktas", + "devicesAndState": "Prietaisai ir Statusas", + "deviceSelected": "Pasirinktas įrenginys", + "deviceTitle": "Prietaisai", + "devicePrimaryInfo": "Įrenginio antraštė", + "deviceSecondaryInfo": "Įrenginio aprašymas", + "deviceIdentifier": "Identifikacinis kodas", + "deviceModel": "Modelis", + "deviceContact": "Kontaktas", + "deviceCategory": "Kategorija", + "deviceLastUpdate": "Naujausias atnaujinimas", + "deviceCommand": "Komanda", + "deviceFollow": "Sekti", + "deviceTotalDistance": "Viso distancija", + "deviceStatus": "Būsena", + "deviceStatusOnline": "Prisijungęs", + "deviceStatusOffline": "Neprisijungęs", + "deviceStatusUnknown": "Nežinoma", + "deviceRegisterFirst": "Registruokite savo pirmą įrenginį", + "deviceIdentifierHelp": "IMEI, serijinis numeris arba identifikacinis ID. Turi atitikti įrenginio ID siunčiamą į serverį.", + "deviceShare": "Dalintis įrenginiu", + "groupDialog": "Grupė", + "groupParent": "Grupė", + "groupNoGroup": "Nenurodyta grupė", + "settingsTitle": "Nustatymai", + "settingsUser": "Paskyra", + "settingsGroups": "Grupės", + "settingsServer": "Serveris", + "settingsUsers": "Vartotojai", + "settingsDistanceUnit": "Atstumo vienetai", + "settingsAltitudeUnit": "Aukščio vienetai", + "settingsSpeedUnit": "Greičio vienetai", + "settingsVolumeUnit": "Tūrio vienetai", + "settingsTwelveHourFormat": "12-val formatas", + "settingsCoordinateFormat": "Koordinačių formatas", + "settingsServerVersion": "Serverio versija", + "settingsAppVersion": "App versija", + "settingsConnection": "Susijungimas", + "settingsDarkMode": "Tamsi tema", + "settingsTotpEnable": "Įjungti vienkartinį slaptažodį", + "settingsTotpForce": "Priverstinis vienkartinis slaptažodis", + "settingsServiceWorkerUpdateInterval": "ServiceWorker atnaujinimo intervalas", + "settingsUpdateAvailable": "Yra atnaujinimas.", + "settingsSupport": "Pagalba", + "reportTitle": "Ataskaitos", + "reportScheduled": "Suplanuotos ataskaitos", + "reportDevice": "Prietaisas", + "reportGroup": "Grupė", + "reportFrom": "Nuo", + "reportTo": "Iki", + "reportShow": "Rodyti", + "reportClear": "Valyti", + "linkGoogleMaps": "Google žemėlapiai", + "linkAppleMaps": "Apple žemėlapiai", + "linkStreetView": "Gatvės vaizdas", + "positionFixTime": "Fiksuoti laiką", + "positionDeviceTime": "Įrenginio laikas", + "positionServerTime": "Serverio laikas", + "positionValid": "Galiojantis", + "positionAccuracy": "Tikslumas", + "positionLatitude": "Platuma", + "positionLongitude": "Ilguma", + "positionAltitude": "Aukštis", + "positionSpeed": "Greitis", + "positionCourse": "Kryptis", + "positionAddress": "Adresas", + "positionProtocol": "Protokolas", + "positionDistance": "Atstumas", + "positionRpm": "APM", + "positionFuel": "Kuras", + "positionPower": "Energija", + "positionBattery": "Baterija", + "positionRaw": "Neapdoroti duomenys", + "positionIndex": "Indeksas", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Palydovai", + "positionSatVisible": "Matomi palydovai", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Tarptinklinis ryšys", + "positionEvent": "Įvykis", + "positionAlarm": "Signalas", + "positionStatus": "Būsena", + "positionOdometer": "Odometras", + "positionServiceOdometer": "Serviso odometras", + "positionTripOdometer": "Kelionės odometras", + "positionHours": "Valandos", + "positionSteps": "Žingsniai", + "positionInput": "Įvestis", + "positionHeartRate": "Pulsas", + "positionOutput": "Išvestis", + "positionBatteryLevel": "Baterijos lygis", + "positionFuelConsumption": "Kuro suvartojimas", + "positionRfid": "RFID", + "positionVersionFw": "Programinės įrangos versija", + "positionVersionHw": "Techninės įrangos versija", + "positionIgnition": "Degimas", + "positionFlags": "Žymeklis", + "positionCharge": "Krovimas", + "positionIp": "IP", + "positionArchive": "Archyvas", + "positionVin": "VIN", + "positionApproximate": "Apytikslis", + "positionThrottle": "Throttle", + "positionMotion": "Judantis", + "positionArmed": "Uždėtas", + "positionAcceleration": "Akseleracija", + "positionTemp": "Temperatūra", + "positionDeviceTemp": "Įrenginio temperatūra", + "positionCoolantTemp": "Aušinimo temperatūra", + "positionOperator": "Operatorius", + "positionCommand": "Komanda", + "positionBlocked": "Užblokuotas", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD greitis", + "positionObdOdometer": "OBD odometras", + "positionDrivingTime": "Vairavimo laikas", + "positionDriverUniqueId": "Vairuotojo unikalus ID", + "positionCard": "Kortelė", + "positionImage": "Atvaizdas", + "positionVideo": "Vaizdo įrašas", + "positionAudio": "Garso įrašas", + "serverTitle": "Serverio nustatymai", + "serverZoom": "Priartinimas", + "serverRegistration": "Registracija", + "serverReadonly": "Skaitymo", + "serverForceSettings": "Priverstiniai nustatymai", + "serverAnnouncement": "Pranešimai", + "serverName": "Serverio pavadinimas", + "serverDescription": "Serverio aprašymas", + "serverColorPrimary": "Pirminė spalva", + "serverColorSecondary": "Papildoma spalva", + "serverLogo": "Logo vaizdas", + "serverLogoInverted": "Invertuotas logo vaizdas", + "serverChangeDisable": "Uždrausti keisti serverį", + "serverDisableShare": "Išjungti dalinimasi įrenginiais", + "mapTitle": "Žemėlapis", + "mapActive": "Aktyvūs žemėlapiai", + "mapOverlay": "Žemėlapių sluoksniai", + "mapOverlayCustom": "Pasirinkti sluoksnį", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API raktas", + "mapOpenWeatherClouds": "OpenWeather debesuotumas", + "mapOpenWeatherPrecipitation": "OpenWeather krituliai", + "mapOpenWeatherPressure": "OpenWeather slėgis", + "mapOpenWeatherWind": "OpenWeather vėjas", + "mapOpenWeatherTemperature": "OpenWeather temperatūra", + "mapLayer": "Žemėlapio sluoksnis", + "mapCustom": "Pasirinkti (XYZ)", + "mapCustomArcgis": "Pasirinkti (ArcGIS)", + "mapCustomLabel": "Pasirinkti žemėlapį", + "mapCarto": "Carto žemėlapiai", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google keliai", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps raktas", + "mapBingRoad": "Bing Maps Keliai", + "mapBingAerial": "Bing Maps Palydovas", + "mapBingHybrid": "Bing Maps Mišrus", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex žemėlapis", + "mapYandexSat": "Yandex Palydovinis", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox gatvės", + "mapMapboxStreetsDark": "Tamsus Mapbox Streets", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Palydovinis", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API raktas", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom eismo įvykiai", + "mapTomTomKey": "TomTom API raktas", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API raktas", + "mapShapePolygon": "Polygonas", + "mapShapeCircle": "Apskritimas", + "mapShapePolyline": "Polilinija", + "mapLiveRoutes": "Tiesioginiai maršrutai", + "mapDirection": "Rodyti kryptį", + "mapCurrentLocation": "Esama pozicija", + "mapPoiLayer": "Lankytinų vietų sluoksnis", + "mapClustering": "Žymų grupavimas", + "mapOnSelect": "Rodyti žemėlapį pažymėjus", + "mapDefault": "Pagrindinis žemėlapis", + "stateTitle": "Būklė", + "stateName": "Parametras", + "stateValue": "Reikšmė", + "commandTitle": "Komanda", + "commandSend": "Siųsti", + "commandSent": "Komanda nusiųsta", + "commandQueued": "Komanda eilėje", + "commandUnit": "Vienetas", + "commandCustom": "Vartotojo komanda", + "commandDeviceIdentification": "Įrenginio identifikacija", + "commandPositionSingle": "Vienkartinė ataskaita", + "commandPositionPeriodic": "Periodinės ataskaitos", + "commandPositionStop": "Stabdyti ataskaitas", + "commandEngineStop": "Stabdyti variklį", + "commandEngineResume": "Paleisti variklį", + "commandAlarmArm": "Uždėti signalą", + "commandAlarmDisarm": "Nuimti signalą", + "commandAlarmDismiss": "Nutraukti signalą", + "commandSetTimezone": "Nustatyti laiko zoną", + "commandRequestPhoto": "Gauti nuotrauką", + "commandPowerOff": "Išjungti įrenginį", + "commandRebootDevice": "Perkrauti įrenginį", + "commandFactoryReset": "Gamykliniai nustatymai", + "commandSendSms": "Siųsti SMS", + "commandSendUssd": "Siųsti USSD", + "commandSosNumber": "Nustatyti SOS numerį", + "commandSilenceTime": "Nustatyti tylos laiką", + "commandSetPhonebook": "Nustatyti adresatų knygą", + "commandVoiceMessage": "Balso žinutė", + "commandOutputControl": "Įšvesties kontrolė", + "commandVoiceMonitoring": "Balso stebėjimas", + "commandSetAgps": "Nustatyti A-GPS", + "commandSetIndicator": "Nustatyti Indikatorių", + "commandConfiguration": "Konfigūracija", + "commandGetVersion": "Gauti versiją", + "commandFirmwareUpdate": "Atnaujinti programinę įrangą", + "commandSetConnection": "Nustatyti prisijungimą", + "commandSetOdometer": "Nustatyti odometrą", + "commandGetModemStatus": "Gauti modemo būseną", + "commandGetDeviceStatus": "Gauti įrenginio būseną", + "commandSetSpeedLimit": "Nustatyti greičio limitą", + "commandModePowerSaving": "Energijos taupymo režimas", + "commandModeDeepSleep": "\"Užmigdyti\" įrenginį", + "commandAlarmGeofence": "Nustatyti georibos signalą", + "commandAlarmBattery": "Nustatyti baterijos signalą", + "commandAlarmSos": "Nustatyti SOS signalą", + "commandAlarmRemove": "Nustatyti pašalinimo signalą", + "commandAlarmClock": "Nustatyti laiko signalą", + "commandAlarmSpeed": "Nustatyti greičio signalą", + "commandAlarmFall": "Nustatyti kritimo signalą", + "commandAlarmVibration": "Nustatyti vibravimo signalą", + "commandFrequency": "Dažnis", + "commandTimezone": "Laiko zonos pataisa", + "commandMessage": "Žinutė", + "commandRadius": "Spindulys", + "commandEnable": "Įgalinti", + "commandData": "Duomenys", + "commandIndex": "Indeksas", + "commandPhone": "Telefono numeris", + "commandServer": "Serveris", + "commandPort": "Prievadas", + "eventAll": "Visi įvykiai", + "eventDeviceOnline": "Būsena pasiekiamas", + "eventDeviceUnknown": "Būsena nežinoma", + "eventDeviceOffline": "Būsena atsijungęs", + "eventDeviceInactive": "Įrenginys neaktyvus", + "eventQueuedCommandSent": "Išsiųsta komanda eilėje", + "eventDeviceMoving": "Įrenginys juda", + "eventDeviceStopped": "Įrenginys sustojo", + "eventDeviceOverspeed": "Greičio limitas viršytas", + "eventDeviceFuelDrop": "Kuras sumažėjo", + "eventDeviceFuelIncrease": "Kuras papildytas", + "eventCommandResult": "Komandos rezultatas", + "eventGeofenceEnter": "Georibų viduje", + "eventGeofenceExit": "Už georibų", + "eventAlarm": "Signalas", + "eventIgnitionOn": "Degimas įjungtas", + "eventIgnitionOff": "Degimas išjungtas", + "eventMaintenance": "Aptarnavimo poreikis", + "eventTextMessage": "Gauta tekstinė žinutė", + "eventDriverChanged": "Vairuotojas pasikeitė", + "eventMedia": "Medija", + "eventsScrollToLast": "Slinkti iki paskutinio", + "eventsSoundEvents": "Garso įvykiai", + "eventsSoundAlarms": "Garso signalai", + "alarmGeneral": "Pagrindinis", + "alarmSos": "SOS", + "alarmVibration": "Vibracija", + "alarmMovement": "Judėjimas", + "alarmLowspeed": "Mažas greitis", + "alarmOverspeed": "Greičio viršijimas", + "alarmFallDown": "Nukrito", + "alarmLowPower": "Žema įtampa", + "alarmLowBattery": "Mažas baterijos lygis", + "alarmFault": "Klaida", + "alarmPowerOff": "Išjungtas", + "alarmPowerOn": "Įjungtas", + "alarmDoor": "Durys", + "alarmLock": "Užrakinta", + "alarmUnlock": "Atrakinta", + "alarmGeofence": "Georiba", + "alarmGeofenceEnter": "Georiba įeiti", + "alarmGeofenceExit": "Georiba išeiti", + "alarmGpsAntennaCut": "GPS antena nutraukta", + "alarmAccident": "Įvykis", + "alarmTow": "Vilkimas", + "alarmIdle": "Tuščia eiga", + "alarmHighRpm": "Aukštos apsukos", + "alarmHardAcceleration": "Didelis pagreitis", + "alarmHardBraking": "Staigus stabdymas", + "alarmHardCornering": "Staigus posūkis", + "alarmLaneChange": "Juostų keitimas", + "alarmFatigueDriving": "Nuovargis", + "alarmPowerCut": "Atjungtas maitinimas", + "alarmPowerRestored": "Maitinimas atstatytas", + "alarmJamming": "Kamštis", + "alarmTemperature": "Temperatūra", + "alarmParking": "Parkavimas", + "alarmBonnet": "Variklio dangtis", + "alarmFootBrake": "Pertrauka maistui", + "alarmFuelLeak": "Kuro nuotekis", + "alarmTampering": "Gadinimas", + "alarmRemoving": "Pašalinimas", + "notificationType": "Įspėjimo tipas", + "notificationAlways": "Visi prietaisai", + "notificationNotificators": "Kanalai", + "notificatorCommand": "Komanda", + "notificatorWeb": "Web", + "notificatorMail": "El. paštas", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Pakartoti", + "reportCombined": "Sujungta", + "reportRoute": "Maršrutas", + "reportEvents": "Įvykiai", + "reportTrips": "Kelionės", + "reportStops": "Sustojimai", + "reportSummary": "Suvestinė", + "reportDaily": "Dienos suvestinė", + "reportChart": "Diagrama", + "reportConfigure": "Konfigūruoti", + "reportEventTypes": "Įvykių tipai", + "reportChartType": "Diagramų tipai", + "reportShowMarkers": "Rodyti žymeklius", + "reportExport": "Eksportuoti", + "reportEmail": "Ataskaitą siųsti el. paštu", + "reportSchedule": "Planuoti", + "reportPeriod": "Periodas", + "reportCustom": "Custom", + "reportToday": "Šiandien", + "reportYesterday": "Vakar", + "reportThisWeek": "Šią savaitę", + "reportPreviousWeek": "Praėjusią savaitę", + "reportThisMonth": "Šį mėnesį", + "reportPreviousMonth": "Praėjusį mėnesį", + "reportDeviceName": "Prietaiso vardas", + "reportAverageSpeed": "Vidutinis greitis", + "reportMaximumSpeed": "Maksimalus greitis", + "reportEngineHours": "Variklio valandos", + "reportDuration": "Trukmė", + "reportStartDate": "Pradžios data", + "reportStartTime": "Pradžios laikas", + "reportStartAddress": "Pradžios adresas", + "reportEndTime": "Pabaigos laikas", + "reportEndAddress": "Pabaigos adresas", + "reportSpentFuel": "Suvartoto kuro", + "reportStartOdometer": "Odometras startas", + "reportEndOdometer": "Odometras pabaiga", + "statisticsTitle": "Statistika", + "statisticsCaptureTime": "Užfiksuotas laikas", + "statisticsActiveUsers": "Aktyvus vartotojai", + "statisticsActiveDevices": "Aktyvūs prietaisai", + "statisticsRequests": "Prašymai", + "statisticsMessagesReceived": "Žinutė gauta", + "statisticsMessagesStored": "Žinutė išsaugota", + "statisticsGeocoder": "Geokoderio užklausos", + "statisticsGeolocation": "Geolokacijos užklausos", + "categoryArrow": "Rodyklė", + "categoryDefault": "Numatytas", + "categoryAnimal": "Gyvūnas", + "categoryBicycle": "Dviratis", + "categoryBoat": "Valtis", + "categoryBus": "Autobusas", + "categoryCar": "Automobilis", + "categoryCamper": "Kemperis", + "categoryCrane": "Kranas", + "categoryHelicopter": "Sraigtasparnis", + "categoryMotorcycle": "Motociklas", + "categoryOffroad": "Bekelės transportas", + "categoryPerson": "Asmuo", + "categoryPickup": "Pikapas", + "categoryPlane": "Lėktuvas", + "categoryShip": "Laivas", + "categoryTractor": "Traktorius", + "categoryTrain": "Traukinys", + "categoryTram": "Tramvajus", + "categoryTrolleybus": "Troleibusas", + "categoryTruck": "Vilkikas", + "categoryVan": "Autobusiuskas", + "categoryScooter": "Mopedas", + "maintenanceStart": "Pradėti", + "maintenancePeriod": "Periodas" +}
\ No newline at end of file diff --git a/legacy/web/l10n/lv.json b/legacy/web/l10n/lv.json new file mode 100644 index 00000000..5769fe30 --- /dev/null +++ b/legacy/web/l10n/lv.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Ielādē...", + "sharedHide": "Paslēpt", + "sharedSave": "Saglabāt", + "sharedUpload": "Upload", + "sharedSet": "Iestatīt", + "sharedCancel": "Atcelt", + "sharedCopy": "Copy", + "sharedAdd": "Pievienot", + "sharedEdit": "Rediģēt", + "sharedRemove": "Dzēst", + "sharedRemoveConfirm": "Izdzēst?", + "sharedNoData": "Nav datu", + "sharedSubject": "Subject", + "sharedYes": "Jā", + "sharedNo": "Nē", + "sharedKm": "km", + "sharedMi": "jū", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Stunda", + "sharedMinute": "Minūte", + "sharedSecond": "Sekunde", + "sharedDays": "dienas", + "sharedHours": "stundas", + "sharedMinutes": "minūtes", + "sharedDecimalDegrees": "Decimāldaļas", + "sharedDegreesDecimalMinutes": "Decimālgrādu minūtes", + "sharedDegreesMinutesSeconds": "Decimālgrādu sekundes", + "sharedName": "Vārds", + "sharedDescription": "Apraksts", + "sharedSearch": "Meklēt", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geolaukums", + "sharedGeofences": "Geolaukumi", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Paziņojumi", + "sharedNotification": "Paziņojums", + "sharedAttributes": "Vērtības", + "sharedAttribute": "Vērtība", + "sharedDrivers": "Vadītāji", + "sharedDriver": "Vadītājs", + "sharedArea": "Laukums", + "sharedSound": "Paziņojuma skaņa", + "sharedType": "Tips", + "sharedDistance": "Attālums", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litri", + "sharedImpGallon": "Imperiālie galoni", + "sharedUsGallon": "ASV galoni", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Saņemt kartes stāvokli", + "sharedComputedAttribute": "Aprēķināmās vērtības", + "sharedComputedAttributes": "Aprēķinātās vērtības", + "sharedCheckComputedAttribute": "Pārbaudīt aprēķinātās vērtības", + "sharedExpression": "Izteiksme", + "sharedDevice": "Ierīce", + "sharedTest": "Pārbaude", + "sharedTestNotification": "Nosūtīt testa paziņojumu", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalendārs", + "sharedCalendars": "Kalendāri", + "sharedFile": "Fails", + "sharedSearchDevices": "Meklēt ierīces", + "sharedSortBy": "Kārtot pēc", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Izvēlieties failu", + "sharedPhone": "Tālrunis", + "sharedRequired": "Obligāts", + "sharedPreferences": "Izvēlnes", + "sharedPermissions": "Atļaujas", + "sharedConnections": "Savienojumi", + "sharedExtra": "Ekstra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Teksts", + "sharedTypeNumber": "Skaitlis", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Laika zona", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saglabatā komanda", + "sharedSavedCommands": "Saglabātās komandas", + "sharedNew": "Jauns...", + "sharedShowAddress": "Rādīt adresi", + "sharedShowDetails": "Vairāk detaļu", + "sharedDisabled": "Atspējots", + "sharedMaintenance": "Uzturēšana", + "sharedDeviceAccumulators": "Akumulatori", + "sharedAlarms": "Trauksmes", + "sharedLocation": "Atrašanās vieta", + "sharedImport": "Importēt", + "sharedColumns": "Kolonnas", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Ātruma ierobežojums", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Maršruta Distance", + "attributeReportIgnoreOdometer": "Ziņojums: Ignorēt Odometru", + "attributeWebReportColor": "Web: Atskaites krāsa", + "attributeDevicePassword": "Ierīces parole", + "attributeDeviceImage": "Ierīces attēls", + "attributeDeviceInactivityStart": "Ierīces Neaktivitātes Sākšana", + "attributeDeviceInactivityPeriod": "Ierīces Neaktivitātes Periods", + "attributeProcessingCopyAttributes": "Apstrāde: Kopē Atribūtus", + "attributeColor": "Krāsa", + "attributeWebLiveRouteLength": "Web: Reāllaika Ceļa Garums", + "attributeWebSelectZoom": "Web: Palielināt Iezīmēto", + "attributeWebMaxZoom": "Web: Maksimālais zooms", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "E-pasts: SMTP adrese ", + "attributeMailSmtpPort": "E-pasts: SMTP Ports", + "attributeMailSmtpStarttlsEnable": "E-pasts: Ieslēgt SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "E-pasts: Nepieciešams SMTP STARTTLS", + "attributeMailSmtpSslEnable": "E-pasts: Iespējot SMTP SSL", + "attributeMailSmtpSslTrust": "E-pasts: SMTP SSL Uzticams", + "attributeMailSmtpSslProtocols": "E-pasts: SMTP SSL Protokoli", + "attributeMailSmtpFrom": "E-pats: SMTP Forma", + "attributeMailSmtpAuth": "E-pats: SMTP Autentif. Ieslēgta", + "attributeMailSmtpUsername": "E-pats: SMTP Lietotājvārds", + "attributeMailSmtpPassword": "E-pats: SMTP Parole", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Atslēgt notikumus", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Atslēgt vadītājus", + "attributeUiDisableComputedAttributes": "UI: Atslēgt aprēķinātos atribūtus", + "attributeUiDisableCalendars": "UI: Atslēgt kalendārus", + "attributeUiDisableMaintenance": "UI: Atslegt Apkopi", + "attributeUiHidePositionAttributes": "UI: Slēpt pozīcijas atribūtus", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Paziņojumu Žetoni", + "attributePopupInfo": "Popup Info", + "errorTitle": "Kļūda", + "errorGeneral": "Kļūdaini parametri vai satur kļūdas", + "errorConnection": "Savienojuma kļūda", + "errorSocket": "Web socket savienojuma kļūda", + "errorZero": "Nevar būt nulle", + "userEmail": "E-pasts", + "userPassword": "Parole", + "userAdmin": "Administrators", + "userRemember": "Atcerēties", + "userExpirationTime": "Derīguma termiņš", + "userDeviceLimit": "Ierīču Limits", + "userUserLimit": "Lietotāju Limits", + "userDeviceReadonly": "Tikai lasāma ierīce", + "userLimitCommands": "Ierobežot komandas", + "userDisableReports": "Atslēgt Atskaites", + "userFixedEmail": "No Email Change", + "userToken": "Zīme", + "userDeleteAccount": "Dzēst Kontu", + "userTemporary": "Temporary", + "loginTitle": "Lietotājvārds", + "loginLanguage": "Valoda", + "loginReset": "Atiestatīt paroli", + "loginRegister": "Reģistrēties", + "loginLogin": "Ieiet", + "loginOpenId": "Login with OpenID", + "loginFailed": "Kļūdains e-pasts vai parole", + "loginCreated": "Jauns lietotājs tika veiksmīgi reģistrēts ", + "loginResetSuccess": "Pārbaudiet savu e-pastu", + "loginUpdateSuccess": "Jaunā parole saglabāta", + "loginLogout": "Iziet", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Ierīces un to statusi", + "deviceSelected": "Selected Device", + "deviceTitle": "Ierīces", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifikators", + "deviceModel": "Modelis", + "deviceContact": "Kontakti", + "deviceCategory": "Kategorija", + "deviceLastUpdate": "Pēdējā atjaunošana", + "deviceCommand": "Komanda", + "deviceFollow": "Sekojiet", + "deviceTotalDistance": "Kopējais attālums", + "deviceStatus": "Statuss", + "deviceStatusOnline": "Tiešsaistē", + "deviceStatusOffline": "Bezsaistē", + "deviceStatusUnknown": "Nezināms", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Grupa", + "groupParent": "Grupa", + "groupNoGroup": "Neviena grupa", + "settingsTitle": "Iestatījumi", + "settingsUser": "Konts", + "settingsGroups": "Grupas", + "settingsServer": "Server", + "settingsUsers": "Lietotāji", + "settingsDistanceUnit": "Attāluma mērvienība", + "settingsAltitudeUnit": "Augstuma mērvienība", + "settingsSpeedUnit": "Ātruma mērvienība", + "settingsVolumeUnit": "Tilpuma mērvienība", + "settingsTwelveHourFormat": "12-h Formāts", + "settingsCoordinateFormat": "Koordinātu formāts", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Atskaites", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Ierīce", + "reportGroup": "Grupa", + "reportFrom": "No", + "reportTo": "Līdz", + "reportShow": "Parādīt", + "reportClear": "Notīrīt", + "linkGoogleMaps": "Google kartes", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Ielas skats", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Ierīces laiks", + "positionServerTime": "Servera Laiks", + "positionValid": "Derīgs", + "positionAccuracy": "Precizitāte", + "positionLatitude": "Platums", + "positionLongitude": "Garums", + "positionAltitude": "Augstums", + "positionSpeed": "Ātrums", + "positionCourse": "Kurss", + "positionAddress": "Adrese", + "positionProtocol": "Protokols", + "positionDistance": "Attālums", + "positionRpm": "RPM", + "positionFuel": "Degviela", + "positionPower": "Jauda", + "positionBattery": "Baterija", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelīti", + "positionSatVisible": "Redzamie satelīti", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Viesabonēšana", + "positionEvent": "Notikums", + "positionAlarm": "Trauksme", + "positionStatus": "Statuss", + "positionOdometer": "Odometrs", + "positionServiceOdometer": "Servisa nobraukums", + "positionTripOdometer": "Nobraukums", + "positionHours": "Stundas", + "positionSteps": "Soļi", + "positionInput": "Ievade", + "positionHeartRate": "Heart Rate", + "positionOutput": "Izvade", + "positionBatteryLevel": "Baterijas līmenis", + "positionFuelConsumption": "Degvielas patēriņš", + "positionRfid": "RFID", + "positionVersionFw": "Programmatūras versija", + "positionVersionHw": "Aparatūras versija", + "positionIgnition": "Aizdedze", + "positionFlags": "Marķieri", + "positionCharge": "Lādējas", + "positionIp": "IP", + "positionArchive": "Arhīvs", + "positionVin": "VIN", + "positionApproximate": "Aptuvenais", + "positionThrottle": "Akselerators", + "positionMotion": "Kustība", + "positionArmed": "Aizsargāts", + "positionAcceleration": "Paātrinājums", + "positionTemp": "Temperatūra", + "positionDeviceTemp": "Ierīces Temperatūra", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operators", + "positionCommand": "Komanda", + "positionBlocked": "Bloķēts", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Ātrums", + "positionObdOdometer": "ODB Nobraukums", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Vadītāja unikālais ID", + "positionCard": "Card", + "positionImage": "Attēls", + "positionVideo": "Video", + "positionAudio": "Skaņa", + "serverTitle": "Servera iestatījumi ", + "serverZoom": "Palielinājums", + "serverRegistration": "Reģistrācija", + "serverReadonly": "Tikai lasāms", + "serverForceSettings": "Pāriestatīt Iestatījumus", + "serverAnnouncement": "Paziņojums", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Karte", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Kartes slānis", + "mapCustom": "Personalizēts (XYZ)", + "mapCustomArcgis": "Personalizēts (ArcGIS)", + "mapCustomLabel": "Personalizēta karte", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetKarte", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Karšu Atslēga", + "mapBingRoad": "Bing Karšu Ceļi", + "mapBingAerial": "Bing Karšu Apgabals", + "mapBingHybrid": "Bing Hibrīdkarte", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Kartes", + "mapYandexSat": "Yandex Satelliti", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Ielas", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satelīts", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here vienkāršā", + "mapHereHybrid": "Here hibrīda", + "mapHereSatellite": "Here satelītu", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Daudzstūris", + "mapShapeCircle": "Aplis", + "mapShapePolyline": "Lauzta līnija", + "mapLiveRoutes": "Reāllaika Maršruti", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Pašreizējā atrašanās vieta", + "mapPoiLayer": "POI Slānis", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Stāvoklis", + "stateName": "Īpašības", + "stateValue": "Vērtība", + "commandTitle": "Komanda", + "commandSend": "Sūtīt", + "commandSent": "Komanda nosūtīta", + "commandQueued": "Komanda ierindota", + "commandUnit": "Vienība", + "commandCustom": "Pielāgota komanda", + "commandDeviceIdentification": "Ierīces Identifikācija", + "commandPositionSingle": "Vienas Reizes Atskaite", + "commandPositionPeriodic": "Periodiska Atskaite", + "commandPositionStop": "Apturēt Atskaites", + "commandEngineStop": "Motora Slāpēšana", + "commandEngineResume": "Motora Startēšana", + "commandAlarmArm": "Aktivizēt Trauksmi", + "commandAlarmDisarm": "Izslēgt Trauksmi", + "commandAlarmDismiss": "Atslēgt Paziņojumu", + "commandSetTimezone": "Iestatīt Laika Zonu", + "commandRequestPhoto": "Pieprasīt Fotoattēlu", + "commandPowerOff": "Izslēgt Ierīci", + "commandRebootDevice": "Pārstartēt Ierīci", + "commandFactoryReset": "Sākotnējā režīma iestatīšana", + "commandSendSms": "Nosūtīt Īsziņu", + "commandSendUssd": "Nosūtīt USSD", + "commandSosNumber": "Iestatīt SOS numuru", + "commandSilenceTime": "Iestatīt Klusuma Laiku", + "commandSetPhonebook": "Iestatīt Tālruņa Grāmatu", + "commandVoiceMessage": "Balss Ziņojums", + "commandOutputControl": "Izejas Kontrole", + "commandVoiceMonitoring": "Balss uzraudzība", + "commandSetAgps": "Uzstādīt AGPS", + "commandSetIndicator": "Iestatīt Indikatoru", + "commandConfiguration": "Konfigurācija", + "commandGetVersion": "Saņemt versiju", + "commandFirmwareUpdate": "Atjaunot programmatūru", + "commandSetConnection": "Iestatīt savienojumu", + "commandSetOdometer": "Iestatīt odometru", + "commandGetModemStatus": "Saņemt modema statusu", + "commandGetDeviceStatus": "Saņemt ierīces statusu", + "commandSetSpeedLimit": "Iestatīt ātruma limitu", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Iestatīt akulumatora brīdinājumu", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Biežums", + "commandTimezone": "Laika Joslas Nobīde", + "commandMessage": "Ziņa", + "commandRadius": "Rādiuss", + "commandEnable": "Iespējot", + "commandData": "Datums", + "commandIndex": "Indekss", + "commandPhone": "Telefona Numurs", + "commandServer": "Serveris", + "commandPort": "Ports", + "eventAll": "Visi Notikumi", + "eventDeviceOnline": "Statuss aktīvs", + "eventDeviceUnknown": "Statuss nezināms", + "eventDeviceOffline": "Statuss bezsaistē", + "eventDeviceInactive": "Ierīce neaktīva", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Ierīce pārvietojas", + "eventDeviceStopped": "Ierīce apturēta", + "eventDeviceOverspeed": "Ātruma limits pārsniegts", + "eventDeviceFuelDrop": "Degvielas kritums", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Komandas rezultāts", + "eventGeofenceEnter": "Ienāca apgabalā", + "eventGeofenceExit": "Pameta apgabalu", + "eventAlarm": "Trauksme", + "eventIgnitionOn": "Aizdedze Iesl.", + "eventIgnitionOff": "Aizdedze Izsl.", + "eventMaintenance": "Nepieciešama tehniskā apkope", + "eventTextMessage": "Saņemta īsziņa", + "eventDriverChanged": "Mainījies vadītājs", + "eventMedia": "Media", + "eventsScrollToLast": "Ritināt Uz Pēdējo", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Vispārēji", + "alarmSos": "SOS", + "alarmVibration": "Vibrācija", + "alarmMovement": "Kustība", + "alarmLowspeed": "Zems Ātrums", + "alarmOverspeed": "Ātruma pārsniegšana", + "alarmFallDown": "Savienojuma Pārrāvums", + "alarmLowPower": "Zema Enerģija", + "alarmLowBattery": "Tukša Baterija", + "alarmFault": "Kļūda", + "alarmPowerOff": "Barošana Izsl.", + "alarmPowerOn": "Barošana Iesl.", + "alarmDoor": "Durvis", + "alarmLock": "Slēgt", + "alarmUnlock": "Atslēgt", + "alarmGeofence": "Apgabals", + "alarmGeofenceEnter": "Ienākšana Apgabalā", + "alarmGeofenceExit": "Apgabala pamešana", + "alarmGpsAntennaCut": "GPS Antena Atvienota", + "alarmAccident": "Negadījums", + "alarmTow": "Vilkšana", + "alarmIdle": "Tukšgaita", + "alarmHighRpm": "Augsti Apgriezieni", + "alarmHardAcceleration": "Straujšs paātrinājums", + "alarmHardBraking": "Strauja Bremzēšana", + "alarmHardCornering": "Strauja Manevrēšana", + "alarmLaneChange": "Joslas Maiņa", + "alarmFatigueDriving": "Neadekvāta Braukšana", + "alarmPowerCut": "Barošana Noslēgta", + "alarmPowerRestored": "Barošana Atjaunota", + "alarmJamming": "Sastrēgums", + "alarmTemperature": "Temperatūra", + "alarmParking": "Stāvvieta", + "alarmBonnet": "Motora pārsegs", + "alarmFootBrake": "Kājas bremze", + "alarmFuelLeak": "Degvielas noplūde", + "alarmTampering": "Iespaido", + "alarmRemoving": "Noņem", + "notificationType": "Ziņojuma Tips", + "notificationAlways": "Visas ierīces", + "notificationNotificators": "Kanāli", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "e-pasts", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Atkārtot", + "reportCombined": "Combined", + "reportRoute": "Maršruts", + "reportEvents": "Notikumi", + "reportTrips": "Braucieni", + "reportStops": "Pieturas", + "reportSummary": "Kopsavilkums", + "reportDaily": "Dienas Kopsavilkums", + "reportChart": "Grafiks", + "reportConfigure": "Konfigurēt", + "reportEventTypes": "Notikumu Veidi", + "reportChartType": "Grafika Veids", + "reportShowMarkers": "Rādīt Marķierus", + "reportExport": "Eksportēt", + "reportEmail": "e-pasta Ziņojums", + "reportSchedule": "Schedule", + "reportPeriod": "Periods", + "reportCustom": "Pielāgoti", + "reportToday": "Šodien", + "reportYesterday": "Vakar", + "reportThisWeek": "Šonedēļ", + "reportPreviousWeek": "Iepriekšējā nedēļa", + "reportThisMonth": "Šis mēnesis", + "reportPreviousMonth": "Iepriekšējais mēnesis", + "reportDeviceName": "Ierīces Nosaukums", + "reportAverageSpeed": "Vidējais Ātrums", + "reportMaximumSpeed": "Maksimālais Ātrums", + "reportEngineHours": "Motorstundas", + "reportDuration": "Ilgums", + "reportStartDate": "Sākuma Datums", + "reportStartTime": "Sākuma Laiks", + "reportStartAddress": "Sākuma Adrese", + "reportEndTime": "Beigu Laiks", + "reportEndAddress": "Beigu Adrese", + "reportSpentFuel": "Patērētā Degviela", + "reportStartOdometer": "Odometra sākums", + "reportEndOdometer": "Odometra beigas", + "statisticsTitle": "Statistika", + "statisticsCaptureTime": "Uzņemšanas Laiks", + "statisticsActiveUsers": "Aktīvie Lietotāji", + "statisticsActiveDevices": "Aktīvās Ierīces", + "statisticsRequests": "Pieprasījumi", + "statisticsMessagesReceived": "Saņemtie Ziņojumi", + "statisticsMessagesStored": "Saglabātie Ziņojumi", + "statisticsGeocoder": "Geocoder Pieprasījumi", + "statisticsGeolocation": "Atrašanās Vietu Pieprasījumi", + "categoryArrow": "Bultiņa", + "categoryDefault": "Noklusējums", + "categoryAnimal": "Dzīvnieks", + "categoryBicycle": "Velosipēds", + "categoryBoat": "Laiva", + "categoryBus": "Autobuss", + "categoryCar": "Automašīna", + "categoryCamper": "Camper", + "categoryCrane": "Celtnis", + "categoryHelicopter": "Helikopters", + "categoryMotorcycle": "Motocikls", + "categoryOffroad": "Bezceļnieks", + "categoryPerson": "Persona", + "categoryPickup": "Pikaps", + "categoryPlane": "Lidmašīna", + "categoryShip": "Kuģis", + "categoryTractor": "Traktors", + "categoryTrain": "Vilciens", + "categoryTram": "Tramvajs", + "categoryTrolleybus": "Trolejbuss", + "categoryTruck": "Smagā mašīna", + "categoryVan": "Busiņš", + "categoryScooter": "Skrejritenis", + "maintenanceStart": "Sākt", + "maintenancePeriod": "Periods" +}
\ No newline at end of file diff --git a/legacy/web/l10n/mk.json b/legacy/web/l10n/mk.json new file mode 100644 index 00000000..4aa2119e --- /dev/null +++ b/legacy/web/l10n/mk.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Вчитување...", + "sharedHide": "Сокриј", + "sharedSave": "Зачувај", + "sharedUpload": "Прикачи", + "sharedSet": "Постави", + "sharedCancel": "Откажи", + "sharedCopy": "Копирај", + "sharedAdd": "Додади", + "sharedEdit": "Уреди", + "sharedRemove": "Отстрани", + "sharedRemoveConfirm": "Дали да се отстрани предметот?", + "sharedNoData": "Нема податоци", + "sharedSubject": "Тема", + "sharedYes": "Да", + "sharedNo": "Не", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Час", + "sharedMinute": "Минута", + "sharedSecond": "Секунда", + "sharedDays": "денови", + "sharedHours": "часови", + "sharedMinutes": "минути", + "sharedDecimalDegrees": "Децимални Степени", + "sharedDegreesDecimalMinutes": "Степени Децимални Минути", + "sharedDegreesMinutesSeconds": "Степени Минути Секунди", + "sharedName": "Име", + "sharedDescription": "Опис", + "sharedSearch": "Пребарување", + "sharedIconScale": "Размер на икони", + "sharedGeofence": "Географска зона", + "sharedGeofences": "Географски зони", + "sharedCreateGeofence": "Креирај Географска зона", + "sharedNotifications": "Известувања", + "sharedNotification": "Известување", + "sharedAttributes": "Атрибути", + "sharedAttribute": "Атрибут", + "sharedDrivers": "Возачи", + "sharedDriver": "Возач", + "sharedArea": "Област", + "sharedSound": "Звук за известување", + "sharedType": "Тип", + "sharedDistance": "Растојание", + "sharedHourAbbreviation": "ч", + "sharedMinuteAbbreviation": "м", + "sharedSecondAbbreviation": "с", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "I", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Литар", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "л/ч", + "sharedGetMapState": "Состојба на Мапа", + "sharedComputedAttribute": "Пресметан Атрибут", + "sharedComputedAttributes": "Пресметани Атрибути", + "sharedCheckComputedAttribute": "Провери го пресметаниот атрибут", + "sharedExpression": "Израз", + "sharedDevice": "Уред", + "sharedTest": "Тест", + "sharedTestNotification": "Испрати тест известување", + "sharedTestNotificators": "Тест Канали", + "sharedTestExpression": "Тестирај Изразување", + "sharedCalendar": "Календар", + "sharedCalendars": "Календари", + "sharedFile": "Фајл", + "sharedSearchDevices": "Пребарај Уреди", + "sharedSortBy": "Подреди по", + "sharedFilterMap": "Филтер на Мапа", + "sharedSelectFile": "Избери фајл", + "sharedPhone": "Телефон", + "sharedRequired": "Задолжително", + "sharedPreferences": "Подесувања", + "sharedPermissions": "Дозволи", + "sharedConnections": "Конекции", + "sharedExtra": "Екстра", + "sharedPrimary": "Примарен", + "sharedSecondary": "Секундарен", + "sharedTypeString": "Стринг", + "sharedTypeNumber": "Број", + "sharedTypeBoolean": "Булеан", + "sharedTimezone": "Временска зона", + "sharedInfoTitle": "Инфо", + "sharedSavedCommand": "Зачувана Команда", + "sharedSavedCommands": "Зачувани Команди", + "sharedNew": "Нов...", + "sharedShowAddress": "Прикажи Адреса", + "sharedShowDetails": "Повеќе Детали", + "sharedDisabled": "Оневозможено", + "sharedMaintenance": "Одржување", + "sharedDeviceAccumulators": "Акумулатори", + "sharedAlarms": "Аларми", + "sharedLocation": "Локација", + "sharedImport": "Импортирај", + "sharedColumns": "Колони", + "sharedDropzoneText": "Повлечи фајл овде или кликни", + "sharedLogs": "Логови", + "sharedLink": "Линк", + "calendarSimple": "Едноставно", + "calendarRecurrence": "Повторување", + "calendarOnce": "Еднаш", + "calendarDaily": "Дневно", + "calendarWeekly": "Неделно", + "calendarMonthly": "Месечно", + "calendarDays": "Денови", + "calendarSunday": "Недела", + "calendarMonday": "Понеделник", + "calendarTuesday": "Вторник", + "calendarWednesday": "Среда", + "calendarThursday": "Четврток", + "calendarFriday": "Петок", + "calendarSaturday": "Сабота", + "attributeShowGeofences": "Прикажи Географски зони", + "attributeSpeedLimit": "Ограничување на брзината", + "attributeFuelDropThreshold": "Граница на прелиено гориво", + "attributeFuelIncreaseThreshold": "Граница на надополнето гориво", + "attributePolylineDistance": "Повеќелиниска оддалеченост", + "attributeReportIgnoreOdometer": "Извештај: Игнорирај го одометарот", + "attributeWebReportColor": "Веб: Боја на извештај", + "attributeDevicePassword": "Лозинка на уредот", + "attributeDeviceImage": "Слика на уредот", + "attributeDeviceInactivityStart": "Почеток на неактивност на уредот", + "attributeDeviceInactivityPeriod": "Период на неактивност на уредот", + "attributeProcessingCopyAttributes": "Процесирање: Копирање на атрибути", + "attributeColor": "Боја", + "attributeWebLiveRouteLength": "Веб: Должина на рута", + "attributeWebSelectZoom": "Веб: Зумирај го селектираното", + "attributeWebMaxZoom": "Веб: Максимално зумирање", + "attributeTelegramChatId": "Телеграм ID", + "attributePushoverUserKey": "Прoследи кориснички клуч", + "attributePushoverDeviceNames": "Проследи ги имињата на уредите", + "attributeMailSmtpHost": "Меил: SMTP хост", + "attributeMailSmtpPort": "Меил: SMTP порт", + "attributeMailSmtpStarttlsEnable": "Меил: Овозможи SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Меил: SMTP STARTTLS е потребен", + "attributeMailSmtpSslEnable": "Меил: Овозможи SMTP SSL", + "attributeMailSmtpSslTrust": "Меил: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Меил: SMTP SSL протоколи", + "attributeMailSmtpFrom": "Меил: SMTP Испраќач", + "attributeMailSmtpAuth": "Меил: Овозможи SMTP автентикација", + "attributeMailSmtpUsername": "Меил: SMTP корисничко име", + "attributeMailSmtpPassword": "Меил: SMTP лозинка", + "attributeUiDisableSavedCommands": "Исклучи зачувани команди", + "attributeUiDisableAttributes": "UI: Оневозможи атрибути", + "attributeUiDisableGroups": "UI: Оневозможи групи", + "attributeUiDisableEvents": "UI: Оневозможи настани", + "attributeUiDisableVehicleFeatures": "UI: Оневозможи карактеристики на возила", + "attributeUiDisableDrivers": "UI: Оневозможи возачи", + "attributeUiDisableComputedAttributes": "UI: Оневозможи пресметани атрибути", + "attributeUiDisableCalendars": "UI: Оневозможи календари", + "attributeUiDisableMaintenance": "UI: Оневозможи одржување", + "attributeUiHidePositionAttributes": "UI: Сокриј атрибути на позиција", + "attributeUiDisableLoginLanguage": "UI: Оневозможи промена на јазик при најава", + "attributeNotificationTokens": "Токени за известување", + "attributePopupInfo": "Popup инфо", + "errorTitle": "Грешка", + "errorGeneral": "Невалидни параметри или кршење на ограничувањето", + "errorConnection": "Грешка во комуникација", + "errorSocket": "Web socket грешка во комуникација", + "errorZero": "Не може да биди нула", + "userEmail": "e-mail", + "userPassword": "Лозинка", + "userAdmin": "Администратор", + "userRemember": "Запамти", + "userExpirationTime": "Истекува на", + "userDeviceLimit": "Максимален број на уреди", + "userUserLimit": "Максимален број на корисници", + "userDeviceReadonly": "Уредот е Readonly", + "userLimitCommands": "Ограничи команди", + "userDisableReports": "Оневозможи извештаи", + "userFixedEmail": "Забрани промена на e-mail", + "userToken": "Токен", + "userDeleteAccount": "Избриши Акаунт", + "userTemporary": "Привремено", + "loginTitle": "Најава", + "loginLanguage": "Јазик", + "loginReset": "Ресетирај лозинка", + "loginRegister": "Регистрација", + "loginLogin": "Најава", + "loginOpenId": "Најава со OpenID", + "loginFailed": "невалидна e-mail адреса или лозинка", + "loginCreated": "Нов корисник е регистриран", + "loginResetSuccess": "Проверете ја вашата e-mail адреса", + "loginUpdateSuccess": "Новата лозинка е поставена", + "loginLogout": "Одјава", + "loginLogo": "Лого", + "loginTotpCode": "Еднократен код за лозинка", + "loginTotpKey": "Еднократен клуч за лозинка", + "devicesAndState": "Уреди и статус", + "deviceSelected": "Избран уред", + "deviceTitle": "Уреди", + "devicePrimaryInfo": "Назив на уред", + "deviceSecondaryInfo": "Детали за уред", + "deviceIdentifier": "Идентификатор", + "deviceModel": "Модел", + "deviceContact": "Контакт", + "deviceCategory": "Категорија", + "deviceLastUpdate": "Последна промена", + "deviceCommand": "Команда", + "deviceFollow": "Прати", + "deviceTotalDistance": "Вкупно растојание", + "deviceStatus": "Статус", + "deviceStatusOnline": "Достапен", + "deviceStatusOffline": "Недостапен", + "deviceStatusUnknown": "Непознато", + "deviceRegisterFirst": "Регистрирај го твојот прв уред", + "deviceIdentifierHelp": "IMEI, сериски број или друг ID. Треба да биде ист со уредот кој се поврзува на сервер", + "deviceShare": "Сподели уред", + "groupDialog": "Група", + "groupParent": "Група", + "groupNoGroup": "Нема група", + "settingsTitle": "Подесувања", + "settingsUser": "Акаунт", + "settingsGroups": "Групи", + "settingsServer": "Сервер", + "settingsUsers": "Корисници", + "settingsDistanceUnit": "Единица за растојание", + "settingsAltitudeUnit": "Единица за висина", + "settingsSpeedUnit": "Единица за брзина", + "settingsVolumeUnit": "Единица за волумен", + "settingsTwelveHourFormat": "12-часовен формат", + "settingsCoordinateFormat": "Формат за координати", + "settingsServerVersion": "Верзија на сервер", + "settingsAppVersion": "Верзија на апликација", + "settingsConnection": "Конекција", + "settingsDarkMode": "Dark мод", + "settingsTotpEnable": "Овозможи еднократна лозинка", + "settingsTotpForce": "Форсирај еднократна лозинка", + "settingsServiceWorkerUpdateInterval": "Интервал на ажурирање за ServiceWorker", + "settingsUpdateAvailable": "Достапна е нова верзија", + "settingsSupport": "Поддршка", + "reportTitle": "Извештаи", + "reportScheduled": "Редовни извештаи", + "reportDevice": "Уред", + "reportGroup": "Група", + "reportFrom": "Од", + "reportTo": "До", + "reportShow": "Прикажи", + "reportClear": "Избриши", + "linkGoogleMaps": "Google мапи", + "linkAppleMaps": "Apple мапи", + "linkStreetView": "Уличен поглед мод", + "positionFixTime": "Време за фиксирање", + "positionDeviceTime": "Време на уредот", + "positionServerTime": "Време на сервер", + "positionValid": "Валидно", + "positionAccuracy": "Прецизност", + "positionLatitude": "Географска ширина", + "positionLongitude": "Географска должина", + "positionAltitude": "Висина", + "positionSpeed": "Брзина", + "positionCourse": "Правец", + "positionAddress": "Адреса", + "positionProtocol": "Протокол", + "positionDistance": "Растојание", + "positionRpm": "Обртаи", + "positionFuel": "Гориво", + "positionPower": "Напојување", + "positionBattery": "Батерија", + "positionRaw": "Сирови податоци", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Сателити", + "positionSatVisible": "Видливи сателити", + "positionRssi": "RSSI", + "positionGps": "ГПС", + "positionRoaming": "Роаминг", + "positionEvent": "Настан", + "positionAlarm": "Аларм", + "positionStatus": "Статус", + "positionOdometer": "Одометар", + "positionServiceOdometer": "Сервисен одометар", + "positionTripOdometer": "Патен одометар", + "positionHours": "Часови", + "positionSteps": "Чекори", + "positionInput": "Влез", + "positionHeartRate": "Пулс", + "positionOutput": "Излез", + "positionBatteryLevel": "Ниво на батерија", + "positionFuelConsumption": "Потрошувачка на гориво", + "positionRfid": "RFID", + "positionVersionFw": "Верзија на фирмвер", + "positionVersionHw": "Верзија на хардвер", + "positionIgnition": "Контакт-IGN", + "positionFlags": "Ознаки", + "positionCharge": "Полнење", + "positionIp": "IP", + "positionArchive": "Архива", + "positionVin": "Бр. шасија", + "positionApproximate": "Приближно", + "positionThrottle": "Гас", + "positionMotion": "Движење", + "positionArmed": "Активен", + "positionAcceleration": "Забрзување", + "positionTemp": "Температура", + "positionDeviceTemp": "Температура на уред", + "positionCoolantTemp": "Температура на разладен елемент", + "positionOperator": "Оператор", + "positionCommand": "Команда", + "positionBlocked": "Блокирано", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Брзина", + "positionObdOdometer": "OBD одометар", + "positionDrivingTime": "Време на возење", + "positionDriverUniqueId": "ID на возач", + "positionCard": "Картичка", + "positionImage": "Слика", + "positionVideo": "Видео", + "positionAudio": "Аудио", + "serverTitle": "Подесувања за сервер", + "serverZoom": "Зумирање", + "serverRegistration": "Регистрација", + "serverReadonly": "Само преглед", + "serverForceSettings": "Форсирани поставки", + "serverAnnouncement": "Објава", + "serverName": "Име на сервер", + "serverDescription": "Опис на сервер", + "serverColorPrimary": "Примарна боја", + "serverColorSecondary": "Секундарна боја", + "serverLogo": "Слика за лого", + "serverLogoInverted": "Инверзна слика за лого", + "serverChangeDisable": "Оневозможи промена на сервер", + "serverDisableShare": "Оневозможи споделување на уреди", + "mapTitle": "Мапа", + "mapActive": "Активни мапи", + "mapOverlay": "Преклопени мапи", + "mapOverlayCustom": "Прилагодено преклопување", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API клуч", + "mapOpenWeatherClouds": "OpenWeather облаци", + "mapOpenWeatherPrecipitation": "OpenWeather врнежи", + "mapOpenWeatherPressure": "OpenWeather атм. притисок", + "mapOpenWeatherWind": "OpenWeather Ветер", + "mapOpenWeatherTemperature": "OpenWeather Температура", + "mapLayer": "Тип на мапа", + "mapCustom": "Прилагодено (XYZ)", + "mapCustomArcgis": "Прилагодено (ArcGIS)", + "mapCustomLabel": "Прилагодена мапа", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google патишта", + "mapGoogleHybrid": "Google хибрид", + "mapGoogleSatellite": "Google сателити", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps клуч", + "mapBingRoad": "Bing Maps патишта", + "mapBingAerial": "Bing Maps воздушна", + "mapBingHybrid": "Bing Maps хибрид", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex сателит", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox сателит", + "mapMapboxKey": "Mapbox Токен за пристап", + "mapMapTilerBasic": "MapTiler основна", + "mapMapTilerHybrid": "MapTiler хибрид", + "mapMapTilerKey": "MapTiler API клуч", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ токен за пристап", + "mapTomTomBasic": "TomTom основна", + "mapTomTomFlow": "TomTom сообраќај", + "mapTomTomIncidents": "TomTom инциденти во сообраќај", + "mapTomTomKey": "TomTom API клуч", + "mapHereBasic": "Here основна", + "mapHereHybrid": "Here хибрид", + "mapHereSatellite": "Here сателит", + "mapHereFlow": "Here сообраќај", + "mapHereKey": "Here API клуч", + "mapShapePolygon": "Полигон", + "mapShapeCircle": "Круг", + "mapShapePolyline": "Полилинија", + "mapLiveRoutes": "Рути во живо", + "mapDirection": "Покажи насоки", + "mapCurrentLocation": "Моментална локација", + "mapPoiLayer": "Слој за точки од интерес", + "mapClustering": "Организација на маркери", + "mapOnSelect": "Прикажи мапа при селекција", + "mapDefault": "Предефинирана мапа", + "stateTitle": "Состојба", + "stateName": "Атрибут", + "stateValue": "Вредност", + "commandTitle": "Команда", + "commandSend": "Испрати", + "commandSent": "Командата е испратена", + "commandQueued": "Командата е на чекање", + "commandUnit": "Единица", + "commandCustom": "Прилагодена команда", + "commandDeviceIdentification": "Идентификација на уред", + "commandPositionSingle": "Единечно известување", + "commandPositionPeriodic": "Периодично известување", + "commandPositionStop": "Исклучи известување", + "commandEngineStop": "Изгаснат мотор", + "commandEngineResume": "Мотор во работа", + "commandAlarmArm": "Активирај аларм", + "commandAlarmDisarm": "Деактивирај аларм", + "commandAlarmDismiss": "Откажи аларм", + "commandSetTimezone": "Постави временска зона", + "commandRequestPhoto": "Побарај фотографија", + "commandPowerOff": "Исклучи уред", + "commandRebootDevice": "Рестартирај уред", + "commandFactoryReset": "Фабрични подесувања", + "commandSendSms": "Испрати СМС", + "commandSendUssd": "Испрати USSD", + "commandSosNumber": "Постави SOS број", + "commandSilenceTime": "Постави тивко време", + "commandSetPhonebook": "Постави Контакти", + "commandVoiceMessage": "Говорна порака", + "commandOutputControl": "Контрола на излез", + "commandVoiceMonitoring": "Гласовен мониторинг", + "commandSetAgps": "Постави АГПС", + "commandSetIndicator": "Постави индикатор", + "commandConfiguration": "Конфигурација", + "commandGetVersion": "Провери верзија", + "commandFirmwareUpdate": "Надградба на фирмвер", + "commandSetConnection": "Постави конекција", + "commandSetOdometer": "Постави одометар", + "commandGetModemStatus": "Провери статус на модем", + "commandGetDeviceStatus": "Провери статус на уред", + "commandSetSpeedLimit": "Постави ограничување на брзина", + "commandModePowerSaving": "Економичен мод", + "commandModeDeepSleep": "Deep Sleep мод", + "commandAlarmGeofence": "Постави аларм за географска зона", + "commandAlarmBattery": "Постави аларм за батерија", + "commandAlarmSos": "Постави СОС аларм", + "commandAlarmRemove": "Поставки за бришење на аларм", + "commandAlarmClock": "Постави временски аларм", + "commandAlarmSpeed": "Постави аларм за брзина", + "commandAlarmFall": "Постави аларм за пад", + "commandAlarmVibration": "Постави аларм за вибрации", + "commandFrequency": "Фреквенција", + "commandTimezone": "Отстапување од временска зона", + "commandMessage": "Порака", + "commandRadius": "Радиус", + "commandEnable": "Овозможи", + "commandData": "Податоци", + "commandIndex": "Индекс", + "commandPhone": "Телефонски број", + "commandServer": "Сервер", + "commandPort": "Порт", + "eventAll": "Сите настани", + "eventDeviceOnline": "Статус вклучен", + "eventDeviceUnknown": "Статус напознат", + "eventDeviceOffline": "Статус исклучен", + "eventDeviceInactive": "Уредот е неактивен", + "eventQueuedCommandSent": "Испратена команда на чекање", + "eventDeviceMoving": "Уредот е во движење", + "eventDeviceStopped": "Уредот е запрен", + "eventDeviceOverspeed": "Брзината е над дозволената", + "eventDeviceFuelDrop": "Пад на ниво на гориво", + "eventDeviceFuelIncrease": "Дотур на гориво", + "eventCommandResult": "Статус од команда", + "eventGeofenceEnter": "Влез во географска зона", + "eventGeofenceExit": "Излез од географска зона", + "eventAlarm": "Аларм", + "eventIgnitionOn": "Вклучен контакт-IGN", + "eventIgnitionOff": "Исклучен контакт-IGN", + "eventMaintenance": "Потребно е да се изврши одржување", + "eventTextMessage": "Примена е текст порака", + "eventDriverChanged": "Променет возач", + "eventMedia": "Media", + "eventsScrollToLast": "Прелистај до последна", + "eventsSoundEvents": "Звучни настани", + "eventsSoundAlarms": "звучни аларми", + "alarmGeneral": "Општо", + "alarmSos": "СОС", + "alarmVibration": "Вибрација", + "alarmMovement": "Движење", + "alarmLowspeed": "Мала брзина", + "alarmOverspeed": "Прекорачување на брзината", + "alarmFallDown": "Пад", + "alarmLowPower": "Слаб напон", + "alarmLowBattery": "Ниско ниво на батерија", + "alarmFault": "дефект, грешка", + "alarmPowerOff": "Исклучи", + "alarmPowerOn": "Уклучи", + "alarmDoor": "Врата", + "alarmLock": "Заклучи", + "alarmUnlock": "Отклучи", + "alarmGeofence": "Географска зона", + "alarmGeofenceEnter": "Влез во географска зона", + "alarmGeofenceExit": "Излез од географска зона", + "alarmGpsAntennaCut": "ГПС антената е исклучена", + "alarmAccident": "Несреќа", + "alarmTow": "Влечи", + "alarmIdle": "Неутрална брзина-лер", + "alarmHighRpm": "Високи обртаи", + "alarmHardAcceleration": "Нагло забрзување", + "alarmHardBraking": "Нагло кочење", + "alarmHardCornering": "Нагло свртување", + "alarmLaneChange": "Промена на траса", + "alarmFatigueDriving": "Возење со замор", + "alarmPowerCut": "Прекин на напојување", + "alarmPowerRestored": "Напојувањето е вратено во функција", + "alarmJamming": "Блокирање", + "alarmTemperature": "Температура", + "alarmParking": "Паркирање", + "alarmBonnet": "Хауба", + "alarmFootBrake": "Кочница", + "alarmFuelLeak": "Истекување на гориво", + "alarmTampering": "Манипулирање", + "alarmRemoving": "Отстранување", + "notificationType": "Тип на известување", + "notificationAlways": "Сите уреди", + "notificationNotificators": "Канали", + "notificatorCommand": "Команда", + "notificatorWeb": "Веб", + "notificatorMail": "е-mail", + "notificatorSms": "СМС", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Телеграм", + "notificatorPushover": "Проследи", + "reportReplay": "Репродукција", + "reportCombined": "Комбинирано", + "reportRoute": "Рута", + "reportEvents": "Настани", + "reportTrips": "Патувања", + "reportStops": "Застанувања", + "reportSummary": "Преглед", + "reportDaily": "Дневен преглед", + "reportChart": "Графикон", + "reportConfigure": "Конфигурирај", + "reportEventTypes": "Типови на настани", + "reportChartType": "Тип на графикон", + "reportShowMarkers": "Покажи маркери", + "reportExport": "Извези", + "reportEmail": "Извештај по е-mail", + "reportSchedule": "Распоред", + "reportPeriod": "Период", + "reportCustom": "Прилагодено", + "reportToday": "Денес", + "reportYesterday": "Вчера", + "reportThisWeek": "Тековна седмица", + "reportPreviousWeek": "Претходна седмица", + "reportThisMonth": "Тековен месец", + "reportPreviousMonth": "Претходен месец", + "reportDeviceName": "Име на уред", + "reportAverageSpeed": "Просечна брзина", + "reportMaximumSpeed": "Максимална брзина", + "reportEngineHours": "Работни саати", + "reportDuration": "Времетраење", + "reportStartDate": "Почетен датум", + "reportStartTime": "Почетно време", + "reportStartAddress": "Почетна адреса", + "reportEndTime": "Крајно време", + "reportEndAddress": "Крајна адреса", + "reportSpentFuel": "Потрошено гориво", + "reportStartOdometer": "Почетна километража", + "reportEndOdometer": "Крајна километража", + "statisticsTitle": "Статистики", + "statisticsCaptureTime": "Време на сликање", + "statisticsActiveUsers": "Активни корисници", + "statisticsActiveDevices": "Активни уреди", + "statisticsRequests": "Барања", + "statisticsMessagesReceived": "Примени пораки", + "statisticsMessagesStored": "Сочувани пораки", + "statisticsGeocoder": "барања од геокодер", + "statisticsGeolocation": "барања од геолокација", + "categoryArrow": "Стрелка", + "categoryDefault": "Основно", + "categoryAnimal": "Животно", + "categoryBicycle": "Велосипед", + "categoryBoat": "Чамец", + "categoryBus": "Автобус", + "categoryCar": "Автомобил", + "categoryCamper": "Кампер", + "categoryCrane": "Кран", + "categoryHelicopter": "Хеликоптер", + "categoryMotorcycle": "Моторцикл", + "categoryOffroad": "Теренец", + "categoryPerson": "Личност", + "categoryPickup": "Пикап", + "categoryPlane": "Авион", + "categoryShip": "Брод", + "categoryTractor": "Трактор", + "categoryTrain": "Воз", + "categoryTram": "Трамвај", + "categoryTrolleybus": "Тролејбус", + "categoryTruck": "Камион", + "categoryVan": "Комбе", + "categoryScooter": "Скутер", + "maintenanceStart": "Почеток", + "maintenancePeriod": "Период" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ml.json b/legacy/web/l10n/ml.json new file mode 100644 index 00000000..40dde8f2 --- /dev/null +++ b/legacy/web/l10n/ml.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "ലോഡുചെയ്യുന്നു ..", + "sharedHide": "മറയ്ക്കുക", + "sharedSave": "സേവ്", + "sharedUpload": "Upload", + "sharedSet": "സെറ്റ്", + "sharedCancel": "റദ്ദാക്കുക", + "sharedCopy": "Copy", + "sharedAdd": "ചേര്ക്കുക", + "sharedEdit": "തിരുത്തുക", + "sharedRemove": "നീക്കം ചെയ്യുക", + "sharedRemoveConfirm": "ഐറ്റം നീക്കം ചെയ്യട്ടെ ?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "കി.മീ.", + "sharedMi": "മൈൽ", + "sharedNmi": "നൗട്ടിക്കൽ മൈൽ", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "കനോട്സ്", + "sharedKmh": "കിലോമീറ്റർ /മണിക്കൂർ", + "sharedMph": "മൈൽസ് / മണിക്കൂർ", + "sharedHour": "മണിക്കൂർ", + "sharedMinute": "മിനിറ്റ്", + "sharedSecond": "സെക്കന്റ്", + "sharedDays": "ദിവസങ്ങൾ ", + "sharedHours": "മണിക്കൂറുകൾ", + "sharedMinutes": "മിനിറ്റ് ", + "sharedDecimalDegrees": "ദശാംശ ഡിഗ്രി", + "sharedDegreesDecimalMinutes": "ഡിഗ്രി ദശാംശ മിനിറ്റ് ", + "sharedDegreesMinutesSeconds": "ഡിഗ്രി മിനിറ്റ് സെക്കൻഡ് ", + "sharedName": "പേര്", + "sharedDescription": "വിവരണം", + "sharedSearch": "സെർച്ച് ", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "ജിയോഫെൻസ് ", + "sharedGeofences": "ജിയോഫെൻസെസ് ", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "അറിയിപ്പുകൾ", + "sharedNotification": "Notification", + "sharedAttributes": "അട്രീബൂട്ട്സ് ", + "sharedAttribute": "അട്രീബൂട്ട്", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "ഏരിയ", + "sharedSound": "അറിയിപ്പ് ശബ്ദം", + "sharedType": "ടൈപ്പ്", + "sharedDistance": "ദൂരം ", + "sharedHourAbbreviation": "മണിക്കൂർ ", + "sharedMinuteAbbreviation": "മിനിറ്റ് ", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "വോൾട്ട് ", + "sharedLiterAbbreviation": "ലിറ്റർ ", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "ലിറ്റർ / മണിക്കൂർ ", + "sharedGetMapState": "മാപ് സ്റ്റേറ്റ് ലഭ്യമാക്കുക ", + "sharedComputedAttribute": "കമ്പ്യൂട്ടേഡ് അട്രീബൂട്ട് ", + "sharedComputedAttributes": "കമ്പ്യൂട്ടേഡ് അട്രിബൂട്ടുകൾ ", + "sharedCheckComputedAttribute": "കമ്പ്യൂട്ടേഡ് അട്രീബൂട്ട് പരിശോധിക്കുക ", + "sharedExpression": "എക്സ്പ്രെഷൻ ", + "sharedDevice": "വാഹനം", + "sharedTest": "Test", + "sharedTestNotification": "ടെസ്റ്റ് നോട്ടിഫിക്കേഷൻ അയക്കുക ", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "കലണ്ടർ ", + "sharedCalendars": "കലണ്ടറുകൾ ", + "sharedFile": "ഫയൽ ", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "ഫയൽ തിരഞ്ഞെടുക്കുക", + "sharedPhone": "ഫോൺ", + "sharedRequired": "അനിവാര്യം", + "sharedPreferences": "ഇഷ്ടങ്ങൾ ", + "sharedPermissions": "പെർമിഷനുകൾ", + "sharedConnections": "Connections", + "sharedExtra": "എക്സ്ട്രാ ", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "സ്ട്രിംഗ്", + "sharedTypeNumber": "നമ്പർ ", + "sharedTypeBoolean": "ബൂളിയാൻ ", + "sharedTimezone": "ടൈം സോൺ ", + "sharedInfoTitle": "ഇൻഫോ ", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "സ്പീഡ് ലിമിറ്റ് ", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "എറർ !", + "errorGeneral": "പാരാമീറ്റർ എറർ !", + "errorConnection": "കണക്ഷൻ എറർ !", + "errorSocket": "വെബ് സോക്കറ്റ് കണക്ഷൻ എറർ !", + "errorZero": "Can't be zero", + "userEmail": "ഇമെയിൽ", + "userPassword": "പാസ്സ്വേർഡ് ", + "userAdmin": "അഡ്മിൻ ", + "userRemember": "ഓർത്തിരിക്കുക ", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Device Limit", + "userUserLimit": "User Limit", + "userDeviceReadonly": "Device Readonly", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "ലോഗിൻ ചെയ്യുക ", + "loginLanguage": "ഭാഷ", + "loginReset": "Reset Password", + "loginRegister": "രെജിസ്റ്റർ ", + "loginLogin": "അകത്തു പ്രവേശിക്കുക", + "loginOpenId": "Login with OpenID", + "loginFailed": "തെറ്റായ ഇമെയിൽ വിലാസവും പാസ്വേഡും", + "loginCreated": "പുതിയ ഉപയോക്താവ് രജിസ്റ്റർ ചെയ്തു", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "പുറത്തുകടക്കുക", + "loginLogo": "ലോഗോ", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "സാധനങ്ങളിന് നില ", + "deviceSelected": "Selected Device", + "deviceTitle": "സാധനങ്ങളിന് ", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "ഐഡന്റിഫയർ", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Category", + "deviceLastUpdate": "Last Update", + "deviceCommand": "Command", + "deviceFollow": "Follow", + "deviceTotalDistance": "Total Distance", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "ഗ്രൂപ്പ്", + "groupParent": "Group", + "groupNoGroup": "No Group", + "settingsTitle": "Settings", + "settingsUser": "Account", + "settingsGroups": "Groups", + "settingsServer": "Server", + "settingsUsers": "Users", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "12-hour Format", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Reports", + "reportScheduled": "Scheduled Reports", + "reportDevice": "ഉപകരണം", + "reportGroup": "Group", + "reportFrom": "From", + "reportTo": "To", + "reportShow": "Show", + "reportClear": "Clear", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Valid", + "positionAccuracy": "Accuracy", + "positionLatitude": "അക്ഷാംശം", + "positionLongitude": "രേഖാംശം", + "positionAltitude": "Altitude", + "positionSpeed": "വേഗം", + "positionCourse": "Course", + "positionAddress": "Address", + "positionProtocol": "Protocol", + "positionDistance": "Distance", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Server Settings", + "serverZoom": "വലുതാക്കിയോ ചെറുതാക്കിയോ കാണിക്കുക", + "serverRegistration": "രജിസ്ട്രേഷൻ", + "serverReadonly": "Readonly", + "serverForceSettings": "Force Settings", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "ഭൂപടം", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Map Layer", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "State", + "stateName": "Attribute", + "stateValue": "Value", + "commandTitle": "Command", + "commandSend": "Send", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Unit", + "commandCustom": "Custom command", + "commandDeviceIdentification": "Device Identification", + "commandPositionSingle": "Single Reporting", + "commandPositionPeriodic": "Periodic Reporting", + "commandPositionStop": "Stop Reporting", + "commandEngineStop": "Engine Stop", + "commandEngineResume": "Engine Resume", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Reboot Device", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frequency", + "commandTimezone": "Timezone Offset", + "commandMessage": "Message", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Phone Number", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "All Events", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Maintenance required", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Type of Notification", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "Configure", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "Show Markers", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Device Name", + "reportAverageSpeed": "Average Speed", + "reportMaximumSpeed": "Maximum Speed", + "reportEngineHours": "Engine Hours", + "reportDuration": "Duration", + "reportStartDate": "Start Date", + "reportStartTime": "Start Time", + "reportStartAddress": "Start Address", + "reportEndTime": "End Time", + "reportEndAddress": "End Address", + "reportSpentFuel": "Spent Fuel", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistics", + "statisticsCaptureTime": "Capture Time", + "statisticsActiveUsers": "Active Users", + "statisticsActiveDevices": "Active Devices", + "statisticsRequests": "Requests", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Arrow", + "categoryDefault": "Default", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicycle", + "categoryBoat": "Boat", + "categoryBus": "Bus", + "categoryCar": "Car", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motorcycle", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Plane", + "categoryShip": "Ship", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truck", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/mn.json b/legacy/web/l10n/mn.json new file mode 100644 index 00000000..ea3ecedb --- /dev/null +++ b/legacy/web/l10n/mn.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Ачааллаж байна...", + "sharedHide": "Нуух", + "sharedSave": "Хадгалах", + "sharedUpload": "Upload", + "sharedSet": "Тааруулах", + "sharedCancel": "Цуцлах", + "sharedCopy": "Copy", + "sharedAdd": "Нэмэх", + "sharedEdit": "Засах", + "sharedRemove": "Хасах", + "sharedRemoveConfirm": "Үүнийг устгах уу?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Тийм", + "sharedNo": "Үгүй", + "sharedKm": "км", + "sharedMi": "миль", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Зангилаа", + "sharedKmh": "км/ц", + "sharedMph": "миль/цаг", + "sharedHour": "Цаг", + "sharedMinute": "Минут", + "sharedSecond": "Секунд", + "sharedDays": "өдөр", + "sharedHours": "цаг", + "sharedMinutes": "минут", + "sharedDecimalDegrees": "Градус 10-тын бутархай", + "sharedDegreesDecimalMinutes": "Градус Минут нь 10-тын бутархай", + "sharedDegreesMinutesSeconds": "Градус Минут Секунд", + "sharedName": "Нэр", + "sharedDescription": "Тайлбар", + "sharedSearch": "Хайх", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Хязгаарлалт", + "sharedGeofences": "Хязгаарлалтууд", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Мэдэгдэлүүд", + "sharedNotification": "Мэдэгдэл", + "sharedAttributes": "Утгууд", + "sharedAttribute": "Утга", + "sharedDrivers": "Жолооч нар", + "sharedDriver": "Жолооч", + "sharedArea": "Талбай", + "sharedSound": "Дуут дохио", + "sharedType": "Төрөл", + "sharedDistance": "Зай", + "sharedHourAbbreviation": "цаг", + "sharedMinuteAbbreviation": "мин", + "sharedSecondAbbreviation": "сек", + "sharedVoltAbbreviation": "Вольт", + "sharedLiterAbbreviation": "л", + "sharedGallonAbbreviation": "галлон", + "sharedLiter": "литр", + "sharedImpGallon": "Англи галлон", + "sharedUsGallon": "Америк галлон", + "sharedLiterPerHourAbbreviation": "литр/цаг", + "sharedGetMapState": "Зургийн нөхцөл хуулбарлах", + "sharedComputedAttribute": "Тооцолсон утга", + "sharedComputedAttributes": "Тооцолсон утганууд", + "sharedCheckComputedAttribute": "Тооцолсон утга шалгах", + "sharedExpression": "Илэрхийлэл", + "sharedDevice": "Төхөөрөмж", + "sharedTest": "Test", + "sharedTestNotification": "Туршилтын мэдэгдэл илгээх", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Календар", + "sharedCalendars": "Календарууд", + "sharedFile": "Файл", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Файл сонгох", + "sharedPhone": "Утас", + "sharedRequired": "Шаардлагатай", + "sharedPreferences": "Тохиргоо", + "sharedPermissions": "Зөвшөөрөл", + "sharedConnections": "Холболт", + "sharedExtra": "Нэмэлт", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Бутархай утга", + "sharedTypeNumber": "Тоон утга", + "sharedTypeBoolean": "Логик утга", + "sharedTimezone": "Цагийн бүс", + "sharedInfoTitle": "Мэдээлэл", + "sharedSavedCommand": "Хадгалсан комманд", + "sharedSavedCommands": "Хадгалсан коммандууд", + "sharedNew": "Шинэ...", + "sharedShowAddress": "Хаягийг харуулах", + "sharedShowDetails": "Дэлгэрэнгүй мэдээлэл", + "sharedDisabled": "Хүчингүй", + "sharedMaintenance": "Засвар үйлчилгээ", + "sharedDeviceAccumulators": "Хуримтлагдах утга", + "sharedAlarms": "Дохиолол", + "sharedLocation": "Байрлал", + "sharedImport": "Оруулах", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Хурдны хязгаар", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Тайлан: Хянахын гүйлт тооцоохгүй", + "attributeWebReportColor": "Веб: Тайлангийн өнгө", + "attributeDevicePassword": "Төхөөрөмжийн нууц үг", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Төхөөрөмж Хэзээ унтсан", + "attributeDeviceInactivityPeriod": "Төхөөрөмж Унтсан хугацаа", + "attributeProcessingCopyAttributes": "Боловсруулж байна: Утга хуулж байна", + "attributeColor": "Өнгө", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Алдаа", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Холболтын алдаа", + "errorSocket": "Web socket connection error", + "errorZero": "Нойл утга байж болохгүй", + "userEmail": "Имэйл", + "userPassword": "Нууц үг", + "userAdmin": "Админ", + "userRemember": "Санах", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Device Limit", + "userUserLimit": "User Limit", + "userDeviceReadonly": "Device Readonly", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Нэвтрэх", + "loginLanguage": "Хэл", + "loginReset": "Нууц үг сэргээх", + "loginRegister": "Бүртгүүлэх", + "loginLogin": "Нэвтрэх", + "loginOpenId": "Login with OpenID", + "loginFailed": "Имэйл хаяг эсвэл нууц үг буруу байна", + "loginCreated": "Шинэ хэрэглэгч бүртгэгдлээ", + "loginResetSuccess": "Имэйлээ шалгана уу", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Системээс гарах", + "loginLogo": "Лого", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Devices and State", + "deviceSelected": "Selected Device", + "deviceTitle": "Төхөөрөмжүүд", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifier", + "deviceModel": "Модел", + "deviceContact": "Contact", + "deviceCategory": "Category", + "deviceLastUpdate": "Last Update", + "deviceCommand": "Комманд", + "deviceFollow": "Follow", + "deviceTotalDistance": "Total Distance", + "deviceStatus": "Статус", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Бүлэг", + "groupParent": "Бүлэг", + "groupNoGroup": "No Group", + "settingsTitle": "Тохиргоонууд", + "settingsUser": "Account", + "settingsGroups": "Groups", + "settingsServer": "Сервер", + "settingsUsers": "Хэрэглэгчид", + "settingsDistanceUnit": "Зайн нэгж", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Хурдны нэгж", + "settingsVolumeUnit": "Эзэлхүүний нэгж", + "settingsTwelveHourFormat": "12-цагийн формат", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Тайлангууд", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Төхөөрөмж", + "reportGroup": "Group", + "reportFrom": "From", + "reportTo": "To", + "reportShow": "Харуулах", + "reportClear": "Clear", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Valid", + "positionAccuracy": "Accuracy", + "positionLatitude": "Өргөрөг", + "positionLongitude": "Уртраг", + "positionAltitude": "Өндөр", + "positionSpeed": "Хурд", + "positionCourse": "Course", + "positionAddress": "Хаяг", + "positionProtocol": "Протокол", + "positionDistance": "Distance", + "positionRpm": "RPM", + "positionFuel": "Түлш", + "positionPower": "Power", + "positionBattery": "Батарей", + "positionRaw": "Raw", + "positionIndex": "Индекс", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Статус", + "positionOdometer": "Гүйлт", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Комманд", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Серверийн тохиргоо", + "serverZoom": "Zoom", + "serverRegistration": "Registration", + "serverReadonly": "Readonly", + "serverForceSettings": "Force Settings", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Map", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Map Layer", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "State", + "stateName": "Attribute", + "stateValue": "Value", + "commandTitle": "Command", + "commandSend": "Send", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Нэгж", + "commandCustom": "Custom command", + "commandDeviceIdentification": "Device Identification", + "commandPositionSingle": "Single Reporting", + "commandPositionPeriodic": "Periodic Reporting", + "commandPositionStop": "Stop Reporting", + "commandEngineStop": "Engine Stop", + "commandEngineResume": "Engine Resume", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Reboot Device", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frequency", + "commandTimezone": "Timezone Offset", + "commandMessage": "Message", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Phone Number", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "All Events", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Maintenance required", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Type of Notification", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "Configure", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "Show Markers", + "reportExport": "Export", + "reportEmail": "Имэйл тайлан", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Өнөөдөр", + "reportYesterday": "Өчигдөр", + "reportThisWeek": "Энэ долоо хоног", + "reportPreviousWeek": "Өмнөх долоо хоног", + "reportThisMonth": "Энэ сар", + "reportPreviousMonth": "Өмнөх сар", + "reportDeviceName": "Төхөөрөмжийн нэр", + "reportAverageSpeed": "Дундаж хурд", + "reportMaximumSpeed": "Дээд хурд", + "reportEngineHours": "Engine Hours", + "reportDuration": "Хугацаа", + "reportStartDate": "Эхлэх өдөр", + "reportStartTime": "Эхлэх цаг", + "reportStartAddress": "Start Address", + "reportEndTime": "End Time", + "reportEndAddress": "End Address", + "reportSpentFuel": "Spent Fuel", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Статистик", + "statisticsCaptureTime": "Capture Time", + "statisticsActiveUsers": "Идэвхитэй хэрэглэгчид", + "statisticsActiveDevices": "Идэвхитэй төхөөрөмжүүд", + "statisticsRequests": "Requests", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Arrow", + "categoryDefault": "Default", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicycle", + "categoryBoat": "Boat", + "categoryBus": "Bus", + "categoryCar": "Car", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motorcycle", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Plane", + "categoryShip": "Ship", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truck", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ms.json b/legacy/web/l10n/ms.json new file mode 100644 index 00000000..50b4048a --- /dev/null +++ b/legacy/web/l10n/ms.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Memuatkan...", + "sharedHide": "Hide", + "sharedSave": "Simpan", + "sharedUpload": "Upload", + "sharedSet": "Set", + "sharedCancel": "Batal", + "sharedCopy": "Copy", + "sharedAdd": "Tambah", + "sharedEdit": "Ubah", + "sharedRemove": "Hapus", + "sharedRemoveConfirm": "Hapuskan item?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Jam", + "sharedMinute": "Minit", + "sharedSecond": "Saat", + "sharedDays": "days", + "sharedHours": "hours", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "Decimal Degrees", + "sharedDegreesDecimalMinutes": "Degrees Decimal Minutes", + "sharedDegreesMinutesSeconds": "Degrees Minutes Seconds", + "sharedName": "Name", + "sharedDescription": "Description", + "sharedSearch": "Search", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notifications", + "sharedNotification": "Notification", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "Area", + "sharedSound": "Notification Sound", + "sharedType": "Type", + "sharedDistance": "Distance", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Get Map State", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "Device", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Calendar", + "sharedCalendars": "Calendars", + "sharedFile": "File", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Select File", + "sharedPhone": "Phone", + "sharedRequired": "Required", + "sharedPreferences": "Preferences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Timezone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Speed Limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Ralat", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Ralat penyambungan", + "errorSocket": "Web socket connection error", + "errorZero": "Can't be zero", + "userEmail": "Emel", + "userPassword": "Katalaluan", + "userAdmin": "Admin", + "userRemember": "Remember", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Device Limit", + "userUserLimit": "User Limit", + "userDeviceReadonly": "Device Readonly", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Log masuk", + "loginLanguage": "Bahasa", + "loginReset": "Reset Password", + "loginRegister": "Daftar", + "loginLogin": "Log masuk", + "loginOpenId": "Login with OpenID", + "loginFailed": "Kesalahan emel atau katalaluan", + "loginCreated": "Pengguna baru telah didaftarkan", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Keluar", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Peranti dan State", + "deviceSelected": "Selected Device", + "deviceTitle": "Peranti", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "IMEI/ID", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Category", + "deviceLastUpdate": "Kemaskini Terakhir", + "deviceCommand": "Arahan", + "deviceFollow": "Ikut", + "deviceTotalDistance": "Total Distance", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Group", + "groupParent": "Group", + "groupNoGroup": "No Group", + "settingsTitle": "Tetapan", + "settingsUser": "Akaun", + "settingsGroups": "Groups", + "settingsServer": "Server", + "settingsUsers": "Pengguna", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "12-hour Format", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Laporan", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Peranti", + "reportGroup": "Group", + "reportFrom": "Daripada", + "reportTo": "Ke", + "reportShow": "Papar", + "reportClear": "Kosongkan", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Sah", + "positionAccuracy": "Accuracy", + "positionLatitude": "Latitud", + "positionLongitude": "Longitud", + "positionAltitude": "Altitud", + "positionSpeed": "Kelajuan", + "positionCourse": "Course", + "positionAddress": "Alamat", + "positionProtocol": "Protokol", + "positionDistance": "Distance", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Tetapan Server", + "serverZoom": "Besarkan", + "serverRegistration": "Pendaftaran", + "serverReadonly": "Baca Sahaja", + "serverForceSettings": "Force Settings", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Peta", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Map Layer", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Negeri", + "stateName": "Atribut", + "stateValue": "Nilai", + "commandTitle": "Arahan", + "commandSend": "Hantar", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Unit", + "commandCustom": "Custom command", + "commandDeviceIdentification": "Device Identification", + "commandPositionSingle": "Single Reporting", + "commandPositionPeriodic": "Laporan Berkala", + "commandPositionStop": "Hentikan Laporan", + "commandEngineStop": "Matikan Enjin", + "commandEngineResume": "Hidupkan Enjin", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Reboot Device", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekuensi", + "commandTimezone": "Timezone Offset", + "commandMessage": "Message", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Phone Number", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "All Events", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Maintenance required", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Type of Notification", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "Configure", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "Show Markers", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Device Name", + "reportAverageSpeed": "Average Speed", + "reportMaximumSpeed": "Maximum Speed", + "reportEngineHours": "Engine Hours", + "reportDuration": "Duration", + "reportStartDate": "Start Date", + "reportStartTime": "Start Time", + "reportStartAddress": "Start Address", + "reportEndTime": "End Time", + "reportEndAddress": "End Address", + "reportSpentFuel": "Spent Fuel", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistics", + "statisticsCaptureTime": "Capture Time", + "statisticsActiveUsers": "Active Users", + "statisticsActiveDevices": "Active Devices", + "statisticsRequests": "Requests", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Arrow", + "categoryDefault": "Default", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicycle", + "categoryBoat": "Boat", + "categoryBus": "Bus", + "categoryCar": "Car", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motorcycle", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Plane", + "categoryShip": "Ship", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truck", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/nb.json b/legacy/web/l10n/nb.json new file mode 100644 index 00000000..a3faa8c0 --- /dev/null +++ b/legacy/web/l10n/nb.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Laster...", + "sharedHide": "Skjul", + "sharedSave": "Lagre", + "sharedUpload": "Upload", + "sharedSet": "Sett", + "sharedCancel": "Avbryt", + "sharedCopy": "Copy", + "sharedAdd": "Legg til", + "sharedEdit": "Endre", + "sharedRemove": "Fjern", + "sharedRemoveConfirm": "Fjern element?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nm", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/t", + "sharedMph": "mph", + "sharedHour": "Time", + "sharedMinute": "Minutt", + "sharedSecond": "Sekund", + "sharedDays": "dager", + "sharedHours": "timer", + "sharedMinutes": "minutter", + "sharedDecimalDegrees": "Desimalgrader", + "sharedDegreesDecimalMinutes": "Grader desimalminutter", + "sharedDegreesMinutesSeconds": "Grader minutter sekund", + "sharedName": "Navn", + "sharedDescription": "Beskrivelse", + "sharedSearch": "Søk", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "geo-gjerde", + "sharedGeofences": "Geo-gjerder", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Varsler", + "sharedNotification": "Varsel", + "sharedAttributes": "Atributter", + "sharedAttribute": "Egenskap", + "sharedDrivers": "Sjåfører", + "sharedDriver": "Sjåfør", + "sharedArea": "Område", + "sharedSound": "Varslingslyd", + "sharedType": "Type", + "sharedDistance": "Avstand", + "sharedHourAbbreviation": "t", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Britisk Gallon", + "sharedUsGallon": "Amerikansk Gallon", + "sharedLiterPerHourAbbreviation": "l/t", + "sharedGetMapState": "Få karttilstand", + "sharedComputedAttribute": "Utregnede atributter", + "sharedComputedAttributes": "Utregnede atributter", + "sharedCheckComputedAttribute": "Sjekk utregnede atributter", + "sharedExpression": "Uttrykk", + "sharedDevice": "Enhet", + "sharedTest": "Test", + "sharedTestNotification": "Send testvarsling", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalendere", + "sharedFile": "Fil", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Velg fil", + "sharedPhone": "Telefon", + "sharedRequired": "Nødvendig", + "sharedPreferences": "Innstillinger", + "sharedPermissions": "Tilgang", + "sharedConnections": "Connections", + "sharedExtra": "Ekstra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Streng", + "sharedTypeNumber": "Nummer", + "sharedTypeBoolean": "Boolsk", + "sharedTimezone": "Tidssone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Lagret kommando", + "sharedSavedCommands": "Lagrede kommandoer", + "sharedNew": "Ny", + "sharedShowAddress": "Vis adresse", + "sharedShowDetails": "More Details", + "sharedDisabled": "Deaktivert", + "sharedMaintenance": "Vedlikehold", + "sharedDeviceAccumulators": "Målere", + "sharedAlarms": "Alarmer", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Fartsgrense", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polylinjedistanse", + "attributeReportIgnoreOdometer": "Rapport: Ignorer odometer", + "attributeWebReportColor": "Web: Rapport farge", + "attributeDevicePassword": "Enhetspassord", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Behandling: Kopier egenskaper", + "attributeColor": "Farge", + "attributeWebLiveRouteLength": "Web: Live rute lengde", + "attributeWebSelectZoom": "Web: Skaler ved valg", + "attributeWebMaxZoom": "Web: Maksimal forstørring", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP-vert", + "attributeMailSmtpPort": "Mail: SMTP-port", + "attributeMailSmtpStarttlsEnable": "Mail: Aktiver SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS påkrevd", + "attributeMailSmtpSslEnable": "Mail: Aktiver SMTP SSL", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL tillit", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL protokoller", + "attributeMailSmtpFrom": "Mail: SMTP Fra", + "attributeMailSmtpAuth": "E-post: Aktiver SMTP autentisering", + "attributeMailSmtpUsername": "Mail: SMTP brukernavn", + "attributeMailSmtpPassword": "Mail: SMTP passord", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Deaktiver hendelser", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Deaktiver sjåfører", + "attributeUiDisableComputedAttributes": "UI: Deaktiver utregnede egenskaper", + "attributeUiDisableCalendars": "UI: Deaktiver kalendere", + "attributeUiDisableMaintenance": "UI: Deaktiver Vedlikehold", + "attributeUiHidePositionAttributes": "UI: Skjul posisjonsegenskaper", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Feil", + "errorGeneral": "Ugyldige parametere eller begrensingsbrudd", + "errorConnection": "Forbindelse feilet", + "errorSocket": "Web socket tilkoblingsfeil", + "errorZero": "Kan ikke være null", + "userEmail": "E-post", + "userPassword": "Passord", + "userAdmin": "Admin", + "userRemember": "Husk", + "userExpirationTime": "Utløpstid", + "userDeviceLimit": "Enhetsgrense", + "userUserLimit": "Brukergrense", + "userDeviceReadonly": "Skrivebeskyttet enhet", + "userLimitCommands": "Begrens kommandoer", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Symbol", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Logg inn", + "loginLanguage": "Språk", + "loginReset": "Reset Password", + "loginRegister": "Registrer", + "loginLogin": "Logg inn", + "loginOpenId": "Login with OpenID", + "loginFailed": "Feil e-post eller passord", + "loginCreated": "Ny bruker har blitt registrert", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Logg ut", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Enheter og status", + "deviceSelected": "Selected Device", + "deviceTitle": "Enheter", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifikator", + "deviceModel": "Modell", + "deviceContact": "Kontakt", + "deviceCategory": "Kategori", + "deviceLastUpdate": "Sist oppdatert", + "deviceCommand": "Kommando", + "deviceFollow": "Følg", + "deviceTotalDistance": "Total distanse", + "deviceStatus": "Status", + "deviceStatusOnline": "Tilkoblet", + "deviceStatusOffline": "Frakoblet", + "deviceStatusUnknown": "Ukjent", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Gruppe", + "groupParent": "Gruppe", + "groupNoGroup": "Ingen gruppe", + "settingsTitle": "Innstillinger", + "settingsUser": "Konto", + "settingsGroups": "Grupper", + "settingsServer": "Server", + "settingsUsers": "Brukere", + "settingsDistanceUnit": "Avstandsenhet", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Hastighetsenhet", + "settingsVolumeUnit": "Volumenhet", + "settingsTwelveHourFormat": "Tolvtimersformat", + "settingsCoordinateFormat": "Koordinatformat", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Rapporter", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Enhet", + "reportGroup": "Gruppe", + "reportFrom": "Fra", + "reportTo": "Til", + "reportShow": "Vis", + "reportClear": "Nullstill", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Gyldig", + "positionAccuracy": "Nøyaktighet", + "positionLatitude": "Breddegrad", + "positionLongitude": "Lengdegrad", + "positionAltitude": "Høyde", + "positionSpeed": "Hastighet", + "positionCourse": "Retning", + "positionAddress": "Adresse", + "positionProtocol": "Protokoll", + "positionDistance": "Avstand", + "positionRpm": "r/min", + "positionFuel": "Drivstoff", + "positionPower": "Spenning", + "positionBattery": "Batteri", + "positionRaw": "Rå", + "positionIndex": "Register", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelitter", + "positionSatVisible": "Synlige satelitter", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Nettveksling (Roaming)", + "positionEvent": "Hendelse", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Kilometerteller", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Turmåler", + "positionHours": "Timer", + "positionSteps": "Steg", + "positionInput": "Inngang", + "positionHeartRate": "Heart Rate", + "positionOutput": "Utgang", + "positionBatteryLevel": "Batterinivå", + "positionFuelConsumption": "Drivstofforbruk", + "positionRfid": "RFID", + "positionVersionFw": "Fastvareversjon", + "positionVersionHw": "Maskinvareversjon", + "positionIgnition": "Tenning", + "positionFlags": "Status indikatorer", + "positionCharge": "Lade", + "positionIp": "IP", + "positionArchive": "Arkiv", + "positionVin": "VIN", + "positionApproximate": "Tilnærmet", + "positionThrottle": "Gasspedal", + "positionMotion": "Bevegelse", + "positionArmed": "Slått På", + "positionAcceleration": "Akselerasjon", + "positionTemp": "Temperature", + "positionDeviceTemp": "Enhetstemperatur", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operatør", + "positionCommand": "Kommando", + "positionBlocked": "Blokkert", + "positionDtcs": "Diagnosefeilkoder", + "positionObdSpeed": "OBD hastighet", + "positionObdOdometer": "OBD kilometerteller", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Sjåførunik ID", + "positionCard": "Card", + "positionImage": "Bilde", + "positionVideo": "Video", + "positionAudio": "Lyd", + "serverTitle": "Serverinnstillinger", + "serverZoom": "Zoom", + "serverRegistration": "Registering", + "serverReadonly": "Skrivebeskyttet", + "serverForceSettings": "Tving innstillinger", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Kart", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Kartlag", + "mapCustom": "Tilpasset (XYZ)", + "mapCustomArcgis": "Tilpasset (ArcGIS)", + "mapCustomLabel": "Tilpasset kart", + "mapCarto": "Carto basiskart", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps-nøkkel", + "mapBingRoad": "Bing Maps-veg", + "mapBingAerial": "Bing Maps-flyfoto", + "mapBingHybrid": "Bing Kart Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satelitt", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Mangekant", + "mapShapeCircle": "Sirkel", + "mapShapePolyline": "Polylinje", + "mapLiveRoutes": "Live rute", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI-lag", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Status", + "stateName": "Egenskap", + "stateValue": "Verdi", + "commandTitle": "Kommando", + "commandSend": "Send", + "commandSent": "Kommando er sent", + "commandQueued": "Kommando er satt i kø", + "commandUnit": "Enhet", + "commandCustom": "Egendefinert kommando", + "commandDeviceIdentification": "Enhetsidentifikasjon", + "commandPositionSingle": "Enkel-rapportering", + "commandPositionPeriodic": "Periodisk rapportering", + "commandPositionStop": "Stopp rapportering", + "commandEngineStop": "Stopp motor", + "commandEngineResume": "Fortsett motor", + "commandAlarmArm": "Slå alarm på", + "commandAlarmDisarm": "Slå alarm av", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Sett tidssone", + "commandRequestPhoto": "Be om foto", + "commandPowerOff": "Skru av enhet", + "commandRebootDevice": "Omstart enhet", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Sett SOS-nummer", + "commandSilenceTime": "Sett stilletid", + "commandSetPhonebook": "Sett telefonbok", + "commandVoiceMessage": "Talemelding", + "commandOutputControl": "Utgangkontroll", + "commandVoiceMonitoring": "Stemmeovervåking", + "commandSetAgps": "Sett AGPS", + "commandSetIndicator": "Sett Indikator", + "commandConfiguration": "Oppsett", + "commandGetVersion": "Vis versjon", + "commandFirmwareUpdate": "Oppdater fastvare", + "commandSetConnection": "Angi tilkobling", + "commandSetOdometer": "Angi kilometerteller", + "commandGetModemStatus": "Få modemtilstand", + "commandGetDeviceStatus": "Få enhetstilstand", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekvens", + "commandTimezone": "Tidszoneforskyvning", + "commandMessage": "Melding", + "commandRadius": "Radius", + "commandEnable": "Aktiver", + "commandData": "Data", + "commandIndex": "Register", + "commandPhone": "Telefonnummer", + "commandServer": "Tjener", + "commandPort": "Port", + "eventAll": "Alle hendelser", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Enhetsstatus ukjent", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Enheten beveger seg", + "eventDeviceStopped": "Enhet stoppet", + "eventDeviceOverspeed": "Fartsgrense overskredet", + "eventDeviceFuelDrop": "Drivstoffall", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Kommandoresultat", + "eventGeofenceEnter": "Ankommet geogjerde", + "eventGeofenceExit": "Forlatt geogjerde", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Tenning på", + "eventIgnitionOff": "Tenning av", + "eventMaintenance": "Vedlikehold Kreves", + "eventTextMessage": "Tekst melding mottatt", + "eventDriverChanged": "Sjåfør endret", + "eventMedia": "Media", + "eventsScrollToLast": "Vis siste", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Generell", + "alarmSos": "SOS", + "alarmVibration": "Vibrasjon", + "alarmMovement": "Bevegelse", + "alarmLowspeed": "Lav hastighet", + "alarmOverspeed": "Høgt turtall", + "alarmFallDown": "Fall", + "alarmLowPower": "Lite strøm", + "alarmLowBattery": "Lavt batterinivå", + "alarmFault": "Feil", + "alarmPowerOff": "Spenning av", + "alarmPowerOn": "Spenning På", + "alarmDoor": "Dør", + "alarmLock": "Lås", + "alarmUnlock": "lås opp", + "alarmGeofence": "Geo-gjerde", + "alarmGeofenceEnter": "Ankommet Geogjerde", + "alarmGeofenceExit": "Forlatt Geogjerde", + "alarmGpsAntennaCut": "GPS-Antenne Fjernet", + "alarmAccident": "Ulykke", + "alarmTow": "Tauing", + "alarmIdle": "Tomgang", + "alarmHighRpm": "Høyt turtall", + "alarmHardAcceleration": "Hard Akselerasjon", + "alarmHardBraking": "Hard Oppbremsing", + "alarmHardCornering": "Hard svingning", + "alarmLaneChange": "Filskifte", + "alarmFatigueDriving": "Tretthetskjøring", + "alarmPowerCut": "Spenning Kuttet", + "alarmPowerRestored": "Spenning Gjenopprettet", + "alarmJamming": "Jamming", + "alarmTemperature": "Tempratur", + "alarmParking": "Parkering", + "alarmBonnet": "Panser", + "alarmFootBrake": "Bremsepedal", + "alarmFuelLeak": "Drivstofflekasje", + "alarmTampering": "Tukling", + "alarmRemoving": "Fjerner", + "notificationType": "Varseltype", + "notificationAlways": "Alle enheter", + "notificationNotificators": "Kanaler", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Rute", + "reportEvents": "Hendelser", + "reportTrips": "Turer", + "reportStops": "Stopp", + "reportSummary": "Oppsumering", + "reportDaily": "Daily Summary", + "reportChart": "Diagram", + "reportConfigure": "Sett opp", + "reportEventTypes": "Hendelsestyper", + "reportChartType": "Diagramtype", + "reportShowMarkers": "Vis markører", + "reportExport": "Eksporter", + "reportEmail": "E-post-rapport", + "reportSchedule": "Schedule", + "reportPeriod": "Periode", + "reportCustom": "Egendefinert", + "reportToday": "Idag", + "reportYesterday": "I går", + "reportThisWeek": "Denne uken", + "reportPreviousWeek": "Forrige uke", + "reportThisMonth": "Denne måneden", + "reportPreviousMonth": "Forrige måned", + "reportDeviceName": "Enhetsnavn", + "reportAverageSpeed": "Gjennomsnittshastighet ", + "reportMaximumSpeed": "Maksimumshastighet", + "reportEngineHours": "Motortimer", + "reportDuration": "Varighet", + "reportStartDate": "Start Date", + "reportStartTime": "Starttidspunkt", + "reportStartAddress": "Startadresse", + "reportEndTime": "Sluttidspunkt", + "reportEndAddress": "Sluttadresse", + "reportSpentFuel": "Brukt drivstoff", + "reportStartOdometer": "Kilometerteller start", + "reportEndOdometer": "Kilometerteller stopp", + "statisticsTitle": "Statistikk", + "statisticsCaptureTime": "Opptakstidspunkt", + "statisticsActiveUsers": "Aktive brukere", + "statisticsActiveDevices": "Aktive enheter", + "statisticsRequests": "Forespørsler", + "statisticsMessagesReceived": "Meldinger mottatt", + "statisticsMessagesStored": "Meldinger lagret", + "statisticsGeocoder": "Geocoder-forespørsler", + "statisticsGeolocation": "Geolocation-forespørsler", + "categoryArrow": "Pil", + "categoryDefault": "Standard", + "categoryAnimal": "Dyr", + "categoryBicycle": "Sykkel", + "categoryBoat": "Båt", + "categoryBus": "Buss", + "categoryCar": "Bil", + "categoryCamper": "Camper", + "categoryCrane": "Kran", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorsykkel", + "categoryOffroad": "Terrengkjøretøy", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Fly", + "categoryShip": "Skip", + "categoryTractor": "Traktor", + "categoryTrain": "Tog", + "categoryTram": "Trikk", + "categoryTrolleybus": "Strømbuss", + "categoryTruck": "Lastebil", + "categoryVan": "Varebil", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Periode" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ne.json b/legacy/web/l10n/ne.json new file mode 100644 index 00000000..0c89df5d --- /dev/null +++ b/legacy/web/l10n/ne.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "लोड हुँदै ", + "sharedHide": "लुकाउने ", + "sharedSave": "सुरक्षित गर्ने ", + "sharedUpload": "Upload", + "sharedSet": "सेट गर्ने ", + "sharedCancel": "रद्ध गर्ने ", + "sharedCopy": "Copy", + "sharedAdd": "थप्ने", + "sharedEdit": "सच्याउने", + "sharedRemove": "हटाउने ", + "sharedRemoveConfirm": "हटाउने हो?", + "sharedNoData": "डाटा छैन", + "sharedSubject": "Subject", + "sharedYes": "हो", + "sharedNo": "छैन", + "sharedKm": "कि मि ", + "sharedMi": "माइल", + "sharedNmi": "नटिकल माइल", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "किलो नट ", + "sharedKmh": "कि मि /घण्टा ", + "sharedMph": "माइल /घण्टा ", + "sharedHour": "घण्टा ", + "sharedMinute": "मिनेट ", + "sharedSecond": "सेकेन्ड ", + "sharedDays": "दिन ", + "sharedHours": "घण्टा ", + "sharedMinutes": "मिनेट", + "sharedDecimalDegrees": "डेसिमल डिग्री ", + "sharedDegreesDecimalMinutes": "डिग्री डेसिमल मिनेट ", + "sharedDegreesMinutesSeconds": "डिग्री मिनेट सेकेन्ड ", + "sharedName": "नाम ", + "sharedDescription": "विवरण ", + "sharedSearch": "खोज्ने ", + "sharedIconScale": "आइकन स्केल", + "sharedGeofence": "भू परिधि ", + "sharedGeofences": "भू परिधिहरू ", + "sharedCreateGeofence": "geofence सिर्जना गर्नुहोस्", + "sharedNotifications": "सूचनाहरु ", + "sharedNotification": "सूचना ", + "sharedAttributes": "विशेषताहरू", + "sharedAttribute": "विशेषता", + "sharedDrivers": "चालकहरु ", + "sharedDriver": "चालक ", + "sharedArea": "क्षेत्र ", + "sharedSound": "सूचना ध्वनि ", + "sharedType": "प्रकार ", + "sharedDistance": "दूरी ", + "sharedHourAbbreviation": "घ ", + "sharedMinuteAbbreviation": "मि", + "sharedSecondAbbreviation": "से ", + "sharedVoltAbbreviation": "भोल्ट ", + "sharedLiterAbbreviation": "ई", + "sharedGallonAbbreviation": "ग्या", + "sharedLiter": "लिटर ", + "sharedImpGallon": "ग्यालन ", + "sharedUsGallon": "अमेरिकी ग्यालन ", + "sharedLiterPerHourAbbreviation": "ई/घ", + "sharedGetMapState": "नक्साको स्थिति पाउने ", + "sharedComputedAttribute": "गणना गरिएको विशेषता", + "sharedComputedAttributes": "गणना गरिएको विशेषताहरू", + "sharedCheckComputedAttribute": "गणना गरिएको विशेषता जाँच गर्नुहोस्", + "sharedExpression": "अभिव्यक्ति", + "sharedDevice": "यन्त्र ", + "sharedTest": "परीक्षण", + "sharedTestNotification": "परीक्षण सूचना पठाउनुहोस्", + "sharedTestNotificators": "परीक्षण च्यानलहरू", + "sharedTestExpression": "परीक्षण अभिव्यक्ति", + "sharedCalendar": "पात्रो", + "sharedCalendars": "पात्रोहरू", + "sharedFile": "फाइल", + "sharedSearchDevices": "खोज उपकरण", + "sharedSortBy": "द्वारा क्रमबद्ध", + "sharedFilterMap": "नक्सामा फिल्टर गर्नुहोस्", + "sharedSelectFile": "फाइल चयन गर्नुहोस्", + "sharedPhone": "फोन", + "sharedRequired": "आवश्यक छ", + "sharedPreferences": "प्राथमिकताहरू", + "sharedPermissions": "अनुमतिहरू", + "sharedConnections": "जडानहरू", + "sharedExtra": "अतिरिक्त", + "sharedPrimary": "प्राथमिक", + "sharedSecondary": "माध्यमिक", + "sharedTypeString": "स्ट्रिंग", + "sharedTypeNumber": "संख्या", + "sharedTypeBoolean": "बूलियन", + "sharedTimezone": "समय क्षेत्र", + "sharedInfoTitle": "जानकारी", + "sharedSavedCommand": "संचित आदेश", + "sharedSavedCommands": "संचित आदेशहरू", + "sharedNew": "नयाँ...", + "sharedShowAddress": "ठेगाना देखाउनुहोस्", + "sharedShowDetails": "थप विवरण", + "sharedDisabled": "अक्षम", + "sharedMaintenance": "मर्मत", + "sharedDeviceAccumulators": "सञ्चयकर्ताहरू", + "sharedAlarms": "अलार्म", + "sharedLocation": "स्थान", + "sharedImport": "आयात", + "sharedColumns": "स्तम्भहरू", + "sharedDropzoneText": "यहाँ एउटा फाइल तान्नुहोस् र छोड्नुहोस् वा क्लिक गर्नुहोस्", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "सरल", + "calendarRecurrence": "पुनरावृत्ति", + "calendarOnce": "एक पटक", + "calendarDaily": "दैनिक", + "calendarWeekly": "साप्ताहिक", + "calendarMonthly": "मासिक", + "calendarDays": "दिनहरू", + "calendarSunday": "आइतबार", + "calendarMonday": "सोमबार", + "calendarTuesday": "मंगलबार", + "calendarWednesday": "बुधबार", + "calendarThursday": "बिहीबार", + "calendarFriday": "शुक्रबार", + "calendarSaturday": "शनिबार", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "गति सिमित", + "attributeFuelDropThreshold": "इन्धन ड्रप थ्रेसहोल्ड", + "attributeFuelIncreaseThreshold": "इन्धन वृद्धि थ्रेसहोल्ड", + "attributePolylineDistance": "बहुरेखा दूरि", + "attributeReportIgnoreOdometer": "प्रतिबेदन: ओडोमिटर वेवास्ता", + "attributeWebReportColor": "वेब: प्रतिबेदन रङ्ग", + "attributeDevicePassword": "यन्त्र गोप्य शब्द", + "attributeDeviceImage": "उपकरण फोटो", + "attributeDeviceInactivityStart": "यन्त्र निष्क्रियता सुरु", + "attributeDeviceInactivityPeriod": "यन्त्र निष्क्रियता अवधि", + "attributeProcessingCopyAttributes": "प्रशोधन: प्रतिलिपि विशेषताहरू", + "attributeColor": "रङ्ग", + "attributeWebLiveRouteLength": "वेब: प्रत्यक्ष मार्ग लम्बाई", + "attributeWebSelectZoom": "वेब: जूम अन चयन गर्नुहोस्", + "attributeWebMaxZoom": "वेब: अधिकतम जुम", + "attributeTelegramChatId": "टेलिग्राम च्याट आईडी", + "attributePushoverUserKey": "Pushover प्रयोगकर्ता कुञ्जी", + "attributePushoverDeviceNames": "Pushover उपकरण नामहरू", + "attributeMailSmtpHost": "मेल: SMTP होस्ट", + "attributeMailSmtpPort": "मेल: SMTP पोर्ट", + "attributeMailSmtpStarttlsEnable": "मेल: SMTP STARTTLS सक्षम गर्नुहोस्", + "attributeMailSmtpStarttlsRequired": "मेल: SMTP STARTTLS आवश्यक छ", + "attributeMailSmtpSslEnable": "मेल: SMTP SSL सक्षम गर्नुहोस्", + "attributeMailSmtpSslTrust": "मेल: SMTP SSL ट्रस्ट", + "attributeMailSmtpSslProtocols": "मेल: SMTP SSL प्रोटोकलहरू", + "attributeMailSmtpFrom": "मेल: SMTP बाट", + "attributeMailSmtpAuth": "मेल: SMTP प्रमाणीकरण सक्षम गर्नुहोस्", + "attributeMailSmtpUsername": "मेल: SMTP प्रयोगकर्ता नाम", + "attributeMailSmtpPassword": "मेल: SMTP पासवर्ड", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: विशेषताहरू असक्षम गर्नुहोस्", + "attributeUiDisableGroups": "UI: समूहहरू असक्षम पार्नुहोस्", + "attributeUiDisableEvents": "UI: अक्षम घटनाहरू", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: अक्षम ड्राईभरहरू", + "attributeUiDisableComputedAttributes": "UI: गणना गरिएका विशेषताहरू असक्षम पार्नुहोस्", + "attributeUiDisableCalendars": "UI: अक्षम पात्रो", + "attributeUiDisableMaintenance": "UI: अक्षम मर्मत", + "attributeUiHidePositionAttributes": "UI: स्थिति विशेषताहरू लुकाउनुहोस्", + "attributeUiDisableLoginLanguage": "UI: लगइन भाषा असक्षम गर्नुहोस्", + "attributeNotificationTokens": "सूचना टोकनहरू", + "attributePopupInfo": "Popup Info", + "errorTitle": "त्रुटी", + "errorGeneral": "अवैध प्यारामिटर वा बाधा उल्लङ्घन", + "errorConnection": "जडान मा त्रुटी भयो ", + "errorSocket": "वेब सकेट जडान त्रुटि", + "errorZero": "शून्य हुन सक्दैन", + "userEmail": "इ मेल ", + "userPassword": "गोप्य शब्द ", + "userAdmin": "ब्यबस्थापक", + "userRemember": "सम्झनु", + "userExpirationTime": "मिति समाप्ति", + "userDeviceLimit": "यन्त्र सिमित", + "userUserLimit": "प्रयोगकर्ता सिमित", + "userDeviceReadonly": "यन्त्र पढ्ने मात्र", + "userLimitCommands": "सिमित आदेशहरू", + "userDisableReports": "रिपोर्टहरू असक्षम गर्नुहोस्", + "userFixedEmail": "कुनै इमेल परिवर्तन छैन", + "userToken": "टोकन", + "userDeleteAccount": "खाता मेटाउनुहोस्", + "userTemporary": "Temporary", + "loginTitle": "लगिन गर्ने ", + "loginLanguage": "भाषा ", + "loginReset": "पासवर्ड रिसेट", + "loginRegister": "दर्ता गर्ने", + "loginLogin": "भित्रिने ", + "loginOpenId": "Login with OpenID", + "loginFailed": "इ मेल वा गोप्य शब्द गलत भयो ", + "loginCreated": "नया प्रयोगकर्ता दर्ता भयो ", + "loginResetSuccess": "आफ्नो इमेल जाँच गर्नुहोस्", + "loginUpdateSuccess": "नयाँ पासवर्ड सेट गरिएको छ", + "loginLogout": "बाहिरिने ", + "loginLogo": "लोगो", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "यन्त्रहरू तथा अवस्था ", + "deviceSelected": "Selected Device", + "deviceTitle": "यन्त्रहरू ", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "परिचायक ", + "deviceModel": "मोडेल", + "deviceContact": "सम्पर्क गर्नुहोस्", + "deviceCategory": "वर्ग", + "deviceLastUpdate": "अन्तिम अपडेट ", + "deviceCommand": "आदेश ", + "deviceFollow": "पिछा गर्ने ", + "deviceTotalDistance": "कुल दूरि", + "deviceStatus": "स्थिति", + "deviceStatusOnline": "अनलाईन", + "deviceStatusOffline": "अफलाईन", + "deviceStatusUnknown": "अज्ञात", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "समुह", + "groupParent": "समुह", + "groupNoGroup": "समुह नभएको", + "settingsTitle": "सेटिङ्ग ", + "settingsUser": "खाता ", + "settingsGroups": "समुहहरू", + "settingsServer": "सर्भर ", + "settingsUsers": "प्रयोगकर्ताहरु ", + "settingsDistanceUnit": "दूरि एकाई", + "settingsAltitudeUnit": "उचाई एकाइ", + "settingsSpeedUnit": "गति एकाई", + "settingsVolumeUnit": "आयातन एकाई", + "settingsTwelveHourFormat": "12-घण्टे ढाचाँ", + "settingsCoordinateFormat": "निर्देशांक ढाचाँ", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "प्रतिबेदनहरु ", + "reportScheduled": "Scheduled Reports", + "reportDevice": "यन्त्र ", + "reportGroup": "समुह", + "reportFrom": "बाट ", + "reportTo": "सम्म ", + "reportShow": "देखाउने ", + "reportClear": "सफा गर्ने ", + "linkGoogleMaps": "गुगल नक्शा", + "linkAppleMaps": "एप्पल नक्शा", + "linkStreetView": "सडक दृश्य", + "positionFixTime": "समय तय गर्नुहोस्", + "positionDeviceTime": "उपकरण समय", + "positionServerTime": "सर्भर समय", + "positionValid": "ठिक", + "positionAccuracy": "शुद्धता", + "positionLatitude": "अक्षांश", + "positionLongitude": "देशान्तर ", + "positionAltitude": "उचाई ", + "positionSpeed": "गति ", + "positionCourse": "दिशा ", + "positionAddress": "ठेगाना ", + "positionProtocol": "प्रोटोकल ", + "positionDistance": "दूरि", + "positionRpm": "RPM", + "positionFuel": "ईन्धन", + "positionPower": "शक्ति", + "positionBattery": "ब्याट्री", + "positionRaw": "कच्चा", + "positionIndex": "अनुक्रमणिका", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "भू-उपग्रहहरू", + "positionSatVisible": "देखिने भू-उपग्रहहरू", + "positionRssi": "RSSI", + "positionGps": "जिपियस्", + "positionRoaming": "Roaming", + "positionEvent": "घटना", + "positionAlarm": "अलार्म", + "positionStatus": "स्थिति", + "positionOdometer": "ओडोमिटर", + "positionServiceOdometer": "Service ओडोमीटर", + "positionTripOdometer": "ट्रिप ओडोमीटर", + "positionHours": "घण्टा", + "positionSteps": "पाइलाहरू", + "positionInput": "निवेश", + "positionHeartRate": "Heart Rate", + "positionOutput": "आउटपुट", + "positionBatteryLevel": "ब्याट्री स्तर", + "positionFuelConsumption": "इन्धन खपत", + "positionRfid": "RFID", + "positionVersionFw": "फर्मवेयर संस्करण", + "positionVersionHw": "हार्डवेयर संस्करण", + "positionIgnition": "प्रज्वलन", + "positionFlags": "झण्डाहरू", + "positionCharge": "चार्ज", + "positionIp": "IP", + "positionArchive": "अभिलेख", + "positionVin": "VIN", + "positionApproximate": "अनुमान", + "positionThrottle": "थ्रोटल", + "positionMotion": "गति", + "positionArmed": "सशस्त्र", + "positionAcceleration": "प्रवेग", + "positionTemp": "तापक्रम", + "positionDeviceTemp": "यन्त्र तापक्रम", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "सञ्चालक", + "positionCommand": "आदेश", + "positionBlocked": "अवरुद्ध", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD गति", + "positionObdOdometer": "OBD ओडोमिटर", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "चालक अद्वितीय आईडी", + "positionCard": "Card", + "positionImage": "छवि", + "positionVideo": "भिडियो", + "positionAudio": "ध्वनि", + "serverTitle": "सर्भर सेटिंग", + "serverZoom": "ठुलो बनाउने ", + "serverRegistration": "दर्ता ", + "serverReadonly": "पढ्ने मात्रै ", + "serverForceSettings": "बल सेटिङहरू", + "serverAnnouncement": "घोषणा", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "नक्शा ", + "mapActive": "सक्रिय नक्शा", + "mapOverlay": "नक्सा ओभरले", + "mapOverlayCustom": "अनुकूलन ओभरले", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API कुञ्जी", + "mapOpenWeatherClouds": "OpenWeather बादलहरू", + "mapOpenWeatherPrecipitation": "OpenWeather वर्षा", + "mapOpenWeatherPressure": "OpenWeather दबाब", + "mapOpenWeatherWind": "OpenWeather पवन", + "mapOpenWeatherTemperature": "OpenWeather तापमान", + "mapLayer": "नक्शा को तह ", + "mapCustom": "अनुकूलन (XYZ)", + "mapCustomArcgis": "अनुकूलन (ArcGIS)", + "mapCustomLabel": "अनुकूल नक्शा", + "mapCarto": "कार्टो आधारनक्सा", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "बिंग नक्शाको चाबी (कि) ", + "mapBingRoad": "बिंग नक्शा (सडक)", + "mapBingAerial": "बिंग नक्शा (एरियल)", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "बाईडु", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "यान्डेक्स नक्सा", + "mapYandexSat": "यान्डेक्स भू-उपग्रह", + "mapWikimedia": "विकिमिडिया", + "mapOrdnanceSurvey": "आयुध सर्वेक्षण", + "mapMapboxStreets": "म्यापबक्स सडकहरू", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "आउटडोर आउटडोर", + "mapMapboxSatellite": "म्यापबक्स उपग्रह", + "mapMapboxKey": "म्यापबक्स पहुँच टोकन", + "mapMapTilerBasic": "MapTiler आधारभूत", + "mapMapTilerHybrid": "MapTiler हाइब्रिड", + "mapMapTilerKey": "MapTiler API कुञ्जी", + "mapLocationIqStreets": "स्थानIQ सडकहरू", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ पहुँच टोकन", + "mapTomTomBasic": "टमटम बेसिक", + "mapTomTomFlow": "TomTom यातायात प्रवाह", + "mapTomTomIncidents": "टमटम ट्राफिक घटनाहरू", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "यहाँ ट्राफिक प्रवाह", + "mapHereKey": "Here API Key", + "mapShapePolygon": "बहुभुज", + "mapShapeCircle": "वृत्त", + "mapShapePolyline": "बहुरेखा", + "mapLiveRoutes": "प्रत्यक्ष मार्गहरू", + "mapDirection": "Show Direction", + "mapCurrentLocation": "वर्तमान स्थान", + "mapPoiLayer": "POI तह", + "mapClustering": "मार्कर क्लस्टरिङ", + "mapOnSelect": "चयनमा नक्सा देखाउनुहोस्", + "mapDefault": "Default Map", + "stateTitle": "अवस्था ", + "stateName": "बिषेशता", + "stateValue": "मूल्य ", + "commandTitle": "आदेश ", + "commandSend": "पठाउने ", + "commandSent": "आदेश पठाइयो", + "commandQueued": "कमाण्ड पङ्क्तिबद्ध", + "commandUnit": "इकाई ", + "commandCustom": "अनुकुल आदेश", + "commandDeviceIdentification": "यन्त्र पहिचान", + "commandPositionSingle": "एकल प्रतिबेदन", + "commandPositionPeriodic": "आवधिक प्रतिबेदन ", + "commandPositionStop": "प्रतिबेदन बन्द गर्ने ", + "commandEngineStop": "इन्जिन बन्द गर्ने ", + "commandEngineResume": "इन्जिन खोल्ने ", + "commandAlarmArm": "हात चेतावनी", + "commandAlarmDisarm": "निशस्त्र अलार्म", + "commandAlarmDismiss": "अलार्म खारेज गर्नुहोस्", + "commandSetTimezone": "समय क्षेत्र सेट गर्नुहोस्", + "commandRequestPhoto": "फोटो अनुरोध", + "commandPowerOff": "पावर अफ यन्त्र", + "commandRebootDevice": " यन्त्र रिबुट गर्नुहोस्", + "commandFactoryReset": "Factory रिसेट", + "commandSendSms": "एसएमएस पठाउनुहोस्", + "commandSendUssd": "USSD पठाउनुहोस्", + "commandSosNumber": "SOS नम्बर सेट गर्नुहोस्", + "commandSilenceTime": "मौन समय सेट गर्नुहोस्", + "commandSetPhonebook": "फोनबुक सेट गर्नुहोस्", + "commandVoiceMessage": "आवाज सन्देश", + "commandOutputControl": "आउटपुट नियन्त्रण", + "commandVoiceMonitoring": "आवाज निगरानी", + "commandSetAgps": "जिपियस् सेट गर्नुहोस्", + "commandSetIndicator": "सूचक सेट गर्नुहोस्", + "commandConfiguration": "कन्फिगरेसन", + "commandGetVersion": "संस्करण प्राप्त गर्नुहोस्", + "commandFirmwareUpdate": "फर्मवेयर अपडेट गर्नुहोस्", + "commandSetConnection": "जडान सेट गर्नुहोस्", + "commandSetOdometer": "ओडोमिटर सेट गर्नुहोस्", + "commandGetModemStatus": "मोदेमको स्थिति जान्नुहोस्", + "commandGetDeviceStatus": "यन्त्रको स्थिति जान्नुहोस्", + "commandSetSpeedLimit": "गति सीमा सेट गर्नुहोस्", + "commandModePowerSaving": "पावर बचत मोड", + "commandModeDeepSleep": "गहिरो निद्रा मोड", + "commandAlarmGeofence": "Geofence अलार्म सेट गर्नुहोस्", + "commandAlarmBattery": "ब्याट्री अलार्म सेट गर्नुहोस्", + "commandAlarmSos": "SOS अलार्म सेट गर्नुहोस्", + "commandAlarmRemove": "अलार्म हटाउनुहोस् सेट गर्नुहोस्", + "commandAlarmClock": "घडी अलार्म सेट गर्नुहोस्", + "commandAlarmSpeed": "गति अलार्म सेट गर्नुहोस्", + "commandAlarmFall": "पतन अलार्म सेट गर्नुहोस्", + "commandAlarmVibration": "कम्पन अलार्म सेट गर्नुहोस्", + "commandFrequency": "आव्रती ", + "commandTimezone": "समय क्षेत्र अफसेट", + "commandMessage": "सन्देश", + "commandRadius": "त्रिज्या", + "commandEnable": "सक्षम गर्नुहोस्", + "commandData": "डाटा", + "commandIndex": "अनुक्रमणिका", + "commandPhone": "फोन नम्बर", + "commandServer": "सर्भर", + "commandPort": "पोर्ट", + "eventAll": "सबै घटना", + "eventDeviceOnline": "अनलाईन स्थिति", + "eventDeviceUnknown": "अज्ञात स्थिति", + "eventDeviceOffline": "अफलाईन स्थिति", + "eventDeviceInactive": "यन्त्र निष्क्रिय छ", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "यन्त्र चलिरहेको छ", + "eventDeviceStopped": "यन्त्र रोकियो", + "eventDeviceOverspeed": "गति सिमा नाघ्यो", + "eventDeviceFuelDrop": "इन्धन खस्यो", + "eventDeviceFuelIncrease": "इन्धन बढ्यो", + "eventCommandResult": "आदेश परिणाम", + "eventGeofenceEnter": "Geofence प्रवेश गर्नुभयो", + "eventGeofenceExit": "Geofence बाहिर निस्कियो", + "eventAlarm": "अलार्म", + "eventIgnitionOn": "इग्निशन अन", + "eventIgnitionOff": "इग्निशन बन्द", + "eventMaintenance": "मर्मत आवश्यक", + "eventTextMessage": "पाठ सन्देश प्राप्त भयो", + "eventDriverChanged": "चालक परिवर्तन भयो", + "eventMedia": "मिडिया", + "eventsScrollToLast": "अन्तिममा स्क्रोल गर्नुहोस्", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "सामान्य", + "alarmSos": "SOS", + "alarmVibration": "कम्पन", + "alarmMovement": "आन्दोलन", + "alarmLowspeed": "कम गति", + "alarmOverspeed": "अधिक गति", + "alarmFallDown": "तल झर्नु", + "alarmLowPower": "कम शक्ति", + "alarmLowBattery": "कम ब्याट्री", + "alarmFault": "गल्ती", + "alarmPowerOff": "पावर अफ", + "alarmPowerOn": "चालु गर", + "alarmDoor": "ढोका", + "alarmLock": "ताला", + "alarmUnlock": "अनलक गर्नुहोस्", + "alarmGeofence": "जियोफेन्स", + "alarmGeofenceEnter": "Geofence प्रविष्ट गर्नुहोस्", + "alarmGeofenceExit": "Geofence निकास", + "alarmGpsAntennaCut": "काटिएको जिपियस् आन्टेना", + "alarmAccident": "दुर्घटना", + "alarmTow": "टो", + "alarmIdle": "निष्क्रिय", + "alarmHighRpm": "उच्च RPM", + "alarmHardAcceleration": "हार्ड एक्सेलेरेशन", + "alarmHardBraking": "कडा ब्रेकिङ", + "alarmHardCornering": "कडा कुना", + "alarmLaneChange": "लेन परिवर्तन", + "alarmFatigueDriving": "थकान ड्राइभिङ", + "alarmPowerCut": "पावर कट", + "alarmPowerRestored": "शक्ति पुनर्स्थापित", + "alarmJamming": "जामिङ", + "alarmTemperature": "तापक्रम", + "alarmParking": "पार्किङ", + "alarmBonnet": "बोनेट", + "alarmFootBrake": "फुट ब्रेक", + "alarmFuelLeak": "इन्धन चुहावट", + "alarmTampering": "छेडछाड", + "alarmRemoving": "हटाउँदै", + "notificationType": "सुचना प्रकार", + "notificationAlways": "सबै उपकरणहरू", + "notificationNotificators": "च्यानलहरू", + "notificatorCommand": "Command", + "notificatorWeb": "वेब", + "notificatorMail": "पत्र", + "notificatorSms": "यसएमयस", + "notificatorFirebase": "फायरबेस", + "notificatorTraccar": "ट्रयाकर", + "notificatorTelegram": "टेलिग्राम", + "notificatorPushover": "पुशओभर", + "reportReplay": "रिप्ले", + "reportCombined": "Combined", + "reportRoute": "रुट", + "reportEvents": "घटनाहरू", + "reportTrips": "यात्राहरू", + "reportStops": "रोकिन्छ", + "reportSummary": "सारांश", + "reportDaily": "दैनिक सारांश", + "reportChart": "मानचित्र", + "reportConfigure": "कन्फिगर ", + "reportEventTypes": "घटना प्रकार", + "reportChartType": "मानचित्र प्रकार", + "reportShowMarkers": "मार्करहरू देखाउनुहोस्", + "reportExport": "निकास", + "reportEmail": "प्रतिबेदन ई-मेल गर्ने", + "reportSchedule": "Schedule", + "reportPeriod": "अवधि", + "reportCustom": "अनुकुल", + "reportToday": "आज", + "reportYesterday": "हिजो", + "reportThisWeek": "हालको हप्ता", + "reportPreviousWeek": "अघिल्लो हप्ता", + "reportThisMonth": "हालको महिना", + "reportPreviousMonth": "अघिल्लो महिना", + "reportDeviceName": "यन्त्र नाम", + "reportAverageSpeed": "औसत गति", + "reportMaximumSpeed": "अधिकतम गति", + "reportEngineHours": "इन्जिन घण्टा", + "reportDuration": "अवधि", + "reportStartDate": "सुरू मिति", + "reportStartTime": "शुरु समय", + "reportStartAddress": "शुरु ठेगाना", + "reportEndTime": "अन्त्य समय", + "reportEndAddress": "अन्त्य ठेगाना", + "reportSpentFuel": "खर्चित ईन्धन", + "reportStartOdometer": "ओडोमिटर सुरु", + "reportEndOdometer": "ओडोमिटर अन्त्य", + "statisticsTitle": "तथ्याङ्क ", + "statisticsCaptureTime": "समय कब्जा", + "statisticsActiveUsers": "सक्रिय प्रयोगकर्ता", + "statisticsActiveDevices": "सक्रिय यन्त्रहरू", + "statisticsRequests": "अनुरोधहरू", + "statisticsMessagesReceived": "सन्देशहरू प्राप्त भयो", + "statisticsMessagesStored": "सन्देशहरू भण्डारण गरियो", + "statisticsGeocoder": "जियोकोडर अनुरोधहरू", + "statisticsGeolocation": "भौगोलिक स्थान अनुरोधहरू", + "categoryArrow": "तीर", + "categoryDefault": "पुर्वनिर्धारित", + "categoryAnimal": "जनावर ", + "categoryBicycle": "साइकल ", + "categoryBoat": "डुंगा ", + "categoryBus": "बस ", + "categoryCar": "कार ", + "categoryCamper": "Camper", + "categoryCrane": "क्रेन ", + "categoryHelicopter": "हेलिकप्टर ", + "categoryMotorcycle": "मोटरसाइकल ", + "categoryOffroad": "कच्ची बाटो ", + "categoryPerson": "व्यक्ति ", + "categoryPickup": "पिकअप ", + "categoryPlane": "हवाइजहाज ", + "categoryShip": "जहाज ", + "categoryTractor": "ट्रयाक्टर", + "categoryTrain": "रेल", + "categoryTram": "ट्राम", + "categoryTrolleybus": "ट्रलिबस", + "categoryTruck": "ट्रक ", + "categoryVan": "भ्यान ", + "categoryScooter": "स्कुटर", + "maintenanceStart": "शुरु", + "maintenancePeriod": "अवधि" +}
\ No newline at end of file diff --git a/legacy/web/l10n/nl.json b/legacy/web/l10n/nl.json new file mode 100644 index 00000000..224adc26 --- /dev/null +++ b/legacy/web/l10n/nl.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Laden...", + "sharedHide": "Verberg", + "sharedSave": "Opslaan", + "sharedUpload": "Upload", + "sharedSet": "Instellen", + "sharedCancel": "Annuleren", + "sharedCopy": "Copy", + "sharedAdd": "Toevoegen", + "sharedEdit": "Bewerken", + "sharedRemove": "Verwijderen", + "sharedRemoveConfirm": "Item verwijderen?", + "sharedNoData": "Geen gegevens", + "sharedSubject": "Subject", + "sharedYes": "Ja", + "sharedNo": "Nee", + "sharedKm": "km", + "sharedMi": "mijl", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "knopen", + "sharedKmh": "km/h", + "sharedMph": "mijl per uur", + "sharedHour": "Uur", + "sharedMinute": "Minuut", + "sharedSecond": "Seconde", + "sharedDays": "dagen", + "sharedHours": "uren", + "sharedMinutes": "minuten", + "sharedDecimalDegrees": "Decimale graden", + "sharedDegreesDecimalMinutes": "Graden decimale minuten", + "sharedDegreesMinutesSeconds": "Graden minuten/seconden", + "sharedName": "Naam", + "sharedDescription": "Omschrijving", + "sharedSearch": "Zoeken", + "sharedIconScale": "Schaal van iconen", + "sharedGeofence": "Geografisch gebied", + "sharedGeofences": "Geografische gebieden", + "sharedCreateGeofence": "Maak geofence", + "sharedNotifications": "Notificatie", + "sharedNotification": "Notificatie", + "sharedAttributes": "Attributen", + "sharedAttribute": "Attribuut", + "sharedDrivers": "Bestuurders", + "sharedDriver": "Bestuurder", + "sharedArea": "Gebied", + "sharedSound": "Notificatiegeluid", + "sharedType": "Type", + "sharedDistance": "Afstand", + "sharedHourAbbreviation": "u", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "liter", + "sharedImpGallon": "imperial gallon", + "sharedUsGallon": "U.S. gallon", + "sharedLiterPerHourAbbreviation": "l/u", + "sharedGetMapState": "Haal kaartstatus op", + "sharedComputedAttribute": "Berekend attribuut", + "sharedComputedAttributes": "Berekende attributen", + "sharedCheckComputedAttribute": "Controleer berekend attribuut", + "sharedExpression": "Uitdrukking", + "sharedDevice": "Apparaat", + "sharedTest": "Test", + "sharedTestNotification": "Stuur testnotificatie", + "sharedTestNotificators": "Testkanalen", + "sharedTestExpression": "Testexpressie", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalenders", + "sharedFile": "Bestand", + "sharedSearchDevices": "Zoek apparaten", + "sharedSortBy": "Sorteer op", + "sharedFilterMap": "Filter op kaart", + "sharedSelectFile": "Selecteer bestand", + "sharedPhone": "Telefoon", + "sharedRequired": "Verplicht", + "sharedPreferences": "Voorkeuren", + "sharedPermissions": "Rechten", + "sharedConnections": "Connecties", + "sharedExtra": "Extra", + "sharedPrimary": "Primair", + "sharedSecondary": "Secundair", + "sharedTypeString": "Tekst", + "sharedTypeNumber": "Getal", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Tijdzone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Opgeslagen commando", + "sharedSavedCommands": "Opgeslagen commando's", + "sharedNew": "Nieuw...", + "sharedShowAddress": "Toon adres", + "sharedShowDetails": "Meer details", + "sharedDisabled": "Uitgeschakeld", + "sharedMaintenance": "Onderhoud", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarmen", + "sharedLocation": "Locatie", + "sharedImport": "Importeren", + "sharedColumns": "Kolommen", + "sharedDropzoneText": "Sleep en plaats hier een bestand of klik hier", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Eenvoudig", + "calendarRecurrence": "Herhaling", + "calendarOnce": "Eenmalig", + "calendarDaily": "Dagelijks", + "calendarWeekly": "Wekelijks", + "calendarMonthly": "Maandelijks", + "calendarDays": "Dagen", + "calendarSunday": "Zondag", + "calendarMonday": "Maandag", + "calendarTuesday": "Dinsdag", + "calendarWednesday": "Woensdag", + "calendarThursday": "Donderdag", + "calendarFriday": "Vrijdag", + "calendarSaturday": "Zaterdag", + "attributeShowGeofences": "Toon geofences", + "attributeSpeedLimit": "Snelheidslimiet", + "attributeFuelDropThreshold": "Brandstofafname grens", + "attributeFuelIncreaseThreshold": "Brandstoftoename grens", + "attributePolylineDistance": "Polylijn afstand", + "attributeReportIgnoreOdometer": "Rapport: negeer odometer", + "attributeWebReportColor": "Web: rapportkleur", + "attributeDevicePassword": "Apparaatwachtwoord", + "attributeDeviceImage": "Apparaatafbeelding", + "attributeDeviceInactivityStart": "Start van inactiviteit", + "attributeDeviceInactivityPeriod": "Inactiviteitperiode", + "attributeProcessingCopyAttributes": "Verwerking: kopieer attributen", + "attributeColor": "Kleur", + "attributeWebLiveRouteLength": "Web: live routelengte", + "attributeWebSelectZoom": "Web: zoomen tijdens selecteren", + "attributeWebMaxZoom": "Web: maximaal zoomniveau", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover gebruikerssleutel", + "attributePushoverDeviceNames": "Pushover apparaatnamen", + "attributeMailSmtpHost": "Mail: SMTP host", + "attributeMailSmtpPort": "Mail: SMTP poort", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTL ingeschakeld", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTL vereist", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL ingeschakeld", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL vertrouwd", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL protocollen", + "attributeMailSmtpFrom": "Mail: SMTP van", + "attributeMailSmtpAuth": "Mail: SMTP authenticatie ingeschakeld", + "attributeMailSmtpUsername": "Mail: SMTP gebruikersnaam", + "attributeMailSmtpPassword": "Mail: SMTP wachtwoord", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: attributen uitschakelen", + "attributeUiDisableGroups": "UI: groepen uitschakelen", + "attributeUiDisableEvents": "UI: Gebeurtenissen uitschakelen", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: bestuurders uitschakelen", + "attributeUiDisableComputedAttributes": "UI: berekende attributen uitschakelen", + "attributeUiDisableCalendars": "UI: kalenders uitschakelen", + "attributeUiDisableMaintenance": "UI: Onderhoud uitschakelen", + "attributeUiHidePositionAttributes": "UI: Verberg positie-eigenschappen", + "attributeUiDisableLoginLanguage": "UI: logintaal uitschakelen", + "attributeNotificationTokens": "Notificatietokens", + "attributePopupInfo": "Popup info", + "errorTitle": "Fout", + "errorGeneral": "Ongeldige parameters of overschrijding van beperkingen", + "errorConnection": "Verbindingsfout", + "errorSocket": "Web socket verbindingsfout", + "errorZero": "Mag niet nul zijn", + "userEmail": "E-mail", + "userPassword": "Wachtwoord", + "userAdmin": "Administrator", + "userRemember": "Onthouden", + "userExpirationTime": "Verloopdatum", + "userDeviceLimit": "Apparaatlimiet", + "userUserLimit": "Gebruikerlimiet", + "userDeviceReadonly": "Apparaat alleen-lezen", + "userLimitCommands": "Limiteer commando's", + "userDisableReports": "Rapporten uitschakelen", + "userFixedEmail": "Geen e-mail aanpassing", + "userToken": "Token", + "userDeleteAccount": "Geen account", + "userTemporary": "Temporary", + "loginTitle": "Inloggen", + "loginLanguage": "Taal", + "loginReset": "Wachtwoord herstellen", + "loginRegister": "Registreren", + "loginLogin": "Inloggen", + "loginOpenId": "Inloggen met OpenID", + "loginFailed": "Onjuist e-mailadres of wachtwoord", + "loginCreated": "De nieuwe gebruiker is geregistreerd", + "loginResetSuccess": "Check je e-mail", + "loginUpdateSuccess": "Het wachtwoord is ingesteld", + "loginLogout": "Afmelden", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Apparaten en status", + "deviceSelected": "Geselecteerd apparaat", + "deviceTitle": "Apparaten", + "devicePrimaryInfo": "Apparaattitel", + "deviceSecondaryInfo": "Apparaatdetail", + "deviceIdentifier": "Identifier", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Categorie", + "deviceLastUpdate": "Laatste update", + "deviceCommand": "Commando", + "deviceFollow": "Volgen", + "deviceTotalDistance": "Totale afstand", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Onbekend", + "deviceRegisterFirst": "Registreer je eerste apparaat", + "deviceIdentifierHelp": "IMEI, serienummer of ander id. Het moet overeenkomen met het identificatienummer dat het apparaat rapporteert aan de server.", + "deviceShare": "Share Device", + "groupDialog": "Groep", + "groupParent": "Groep", + "groupNoGroup": "Geen groep", + "settingsTitle": "Instellingen", + "settingsUser": "Account", + "settingsGroups": "Groepen", + "settingsServer": "Server", + "settingsUsers": "Gebruikers", + "settingsDistanceUnit": "Afstandseenheid", + "settingsAltitudeUnit": "Hoogte eenheid", + "settingsSpeedUnit": "Snelheidseenheid", + "settingsVolumeUnit": "Volume-eenheid", + "settingsTwelveHourFormat": "12-uurs indeling", + "settingsCoordinateFormat": "Coördinatenformaat ", + "settingsServerVersion": "Serverversie", + "settingsAppVersion": "Appversie", + "settingsConnection": "Verbinding", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Rapportages", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Apparaat", + "reportGroup": "Groep", + "reportFrom": "Van", + "reportTo": "Naar", + "reportShow": "Laat zien", + "reportClear": "Leegmaken", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Tijd aanpassen", + "positionDeviceTime": "Tijd van apparaat", + "positionServerTime": "Tijd van server", + "positionValid": "Geldig", + "positionAccuracy": "Nauwkeurigheid", + "positionLatitude": "Breedtegraad", + "positionLongitude": "Lengtegraad", + "positionAltitude": "Hoogte", + "positionSpeed": "Snelheid", + "positionCourse": "Koers", + "positionAddress": "Adres", + "positionProtocol": "Protocol", + "positionDistance": "Afstand", + "positionRpm": "RPM", + "positionFuel": "Brandstof", + "positionPower": "Stroom", + "positionBattery": "Accu", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellieten", + "positionSatVisible": "Zichtbare satellieten", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roamen", + "positionEvent": "Gebeurtenis", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service odometer", + "positionTripOdometer": "Reis odometer", + "positionHours": "Uur", + "positionSteps": "Stappen", + "positionInput": "Invoer", + "positionHeartRate": "Heart Rate", + "positionOutput": "Uitvoer", + "positionBatteryLevel": "Accuniveau", + "positionFuelConsumption": "Brandstofverbruik", + "positionRfid": "RFID", + "positionVersionFw": "Firmware versie", + "positionVersionHw": "Hardware versie", + "positionIgnition": "Contact", + "positionFlags": "Vlaggen", + "positionCharge": "Lading", + "positionIp": "IP", + "positionArchive": "Archief", + "positionVin": "VIN", + "positionApproximate": "Benadering", + "positionThrottle": "Throttle", + "positionMotion": "Beweging", + "positionArmed": "Armed", + "positionAcceleration": "Versnelling", + "positionTemp": "Temperatuur", + "positionDeviceTemp": "Apparaattemperatuur", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Commando", + "positionBlocked": "Geblokkeerd", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD snelheid", + "positionObdOdometer": "OBD odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Bestuurder uniek ID", + "positionCard": "Card", + "positionImage": "Afbeelding", + "positionVideo": "Video", + "positionAudio": "Geluid", + "serverTitle": "Serverinstellingen", + "serverZoom": "Zoom", + "serverRegistration": "Registratie", + "serverReadonly": "Alleen lezen", + "serverForceSettings": "Instellingen forceren", + "serverAnnouncement": "Aankondiging", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Kaart", + "mapActive": "Actieve kaarten", + "mapOverlay": "Kaartlaag", + "mapOverlayCustom": "Aangepaste laag", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API sleutel", + "mapOpenWeatherClouds": "OpenWeather wolken", + "mapOpenWeatherPrecipitation": "OpenWeather neerslag", + "mapOpenWeatherPressure": "OpenWeather luchtdruk", + "mapOpenWeatherWind": "OpenWeather wind", + "mapOpenWeatherTemperature": "OpenWeather temperatuur", + "mapLayer": "Kaart laag", + "mapCustom": "Aangepast (XYZ)", + "mapCustomArcgis": "Aangepast (ArcGIS)", + "mapCustomLabel": "Aangepaste map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps sleutel", + "mapBingRoad": "Bing Maps Wegen", + "mapBingAerial": "Bing Maps Luchtfoto", + "mapBingHybrid": "Bing Maps hybride", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex kaart", + "mapYandexSat": "Yandex satelliet", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "MapBox toegangsleutel", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API sleutel", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ toegangsleutel", + "mapTomTomBasic": "TomTom basis", + "mapTomTomFlow": "TomTom verkeersstromen", + "mapTomTomIncidents": "TomTom verkeersincidenten", + "mapTomTomKey": "TomTom API sleutel", + "mapHereBasic": "Here basis", + "mapHereHybrid": "Here hybride", + "mapHereSatellite": "Here satelliet", + "mapHereFlow": "Here verkeersstromen", + "mapHereKey": "Here API sleutel", + "mapShapePolygon": "Polygoon", + "mapShapeCircle": "Cirkel", + "mapShapePolyline": "Polylijn", + "mapLiveRoutes": "Live routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Huidige locatie", + "mapPoiLayer": "POI laag", + "mapClustering": "Markeringen clusteren", + "mapOnSelect": "Toon kaart bij selectie", + "mapDefault": "Default Map", + "stateTitle": "Status", + "stateName": "Parameter", + "stateValue": "Waarde", + "commandTitle": "Commando", + "commandSend": "Verstuur", + "commandSent": "Commando verstuurd", + "commandQueued": "Commando in de wachtrij geplaatst", + "commandUnit": "Eenheid", + "commandCustom": "Aangepast commando", + "commandDeviceIdentification": "Apparaatidentificatie", + "commandPositionSingle": "Enkel commando", + "commandPositionPeriodic": "Periodiek rapporteren", + "commandPositionStop": "Stop rapporteren", + "commandEngineStop": "Motor stoppen", + "commandEngineResume": "Motor hervatten", + "commandAlarmArm": "Alarm aan", + "commandAlarmDisarm": "Alarm uit", + "commandAlarmDismiss": "Alarm negeren", + "commandSetTimezone": "Tijdzone instellen", + "commandRequestPhoto": "Vraag foto", + "commandPowerOff": "Apparaat uitschakelen", + "commandRebootDevice": "Herstart apparaat", + "commandFactoryReset": "Naar fabrieksinstellingen", + "commandSendSms": "Stuur SMS", + "commandSendUssd": "Stuur USDD", + "commandSosNumber": "Stel SOS-nummer in", + "commandSilenceTime": "Stel 'Stille tijd' in", + "commandSetPhonebook": "Bewerk telefoonboek", + "commandVoiceMessage": "Spraakbericht", + "commandOutputControl": "Stel output in", + "commandVoiceMonitoring": "Stemmonitoring", + "commandSetAgps": "AGPS instellen", + "commandSetIndicator": "Indicator instellen", + "commandConfiguration": "Configuratie", + "commandGetVersion": "Versie ophalen", + "commandFirmwareUpdate": "Firmware bijwerken", + "commandSetConnection": "Connectie instellen", + "commandSetOdometer": "Odometer instellen", + "commandGetModemStatus": "Modemstatus opvragen", + "commandGetDeviceStatus": "Apparaatstatus opvragen", + "commandSetSpeedLimit": "Snelheidslimiet instellen", + "commandModePowerSaving": "Batterijspaarstand", + "commandModeDeepSleep": "Diepe slaapstand", + "commandAlarmGeofence": "Geofence-alarm instellen", + "commandAlarmBattery": "Accualarm instellen", + "commandAlarmSos": "SOS-alarm instellen", + "commandAlarmRemove": "Verwijderalarm instellen", + "commandAlarmClock": "Klokalarm instellen", + "commandAlarmSpeed": "Snelheidsalarm instellen", + "commandAlarmFall": "Probleemalarm instellen", + "commandAlarmVibration": "Trilalarm instellen", + "commandFrequency": "Frequentie", + "commandTimezone": "Tijdzoneverschil", + "commandMessage": "Bericht", + "commandRadius": "Radius", + "commandEnable": "Inschakelen", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Telefoonnummer", + "commandServer": "Server", + "commandPort": "Poort", + "eventAll": "Alle gebeurtenissen", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status onbekend", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Einde van inactiviteit", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Apparaat beweegt", + "eventDeviceStopped": "Apparaat gestopt", + "eventDeviceOverspeed": "Snelheidslimiet overschreden", + "eventDeviceFuelDrop": "Brandstofafname", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Commando resultaat", + "eventGeofenceEnter": "Geofence binnengegaan", + "eventGeofenceExit": "Geofence verlaten", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ontsteking aan", + "eventIgnitionOff": "Ontsteking uit", + "eventMaintenance": "Onderhoud vereist", + "eventTextMessage": "Tekstbericht ontvangen", + "eventDriverChanged": "Bestuurder veranderd", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll naar laatste", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Algemeen", + "alarmSos": "SOS", + "alarmVibration": "Trilling", + "alarmMovement": "Beweging", + "alarmLowspeed": "Lage snelheid", + "alarmOverspeed": "Snelheidsoverschreiding", + "alarmFallDown": "Gevallen", + "alarmLowPower": "Lage stroom", + "alarmLowBattery": "Laag accuniveau", + "alarmFault": "Fout", + "alarmPowerOff": "Uitgeschakeld", + "alarmPowerOn": "Ingeschakeld", + "alarmDoor": "Deur", + "alarmLock": "Afgesloten", + "alarmUnlock": "Geopend", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence binnengegaan", + "alarmGeofenceExit": "Geofence verlaten", + "alarmGpsAntennaCut": "GPS antenne verbroken", + "alarmAccident": "Ongeluk", + "alarmTow": "Gesleept", + "alarmIdle": "Rust", + "alarmHighRpm": "Hoge TPM", + "alarmHardAcceleration": "Harde versnelling", + "alarmHardBraking": "Harde remming", + "alarmHardCornering": "Scherpe bocht", + "alarmLaneChange": "Rijbaanwisseling", + "alarmFatigueDriving": "Vermoeid rijden", + "alarmPowerCut": "Stroomonderbreking", + "alarmPowerRestored": "Stroom hersteld", + "alarmJamming": "Verstoring", + "alarmTemperature": "Temperatuur", + "alarmParking": "Parkeren", + "alarmBonnet": "Motorkap", + "alarmFootBrake": "Voetrem", + "alarmFuelLeak": "Brandstoflek", + "alarmTampering": "Knoeien", + "alarmRemoving": "Verwijderd", + "notificationType": "Notificatietype", + "notificationAlways": "Alle apparaten", + "notificationNotificators": "Kanalen", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "E-mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Opnieuw afspelen", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Gebeurtenissen", + "reportTrips": "Ritten", + "reportStops": "Stops", + "reportSummary": "Samenvatting", + "reportDaily": "Dagelijkse samenvatting", + "reportChart": "Grafiek", + "reportConfigure": "Configureer", + "reportEventTypes": "Gebeurtenistypen", + "reportChartType": "Grafiektype", + "reportShowMarkers": "Toon markeringen", + "reportExport": "Exporteren", + "reportEmail": "E-mailrapport", + "reportSchedule": "Schedule", + "reportPeriod": "Periode", + "reportCustom": "Aangepast", + "reportToday": "Vandaag", + "reportYesterday": "Gisteren", + "reportThisWeek": "Deze week", + "reportPreviousWeek": "Vorige week", + "reportThisMonth": "Deze maand", + "reportPreviousMonth": "Vorige maand", + "reportDeviceName": "Apparaatnaam", + "reportAverageSpeed": "Gemiddelde snelheid", + "reportMaximumSpeed": "Maximale snelheid", + "reportEngineHours": "Draaiuren motor", + "reportDuration": "Duur", + "reportStartDate": "Startdatum", + "reportStartTime": "Starttijd", + "reportStartAddress": "Beginadres", + "reportEndTime": "Eindtijd", + "reportEndAddress": "Eindadres", + "reportSpentFuel": "Verbruikte brandstof", + "reportStartOdometer": "Odometer start", + "reportEndOdometer": "Odometer einde", + "statisticsTitle": "Statistieken", + "statisticsCaptureTime": "Opnametijd", + "statisticsActiveUsers": "Actieve gebruikers", + "statisticsActiveDevices": "Actieve apparaten", + "statisticsRequests": "Verzoeken", + "statisticsMessagesReceived": "Ontvangen berichten", + "statisticsMessagesStored": "Opgeslagen berichten", + "statisticsGeocoder": "Geocoderverzoeken", + "statisticsGeolocation": "Geolocatieverzoeken", + "categoryArrow": "Aanwijzer", + "categoryDefault": "Standaard", + "categoryAnimal": "Dier", + "categoryBicycle": "Fiets", + "categoryBoat": "Boot", + "categoryBus": "Bus", + "categoryCar": "Auto", + "categoryCamper": "Camper", + "categoryCrane": "Kraan", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motor", + "categoryOffroad": "Offroad", + "categoryPerson": "Persoon", + "categoryPickup": "Pickup", + "categoryPlane": "Vliegtuig", + "categoryShip": "Schip", + "categoryTractor": "Tractor", + "categoryTrain": "Trein", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Vrachtwagen", + "categoryVan": "Busje", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Periode" +}
\ No newline at end of file diff --git a/legacy/web/l10n/nn.json b/legacy/web/l10n/nn.json new file mode 100644 index 00000000..2bdc5a9a --- /dev/null +++ b/legacy/web/l10n/nn.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Lastar...", + "sharedHide": "Gøym", + "sharedSave": "Lagre", + "sharedUpload": "Upload", + "sharedSet": "Sett", + "sharedCancel": "Avbryt", + "sharedCopy": "Copy", + "sharedAdd": "Legg til", + "sharedEdit": "Endre", + "sharedRemove": "Fjern", + "sharedRemoveConfirm": "Fjern element?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nm", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/t", + "sharedMph": "mph", + "sharedHour": "Time", + "sharedMinute": "Minutt", + "sharedSecond": "Sekund", + "sharedDays": "dagar", + "sharedHours": "timar", + "sharedMinutes": "minuttar", + "sharedDecimalDegrees": "Disimalgrader", + "sharedDegreesDecimalMinutes": "Desimalminutter", + "sharedDegreesMinutesSeconds": "Grader minuttar sekund", + "sharedName": "Namn", + "sharedDescription": "Beskriving", + "sharedSearch": "Søk", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geo-gjerde", + "sharedGeofences": "Geo-gjerde", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Varsel", + "sharedNotification": "Varsel", + "sharedAttributes": "Eigenskapar", + "sharedAttribute": "Eigenskap", + "sharedDrivers": "Sjåførar", + "sharedDriver": "Sjåfør", + "sharedArea": "Område", + "sharedSound": "Varslingslyd", + "sharedType": "Type", + "sharedDistance": "Avstand", + "sharedHourAbbreviation": "t", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Britisk gallon", + "sharedUsGallon": "Amerikansk gallon", + "sharedLiterPerHourAbbreviation": "l/t", + "sharedGetMapState": "Få karttilstand", + "sharedComputedAttribute": "Berekna eigenskap", + "sharedComputedAttributes": "Berekna eigenskapar", + "sharedCheckComputedAttribute": "Sjekk berekna eigenskaper", + "sharedExpression": "Uttrykk", + "sharedDevice": "Eining", + "sharedTest": "Test", + "sharedTestNotification": "Send testvarsel", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalendrar", + "sharedFile": "Fil", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Velg fil", + "sharedPhone": "Telefon", + "sharedRequired": "Naudsynt", + "sharedPreferences": "Innstillingar", + "sharedPermissions": "Løyve", + "sharedConnections": "Connections", + "sharedExtra": "Ekstra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Streng", + "sharedTypeNumber": "Nummer", + "sharedTypeBoolean": "Boolsk", + "sharedTimezone": "Tidssone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Lagra kommando", + "sharedSavedCommands": "Lagra kommandoar", + "sharedNew": "Ny...", + "sharedShowAddress": "Vis adresse", + "sharedShowDetails": "More Details", + "sharedDisabled": "Deaktiver", + "sharedMaintenance": "Vedlikehald", + "sharedDeviceAccumulators": "Akkumulatorar", + "sharedAlarms": "Alarmar", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Fartsgrense", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polylinjedistanse", + "attributeReportIgnoreOdometer": "Rapporter: Ignorer kilometerteljar", + "attributeWebReportColor": "Web: Rapportfarge", + "attributeDevicePassword": "Einingspassord", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Prosesser: Kopier eigenskapar", + "attributeColor": "Farge", + "attributeWebLiveRouteLength": "Web: Live rute lengde", + "attributeWebSelectZoom": "Web: Skaler ved val", + "attributeWebMaxZoom": "Web: Maksimal forstørring", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "E-post: SMTP-vert", + "attributeMailSmtpPort": "E-post: SMTP-port", + "attributeMailSmtpStarttlsEnable": "E-post: aktiver SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "E-post: SMTP STARTTLS nøydsynt", + "attributeMailSmtpSslEnable": "E-post: aktiver SMTP SSL", + "attributeMailSmtpSslTrust": "E-Post: SMTP SSL tillit", + "attributeMailSmtpSslProtocols": "E-post: SMTP SSL protokollar", + "attributeMailSmtpFrom": "E-post: SMTP Frå", + "attributeMailSmtpAuth": "E-post: Aktiver SMTP autentisering", + "attributeMailSmtpUsername": "E-post: SMTP brukarnamn", + "attributeMailSmtpPassword": "E-post: SMTP passord", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Deaktiver hendingar", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Deaktiver Sjåførar", + "attributeUiDisableComputedAttributes": "UI: Deaktiver Berekna eigenskaper", + "attributeUiDisableCalendars": "UI: Deaktiver kalendrar", + "attributeUiDisableMaintenance": " UI: Deaktiver vedlikehald", + "attributeUiHidePositionAttributes": "UI: Gøym posisojonseigenskapar", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Feil", + "errorGeneral": "ugyldige parameterar eller avgrensingsbrot", + "errorConnection": "Forbindelse feila", + "errorSocket": "Web socket tilkoplingsfeil", + "errorZero": "Kan ikkje vere null", + "userEmail": "E-post", + "userPassword": "Passord", + "userAdmin": "Admin", + "userRemember": "Hugs", + "userExpirationTime": "Utløp", + "userDeviceLimit": "Einingsgrense", + "userUserLimit": "Brukargrense", + "userDeviceReadonly": "Eining skrivebeskytta", + "userLimitCommands": "Avgrens kommandoar", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Symbol", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Logg inn", + "loginLanguage": "Språk", + "loginReset": "Reset Password", + "loginRegister": "Registrer", + "loginLogin": "Logg inn", + "loginOpenId": "Login with OpenID", + "loginFailed": "Feil e-post eller passord", + "loginCreated": "Ny brukar har blitt registrert", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Logg ut", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Einingar og status", + "deviceSelected": "Selected Device", + "deviceTitle": "Einingar", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifikator", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategori", + "deviceLastUpdate": "Sist oppdatert", + "deviceCommand": "Kommando", + "deviceFollow": "Følj", + "deviceTotalDistance": "Total avstand", + "deviceStatus": "Status", + "deviceStatusOnline": "Tilkopla", + "deviceStatusOffline": "Fråkopla", + "deviceStatusUnknown": "Ukjend", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Gruppe", + "groupParent": "Gruppe", + "groupNoGroup": "Inga gruppe", + "settingsTitle": "Innstillingar", + "settingsUser": "Konto", + "settingsGroups": "Gruppar", + "settingsServer": "Tenar", + "settingsUsers": "Brukarar", + "settingsDistanceUnit": "Avstanseining", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Hastighetseining", + "settingsVolumeUnit": "Volumeining", + "settingsTwelveHourFormat": "Tolvtimersformat", + "settingsCoordinateFormat": "Koordinatformat", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Rapportar", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Eining", + "reportGroup": "Gruppe", + "reportFrom": "Frå", + "reportTo": "Til", + "reportShow": "Syn", + "reportClear": "Nullstill", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Gyldig", + "positionAccuracy": "Nøyaktigheit", + "positionLatitude": "Breddegrad", + "positionLongitude": "Lengdegrad", + "positionAltitude": "Høgde", + "positionSpeed": "Hastigheit", + "positionCourse": "Retning", + "positionAddress": "Adresse", + "positionProtocol": "Protokoll", + "positionDistance": "Avstand", + "positionRpm": "RPM", + "positionFuel": "Drivstoff", + "positionPower": "Kraft", + "positionBattery": "Batteri", + "positionRaw": "Rå", + "positionIndex": "Register", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelittar", + "positionSatVisible": "Synlege satelittar", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Nettveksling (Roaming)", + "positionEvent": "Hending", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Kilometerteljar", + "positionServiceOdometer": "Service kilometerteljar", + "positionTripOdometer": "Turmålar", + "positionHours": "Timar", + "positionSteps": "Steg", + "positionInput": "Inngang", + "positionHeartRate": "Heart Rate", + "positionOutput": "Utgang", + "positionBatteryLevel": "Batterinivå", + "positionFuelConsumption": "Drivstoff-forbruk", + "positionRfid": "RFID", + "positionVersionFw": "Fastvareversjon", + "positionVersionHw": "Maskinvareversjon", + "positionIgnition": "Tenning", + "positionFlags": "Status indikatorar", + "positionCharge": "Lade", + "positionIp": "IP", + "positionArchive": "Arkiv", + "positionVin": "VIN", + "positionApproximate": "Tilnærma", + "positionThrottle": "Gasspedal", + "positionMotion": "Rørsle", + "positionArmed": "Armert", + "positionAcceleration": "Akselerasjon", + "positionTemp": "Temperature", + "positionDeviceTemp": "Einingstemperatur", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operatør", + "positionCommand": "Kommando", + "positionBlocked": "Blokert", + "positionDtcs": "Diagnosefeilkoder", + "positionObdSpeed": "OBD-hastigheit", + "positionObdOdometer": "OBD kilometerteljar", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Sjåførunik ID", + "positionCard": "Card", + "positionImage": "Bilete", + "positionVideo": "Video", + "positionAudio": "Lyd", + "serverTitle": "Tenarinnstillingar", + "serverZoom": "Zoom", + "serverRegistration": "Registering", + "serverReadonly": "Skrivebeskytta", + "serverForceSettings": "Tving innstillingar", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Kart", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Kartlag", + "mapCustom": "Tilpassa (XYZ)", + "mapCustomArcgis": "Tilpassa (ArcGIS)", + "mapCustomLabel": "Tilpassa kart", + "mapCarto": "Carto basiskart", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps-nøkkel", + "mapBingRoad": "Bing Maps-veg", + "mapBingAerial": "Bing Maps-flyfoto", + "mapBingHybrid": "Bing kart hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex kart", + "mapYandexSat": "Yandex satellitt", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Mangekant", + "mapShapeCircle": "Sirkel", + "mapShapePolyline": "Polylinje", + "mapLiveRoutes": "Live ruter", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI-lag", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Status", + "stateName": "Eigenskap", + "stateValue": "Verdi", + "commandTitle": "Kommando", + "commandSend": "Send", + "commandSent": "Kommando sendt", + "commandQueued": " Kommando lagt i kø", + "commandUnit": "Eining", + "commandCustom": "Eigendefinert kommando", + "commandDeviceIdentification": "Einingsidentifikasjon", + "commandPositionSingle": "Enkel-rapportering", + "commandPositionPeriodic": "Periodisk rapportering", + "commandPositionStop": "Stopp rapportering", + "commandEngineStop": "Stopp motor", + "commandEngineResume": "Fortsett motor", + "commandAlarmArm": "Slå alarm på", + "commandAlarmDisarm": "Slå alarm av", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Sett opp tidssone", + "commandRequestPhoto": "Be om foto", + "commandPowerOff": "Skru av eining", + "commandRebootDevice": "Omstart eining", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SMS-nummer", + "commandSilenceTime": "Sett stilletid", + "commandSetPhonebook": "Sett telefonkatalog", + "commandVoiceMessage": "Talemelding", + "commandOutputControl": "Utgangkontroll", + "commandVoiceMonitoring": "Stemmeovervaking", + "commandSetAgps": "Sett AGPS", + "commandSetIndicator": "Sett indikator", + "commandConfiguration": "Oppsett", + "commandGetVersion": "Syn versjon", + "commandFirmwareUpdate": "Oppdater fastvare", + "commandSetConnection": "Sett tilkopling", + "commandSetOdometer": "Set kilometerteljar", + "commandGetModemStatus": "Syn Modemstatus", + "commandGetDeviceStatus": "Synd einingstatus", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekvens", + "commandTimezone": "Tidszoneforskyving", + "commandMessage": "Melding", + "commandRadius": "Radius", + "commandEnable": "Aktiver", + "commandData": "Data", + "commandIndex": "Register", + "commandPhone": "Telefonnummer", + "commandServer": "Tenar", + "commandPort": "Port", + "eventAll": "Alle hendingar", + "eventDeviceOnline": "Status tilkopla", + "eventDeviceUnknown": "Status ukjend", + "eventDeviceOffline": "Status fråkopla", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Eining rører seg", + "eventDeviceStopped": "Eining stoppa", + "eventDeviceOverspeed": "Fartsgrense overstige", + "eventDeviceFuelDrop": "Fall i drivstoff", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Kommandoresultat", + "eventGeofenceEnter": "Innkommen Geo-gjerde", + "eventGeofenceExit": "Forlate Geo-gjerde", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Tenning på", + "eventIgnitionOff": "Tenning av", + "eventMaintenance": "Vedlikehald nøydsynt", + "eventTextMessage": "Tekstmelding motteken", + "eventDriverChanged": "Sjåfør endra", + "eventMedia": "Media", + "eventsScrollToLast": "Syn siste", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Generell", + "alarmSos": "SOS", + "alarmVibration": "Vibrasjon", + "alarmMovement": "Rørsle", + "alarmLowspeed": "Låg hastigheit", + "alarmOverspeed": "Høgt turtal", + "alarmFallDown": "Fall", + "alarmLowPower": "Lite straum", + "alarmLowBattery": "Lågt batterinivå", + "alarmFault": "Feil", + "alarmPowerOff": "Straum fråkopla", + "alarmPowerOn": "Straum tilkopla", + "alarmDoor": "Dør", + "alarmLock": "Lås", + "alarmUnlock": "Lås opp", + "alarmGeofence": "Geo-gjerde", + "alarmGeofenceEnter": "Innanfor Geo-gjerde", + "alarmGeofenceExit": "Utanfor Geo-gjerde", + "alarmGpsAntennaCut": "GPS-antenne fjerna", + "alarmAccident": "Ulykke", + "alarmTow": "Tauing", + "alarmIdle": "Tomgang", + "alarmHighRpm": "Høgt turtal", + "alarmHardAcceleration": "Hard akselerasjon", + "alarmHardBraking": "Hard oppbremsing", + "alarmHardCornering": "Hard vending", + "alarmLaneChange": "Filskifte", + "alarmFatigueDriving": "Trøyttleikskøyring", + "alarmPowerCut": "Straum fråkopla", + "alarmPowerRestored": " Straumtilførsel atterreist", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperatur", + "alarmParking": "Parkering", + "alarmBonnet": "Motorpanser", + "alarmFootBrake": "Bremsepedal", + "alarmFuelLeak": "Drivstofflekkasje", + "alarmTampering": "Tukling", + "alarmRemoving": "Fjerning", + "notificationType": "Varseltype", + "notificationAlways": "Alle einingar", + "notificationNotificators": "Kanalar", + "notificatorCommand": "Command", + "notificatorWeb": "Vev", + "notificatorMail": "E-post", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Rute", + "reportEvents": "Hendingar", + "reportTrips": "Turar", + "reportStops": "Stopp", + "reportSummary": "Oppsumering", + "reportDaily": "Daily Summary", + "reportChart": "Graf", + "reportConfigure": "Set opp", + "reportEventTypes": "Hendingstypar", + "reportChartType": "Graf type", + "reportShowMarkers": "Syn markørar", + "reportExport": "Eksporter", + "reportEmail": "E-post-rapport", + "reportSchedule": "Schedule", + "reportPeriod": "Periode", + "reportCustom": "Tilpassa", + "reportToday": "Idag", + "reportYesterday": "I går", + "reportThisWeek": "Denne veka", + "reportPreviousWeek": "Forrige veke", + "reportThisMonth": "Denne månaden", + "reportPreviousMonth": "Forrige månad", + "reportDeviceName": "Einingsnamn", + "reportAverageSpeed": "Gjennomsnittshastighet", + "reportMaximumSpeed": "Maksimumshastighet", + "reportEngineHours": "Motortimar", + "reportDuration": "Varigheit", + "reportStartDate": "Start Date", + "reportStartTime": "Starttidspunkt", + "reportStartAddress": "Startadresse", + "reportEndTime": "Sluttidspunkt", + "reportEndAddress": "Sluttadresse", + "reportSpentFuel": "Brukt drivstoff", + "reportStartOdometer": "Kilometerteljar start", + "reportEndOdometer": "Kilometerteljar stop", + "statisticsTitle": "Statistikk", + "statisticsCaptureTime": "Opptakstid", + "statisticsActiveUsers": "Aktive brukarar", + "statisticsActiveDevices": "Aktive einingar", + "statisticsRequests": "Førespurnadar", + "statisticsMessagesReceived": "Meldingar motteke", + "statisticsMessagesStored": "Meldingar lagra", + "statisticsGeocoder": "Geocoder-førespurnader", + "statisticsGeolocation": "Geolocation-førespurnader", + "categoryArrow": "Pil", + "categoryDefault": "Standard", + "categoryAnimal": "Dyr", + "categoryBicycle": "Sykkel", + "categoryBoat": "Båt", + "categoryBus": "Buss", + "categoryCar": "Bil", + "categoryCamper": "Camper", + "categoryCrane": "Kran", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorsykkel", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Fly", + "categoryShip": "Skip", + "categoryTractor": "Traktor", + "categoryTrain": "Tog", + "categoryTram": "Trikk", + "categoryTrolleybus": "Trolleybuss", + "categoryTruck": "Lastebil", + "categoryVan": "Varebil", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Periode" +}
\ No newline at end of file diff --git a/legacy/web/l10n/pl.json b/legacy/web/l10n/pl.json new file mode 100644 index 00000000..6e0a57d4 --- /dev/null +++ b/legacy/web/l10n/pl.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Wczytywanie...", + "sharedHide": "Ukryj", + "sharedSave": "Zapisz", + "sharedUpload": "Wyślij", + "sharedSet": "Ustaw", + "sharedCancel": "Anuluj", + "sharedCopy": "Copy", + "sharedAdd": "Dodaj", + "sharedEdit": "Edytuj", + "sharedRemove": "Usuń", + "sharedRemoveConfirm": "Usunąć obiekt?", + "sharedNoData": "Brak danych", + "sharedSubject": "Subject", + "sharedYes": "Tak", + "sharedNo": "Nie", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "Mm", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "w", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Godzina", + "sharedMinute": "Minuta", + "sharedSecond": "Sekunda", + "sharedDays": "dni", + "sharedHours": "godziny", + "sharedMinutes": "minuty", + "sharedDecimalDegrees": "Stopnie Dziesiętne", + "sharedDegreesDecimalMinutes": "Stopnie Dziesiętne Minuty", + "sharedDegreesMinutesSeconds": "Stopnie Minuty Sekundy", + "sharedName": "Nazwa", + "sharedDescription": "Opis", + "sharedSearch": "Szukaj", + "sharedIconScale": "Skala ikon", + "sharedGeofence": "Obszar monitorowany", + "sharedGeofences": "Obszary monitorowane", + "sharedCreateGeofence": "Utwórz obszar monitorowany", + "sharedNotifications": "Powiadomienia", + "sharedNotification": "Powiadomienie", + "sharedAttributes": "Atrybuty", + "sharedAttribute": "Atrybut", + "sharedDrivers": "Kierowcy", + "sharedDriver": "Kierowca", + "sharedArea": "Strefa", + "sharedSound": "Dźwięk powiadomienia", + "sharedType": "Typ", + "sharedDistance": "Odległość", + "sharedHourAbbreviation": "g", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litr", + "sharedImpGallon": "Galon Ang.", + "sharedUsGallon": "Galon U.S.", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Pobierz stan mapy", + "sharedComputedAttribute": "Obliczony atrybut", + "sharedComputedAttributes": "Obliczone atrybuty", + "sharedCheckComputedAttribute": "Sprawdź obliczony atrybut", + "sharedExpression": "Wyrażenie", + "sharedDevice": "Urządzenie", + "sharedTest": "Test", + "sharedTestNotification": "Wyślij powiadomienie testowe", + "sharedTestNotificators": "Kanały testowe", + "sharedTestExpression": "Wyrażenie testowe", + "sharedCalendar": "Kalendarz", + "sharedCalendars": "Kalendarze", + "sharedFile": "Plik", + "sharedSearchDevices": "Szukaj urządzeń", + "sharedSortBy": "Sortuj według", + "sharedFilterMap": "Filtruj na mapie", + "sharedSelectFile": "Wybierz plik", + "sharedPhone": "Telefon", + "sharedRequired": "Wymagane", + "sharedPreferences": "Preferencje", + "sharedPermissions": "Uprawnienia", + "sharedConnections": "Połączenia", + "sharedExtra": "Dodatkowe", + "sharedPrimary": "Podstawowy", + "sharedSecondary": "Drugorzędny", + "sharedTypeString": "Tekst", + "sharedTypeNumber": "Liczba", + "sharedTypeBoolean": "Wartość binarna", + "sharedTimezone": "Strefa czasowa", + "sharedInfoTitle": "Informacja", + "sharedSavedCommand": "Zapisane polecenie", + "sharedSavedCommands": "Zapisane polecenia", + "sharedNew": "Nowy...", + "sharedShowAddress": "Pokaż adres", + "sharedShowDetails": "Więcej szczegółów", + "sharedDisabled": "Wyłączony", + "sharedMaintenance": "Konserwacja", + "sharedDeviceAccumulators": "Akumulatory", + "sharedAlarms": "Alarmy", + "sharedLocation": "Lokalizacja", + "sharedImport": "Importuj", + "sharedColumns": "Kolumny", + "sharedDropzoneText": "Przeciągnij i upuść plik tutaj lub kliknij", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Prosty", + "calendarRecurrence": "Powtarzalny", + "calendarOnce": "Jednorazowy", + "calendarDaily": "Codzienny", + "calendarWeekly": "Tygodniowy", + "calendarMonthly": "Miesięczny", + "calendarDays": "Dzienny", + "calendarSunday": "Niedziela", + "calendarMonday": "Poniedziałek", + "calendarTuesday": "Wtorek", + "calendarWednesday": "Środa", + "calendarThursday": "Czwartek", + "calendarFriday": "Piątek", + "calendarSaturday": "Sobota", + "attributeShowGeofences": "Pokaż obszar monitorowany", + "attributeSpeedLimit": "Ograniczenie prędkości", + "attributeFuelDropThreshold": "Próg spadku paliwa", + "attributeFuelIncreaseThreshold": "Próg wzrostu paliwa", + "attributePolylineDistance": "Dystans łamanej", + "attributeReportIgnoreOdometer": "Raport: Ignoruj licznik kilometrów", + "attributeWebReportColor": "Web: Kolor raportu", + "attributeDevicePassword": "Hasło urządzenia", + "attributeDeviceImage": "Zdjęcie urządzenia", + "attributeDeviceInactivityStart": "Początek nieaktywności urządzenia", + "attributeDeviceInactivityPeriod": "Okres nieaktywności urządzenia", + "attributeProcessingCopyAttributes": "Przetwarzanie: Kopiuj atrybuty", + "attributeColor": "Kolor", + "attributeWebLiveRouteLength": "Web: Długość ścieżki na żywo", + "attributeWebSelectZoom": "Sieć: Powiększ po zaznaczeniu", + "attributeWebMaxZoom": "Strona: Maksymalne przybliżenie", + "attributeTelegramChatId": "Identyfikator czatu Telegram", + "attributePushoverUserKey": "Klucz użytkownika Pushover", + "attributePushoverDeviceNames": "Nazwy urządzeń Pushover", + "attributeMailSmtpHost": "Poczta: Nazwa hosta SMTP", + "attributeMailSmtpPort": "Poczta: Port SMTP", + "attributeMailSmtpStarttlsEnable": "Poczta: SMTP STARTTLS - Włącz", + "attributeMailSmtpStarttlsRequired": "Poczta: SMTP STARTTLS - Wymagane ", + "attributeMailSmtpSslEnable": "Poczta: SMTP SSL - Włącz", + "attributeMailSmtpSslTrust": "Poczta: SMTP SSL - Ufaj ", + "attributeMailSmtpSslProtocols": "Poczta: SMTP SSL - Protokoły ", + "attributeMailSmtpFrom": "Poczta: SMTP - Od", + "attributeMailSmtpAuth": "Poczta: SMTP - Włącz autoryzację", + "attributeMailSmtpUsername": "Poczta: SMTP - Nazwa użytkownika", + "attributeMailSmtpPassword": "Poczta: SMTP - Hasło", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Wyłącz atrybuty", + "attributeUiDisableGroups": "UI: Wyłącz grupy", + "attributeUiDisableEvents": "UI: Wyłącz zdarzenia", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Wyłącz kierowców", + "attributeUiDisableComputedAttributes": "UI: Wyłącz obliczone atrybuty", + "attributeUiDisableCalendars": "UI: Wyłącz kalendarze", + "attributeUiDisableMaintenance": "UI: Wyłącz konserwację", + "attributeUiHidePositionAttributes": "UI: Ukryj atrybuty pozycji", + "attributeUiDisableLoginLanguage": "UI: Wyłącz język logowania", + "attributeNotificationTokens": "Tokeny powiadomień", + "attributePopupInfo": "Wyskakujące informacje", + "errorTitle": "Błąd", + "errorGeneral": "Nieprawidłowe parametry lub naruszenie ograniczeń", + "errorConnection": "Błąd przy połączeniu", + "errorSocket": "Błąd połączenia gniazda sieciowego", + "errorZero": "Nie może być zerem", + "userEmail": "E-mail", + "userPassword": "Hasło", + "userAdmin": "Administrator", + "userRemember": "Zapamiętaj", + "userExpirationTime": "Wygaśnięcie", + "userDeviceLimit": "Limit urządzeń", + "userUserLimit": "Limit użytkownika", + "userDeviceReadonly": "Urządzenie do odczytu", + "userLimitCommands": "Ogranicz polecenia", + "userDisableReports": "Wyłącz raporty", + "userFixedEmail": "Bez zmiany adresu e-mail", + "userToken": "Token", + "userDeleteAccount": "Usuń konto", + "userTemporary": "Temporary", + "loginTitle": "Login", + "loginLanguage": "Język", + "loginReset": "Zresetuj hasło", + "loginRegister": "Rejestracja", + "loginLogin": "Zaloguj", + "loginOpenId": "Zaloguj się za pomocą OpenID", + "loginFailed": "Nieprawidłowy adres e-mail lub hasło", + "loginCreated": "Nowy użytkownik został zarejestrowany", + "loginResetSuccess": "Sprawdź swój e-mail", + "loginUpdateSuccess": "Nowe hasło zostało ustawione", + "loginLogout": "Wyloguj", + "loginLogo": "Logo", + "loginTotpCode": "Kod hasła jednorazowego", + "loginTotpKey": "Klucz hasła jednorazowego", + "devicesAndState": "Urządzenia i stan", + "deviceSelected": "Wybrane urządzenie", + "deviceTitle": "Urządzenia", + "devicePrimaryInfo": "Tytuł urządzenia", + "deviceSecondaryInfo": "Szczegóły urządzenia", + "deviceIdentifier": "Identyfikator", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategoria", + "deviceLastUpdate": "Ostatnia aktualizacja", + "deviceCommand": "Komenda", + "deviceFollow": "Podążaj", + "deviceTotalDistance": "Całkowity dystans", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Nieznany", + "deviceRegisterFirst": "Zarejestruj pierwsze urządzenie", + "deviceIdentifierHelp": "IMEI, numer seryjny lub inny identyfikator. Musi być zgodny z identyfikatorem raportującego urządzenia", + "deviceShare": "Share Device", + "groupDialog": "Grupa", + "groupParent": "Grupa", + "groupNoGroup": "Brak grupy", + "settingsTitle": "Ustawienia", + "settingsUser": "Konto", + "settingsGroups": "Grupy", + "settingsServer": "Serwer", + "settingsUsers": "Użytkownicy", + "settingsDistanceUnit": "Jednostka odległości", + "settingsAltitudeUnit": "Jednostka wysokości", + "settingsSpeedUnit": "Jednostka prędkości", + "settingsVolumeUnit": "Jednostka objętości", + "settingsTwelveHourFormat": "Format 12-godz.", + "settingsCoordinateFormat": "Format współrzędnych", + "settingsServerVersion": "Wersja serwera", + "settingsAppVersion": "Wersja aplikacji", + "settingsConnection": "Połączenie", + "settingsDarkMode": "Tryb ciemny", + "settingsTotpEnable": "Włącz hasło jednorazowe", + "settingsTotpForce": "Wymuś hasło jednorazowe", + "settingsServiceWorkerUpdateInterval": "Interwał aktualizacji ServiceWorkera", + "settingsUpdateAvailable": "Dostępna jest aktualizacja.", + "settingsSupport": "Support", + "reportTitle": "Raporty", + "reportScheduled": "Zaplanowane raporty", + "reportDevice": "Urządzenie", + "reportGroup": "Grupa", + "reportFrom": "Z", + "reportTo": "Do", + "reportShow": "Pokaż", + "reportClear": "Wyczyść", + "linkGoogleMaps": "Mapy Google", + "linkAppleMaps": "Mapy Apple", + "linkStreetView": "Street View", + "positionFixTime": "Czas ustalenia pozycji", + "positionDeviceTime": "Czas urządzenia", + "positionServerTime": "Czas serwera", + "positionValid": "Aktywny", + "positionAccuracy": "Dokładność", + "positionLatitude": "Szerokość", + "positionLongitude": "Długość", + "positionAltitude": "Wysokość", + "positionSpeed": "Prędkość", + "positionCourse": "Kurs", + "positionAddress": "Adres", + "positionProtocol": "Protokół", + "positionDistance": "Odległość", + "positionRpm": "RPM", + "positionFuel": "Paliwo", + "positionPower": "Moc", + "positionBattery": "Bateria", + "positionRaw": "Surowy", + "positionIndex": "Indeks", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelity", + "positionSatVisible": "Widoczne satelity", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Zdarzenie", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Drogomierz", + "positionServiceOdometer": "Drogomierz usługi", + "positionTripOdometer": "Drogomierz podróży", + "positionHours": "Godziny", + "positionSteps": "Kroki", + "positionInput": "Wejście", + "positionHeartRate": "Tętno", + "positionOutput": "Wyjście", + "positionBatteryLevel": "Poziom baterii", + "positionFuelConsumption": "Zużycie paliwa", + "positionRfid": "RFID", + "positionVersionFw": "Wersja firmware", + "positionVersionHw": "Wersja sprzętu", + "positionIgnition": "Zapłon", + "positionFlags": "Flagi", + "positionCharge": "Ładowanie", + "positionIp": "IP", + "positionArchive": "Archiwum", + "positionVin": "VIN", + "positionApproximate": "Przybliżony", + "positionThrottle": "Przepustnica", + "positionMotion": "Ruch", + "positionArmed": "Uzbrojony", + "positionAcceleration": "Przyśpieszenie", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura urządzenia", + "positionCoolantTemp": "Temperatura płynu chłodzącego", + "positionOperator": "Operator", + "positionCommand": "Polecenie", + "positionBlocked": "Zablokowany", + "positionDtcs": "DTCs", + "positionObdSpeed": "Prędkość OBD", + "positionObdOdometer": "Drogomierz OBD", + "positionDrivingTime": "Czas podróży", + "positionDriverUniqueId": "Unikalny ID kierowcy", + "positionCard": "Karta", + "positionImage": "Obraz", + "positionVideo": "Wideo", + "positionAudio": "Dźwięk", + "serverTitle": "Ustawienia serwera", + "serverZoom": "Powiększenie", + "serverRegistration": "Rejestracja", + "serverReadonly": "Tylko do odczytu", + "serverForceSettings": "Wymuś ustawienia", + "serverAnnouncement": "Komunikat", + "serverName": "Nazwa serwera", + "serverDescription": "Opis serwera", + "serverColorPrimary": "Kolor podstawowy", + "serverColorSecondary": "Kolor drugorzędny", + "serverLogo": "Obraz logo", + "serverLogoInverted": "Odwrócony obraz logo", + "serverChangeDisable": "Wyłącz zmianę serwera", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Aktywne mapy", + "mapOverlay": "Nakładka mapy", + "mapOverlayCustom": "Niestandardowa nakładka", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "Klucz API OpenWeather", + "mapOpenWeatherClouds": "Chmury OpenWeather", + "mapOpenWeatherPrecipitation": "Opady OpenWeather", + "mapOpenWeatherPressure": "Ciśnienie OpenWeather", + "mapOpenWeatherWind": "Wiatr OpenWeather", + "mapOpenWeatherTemperature": "Temperatura OpenWeather", + "mapLayer": "Rodzaj mapy", + "mapCustom": "Własny (XYZ)", + "mapCustomArcgis": "Własny (ArcGIS)", + "mapCustomLabel": "Własna mapa", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Spis uzbrojenia", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Token dostępu do Mapboxa", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "Klucz API MapTiler", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "Token dostępu LocationIQ", + "mapTomTomBasic": "Podstawowy TomTom", + "mapTomTomFlow": "Ruch drogowy TomTom", + "mapTomTomIncidents": "Wypadki drogowe TomTom", + "mapTomTomKey": "Klucz API TomTom", + "mapHereBasic": "Podstawowy Here", + "mapHereHybrid": "Hybrydowy Here", + "mapHereSatellite": "Satelitarny Here", + "mapHereFlow": "Ruch drogowy Here", + "mapHereKey": "Klucz API Here", + "mapShapePolygon": "Wielokąt", + "mapShapeCircle": "Okrąg", + "mapShapePolyline": "Krzywa", + "mapLiveRoutes": "Ścieżki na żywo", + "mapDirection": "Pokaż kierunek", + "mapCurrentLocation": "Aktualna lokalizacja", + "mapPoiLayer": "Warstwa POI", + "mapClustering": "Grupowanie znaczników", + "mapOnSelect": "Pokaż mapę w zaznaczeniu", + "mapDefault": "Mapa domyślna", + "stateTitle": "Stan i lokalizacja", + "stateName": "Właściwość", + "stateValue": "Wartość", + "commandTitle": "Komenda", + "commandSend": "Wyślij", + "commandSent": "Polecenie wysłane", + "commandQueued": "Polecenie zakolejkowane", + "commandUnit": "Jednostka", + "commandCustom": "Własna komenda", + "commandDeviceIdentification": "Identyfikacja urządzenia", + "commandPositionSingle": "Pojedyncze raportowanie", + "commandPositionPeriodic": "Okresowy raport", + "commandPositionStop": "Zatrzymaj raportowanie", + "commandEngineStop": "Silnik - Stop", + "commandEngineResume": "Silnik - Wznów", + "commandAlarmArm": "Włączanie alarmu", + "commandAlarmDisarm": "Wyłączanie alarmu", + "commandAlarmDismiss": "Odwołaj alarm", + "commandSetTimezone": "Ustaw strefę czasową", + "commandRequestPhoto": "Żądanie zdjęcia\n", + "commandPowerOff": "Wyłącz urządzenie", + "commandRebootDevice": "Zresetuj urządzenie", + "commandFactoryReset": "Przywrócenie ustawień fabrycznych", + "commandSendSms": "Wyślij SMS", + "commandSendUssd": "Wyślij USSD", + "commandSosNumber": "Ustaw numer SOS", + "commandSilenceTime": "Ustaw czas milczenia", + "commandSetPhonebook": "Ustaw książkę adresową", + "commandVoiceMessage": "Wiadomość głosowa", + "commandOutputControl": "Kontrola wyjścia", + "commandVoiceMonitoring": "Monitorowanie głosu", + "commandSetAgps": "Ustaw AGPS", + "commandSetIndicator": "Ustaw znacznik", + "commandConfiguration": "Konfiguracja", + "commandGetVersion": "Pobierz wersję", + "commandFirmwareUpdate": "Aktualizuj firmware", + "commandSetConnection": "Ustaw połączenie", + "commandSetOdometer": "Ustaw drogomierz", + "commandGetModemStatus": "Pobierz status modemu", + "commandGetDeviceStatus": "Pobierz status urządzenia", + "commandSetSpeedLimit": "Ustaw ograniczenie prędkości", + "commandModePowerSaving": "Tryb oszczędzania energii", + "commandModeDeepSleep": "Tryb głębokiego uśpienia", + "commandAlarmGeofence": "Ustaw alarm obszaru monitorowanego", + "commandAlarmBattery": "Ustaw alarm baterii", + "commandAlarmSos": "Ustaw alarm SOS", + "commandAlarmRemove": "Ustaw usunięcie alarmu", + "commandAlarmClock": "Ustaw alarm zegara", + "commandAlarmSpeed": "Ustaw alarm prędkości", + "commandAlarmFall": "Ustaw alarm upadku", + "commandAlarmVibration": "Ustaw alarm wibracji", + "commandFrequency": "Częstotliwość", + "commandTimezone": "Przesunięcie strefy czasowej", + "commandMessage": "Wiadomość", + "commandRadius": "Promień", + "commandEnable": "Włącz", + "commandData": "Dane", + "commandIndex": "Index", + "commandPhone": "Numer telefonu", + "commandServer": "Serwer", + "commandPort": "Port", + "eventAll": "Wszystkie zdarzenia", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status nieznany", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Urządzenie nieaktywne", + "eventQueuedCommandSent": "Wysłano polecenie z kolejki", + "eventDeviceMoving": "Urządzenie się porusza", + "eventDeviceStopped": "Urządzenie zatrzymane", + "eventDeviceOverspeed": "Przekroczono ograniczenie prędkości", + "eventDeviceFuelDrop": "Utrata paliwa", + "eventDeviceFuelIncrease": "Wzrost paliwa", + "eventCommandResult": "Rezultat polecenia", + "eventGeofenceEnter": "Wkroczono w obszar monitorowany", + "eventGeofenceExit": "Opuszczono obszar monitorowany", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Zapłon włączony", + "eventIgnitionOff": "Zapłon wyłączony", + "eventMaintenance": "Wymagana konserwacja", + "eventTextMessage": "Odebrano wiadomość tekstową", + "eventDriverChanged": "Zmieniana kierowcy", + "eventMedia": "Media", + "eventsScrollToLast": "Przewiń do ostatniego", + "eventsSoundEvents": "Dźwięk wydarzeń", + "eventsSoundAlarms": "Dźwięk alarmów", + "alarmGeneral": "Ogólny", + "alarmSos": "SOS", + "alarmVibration": "WIbracja", + "alarmMovement": "Ruch", + "alarmLowspeed": "Niska prędkość", + "alarmOverspeed": "Przekroczenie prędkości", + "alarmFallDown": "Upadek", + "alarmLowPower": "Mało energii", + "alarmLowBattery": "Niski stan baterii", + "alarmFault": "Błąd", + "alarmPowerOff": "Wyłączenie zasilania", + "alarmPowerOn": "Włączenie zasilania", + "alarmDoor": "Drzwi", + "alarmLock": "Zamknięty", + "alarmUnlock": "Otwarty", + "alarmGeofence": "Obszar monitorowany", + "alarmGeofenceEnter": "Obszar monitorowany wejście", + "alarmGeofenceExit": "Obszar monitorowany wyjście", + "alarmGpsAntennaCut": "Odłączenie anteny GPS", + "alarmAccident": "Wypadek", + "alarmTow": "Holowanie", + "alarmIdle": "Bezczynność", + "alarmHighRpm": "Wysokie obroty silnika", + "alarmHardAcceleration": "Mocne przyśpiesznie", + "alarmHardBraking": "Mocne hamowanie", + "alarmHardCornering": "Ostre zakręty", + "alarmLaneChange": "Zmiana pasa ruchu", + "alarmFatigueDriving": "Zmęczenie", + "alarmPowerCut": "Odcięcie zasilania", + "alarmPowerRestored": "Zasilanie przywrócone", + "alarmJamming": "Zakłócanie", + "alarmTemperature": "Temperatura", + "alarmParking": "Parkowanie", + "alarmBonnet": "Maska", + "alarmFootBrake": "Hamulec nożny", + "alarmFuelLeak": "Wyciek paliwa", + "alarmTampering": "Manipulacja", + "alarmRemoving": "Usuwanie", + "notificationType": "Rodzaj powiadomienia", + "notificationAlways": "Wszystkie urządzenia", + "notificationNotificators": "Kanały", + "notificatorCommand": "Komenda", + "notificatorWeb": "Sieć", + "notificatorMail": "Poczta", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Odtwórz", + "reportCombined": "Połączone", + "reportRoute": "Trasa", + "reportEvents": "Zdarzenia", + "reportTrips": "Podróże", + "reportStops": "Zatrzymania", + "reportSummary": "Podsumowanie", + "reportDaily": "Podsumowanie dzienne", + "reportChart": "Wykres", + "reportConfigure": "Konfiguracja", + "reportEventTypes": "Rodzaje zdarzeń", + "reportChartType": "Typ wykresu", + "reportShowMarkers": "Pokaż znaczniki", + "reportExport": "Eksportuj", + "reportEmail": "Raport e-mailowy", + "reportSchedule": "Zaplanuj", + "reportPeriod": "Okres", + "reportCustom": "Własny", + "reportToday": "Dzisiaj", + "reportYesterday": "Wczoraj", + "reportThisWeek": "W tym tygodniu", + "reportPreviousWeek": "W poprzednim tygodniu", + "reportThisMonth": "W tym miesiącu", + "reportPreviousMonth": "W poprzednim miesiącu", + "reportDeviceName": "Nazwa urządzenia", + "reportAverageSpeed": "Średnia prędkość", + "reportMaximumSpeed": "Maksymalna prędkość", + "reportEngineHours": "Czas pracy silnika", + "reportDuration": "Czas trwania", + "reportStartDate": "Data początkowa", + "reportStartTime": "Czas uruchomienia", + "reportStartAddress": "Adres początkowy", + "reportEndTime": "Czas końcowy", + "reportEndAddress": "Adres końcowy", + "reportSpentFuel": "Zużyte paliwo", + "reportStartOdometer": "Start drogomierza", + "reportEndOdometer": "Stop drogomierza", + "statisticsTitle": "Statystyki", + "statisticsCaptureTime": "Czas zapisu", + "statisticsActiveUsers": "Aktywni użytkownicy", + "statisticsActiveDevices": "Aktywne urządzenia", + "statisticsRequests": "Żądania", + "statisticsMessagesReceived": "Odebrane wiadomości", + "statisticsMessagesStored": "Zapisane wiadomości", + "statisticsGeocoder": "Żądania Geokodera", + "statisticsGeolocation": "Żądania geolokacji", + "categoryArrow": "Strzałka", + "categoryDefault": "Domyślny", + "categoryAnimal": "Zwierzę", + "categoryBicycle": "Rower", + "categoryBoat": "Łódź", + "categoryBus": "Autobus", + "categoryCar": "Samochód", + "categoryCamper": "Camper", + "categoryCrane": "Dźwig", + "categoryHelicopter": "Śmigłowiec", + "categoryMotorcycle": "Motocykl", + "categoryOffroad": "Pojazd terenowy", + "categoryPerson": "Osoba", + "categoryPickup": "Pickup", + "categoryPlane": "Samolot", + "categoryShip": "Statek", + "categoryTractor": "Traktor", + "categoryTrain": "Pociąg", + "categoryTram": "Tramwaj", + "categoryTrolleybus": "Trolejbus", + "categoryTruck": "Ciężarówka", + "categoryVan": "Van", + "categoryScooter": "Skuter", + "maintenanceStart": "Start", + "maintenancePeriod": "Okres" +}
\ No newline at end of file diff --git a/legacy/web/l10n/pt.json b/legacy/web/l10n/pt.json new file mode 100644 index 00000000..66181d39 --- /dev/null +++ b/legacy/web/l10n/pt.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "A Carregar...", + "sharedHide": "Ocultar", + "sharedSave": "Guardar", + "sharedUpload": "Upload", + "sharedSet": "Conjunto", + "sharedCancel": "Cancelar", + "sharedCopy": "Copy", + "sharedAdd": "Adicionar", + "sharedEdit": "Editar", + "sharedRemove": "Remover", + "sharedRemoveConfirm": "Remover item?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Sim", + "sharedNo": "Não", + "sharedKm": "Km", + "sharedMi": "Mi", + "sharedNmi": "Nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Km/h", + "sharedKmh": "Km/h", + "sharedMph": "Mph", + "sharedHour": "Hora", + "sharedMinute": "Minuto", + "sharedSecond": "Segundo", + "sharedDays": "Dias", + "sharedHours": "Horas", + "sharedMinutes": "Minutos", + "sharedDecimalDegrees": "Graus Decimais", + "sharedDegreesDecimalMinutes": "Graus Decimais Minutos", + "sharedDegreesMinutesSeconds": "Graus Decimais Segundos", + "sharedName": "Nome", + "sharedDescription": "Descrição", + "sharedSearch": "Pesquisar", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Cerca Geográfica", + "sharedGeofences": "Cercas Geográficas", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notificações", + "sharedNotification": "Notificação", + "sharedAttributes": "Atributos", + "sharedAttribute": "Atributo", + "sharedDrivers": "Condutores", + "sharedDriver": "Condutor", + "sharedArea": "Área", + "sharedSound": "Notificação Sonora", + "sharedType": "Tipo", + "sharedDistance": "Distância", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "Volts", + "sharedLiterAbbreviation": "Litros", + "sharedGallonAbbreviation": "Gal", + "sharedLiter": "Litro", + "sharedImpGallon": "Galão Imp.", + "sharedUsGallon": "Galão U.S.", + "sharedLiterPerHourAbbreviation": "Litros/Hora", + "sharedGetMapState": "Obter Estado do Mapa", + "sharedComputedAttribute": "Atributo", + "sharedComputedAttributes": "Atributos", + "sharedCheckComputedAttribute": "Verificar Atributos", + "sharedExpression": "Expressão", + "sharedDevice": "Dispositivo", + "sharedTest": "Test", + "sharedTestNotification": "Enviar Notificação Teste", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Calendário", + "sharedCalendars": "Calendários", + "sharedFile": "Ficheiro", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Seleccionar Ficheiro", + "sharedPhone": "Telefone", + "sharedRequired": "Exigido", + "sharedPreferences": "Preferências", + "sharedPermissions": "Permissões", + "sharedConnections": "Conexões", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Corda", + "sharedTypeNumber": "Número", + "sharedTypeBoolean": "Boleano", + "sharedTimezone": "Fuso-Horário", + "sharedInfoTitle": "Informação", + "sharedSavedCommand": "Comando Gravado", + "sharedSavedCommands": "Comandos Gravados", + "sharedNew": "Novo...", + "sharedShowAddress": "Mostrar Morada", + "sharedShowDetails": "Mais Detalhes", + "sharedDisabled": "Desativado", + "sharedMaintenance": "Manutenção", + "sharedDeviceAccumulators": "Acumuladores", + "sharedAlarms": "Alarmes", + "sharedLocation": "Localização", + "sharedImport": "Importar", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Limite de Velocidade", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Distância Polilinha", + "attributeReportIgnoreOdometer": "Relatório: Ignorar Conta-Quilómetros", + "attributeWebReportColor": "Web: Cor do Relatório", + "attributeDevicePassword": "Password do Dispositivo", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Inicio da Inatividade do Dispositivo", + "attributeDeviceInactivityPeriod": "Período de Inatividade do Dispositivo", + "attributeProcessingCopyAttributes": "Processando: Cópia dos Atributos", + "attributeColor": "Cor", + "attributeWebLiveRouteLength": "Web: Comprimento da Rota ao Vivo", + "attributeWebSelectZoom": "Web: Zoom na Selecção", + "attributeWebMaxZoom": "Web: Zoom Máximo", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: Alojamento SMTP", + "attributeMailSmtpPort": "Mail: Porta SMTP", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Activo", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Necessário", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Activo", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Verificado", + "attributeMailSmtpSslProtocols": "Mail: SMTP Protocolos SSL", + "attributeMailSmtpFrom": "Mail: SMTP de", + "attributeMailSmtpAuth": "Mail: SMTP Autenticação Activa", + "attributeMailSmtpUsername": "Mail: Utilizador SMTP", + "attributeMailSmtpPassword": "Mail: Password SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Desativar Eventos", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Desativar Condutores", + "attributeUiDisableComputedAttributes": "UI: Desativar Atributos", + "attributeUiDisableCalendars": "UI: Desativar Calendários", + "attributeUiDisableMaintenance": "Desativar Manutenção", + "attributeUiHidePositionAttributes": "UI: Ocultar Atributos de Localização", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Tokens de Notificação", + "attributePopupInfo": "Popup Info", + "errorTitle": "Erro", + "errorGeneral": "Parâmetros Inválidos", + "errorConnection": "Erro de conexão", + "errorSocket": "Erro de Conexão", + "errorZero": "Não pode ser zero", + "userEmail": "Utilizador", + "userPassword": "Senha", + "userAdmin": "Administrador", + "userRemember": "Relembrar", + "userExpirationTime": "Expira em:", + "userDeviceLimit": "Limite de Dispositivos", + "userUserLimit": "Limite de Utilizadores", + "userDeviceReadonly": "Leitura de Dispositivo", + "userLimitCommands": "Limite de Comandos", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Símbolo", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Entrar", + "loginLanguage": "Idioma", + "loginReset": "Reset Password", + "loginRegister": "Registar", + "loginLogin": "Entrar", + "loginOpenId": "Login with OpenID", + "loginFailed": "Dados incorrectos ou inexistentes", + "loginCreated": "Novo utilizador foi registado", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Sair", + "loginLogo": "Logótipo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Dispositivos e Estados", + "deviceSelected": "Selected Device", + "deviceTitle": "Dispositivos", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identificador", + "deviceModel": "Modelo", + "deviceContact": "Contacto", + "deviceCategory": "Categoria", + "deviceLastUpdate": "Ultima Actualização", + "deviceCommand": "Comando", + "deviceFollow": "Seguir", + "deviceTotalDistance": "Distancia Total", + "deviceStatus": "Estado", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Desconhecido", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Grupo", + "groupParent": "Grupo", + "groupNoGroup": "Sem Grupo", + "settingsTitle": "Configurações", + "settingsUser": "Conta", + "settingsGroups": "Grupos", + "settingsServer": "Servidor", + "settingsUsers": "Utilizadores", + "settingsDistanceUnit": "Unidade de Distância", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Unidade de Velocidade", + "settingsVolumeUnit": "Unidade de Volume", + "settingsTwelveHourFormat": "Formato 12 Horas", + "settingsCoordinateFormat": "Formato das Coordenadas", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Relatórios", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Dispositivo", + "reportGroup": "Grupo", + "reportFrom": "De", + "reportTo": "Para", + "reportShow": "Mostrar", + "reportClear": "Limpar", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Válido", + "positionAccuracy": "Precisão", + "positionLatitude": "Latitude", + "positionLongitude": "Longitude", + "positionAltitude": "Altitude", + "positionSpeed": "Velocidade", + "positionCourse": "Direcção", + "positionAddress": "Morada", + "positionProtocol": "Protocolo", + "positionDistance": "Distância", + "positionRpm": "Rpm", + "positionFuel": "Combustível", + "positionPower": "Potência", + "positionBattery": "Bateria", + "positionRaw": "Aberto", + "positionIndex": "Início", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelites", + "positionSatVisible": "Satelites Visiveis", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Evento", + "positionAlarm": "Alarme", + "positionStatus": "Estado", + "positionOdometer": "Conta-Quilómetros", + "positionServiceOdometer": "Serviço Conta-Quilómetros", + "positionTripOdometer": "Conta-Quilómetros de Viagem", + "positionHours": "Horas", + "positionSteps": "Posições", + "positionInput": "Dentro", + "positionHeartRate": "Heart Rate", + "positionOutput": "Fora", + "positionBatteryLevel": "Nível da Bateria", + "positionFuelConsumption": "Consumo de Combustível", + "positionRfid": "RFID", + "positionVersionFw": "Versão de Firmware", + "positionVersionHw": "Versão de Hardware", + "positionIgnition": "Ignição", + "positionFlags": "Bandeiras", + "positionCharge": "Carregar", + "positionIp": "IP", + "positionArchive": "Arquivo", + "positionVin": "VIN", + "positionApproximate": "Aproximação", + "positionThrottle": "Acelerador", + "positionMotion": "Movimento", + "positionArmed": "Armado", + "positionAcceleration": "Aceleração", + "positionTemp": "Temperature", + "positionDeviceTemp": "Temperatura do Dispositivo", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operador", + "positionCommand": "Comando", + "positionBlocked": "Bloqueado", + "positionDtcs": "DTCs", + "positionObdSpeed": "Velocidade OBD", + "positionObdOdometer": "Conta-Quilómetros OBD", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Identificação do Condutor", + "positionCard": "Card", + "positionImage": "Imagem", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Configurações do Servidor", + "serverZoom": "Zoom", + "serverRegistration": "Registo", + "serverReadonly": "Apenas Leitura", + "serverForceSettings": "Forçar Configurações", + "serverAnnouncement": "Anúncio", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Aspecto do Mapa", + "mapCustom": "Padrão (XYZ)", + "mapCustomArcgis": "Padrão (ArcGIS)", + "mapCustomLabel": "Mapa Personalizado", + "mapCarto": "Mapa Carto", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Mapa Bing Key", + "mapBingRoad": "Mapa Bing Road", + "mapBingAerial": "Mapa Bing Aéreo", + "mapBingHybrid": "Mapa Bing Híbrido", + "mapBaidu": "Mapa Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Mapa Yandex", + "mapYandexSat": "Mapa Yandex Satélite", + "mapWikimedia": "Mapa Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Ruas", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox ao ar livre", + "mapMapboxSatellite": "Mapbox Satélite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polígono", + "mapShapeCircle": "Circulo", + "mapShapePolyline": "Linha Polígono", + "mapLiveRoutes": "Rotas ao Vivo", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "Camada POI", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Estado", + "stateName": "Parâmetro", + "stateValue": "Valor", + "commandTitle": "Comando", + "commandSend": "Enviar", + "commandSent": "Comando Enviado", + "commandQueued": "Comando foi para a fila", + "commandUnit": "Unidade", + "commandCustom": "Comando Personalizado", + "commandDeviceIdentification": "Identificação do Dispositivo", + "commandPositionSingle": "Relatórios Únicos", + "commandPositionPeriodic": "Relatório Periódico", + "commandPositionStop": "Parar Posição", + "commandEngineStop": "Parar Motor", + "commandEngineResume": "Desbloqueio do Motor", + "commandAlarmArm": "Armar Alarme", + "commandAlarmDisarm": "Desarmar Alarme", + "commandAlarmDismiss": "Alarme Dispensado", + "commandSetTimezone": "Definir Fuso Horário", + "commandRequestPhoto": "Solicitar Foto", + "commandPowerOff": "Dispositivo Desligado", + "commandRebootDevice": "Reiniciar Dispositivo", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Enviar SMS", + "commandSendUssd": "Enviar USSD", + "commandSosNumber": "Definir Numero SOS", + "commandSilenceTime": "Definir Tempo de Silencio", + "commandSetPhonebook": "Definir Agenda", + "commandVoiceMessage": "Mensagem de Voz", + "commandOutputControl": "Controlo de Saída", + "commandVoiceMonitoring": "Monitorização de Voz", + "commandSetAgps": "Definir AGPS", + "commandSetIndicator": "Definir Indicador", + "commandConfiguration": "Configuração", + "commandGetVersion": "Obter Versão", + "commandFirmwareUpdate": "Actualizar Firmware", + "commandSetConnection": "Estabelecer Ligação", + "commandSetOdometer": "Conta-Quilómetros", + "commandGetModemStatus": "Estado do Modem", + "commandGetDeviceStatus": "Obter Estado do Dispositivos", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frequência", + "commandTimezone": "Deslocamento do Fuso Horário", + "commandMessage": "Mensagem", + "commandRadius": "Radiação", + "commandEnable": "Ativar", + "commandData": "Dados", + "commandIndex": "Inicio", + "commandPhone": "Número de Telefone", + "commandServer": "Servidor", + "commandPort": "Porta", + "eventAll": "Todos os Eventos", + "eventDeviceOnline": "Dispositivo Conectado", + "eventDeviceUnknown": "Estado do dispositivo desconhecido", + "eventDeviceOffline": "Estado Desligado", + "eventDeviceInactive": "Dispositivo Inativo", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Dispositivo em Movimento", + "eventDeviceStopped": "Dispositivo Parado", + "eventDeviceOverspeed": "Atingido o Excesso de Velocidade", + "eventDeviceFuelDrop": "Perda de Combústivel", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Resultado do Comando", + "eventGeofenceEnter": "Entrou na Cerca Geográfica", + "eventGeofenceExit": "Saiu da Cerca Geográfica", + "eventAlarm": "Alarme", + "eventIgnitionOn": "Ignição Ligada", + "eventIgnitionOff": "Ignição Desligada", + "eventMaintenance": "Necessária Manutenção", + "eventTextMessage": "Mensagem de Texto Recebida", + "eventDriverChanged": "Alteração de Condutor", + "eventMedia": "Media", + "eventsScrollToLast": "Puxar para o Fim", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Geral", + "alarmSos": "SOS", + "alarmVibration": "Vibração", + "alarmMovement": "Movimento", + "alarmLowspeed": "Baixa Velocidade", + "alarmOverspeed": "Excesso de Velocidade", + "alarmFallDown": "Queda", + "alarmLowPower": "Potência Baixa", + "alarmLowBattery": "Bateria Fraca", + "alarmFault": "Falha", + "alarmPowerOff": "Desligado", + "alarmPowerOn": "Ligado", + "alarmDoor": "Porta", + "alarmLock": "Bloqueio", + "alarmUnlock": "Desbloqueio", + "alarmGeofence": "Cerca Geográfica", + "alarmGeofenceEnter": "Entrada na Cerca Geográfica", + "alarmGeofenceExit": "Saída da Cerca Geográfica", + "alarmGpsAntennaCut": "Corte de Antena GPS", + "alarmAccident": "Acidente", + "alarmTow": "Reboque", + "alarmIdle": "Inútil", + "alarmHighRpm": "RPM Alta", + "alarmHardAcceleration": "Aceleração Brusca", + "alarmHardBraking": "Travagem Brusca", + "alarmHardCornering": "Viragem Brusca", + "alarmLaneChange": "Mudança de Faixa", + "alarmFatigueDriving": "Condução Cansada", + "alarmPowerCut": "Alarme de Corte de Corrente", + "alarmPowerRestored": "Alarme de Energia Restaurado", + "alarmJamming": "Alarme de Bloqueio", + "alarmTemperature": "Temperatura", + "alarmParking": "Estacionamento", + "alarmBonnet": "Alarme do Capô", + "alarmFootBrake": "Alarme de Travão de Mão", + "alarmFuelLeak": "Perda de Combustivel", + "alarmTampering": "Adulteração", + "alarmRemoving": "Removendo", + "notificationType": "Tipo de Notificação", + "notificationAlways": "Todos os Dispositivos", + "notificationNotificators": "Vias", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "E-Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Histórico de Rotas", + "reportEvents": "Eventos", + "reportTrips": "Viagens", + "reportStops": "Paragens", + "reportSummary": "Resumo", + "reportDaily": "Resumo Diário", + "reportChart": "Gráfico", + "reportConfigure": "Configurar", + "reportEventTypes": "Tipos de Eventos", + "reportChartType": "Tipo de Gráfico", + "reportShowMarkers": "Mostrar Marcadores", + "reportExport": "Exportar", + "reportEmail": "Relatório de Email", + "reportSchedule": "Schedule", + "reportPeriod": "Periodo", + "reportCustom": "Personalização", + "reportToday": "Hoje", + "reportYesterday": "Ontem", + "reportThisWeek": "Esta Semana", + "reportPreviousWeek": "Semana Passada", + "reportThisMonth": "Este Mês", + "reportPreviousMonth": "Mês Passado", + "reportDeviceName": "Nome do Dispositivo", + "reportAverageSpeed": "Velocidade Média", + "reportMaximumSpeed": "Velocidade Máxima", + "reportEngineHours": "Duração Ligado", + "reportDuration": "Duração", + "reportStartDate": "Data de Início", + "reportStartTime": "Hora de Inicio", + "reportStartAddress": "Morada Inicial", + "reportEndTime": "Hora de Fim", + "reportEndAddress": "Morada Final", + "reportSpentFuel": "Combustível Gasto", + "reportStartOdometer": "Início do Conta-Quilómetros", + "reportEndOdometer": "Fim do Conta-Quilómetros", + "statisticsTitle": "Estatísticas", + "statisticsCaptureTime": "Data", + "statisticsActiveUsers": "Utilizadores Activos", + "statisticsActiveDevices": "Dispositivos Activos", + "statisticsRequests": "Pedidos", + "statisticsMessagesReceived": "Mensagens Recebidas", + "statisticsMessagesStored": "Mensagens Armazenadas", + "statisticsGeocoder": "Pedidos de Codificador Geográfico", + "statisticsGeolocation": "Pedidos de Geo Localização", + "categoryArrow": "Seta", + "categoryDefault": "Padrão", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicicleta", + "categoryBoat": "Barco", + "categoryBus": "Autocarro", + "categoryCar": "Carro", + "categoryCamper": "Camper", + "categoryCrane": "Guindaste", + "categoryHelicopter": "Helicóptero", + "categoryMotorcycle": "Mota", + "categoryOffroad": "Jipe", + "categoryPerson": "Pessoa", + "categoryPickup": "Pickup", + "categoryPlane": "Avião", + "categoryShip": "Barco", + "categoryTractor": "Tractor", + "categoryTrain": "Comboio", + "categoryTram": "Eléctrico", + "categoryTrolleybus": "Autocarro Eléctrico", + "categoryTruck": "Camião", + "categoryVan": "Caravana", + "categoryScooter": "Scooter", + "maintenanceStart": "Iniciar", + "maintenancePeriod": "Período" +}
\ No newline at end of file diff --git a/legacy/web/l10n/pt_BR.json b/legacy/web/l10n/pt_BR.json new file mode 100644 index 00000000..7f47050f --- /dev/null +++ b/legacy/web/l10n/pt_BR.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Carregando...", + "sharedHide": "oculto", + "sharedSave": "Salvar", + "sharedUpload": "Enviar", + "sharedSet": "Aplicar", + "sharedCancel": "Cancelar", + "sharedCopy": "Copy", + "sharedAdd": "Adicionar", + "sharedEdit": "Editar", + "sharedRemove": "Remover", + "sharedRemoveConfirm": "Remover item?", + "sharedNoData": "Sem dados", + "sharedSubject": "Subject", + "sharedYes": "Sim", + "sharedNo": "Não", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "Milhas Náuticas", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Hora", + "sharedMinute": "Minuto", + "sharedSecond": "Segundo", + "sharedDays": "dias", + "sharedHours": "horas", + "sharedMinutes": "minutos", + "sharedDecimalDegrees": "Graus Decimais", + "sharedDegreesDecimalMinutes": "Graus Minutos Decimais", + "sharedDegreesMinutesSeconds": "Graus Minutos Segundos", + "sharedName": "Nome", + "sharedDescription": "Descrição", + "sharedSearch": "Busca", + "sharedIconScale": "Escala do ícone", + "sharedGeofence": "Geocerca", + "sharedGeofences": "Cerca Virtual", + "sharedCreateGeofence": "Criar cerca", + "sharedNotifications": "Notificações", + "sharedNotification": "Notificação", + "sharedAttributes": "Atributos", + "sharedAttribute": "Atributo", + "sharedDrivers": "Motoristas", + "sharedDriver": "Motorista", + "sharedArea": "Área", + "sharedSound": "Som de notificação", + "sharedType": "Tipo", + "sharedDistance": "Distância", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "L", + "sharedGallonAbbreviation": "Galão", + "sharedLiter": "Litro", + "sharedImpGallon": "Imp. Galão", + "sharedUsGallon": "U.S. Galão", + "sharedLiterPerHourAbbreviation": "L/h", + "sharedGetMapState": "Obter estado do mapa", + "sharedComputedAttribute": "Atributo Calculado", + "sharedComputedAttributes": "Atributos Calculados", + "sharedCheckComputedAttribute": "Verificar Atributo Calculado", + "sharedExpression": "Expressão", + "sharedDevice": "Dispositivo", + "sharedTest": "Teste", + "sharedTestNotification": "Enviar notificação de teste", + "sharedTestNotificators": "Canais de Teste", + "sharedTestExpression": "Expressão de teste", + "sharedCalendar": "Calendário", + "sharedCalendars": "Calendários", + "sharedFile": "Arquivo", + "sharedSearchDevices": "Pesquisar Dispositivos", + "sharedSortBy": "Organizar por", + "sharedFilterMap": "Filtrar no mapa", + "sharedSelectFile": "Selecionar Arquivo", + "sharedPhone": "Telefone", + "sharedRequired": "Necessário", + "sharedPreferences": "Preferências", + "sharedPermissions": "Permissões", + "sharedConnections": "Conexões", + "sharedExtra": "Adicional", + "sharedPrimary": "Primário", + "sharedSecondary": "Secundário", + "sharedTypeString": "Texto", + "sharedTypeNumber": "Número", + "sharedTypeBoolean": "Lógico", + "sharedTimezone": "Fuso horário", + "sharedInfoTitle": "Informação", + "sharedSavedCommand": "Comando Salvo", + "sharedSavedCommands": "Comandos Salvos", + "sharedNew": "Novo...", + "sharedShowAddress": "Mostrar Endereço", + "sharedShowDetails": "Mais Detalhes", + "sharedDisabled": "Desativado", + "sharedMaintenance": "Manutenção", + "sharedDeviceAccumulators": "Contadores", + "sharedAlarms": "Alarmes", + "sharedLocation": "Localização", + "sharedImport": "Importar", + "sharedColumns": "Colunas", + "sharedDropzoneText": "Arraste e solte um arquivo aqui ou clique", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simples", + "calendarRecurrence": "Recorrência", + "calendarOnce": "Uma vez", + "calendarDaily": "Diariamente", + "calendarWeekly": "Semanalmente", + "calendarMonthly": "Mensalmente", + "calendarDays": "Dias", + "calendarSunday": "Domingo", + "calendarMonday": "Segunda-feira", + "calendarTuesday": "Terça-feira", + "calendarWednesday": "Quarta-feira", + "calendarThursday": "Quinta-feira", + "calendarFriday": "Sexta-feira", + "calendarSaturday": "Sábado", + "attributeShowGeofences": "Exibir Cerca Virtual", + "attributeSpeedLimit": "Limite de Velocidade", + "attributeFuelDropThreshold": "Limite de decréscimo de combustível", + "attributeFuelIncreaseThreshold": "Limite de acréscimo de combustível", + "attributePolylineDistance": "Distância da Polilinha", + "attributeReportIgnoreOdometer": "Relatório: Ignorar Odômetro", + "attributeWebReportColor": "Web: Cor do Relatório", + "attributeDevicePassword": "Senha do Dispositivo", + "attributeDeviceImage": "Imagem", + "attributeDeviceInactivityStart": "Início de inatividade do dispositivo", + "attributeDeviceInactivityPeriod": "Período de inatividade do dispositivo", + "attributeProcessingCopyAttributes": "Processamento: Copiar Atributos", + "attributeColor": "Cor", + "attributeWebLiveRouteLength": "Web: Comprimento da Rota ao Vivo", + "attributeWebSelectZoom": "Web: Zoom Selecionado", + "attributeWebMaxZoom": "Web: Zoom Máximo", + "attributeTelegramChatId": "ID do Chat do Telegram", + "attributePushoverUserKey": "Chave de usuário do Pushover", + "attributePushoverDeviceNames": "Nomes de dispositivos do Pushover", + "attributeMailSmtpHost": "Email: Host SMTP", + "attributeMailSmtpPort": "Email: Porta SMTP", + "attributeMailSmtpStarttlsEnable": "Email: Ativar STARTTLS (SMTP)", + "attributeMailSmtpStarttlsRequired": "Email: SMTP START TLS Obrigatório", + "attributeMailSmtpSslEnable": "Email: Ativar SSL (SMTP)", + "attributeMailSmtpSslTrust": "Email: Certificado SSL (SMTP)", + "attributeMailSmtpSslProtocols": "Email: Protocolo SSL (SMTP)", + "attributeMailSmtpFrom": "Email: Remetente", + "attributeMailSmtpAuth": "Email: Ativar Autenticação (SMTP)", + "attributeMailSmtpUsername": "Email: Nome de Usuário (SMTP)", + "attributeMailSmtpPassword": "Email: Senha (SMTP)", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Desativar atributos", + "attributeUiDisableGroups": "UI: Desabilitar Grupos", + "attributeUiDisableEvents": "UI: Eventos Desativados", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Desativar Motoristas", + "attributeUiDisableComputedAttributes": "UI: Desativar Atributos Calculados", + "attributeUiDisableCalendars": "UI: Desativar Calendários", + "attributeUiDisableMaintenance": "UI: Desativar Manutenção", + "attributeUiHidePositionAttributes": "UI: Ocultar os atributos de posição", + "attributeUiDisableLoginLanguage": "UI: Desativar idioma de login", + "attributeNotificationTokens": "Token de Notificação", + "attributePopupInfo": "Informações no Pop-up", + "errorTitle": "Erro", + "errorGeneral": "Parâmetros inválidos ou violação de restrições", + "errorConnection": "Erro de conexão", + "errorSocket": "Erro na conexão com Web Socket", + "errorZero": "Não pode ser zero", + "userEmail": "Email", + "userPassword": "Senha", + "userAdmin": "Admin", + "userRemember": "Lembrar", + "userExpirationTime": "Validade", + "userDeviceLimit": "Limite de dispositivos", + "userUserLimit": "Limite de Usuários", + "userDeviceReadonly": "Dispositivos somente leitura", + "userLimitCommands": "Limite de Comandos", + "userDisableReports": "Desabilitar Relatórios", + "userFixedEmail": "Sem alteração de e-mail", + "userToken": "Token", + "userDeleteAccount": "Deletar conta", + "userTemporary": "Temporary", + "loginTitle": "Login", + "loginLanguage": "Idioma", + "loginReset": "Redefinir senha", + "loginRegister": "Registrar", + "loginLogin": "Entrar", + "loginOpenId": "Logar com OpenID", + "loginFailed": "Email ou senha incorretos", + "loginCreated": "Novo usuário registrado", + "loginResetSuccess": "Verifique seu e-mail", + "loginUpdateSuccess": "Nova senha definida", + "loginLogout": "Sair", + "loginLogo": "Logotipo", + "loginTotpCode": "Código One-time Password", + "loginTotpKey": "Chave One-time Password", + "devicesAndState": "Dispositivo e Estado", + "deviceSelected": "Dispositivo selecionado", + "deviceTitle": "Dispositivos", + "devicePrimaryInfo": "Título do dispositivo", + "deviceSecondaryInfo": "Detalhes do dispositivo", + "deviceIdentifier": "Identificador", + "deviceModel": "Modelo", + "deviceContact": "Contato", + "deviceCategory": "Categoria", + "deviceLastUpdate": "Última Atualização", + "deviceCommand": "Comando", + "deviceFollow": "Seguir", + "deviceTotalDistance": "Distância total", + "deviceStatus": "Estado", + "deviceStatusOnline": "Conectado", + "deviceStatusOffline": "Desconectado", + "deviceStatusUnknown": "Desconhecido", + "deviceRegisterFirst": "Registre seu primeiro dispositivo", + "deviceIdentifierHelp": "IMEI, número de serial ou outro ID. Precisa ser um identificador único para os relatórios do dispositivo no servidor.", + "deviceShare": "Dispositivo Compartilhado", + "groupDialog": "Grupo", + "groupParent": "Grupo", + "groupNoGroup": "Sem Grupo", + "settingsTitle": "Configurações", + "settingsUser": "Conta", + "settingsGroups": "Grupos", + "settingsServer": "Servidor", + "settingsUsers": "Usuários", + "settingsDistanceUnit": "Unidade de Distância", + "settingsAltitudeUnit": "Altitude Unidade", + "settingsSpeedUnit": "Unidade de Velocidade", + "settingsVolumeUnit": "Unidade de Volume", + "settingsTwelveHourFormat": "Formato de 12 Horas", + "settingsCoordinateFormat": "Formato de coordenadas", + "settingsServerVersion": "Versão do servidor", + "settingsAppVersion": "Versão do aplicativo", + "settingsConnection": "Conexão", + "settingsDarkMode": "Modo Escuro", + "settingsTotpEnable": "Habilitar One-time Password", + "settingsTotpForce": "Forçar One-time Password", + "settingsServiceWorkerUpdateInterval": "Intervalo de atualização do ServiceWorker", + "settingsUpdateAvailable": "Existe uma atualização disponível.", + "settingsSupport": "Support", + "reportTitle": "Relatórios", + "reportScheduled": "Agendamento de relatórios", + "reportDevice": "Dispositivo", + "reportGroup": "Grupo", + "reportFrom": "De", + "reportTo": "Para", + "reportShow": "Mostrar", + "reportClear": "Limpar", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Definir tempo", + "positionDeviceTime": "Hora do dispositivo", + "positionServerTime": "Hora do servidor", + "positionValid": "Válido", + "positionAccuracy": "Precisão", + "positionLatitude": "Latitude", + "positionLongitude": "Longitude", + "positionAltitude": "Altitude", + "positionSpeed": "Velocidade", + "positionCourse": "Direção", + "positionAddress": "Endereço", + "positionProtocol": "Protocolo", + "positionDistance": "Distância", + "positionRpm": "RPM", + "positionFuel": "Combustível", + "positionPower": "Potência", + "positionBattery": "Bateria", + "positionRaw": "Bruto", + "positionIndex": "Índice", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Sátelites", + "positionSatVisible": "Satélites Visíveis", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Evento", + "positionAlarm": "Alarme", + "positionStatus": "Estado", + "positionOdometer": "Odômetro", + "positionServiceOdometer": "Odômetro de Serviço", + "positionTripOdometer": "Odômetro de Viagem", + "positionHours": "Horas", + "positionSteps": "Passos", + "positionInput": "Entrada", + "positionHeartRate": "Frequência Cardíaca", + "positionOutput": "Saída", + "positionBatteryLevel": "Nível de Bateria", + "positionFuelConsumption": "Consumo de Combustível", + "positionRfid": "RFID", + "positionVersionFw": "Versão de Firmware", + "positionVersionHw": "Versão de Hardware", + "positionIgnition": "Ignição", + "positionFlags": "Sinais", + "positionCharge": "Carga", + "positionIp": "IP", + "positionArchive": "Arquivar", + "positionVin": "VIN", + "positionApproximate": "Estimado", + "positionThrottle": "Acelerador", + "positionMotion": "Movimento", + "positionArmed": "Alarme Ativado", + "positionAcceleration": "Aceleração", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura do Dispositivo", + "positionCoolantTemp": "Temperatura do líquido de arrefecimento", + "positionOperator": "Operadora", + "positionCommand": "Comando", + "positionBlocked": "Bloqueado", + "positionDtcs": "DTCs", + "positionObdSpeed": "Velocidade OBD", + "positionObdOdometer": "Odômetro OBD", + "positionDrivingTime": "Tempo de direção", + "positionDriverUniqueId": "Identificador Único Motorista", + "positionCard": "Cartão", + "positionImage": "Imagem", + "positionVideo": "Video", + "positionAudio": "Áudio", + "serverTitle": "Configurações do Servidor", + "serverZoom": "Zoom", + "serverRegistration": "Registro", + "serverReadonly": "Somente leitura", + "serverForceSettings": "Forçar configurações", + "serverAnnouncement": "Anúncio", + "serverName": "Nome do Servidor", + "serverDescription": "Descrição do Servidor", + "serverColorPrimary": "Cor Primária", + "serverColorSecondary": "Cor Secundária", + "serverLogo": "Imagem do Logo", + "serverLogoInverted": "Imagem do logo invertida", + "serverChangeDisable": "Desabilitar mudança de servidor", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Mapas ativos", + "mapOverlay": "Sobreposição de mapa", + "mapOverlayCustom": "Sobreposição personalizada", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Nuvens", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitação", + "mapOpenWeatherPressure": "OpenWeather Pressão", + "mapOpenWeatherWind": "OpenWeather Vento", + "mapOpenWeatherTemperature": "OpenWeather Temperatura", + "mapLayer": "Camada de Mapa", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Personalizar mapa", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Estrada", + "mapGoogleHybrid": "Google Híbrido", + "mapGoogleSatellite": "Google Satélite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Mapas API Key", + "mapBingRoad": "Bing Mapas Estradas", + "mapBingAerial": "Bing Mapas Aéreo", + "mapBingHybrid": "Bing Mapas Híbrido", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Mapa Yandex", + "mapYandexSat": "Satélite Yandex", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Levantamento de artilharia", + "mapMapboxStreets": "Mapbox Ruas", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox ao ar livre", + "mapMapboxSatellite": "Mapbox Satélite", + "mapMapboxKey": "Mapbox Token de Acesso", + "mapMapTilerBasic": "MapTiler Básico", + "mapMapTilerHybrid": "MapTiler Híbrido", + "mapMapTilerKey": "MapTiler Chave API", + "mapLocationIqStreets": "LocationIQ Ruas", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Token de Acesso", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Fluxo de Tráfego", + "mapTomTomIncidents": "TomTom Incidentes de Tráfego", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basico", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Fluxo de Tráfego", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polígono", + "mapShapeCircle": "Círculo", + "mapShapePolyline": "Polilinha", + "mapLiveRoutes": "Rotas ao Vivo", + "mapDirection": "Exibir direção", + "mapCurrentLocation": "Localização atual", + "mapPoiLayer": "Camada POI", + "mapClustering": "Agrupamento de marcadores", + "mapOnSelect": "Mostrar mapa na seleção", + "mapDefault": "Mapa padrão", + "stateTitle": "Estado", + "stateName": "Atributo", + "stateValue": "Valor", + "commandTitle": "Comando", + "commandSend": "Enviar", + "commandSent": "Comando enviado", + "commandQueued": "Comando na fila", + "commandUnit": "Unidade", + "commandCustom": "Comando personalizado", + "commandDeviceIdentification": "Identificação do dispositivo", + "commandPositionSingle": "Relatório avulso", + "commandPositionPeriodic": "Atualização Periódica", + "commandPositionStop": "Parar Atualização", + "commandEngineStop": "Desligar Motor", + "commandEngineResume": "Religar Motor", + "commandAlarmArm": "Ativar Alarme", + "commandAlarmDisarm": "Desativar Alarme", + "commandAlarmDismiss": "Ignorar Alarme", + "commandSetTimezone": "Definir fuso horário", + "commandRequestPhoto": "Pegar foto", + "commandPowerOff": "Desligar o Dispositivo", + "commandRebootDevice": "Reiniciar dispositivo", + "commandFactoryReset": "Restauração de fábrica", + "commandSendSms": "Enviar SMS", + "commandSendUssd": "Enviar USSD", + "commandSosNumber": "Definir numero SOS", + "commandSilenceTime": "Definir Tempo no Silencioso", + "commandSetPhonebook": "Definir lista telefônica", + "commandVoiceMessage": "Mensagem de voz", + "commandOutputControl": "Controle de saída", + "commandVoiceMonitoring": "Monitoramento de Voz", + "commandSetAgps": "Definir AGPS", + "commandSetIndicator": "Definir Indicador", + "commandConfiguration": "Configuração", + "commandGetVersion": "Obter Versão", + "commandFirmwareUpdate": "Atualizar Firmware", + "commandSetConnection": "Definir Conexão", + "commandSetOdometer": "Definir Odômetro", + "commandGetModemStatus": "Obter Status do Modem", + "commandGetDeviceStatus": "Obter status do dispositivo", + "commandSetSpeedLimit": "Definir limite de velocidade", + "commandModePowerSaving": "Modo de economia de energia", + "commandModeDeepSleep": "Modo de Sono Profundo", + "commandAlarmGeofence": "Definir Alarme de Geofence", + "commandAlarmBattery": "Definir Alarme de Bateria", + "commandAlarmSos": "Definir Alarme SOS", + "commandAlarmRemove": "Definir Remoção de Alarme", + "commandAlarmClock": "Definir Horário de Alarme", + "commandAlarmSpeed": "Definir Velocidade de Alarme", + "commandAlarmFall": "Definir Falha de Alarme", + "commandAlarmVibration": "Definir Alarme de Vibração", + "commandFrequency": "Frequência", + "commandTimezone": "Ajuste de Fuso horário", + "commandMessage": "Mensagem", + "commandRadius": "Raio", + "commandEnable": "Habilitar", + "commandData": "Data", + "commandIndex": "Índice", + "commandPhone": "Número de Telefone", + "commandServer": "Servidor", + "commandPort": "Porta", + "eventAll": "Todos Eventos", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status desconhecido", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Dispositivo inativo", + "eventQueuedCommandSent": "Comando na fila enviado", + "eventDeviceMoving": "Dispositivo movendo", + "eventDeviceStopped": "Dispositivo parado", + "eventDeviceOverspeed": "Excedido o limite de velocidade", + "eventDeviceFuelDrop": "Queda de combustível", + "eventDeviceFuelIncrease": "Acréscimo de combustível", + "eventCommandResult": "Resultado do comando", + "eventGeofenceEnter": "Entrada na cerca virtual", + "eventGeofenceExit": "Saída da cerca virtual", + "eventAlarm": "Alarme", + "eventIgnitionOn": "Ignição ligada", + "eventIgnitionOff": "Ignição desligada", + "eventMaintenance": "Manutenção necessária", + "eventTextMessage": "Mensagem de texto recebida", + "eventDriverChanged": "Condutor alterado", + "eventMedia": "Media", + "eventsScrollToLast": "Rolar para o último", + "eventsSoundEvents": "Som de eventos", + "eventsSoundAlarms": "Som de alarmes", + "alarmGeneral": "Geral", + "alarmSos": "SOS", + "alarmVibration": "Vibrando", + "alarmMovement": "Movendo", + "alarmLowspeed": "Velocidade baixa", + "alarmOverspeed": "Alta velocidade", + "alarmFallDown": "Cair", + "alarmLowPower": "Carga Baixa", + "alarmLowBattery": "Bateria baixa", + "alarmFault": "Falha", + "alarmPowerOff": "Alimentação desligada", + "alarmPowerOn": "Alimentação ligada", + "alarmDoor": "Porta", + "alarmLock": "Bloqueado", + "alarmUnlock": "Desbloqueado", + "alarmGeofence": "Cerca virtual", + "alarmGeofenceEnter": "Entrando na cerca virtual", + "alarmGeofenceExit": "Saiu da Cerca virtual", + "alarmGpsAntennaCut": "Antena de GPS cortada", + "alarmAccident": "Acidente", + "alarmTow": "Rebocar", + "alarmIdle": "Ocioso", + "alarmHighRpm": "Alta Rotação", + "alarmHardAcceleration": "Aceleração brusca", + "alarmHardBraking": "Frenagem brusca", + "alarmHardCornering": "Curva Acentuada", + "alarmLaneChange": "Mudança de Faixa", + "alarmFatigueDriving": "Condutor Cansado", + "alarmPowerCut": "Alimentação cortada", + "alarmPowerRestored": "Alimentação restaurada", + "alarmJamming": "Interferência", + "alarmTemperature": "Temperatura", + "alarmParking": "Estacionamento", + "alarmBonnet": "Capô", + "alarmFootBrake": "Freio de mão", + "alarmFuelLeak": "Vazamento de combustível", + "alarmTampering": "Manipulando", + "alarmRemoving": "Removendo", + "notificationType": "Tipo de Notificação", + "notificationAlways": "Todos os Dispositivos", + "notificationNotificators": "Canais", + "notificatorCommand": "Comando", + "notificatorWeb": "Web", + "notificatorMail": "E-Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Empurrar", + "reportReplay": "Replay", + "reportCombined": "Combinado", + "reportRoute": "Rota", + "reportEvents": "Eventos", + "reportTrips": "Viagens", + "reportStops": "Paradas", + "reportSummary": "Resumo", + "reportDaily": "Resumo Diário", + "reportChart": "Gráfico", + "reportConfigure": "Configurar", + "reportEventTypes": "Tipos de Eventos", + "reportChartType": "Tipo do Gráfico", + "reportShowMarkers": "Mostrar Marcadores", + "reportExport": "Exportar", + "reportEmail": "Relatório de E-mail", + "reportSchedule": "Agenda", + "reportPeriod": "Período", + "reportCustom": "Personalizadas", + "reportToday": "Hoje", + "reportYesterday": "Ontem", + "reportThisWeek": "Esta Semana", + "reportPreviousWeek": "Semana Anterior", + "reportThisMonth": "Este Mês", + "reportPreviousMonth": "Mês Anterior", + "reportDeviceName": "Nome do Dispositivo", + "reportAverageSpeed": "Velocidade Média", + "reportMaximumSpeed": "Velocidade Máxima", + "reportEngineHours": "Horas ligado", + "reportDuration": "Duração", + "reportStartDate": "Data de Início", + "reportStartTime": "Hora inicial", + "reportStartAddress": "Endereço inicial", + "reportEndTime": "Hora final", + "reportEndAddress": "Endereço final", + "reportSpentFuel": "Gasto de Combustível", + "reportStartOdometer": "Início do odômetro", + "reportEndOdometer": "Fim do odômetro", + "statisticsTitle": "Estatísticas", + "statisticsCaptureTime": "Tempo de Captura", + "statisticsActiveUsers": "Usuários ativos", + "statisticsActiveDevices": "Dispositivos ativos", + "statisticsRequests": "Pedidos", + "statisticsMessagesReceived": "Mensagens Recebidas", + "statisticsMessagesStored": "Mensagens armazenadas", + "statisticsGeocoder": "Solicitações de Geocódigo", + "statisticsGeolocation": "Solicitações de Geolocalização", + "categoryArrow": "Seta", + "categoryDefault": "Padrão", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicicleta", + "categoryBoat": "Barco", + "categoryBus": "Ônibus", + "categoryCar": "Carro", + "categoryCamper": "Campista", + "categoryCrane": "Guindaste", + "categoryHelicopter": "Helicóptero", + "categoryMotorcycle": "Motocicleta", + "categoryOffroad": "Offroad", + "categoryPerson": "Pessoa", + "categoryPickup": "Pick-up", + "categoryPlane": "Avião", + "categoryShip": "Navio", + "categoryTractor": "Trator", + "categoryTrain": "Trem", + "categoryTram": "Bonde", + "categoryTrolleybus": "Ônibus Elétrico", + "categoryTruck": "Caminhão", + "categoryVan": "Van", + "categoryScooter": "Patinete Elétrico", + "maintenanceStart": "Começar", + "maintenancePeriod": "Período" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ro.json b/legacy/web/l10n/ro.json new file mode 100644 index 00000000..84367c5b --- /dev/null +++ b/legacy/web/l10n/ro.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Se încarcă...", + "sharedHide": "Ascunde", + "sharedSave": "Salvează", + "sharedUpload": "Încarcă", + "sharedSet": "Configurare", + "sharedCancel": "Anulează", + "sharedCopy": "Copy", + "sharedAdd": "Adaugă", + "sharedEdit": "Modifică", + "sharedRemove": "Elimină", + "sharedRemoveConfirm": "Ștergeți obiectul?", + "sharedNoData": "Fără date", + "sharedSubject": "Subject", + "sharedYes": "Da", + "sharedNo": "Nu", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Oră", + "sharedMinute": "Minut", + "sharedSecond": "Secundă", + "sharedDays": "zile", + "sharedHours": "ore", + "sharedMinutes": "minute", + "sharedDecimalDegrees": "Grade Zecimale", + "sharedDegreesDecimalMinutes": "Grade Zecimale Minute", + "sharedDegreesMinutesSeconds": "Grade minute secunde", + "sharedName": "Nume", + "sharedDescription": "Descriere", + "sharedSearch": "Căutare", + "sharedIconScale": "Scală pentru Iconiță", + "sharedGeofence": "Perimetru Restricționat", + "sharedGeofences": "Perimetre Restricționate", + "sharedCreateGeofence": "Crează Perimetru Restricționat", + "sharedNotifications": "Notificări", + "sharedNotification": "Notificare", + "sharedAttributes": "Atribute", + "sharedAttribute": "Atribut", + "sharedDrivers": "Șoferi", + "sharedDriver": "Șofer", + "sharedArea": "Suprafață", + "sharedSound": "Sunet Notificare", + "sharedType": "Tip", + "sharedDistance": "Distanţa", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litru", + "sharedImpGallon": "Galon Imperial", + "sharedUsGallon": "Galon US", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Obține Starea Hărții", + "sharedComputedAttribute": "Atribut Calculat", + "sharedComputedAttributes": "Atribute Calculate", + "sharedCheckComputedAttribute": "Verifică Atributul Calculat", + "sharedExpression": "Formulă", + "sharedDevice": "Dispozitiv", + "sharedTest": "Test", + "sharedTestNotification": "Trimite Notificare de Test", + "sharedTestNotificators": "Canale de Test", + "sharedTestExpression": "Formulă de Test", + "sharedCalendar": "Calendar", + "sharedCalendars": "Calendare", + "sharedFile": "Fișier", + "sharedSearchDevices": "Caută Echipamente", + "sharedSortBy": "Sortat După", + "sharedFilterMap": "Filtru pe Hartă", + "sharedSelectFile": "Selectează Fișier", + "sharedPhone": "Telefon", + "sharedRequired": "Obligatorii", + "sharedPreferences": "Preferințe", + "sharedPermissions": "Permisiuni", + "sharedConnections": "Conexiuni", + "sharedExtra": "Suplimentar", + "sharedPrimary": "Primar", + "sharedSecondary": "Secundar", + "sharedTypeString": "Șir", + "sharedTypeNumber": "Număr", + "sharedTypeBoolean": "Logic", + "sharedTimezone": "Fus orar", + "sharedInfoTitle": "Informații", + "sharedSavedCommand": "Comandă Salvată", + "sharedSavedCommands": "Comenzi Salvate", + "sharedNew": "Nou...", + "sharedShowAddress": "Afișează Adresa", + "sharedShowDetails": "Mai Multe Detalii", + "sharedDisabled": "Dezactivat", + "sharedMaintenance": "Întreținere", + "sharedDeviceAccumulators": "Acumulatori", + "sharedAlarms": "Alarme", + "sharedLocation": "Locație", + "sharedImport": "Import", + "sharedColumns": "Coloane", + "sharedDropzoneText": "Drag and drop un fișier aici ori click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simplu", + "calendarRecurrence": "Recurent", + "calendarOnce": "O singură dată", + "calendarDaily": "Zilnic", + "calendarWeekly": "Săptămânal", + "calendarMonthly": "Lunar", + "calendarDays": "Zile", + "calendarSunday": "Duminică", + "calendarMonday": "Luni", + "calendarTuesday": "Marți", + "calendarWednesday": "Miercuri", + "calendarThursday": "Joi", + "calendarFriday": "Vineri", + "calendarSaturday": "Sâmbătă", + "attributeShowGeofences": "Afișează Perimetre Restricționate", + "attributeSpeedLimit": "Limita de viteza", + "attributeFuelDropThreshold": "Prag de Cădere a Combustibilului", + "attributeFuelIncreaseThreshold": "Prag de Creștere a Combustibilului", + "attributePolylineDistance": "Distanță Polilinie", + "attributeReportIgnoreOdometer": "Raport: Ignoră Kilometraj", + "attributeWebReportColor": "Web: Culoare Raport", + "attributeDevicePassword": "Parolă Dispozitiv", + "attributeDeviceImage": "Imagine Dispozitiv", + "attributeDeviceInactivityStart": "Dată Start Dispozitiv Inactiv", + "attributeDeviceInactivityPeriod": "Perioadă Dispozitiv Inactiv", + "attributeProcessingCopyAttributes": "Procesare: Copiază Atribute", + "attributeColor": "Culoare", + "attributeWebLiveRouteLength": "Web: Lungime Traseu în Timp Real", + "attributeWebSelectZoom": "Web: Zoom la Selecție", + "attributeWebMaxZoom": "Web: Zoom Maxim", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Cheie Utilizator Pushover", + "attributePushoverDeviceNames": "Nume Dispozitiv Pushover", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: Activeaza SMTP STARTTLS ", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Obligatoriu", + "attributeMailSmtpSslEnable": "Mail: Activează SMTP SSL", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: Protocol SMTP SSL", + "attributeMailSmtpFrom": "Mail: SMTP Expeditor", + "attributeMailSmtpAuth": "Mail: Activează SMTP Auth", + "attributeMailSmtpUsername": "Mail: Utilizator SMTP", + "attributeMailSmtpPassword": "Mail: Parolă SMTP", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Dezactivare Atribute", + "attributeUiDisableGroups": "UI: Dezactivare Grupuri", + "attributeUiDisableEvents": "UI: Dezactivare Evenimente", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Dezactivare Șoferi", + "attributeUiDisableComputedAttributes": "UI: Dezactivare Atribute Calculate", + "attributeUiDisableCalendars": "UI: Dezactivare Calendar", + "attributeUiDisableMaintenance": "UI: Dezactivare Întreținere", + "attributeUiHidePositionAttributes": "UI: Ascunde Atributele de Poziționare", + "attributeUiDisableLoginLanguage": "UI: Dezactivare Limbă Autentificare", + "attributeNotificationTokens": "Token-uri Notificări", + "attributePopupInfo": "Informații Popup", + "errorTitle": "Eroare", + "errorGeneral": "Parametri invalizi sau încălcare a restricțiilor", + "errorConnection": "Eroare de conectare", + "errorSocket": "Eroare conectare web socket", + "errorZero": "Nu poate fi zero", + "userEmail": "Email", + "userPassword": "Parolă", + "userAdmin": "Admin", + "userRemember": "Ţine minte", + "userExpirationTime": "Expirare", + "userDeviceLimit": "Limită Dispozitiv", + "userUserLimit": "Limită Utilizator", + "userDeviceReadonly": "Dispozitiv Doar pentru Citire", + "userLimitCommands": "Limită Comenzi", + "userDisableReports": "Dezactivare Rapoarte", + "userFixedEmail": "Schimbare Adresă Email Interzisă", + "userToken": "Token", + "userDeleteAccount": "Șterge Cont", + "userTemporary": "Temporary", + "loginTitle": "Autentificare", + "loginLanguage": "Limbă", + "loginReset": "Reconfigurare Parolă", + "loginRegister": "Înregistrare", + "loginLogin": "Autentificare", + "loginOpenId": "Autentificare cu OpenID", + "loginFailed": "Email sau parolă incorectă", + "loginCreated": "Un nou utilizator a fost înregistrat", + "loginResetSuccess": "Verifică email", + "loginUpdateSuccess": "Noua parolă a fost configurată", + "loginLogout": "Deconectare", + "loginLogo": "Logo", + "loginTotpCode": "Cod Parolă One-time", + "loginTotpKey": "Cheie Parolă One-time", + "devicesAndState": "Dispozitive și Stare", + "deviceSelected": "Dispozitiv Selectat", + "deviceTitle": "Dispozitive", + "devicePrimaryInfo": "Titlu Dispozitiv", + "deviceSecondaryInfo": "Detaliu Dispozitiv", + "deviceIdentifier": "Identificator", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Categorie", + "deviceLastUpdate": "Ultima actualizare", + "deviceCommand": "Comandă", + "deviceFollow": "Urmărește", + "deviceTotalDistance": "Distanță Totală", + "deviceStatus": "Stare", + "deviceStatusOnline": "Conectat", + "deviceStatusOffline": "Deconectat", + "deviceStatusUnknown": "Necunoscut", + "deviceRegisterFirst": "Inregistrează primul tău dispozitiv", + "deviceIdentifierHelp": "IMEI, serial number ori alt ID. Trebuie sa coincidă cu identificatorul dispozitivului raportat la server.", + "deviceShare": "Partajează Dispozitiv", + "groupDialog": "Grup", + "groupParent": "Grup", + "groupNoGroup": "Fără Grup", + "settingsTitle": "Configurări", + "settingsUser": "Cont", + "settingsGroups": "Grupuri", + "settingsServer": "Server", + "settingsUsers": "Utilizatori", + "settingsDistanceUnit": "Unitatea de Măsură Distanță", + "settingsAltitudeUnit": "Unitate de Măsură Altitudine", + "settingsSpeedUnit": "Unitate de Măsură Viteză", + "settingsVolumeUnit": "Unitate de Măsură Volum", + "settingsTwelveHourFormat": "Format 12-ore", + "settingsCoordinateFormat": "Format Coordonate", + "settingsServerVersion": "Versiune Server", + "settingsAppVersion": "Versiune Aplicație", + "settingsConnection": "Conexiune", + "settingsDarkMode": "Mod Întunecat", + "settingsTotpEnable": "Activează Parolă One-time", + "settingsTotpForce": "Forțează Parolă One-time", + "settingsServiceWorkerUpdateInterval": "Interval Actualizare ServiceWorker", + "settingsUpdateAvailable": "Există o actualizare disponibilă.", + "settingsSupport": "Support", + "reportTitle": "Rapoarte", + "reportScheduled": "Rapoarte Programate", + "reportDevice": "Dispozitiv", + "reportGroup": "Grup", + "reportFrom": "De la ", + "reportTo": "Până la", + "reportShow": "Afișează", + "reportClear": "Sterge", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Ora Fix-ului", + "positionDeviceTime": "Timpul Dispozitivului", + "positionServerTime": "Timpul Serverului", + "positionValid": "Valabil", + "positionAccuracy": "Precizie", + "positionLatitude": "Latitudine", + "positionLongitude": "Longitudine", + "positionAltitude": "Altitudine", + "positionSpeed": "Viteză", + "positionCourse": "Curs", + "positionAddress": "Adresă", + "positionProtocol": "Protocol", + "positionDistance": "Distanța", + "positionRpm": "Turatia", + "positionFuel": "Nivel combustibil", + "positionPower": "Alimentare", + "positionBattery": "Baterie", + "positionRaw": "Brut", + "positionIndex": "Index", + "positionHdop": "HDOP Eroare pe orizontala", + "positionVdop": "VDOP Eroare pe verticala", + "positionPdop": "PDOP Eroarea pozitiei", + "positionSat": "Sateliti", + "positionSatVisible": "Sateliti Vizibili", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Migrare", + "positionEvent": "Eveniment", + "positionAlarm": "Alarma", + "positionStatus": "Stare", + "positionOdometer": "Kilometraj", + "positionServiceOdometer": "Kilometraj Service", + "positionTripOdometer": "Kilometraj Călătorie", + "positionHours": "Ore", + "positionSteps": "Pasi", + "positionInput": "Intrare", + "positionHeartRate": "Ritmul Cardiac", + "positionOutput": "Iesire", + "positionBatteryLevel": "Nivel baterie", + "positionFuelConsumption": "Consum combustibil", + "positionRfid": "RFID", + "positionVersionFw": "Vesiune firmware", + "positionVersionHw": "Versiune hardware", + "positionIgnition": "Contact motor", + "positionFlags": "Marcaj", + "positionCharge": "Incarca", + "positionIp": "Adresa IP", + "positionArchive": "Arhiva", + "positionVin": "Numar identificare vehicul (VIN)", + "positionApproximate": "Aproximeaza", + "positionThrottle": "Pedala acceleratie", + "positionMotion": "Miscare", + "positionArmed": "Armat", + "positionAcceleration": "Acceleratie", + "positionTemp": "Temperatură", + "positionDeviceTemp": "Temperatura Dispozitivului", + "positionCoolantTemp": "Temperatuă Lichid de Răcire", + "positionOperator": "Operator", + "positionCommand": "Comenzi", + "positionBlocked": "Blocat", + "positionDtcs": "DTCs", + "positionObdSpeed": "Viteza OBD", + "positionObdOdometer": "Kilometraj OBD", + "positionDrivingTime": "Timp de Conducere", + "positionDriverUniqueId": "Identificator Unic Șofer", + "positionCard": "Card", + "positionImage": "Imagine", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Configurări Server", + "serverZoom": "Zoom", + "serverRegistration": "Înregistrare", + "serverReadonly": "Doar pentru Citire", + "serverForceSettings": "Forțează Configurări", + "serverAnnouncement": "Anunț", + "serverName": "Nume Server", + "serverDescription": "Descriere Server", + "serverColorPrimary": "Culoare Primară", + "serverColorSecondary": "Culoare Secundară", + "serverLogo": "Imagine Logo", + "serverLogoInverted": "Imagine Logo Inversată", + "serverChangeDisable": "Dezactivează Schimbarea Serverului", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Hartă", + "mapActive": "Hărți Active", + "mapOverlay": "Suprapunere Hartă", + "mapOverlayCustom": "Suprapunere Personalizată", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "Cheie API OpenWeather", + "mapOpenWeatherClouds": "Nori OpenWeather", + "mapOpenWeatherPrecipitation": "Precipitații OpenWeather", + "mapOpenWeatherPressure": "Presiune OpenWeather", + "mapOpenWeatherWind": "Vânt OpenWeather", + "mapOpenWeatherTemperature": "Temperatură OpenWeather", + "mapLayer": "Strat Hartă", + "mapCustom": "Personalizat (XYX)", + "mapCustomArcgis": "Personalizat (ArcGIS)", + "mapCustomLabel": "Hartă personalizată", + "mapCarto": "Harta Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Cheie Bing Maps", + "mapBingRoad": "Bing Hartă Drumuri", + "mapBingAerial": "Bing Hartă Aeriană", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Harta Yandex", + "mapYandexSat": "Satelit Yandex", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Token Acces MapBox", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "Cheie API MapTiler", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "Token Acces LocationIQ", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "Cheie API TomTom", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "API Key Here", + "mapShapePolygon": "Poligon", + "mapShapeCircle": "Cerc", + "mapShapePolyline": "Polilinie", + "mapLiveRoutes": "Trasee în Timp Real", + "mapDirection": "Afișează Direcție", + "mapCurrentLocation": "Locația Curentă", + "mapPoiLayer": "POI ", + "mapClustering": "Clustere de Marcatori", + "mapOnSelect": "Afișează Harta la Selectare", + "mapDefault": "Hartă Implicită", + "stateTitle": "Stare", + "stateName": "Atribut", + "stateValue": "Valoare", + "commandTitle": "Comandă", + "commandSend": "Trimite", + "commandSent": "Comanda trimisa", + "commandQueued": "Comanda adaugata in coada", + "commandUnit": "Unitate", + "commandCustom": "Comandă personalizată", + "commandDeviceIdentification": "Identificare Dispozitiv", + "commandPositionSingle": "Raportarea unică", + "commandPositionPeriodic": "Raportarea Periodică", + "commandPositionStop": "Oprire Raportare", + "commandEngineStop": "Blocare Motor", + "commandEngineResume": "Deblocare Motor", + "commandAlarmArm": "Activare Alarmă", + "commandAlarmDisarm": "Dezactivare alarmă", + "commandAlarmDismiss": "Închide Alarmă", + "commandSetTimezone": "Configurare Fus Orar", + "commandRequestPhoto": "Solicitare Foto", + "commandPowerOff": "Oprire Dispozitiv", + "commandRebootDevice": "Repornire Dispozitiv", + "commandFactoryReset": "Reconfigurare la Parametrii de Fabrică", + "commandSendSms": "Trimite SMS", + "commandSendUssd": "Trimite USSD", + "commandSosNumber": "Configurare Număr SOS", + "commandSilenceTime": "Configurare Timp Silențios", + "commandSetPhonebook": "Configurare Agendă Telefonică", + "commandVoiceMessage": "Mesaj Vocal", + "commandOutputControl": "Controlul de ieșire", + "commandVoiceMonitoring": "Monitorizare Audio", + "commandSetAgps": "Configurare AGPS", + "commandSetIndicator": "Configurare Indicator", + "commandConfiguration": "Configurare", + "commandGetVersion": "Obține Versiunea", + "commandFirmwareUpdate": "Actualizare Firmware", + "commandSetConnection": "Configurare Conexiune", + "commandSetOdometer": "Configurare Kilometraj", + "commandGetModemStatus": "Obține Starea Modemului", + "commandGetDeviceStatus": "Obține Starea Dispozitivului", + "commandSetSpeedLimit": "Configurare Limită de Viteză", + "commandModePowerSaving": "Mod Salvare Energie", + "commandModeDeepSleep": "Mod Somn Adânc", + "commandAlarmGeofence": "Configurare Alarmă Perimetru Restricționat", + "commandAlarmBattery": "Configurare Alarmă Baterie", + "commandAlarmSos": "Configurare Alarmă SOS", + "commandAlarmRemove": "Configurare Eliminare Alarmă", + "commandAlarmClock": "Configurare Alarmă Ceas", + "commandAlarmSpeed": "Configurare Alarmă Viteză", + "commandAlarmFall": "Configurare Alarmă pentru Cădere", + "commandAlarmVibration": "Configurare Alarmă Vibrație", + "commandFrequency": "Frecvenţă", + "commandTimezone": "Diferență Fus Orar", + "commandMessage": "Mesaj", + "commandRadius": "Rază", + "commandEnable": "Activează", + "commandData": "Informații", + "commandIndex": "Index", + "commandPhone": "Telefon", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Toate Evenimentele", + "eventDeviceOnline": "Stare pornit", + "eventDeviceUnknown": "Stare necunoscută", + "eventDeviceOffline": "Stare oprit", + "eventDeviceInactive": "Dispozitiv inactiv", + "eventQueuedCommandSent": "Comandă Pusă la Coadă", + "eventDeviceMoving": "Dispozitiv in mișcare", + "eventDeviceStopped": "Dispozitiv oprit", + "eventDeviceOverspeed": "Viteza maxima depasita", + "eventDeviceFuelDrop": "Scadere nivel carburant", + "eventDeviceFuelIncrease": "Creștere a Combustibilului", + "eventCommandResult": "Rezultat comandă", + "eventGeofenceEnter": "Intare perimetru restricționat", + "eventGeofenceExit": "Ieșire perimetru restricționat", + "eventAlarm": "Alarma", + "eventIgnitionOn": "Contact pornit", + "eventIgnitionOff": "Contact oprit", + "eventMaintenance": "Necesită întreținere", + "eventTextMessage": "Mesaj text recepționat", + "eventDriverChanged": "Șofer schimbat", + "eventMedia": "Mediu", + "eventsScrollToLast": "Deruleaza la sfarsit", + "eventsSoundEvents": "Sunet Evenimente", + "eventsSoundAlarms": "Sunet Alarme", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibratii", + "alarmMovement": "Miscare", + "alarmLowspeed": "Viteza redusa", + "alarmOverspeed": "Viteza depasita", + "alarmFallDown": "Reducere", + "alarmLowPower": "Putere redusa", + "alarmLowBattery": "Nivel scazut baterie", + "alarmFault": "Eroare", + "alarmPowerOff": "Pornit", + "alarmPowerOn": "Oprit", + "alarmDoor": "Usa", + "alarmLock": "Blocare", + "alarmUnlock": "Deblocare", + "alarmGeofence": "Perimetru Restricționat", + "alarmGeofenceEnter": "Intrare Perimetru Restricționat", + "alarmGeofenceExit": "Ieșire Perimetru Restricționat", + "alarmGpsAntennaCut": "Antena GPS taiata", + "alarmAccident": "Accident", + "alarmTow": "Tractare", + "alarmIdle": "In asteptare", + "alarmHighRpm": "Turatie ridicata", + "alarmHardAcceleration": "Accelerare Puternica", + "alarmHardBraking": "Frana de Urgenta", + "alarmHardCornering": "Viraj Brusc", + "alarmLaneChange": "Schimbare Banda", + "alarmFatigueDriving": "Condus in stare de oboseala", + "alarmPowerCut": "Taiere Alimentare", + "alarmPowerRestored": "Alimentare restabilita", + "alarmJamming": "Bruiaj", + "alarmTemperature": "Temperatura", + "alarmParking": "Parcare", + "alarmBonnet": "Capota", + "alarmFootBrake": "Frana de serviciu", + "alarmFuelLeak": "Pierdere combustibil", + "alarmTampering": "Acces neautorizat", + "alarmRemoving": "Indepartare", + "notificationType": "Tip de Notificare", + "notificationAlways": "Toate Dispozitivele", + "notificationNotificators": "Canale", + "notificatorCommand": "Comandă", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Reluare", + "reportCombined": "Combinat", + "reportRoute": "Trasee", + "reportEvents": "Evenimente", + "reportTrips": "Călătorii", + "reportStops": "Opriri", + "reportSummary": "Sumar", + "reportDaily": "Sumar Zilnic", + "reportChart": "Grafic", + "reportConfigure": "Configureaza", + "reportEventTypes": "Tipuri Evenimente", + "reportChartType": "Tip Grafic", + "reportShowMarkers": "Afișează Marcatori", + "reportExport": "Exporta", + "reportEmail": "Raport Email", + "reportSchedule": "Program", + "reportPeriod": "Perioada", + "reportCustom": "Personalizat", + "reportToday": "Astăzi", + "reportYesterday": "Ieri", + "reportThisWeek": "Săptămâna Curentă", + "reportPreviousWeek": "Săptămâna Precedentă", + "reportThisMonth": "Luna Aceasta", + "reportPreviousMonth": "Luna Precedentă", + "reportDeviceName": "Nume Dispozitiv", + "reportAverageSpeed": "Viteza medie", + "reportMaximumSpeed": "Viteză Maximă", + "reportEngineHours": "Ore motor", + "reportDuration": "Durata", + "reportStartDate": "Data Start", + "reportStartTime": "Oră Start", + "reportStartAddress": "Adresa de start", + "reportEndTime": "Oră Sfârșit", + "reportEndAddress": "Adresa Sfârșit", + "reportSpentFuel": "Combustibil consumat", + "reportStartOdometer": "Kilometraj Start", + "reportEndOdometer": "Kilomteraj Sfârșit", + "statisticsTitle": "Statistici", + "statisticsCaptureTime": "Timpul ", + "statisticsActiveUsers": "Utilizatori Activi", + "statisticsActiveDevices": "Dispozitive Active", + "statisticsRequests": "Solicitări", + "statisticsMessagesReceived": "Mesaje Primite", + "statisticsMessagesStored": "Mesaje Salvate", + "statisticsGeocoder": "Solicitări de Geocodare", + "statisticsGeolocation": "Solicitări de Geolocare", + "categoryArrow": "Sageata", + "categoryDefault": "Implicit", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicicleta", + "categoryBoat": "Barca", + "categoryBus": "Autobuz", + "categoryCar": "Masina", + "categoryCamper": "Rulotă", + "categoryCrane": "Macara", + "categoryHelicopter": "Elicopter", + "categoryMotorcycle": "Motocicleta", + "categoryOffroad": "Teren Accidentat", + "categoryPerson": "Persoana", + "categoryPickup": "Papuc", + "categoryPlane": "Avion", + "categoryShip": "Nava", + "categoryTractor": "Tractor", + "categoryTrain": "Tren", + "categoryTram": "Tramvai", + "categoryTrolleybus": "Trolebuz", + "categoryTruck": "Camion", + "categoryVan": "Duba", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Perioada" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ru.json b/legacy/web/l10n/ru.json new file mode 100644 index 00000000..4d70757d --- /dev/null +++ b/legacy/web/l10n/ru.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Загрузка...", + "sharedHide": "Скрыть", + "sharedSave": "Сохранить", + "sharedUpload": "Upload", + "sharedSet": "Установить", + "sharedCancel": "Отмена", + "sharedCopy": "Copy", + "sharedAdd": "Добавить", + "sharedEdit": "Редактировать", + "sharedRemove": "Удалить", + "sharedRemoveConfirm": "Удалить элемент?", + "sharedNoData": "Нет данных", + "sharedSubject": "Subject", + "sharedYes": "Да", + "sharedNo": "Нет", + "sharedKm": "км", + "sharedMi": "мили", + "sharedNmi": "м.мили", + "sharedMeters": "м", + "sharedFeet": "фт", + "sharedKn": "уз", + "sharedKmh": "км/ч", + "sharedMph": "миль/ч", + "sharedHour": "Часы", + "sharedMinute": "Минуты", + "sharedSecond": "Секунды", + "sharedDays": "дней", + "sharedHours": "часов", + "sharedMinutes": "минут", + "sharedDecimalDegrees": "Десятичные градусы", + "sharedDegreesDecimalMinutes": "Градусы Десятичные минуты", + "sharedDegreesMinutesSeconds": "Градусы Минуты Секунды", + "sharedName": "Имя", + "sharedDescription": "Описание", + "sharedSearch": "Поиск", + "sharedIconScale": "Иконка масштаба", + "sharedGeofence": "Геозона", + "sharedGeofences": "Геозоны", + "sharedCreateGeofence": "Создать геозону", + "sharedNotifications": "Уведомления", + "sharedNotification": "Уведомление", + "sharedAttributes": "Атрибуты", + "sharedAttribute": "Атрибут", + "sharedDrivers": "Водители", + "sharedDriver": "Водитель", + "sharedArea": "Область", + "sharedSound": "Звуковое уведомление", + "sharedType": "Тип", + "sharedDistance": "Расстояние", + "sharedHourAbbreviation": "ч", + "sharedMinuteAbbreviation": "м", + "sharedSecondAbbreviation": "с", + "sharedVoltAbbreviation": "В", + "sharedLiterAbbreviation": "л", + "sharedGallonAbbreviation": "галлон", + "sharedLiter": "Литр", + "sharedImpGallon": "Имп. галлон", + "sharedUsGallon": "Галлон США", + "sharedLiterPerHourAbbreviation": "л/ч", + "sharedGetMapState": "Получить состояние карты", + "sharedComputedAttribute": "Вычисляемый атрибут", + "sharedComputedAttributes": "Вычисляемые атрибуты", + "sharedCheckComputedAttribute": "Проверить вычисляемый атрибут", + "sharedExpression": "Выражение", + "sharedDevice": "Устройство", + "sharedTest": "Тест", + "sharedTestNotification": "Отправить тестовое уведомление", + "sharedTestNotificators": "Тестовый канал", + "sharedTestExpression": "Тестовое выражение", + "sharedCalendar": "Календарь", + "sharedCalendars": "Календари", + "sharedFile": "Файл", + "sharedSearchDevices": "Поиск устройств", + "sharedSortBy": "Сортировать по", + "sharedFilterMap": "Фильтр на карте", + "sharedSelectFile": "Выбрать файл", + "sharedPhone": "Телефон", + "sharedRequired": "Обязательные", + "sharedPreferences": "Настройки", + "sharedPermissions": "Разрешения", + "sharedConnections": "Соединения", + "sharedExtra": "Экстра", + "sharedPrimary": "Первичный", + "sharedSecondary": "Вторичный", + "sharedTypeString": "Строка", + "sharedTypeNumber": "Число", + "sharedTypeBoolean": "Логическое значение", + "sharedTimezone": "Часовой пояс", + "sharedInfoTitle": "Инфо", + "sharedSavedCommand": "Сохраненная команда", + "sharedSavedCommands": "Сохраненные команды", + "sharedNew": "Новый...", + "sharedShowAddress": "Показать адрес", + "sharedShowDetails": "Подробнее", + "sharedDisabled": "Отключен", + "sharedMaintenance": "Обслуживание", + "sharedDeviceAccumulators": "Аккумуляторы", + "sharedAlarms": "Тревоги", + "sharedLocation": "Расположение", + "sharedImport": "Импортировать", + "sharedColumns": "Колонка", + "sharedDropzoneText": "Перетащите файл сюда или нажмите", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Простой", + "calendarRecurrence": "Повторение", + "calendarOnce": "Однократно", + "calendarDaily": "Ежедневно", + "calendarWeekly": "Еженедельно", + "calendarMonthly": "Ежемесячно", + "calendarDays": "Дни", + "calendarSunday": "Воскресенье", + "calendarMonday": "Понедельник", + "calendarTuesday": "Вторник", + "calendarWednesday": "Среда", + "calendarThursday": "Четверг", + "calendarFriday": "Пятница", + "calendarSaturday": "Суббота", + "attributeShowGeofences": "Показать геозоны", + "attributeSpeedLimit": "Ограничение скорости", + "attributeFuelDropThreshold": "Порог снижения расхода топлива", + "attributeFuelIncreaseThreshold": "Порог увеличения расхода топлива", + "attributePolylineDistance": "Расстояние от линии", + "attributeReportIgnoreOdometer": "Отчет: Игнорировать одометер", + "attributeWebReportColor": "Веб: Цвет отчета", + "attributeDevicePassword": "Пароль устройства", + "attributeDeviceImage": "Картинка устройства", + "attributeDeviceInactivityStart": "Начало бездействия устройства", + "attributeDeviceInactivityPeriod": "Период бездействия устройства", + "attributeProcessingCopyAttributes": "Обработка: Копирование атрибутов", + "attributeColor": "Цвет", + "attributeWebLiveRouteLength": "Веб: Длина онлайн маршрута", + "attributeWebSelectZoom": "Веб: Увеличение при выборе", + "attributeWebMaxZoom": "Веб: Максимальное увеличение", + "attributeTelegramChatId": "ID чата в Телеграмме", + "attributePushoverUserKey": "Нажатие пользовательской клавиши", + "attributePushoverDeviceNames": "Нажатие имени устройства", + "attributeMailSmtpHost": "Почта: SMTP хост", + "attributeMailSmtpPort": "Почта: SMTP порт", + "attributeMailSmtpStarttlsEnable": "Почта: Включить SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Почта: Необходим SMTP STARTTLS", + "attributeMailSmtpSslEnable": "Почта: Включить SMTP SSL", + "attributeMailSmtpSslTrust": "Почта: Доверие SMTP SSL", + "attributeMailSmtpSslProtocols": "Почта: Протоколы SMTP SSL", + "attributeMailSmtpFrom": "Почта: SMTP отправитель", + "attributeMailSmtpAuth": "Почта: Включить SMTP аутентификацию", + "attributeMailSmtpUsername": "Почта: SMTP имя пользователя", + "attributeMailSmtpPassword": "Почта: SMTP пароль", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Выключить атрибуты", + "attributeUiDisableGroups": "UI: Выключить группы", + "attributeUiDisableEvents": "UI: Отключить события", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Отключить водителей", + "attributeUiDisableComputedAttributes": "UI: Отключить вычисляемые атрибуты", + "attributeUiDisableCalendars": "UI: Отключить календари", + "attributeUiDisableMaintenance": "UI: Отключить обслуживание", + "attributeUiHidePositionAttributes": "UI: Скрывать атрибуты", + "attributeUiDisableLoginLanguage": "UI: Отключить выбор языка при входе", + "attributeNotificationTokens": "Токены Уведомлений", + "attributePopupInfo": "Всплывающая информация", + "errorTitle": "Ошибка", + "errorGeneral": "Неправильные параметры или нарушение ограничений", + "errorConnection": "Ошибка соединения", + "errorSocket": "Ошибка web socket соединения", + "errorZero": "Не может быть нулевым", + "userEmail": "Email", + "userPassword": "Пароль", + "userAdmin": "Администратор", + "userRemember": "Запомнить", + "userExpirationTime": "Срок действия", + "userDeviceLimit": "Ограничение устройств", + "userUserLimit": "Лимит пользователей", + "userDeviceReadonly": "Только просмотр устройств", + "userLimitCommands": "Ограничение команд", + "userDisableReports": "Выключить отчеты", + "userFixedEmail": "Не изменять Email", + "userToken": "Ключ", + "userDeleteAccount": "Удалить аккаунт", + "userTemporary": "Temporary", + "loginTitle": "Вход", + "loginLanguage": "Язык", + "loginReset": "Сброс пароля", + "loginRegister": "Регистрация", + "loginLogin": "Вход", + "loginOpenId": "Login with OpenID", + "loginFailed": "Неправильный email адрес или пароль", + "loginCreated": "Новый пользователь зарегистрирован", + "loginResetSuccess": "Проверьте свою электронную почту", + "loginUpdateSuccess": "Новый пароль установлен", + "loginLogout": "Выход", + "loginLogo": "Логотип", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Устройства и состояния", + "deviceSelected": "Выбранное устройство", + "deviceTitle": "Устройства", + "devicePrimaryInfo": "Название устройства", + "deviceSecondaryInfo": "Детали устройства", + "deviceIdentifier": "Идентификатор", + "deviceModel": "Модель", + "deviceContact": "Контакт", + "deviceCategory": "Категория", + "deviceLastUpdate": "Последнее обновление", + "deviceCommand": "Команда", + "deviceFollow": "Следовать", + "deviceTotalDistance": "Общий пробег", + "deviceStatus": "Статус", + "deviceStatusOnline": "Онлайн", + "deviceStatusOffline": "Оффлайн", + "deviceStatusUnknown": "Неизвестный", + "deviceRegisterFirst": "Добавьте свое первое устройство", + "deviceIdentifierHelp": "IMEI, серийный номер или другой идентификатор. Он должен соответствовать идентификатору, который устройство сообщает серверу.", + "deviceShare": "Share Device", + "groupDialog": "Группа", + "groupParent": "Группа", + "groupNoGroup": "Без группы", + "settingsTitle": "Настройки", + "settingsUser": "Аккаунт", + "settingsGroups": "Группы", + "settingsServer": "Сервер", + "settingsUsers": "Пользователи", + "settingsDistanceUnit": "Единица расстояния", + "settingsAltitudeUnit": "Единица измерения высоты", + "settingsSpeedUnit": "Единица скорости", + "settingsVolumeUnit": "Единица объема", + "settingsTwelveHourFormat": "12-часовой формат", + "settingsCoordinateFormat": "Формат координат", + "settingsServerVersion": "Версия сервера", + "settingsAppVersion": "Версия приложения", + "settingsConnection": "Соединения", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Отчеты", + "reportScheduled": "Запланированные отчеты", + "reportDevice": "Устройство", + "reportGroup": "Группа", + "reportFrom": "От", + "reportTo": "До", + "reportShow": "Показать", + "reportClear": "Очистить", + "linkGoogleMaps": "Карты Google", + "linkAppleMaps": "Карты Apple", + "linkStreetView": "Просмотр улиц", + "positionFixTime": "Время определения", + "positionDeviceTime": "Время на устройстве", + "positionServerTime": "Время на сервере", + "positionValid": "Корректность", + "positionAccuracy": "Точность", + "positionLatitude": "Широта", + "positionLongitude": "Долгота", + "positionAltitude": "Высота", + "positionSpeed": "Скорость", + "positionCourse": "Направление", + "positionAddress": "Адрес", + "positionProtocol": "Протокол", + "positionDistance": "Расстояние", + "positionRpm": "Обороты", + "positionFuel": "Топливо", + "positionPower": "Питание", + "positionBattery": "Батарея", + "positionRaw": "Сырые данные", + "positionIndex": "Индекс", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Спутники", + "positionSatVisible": "Видимые спутники", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Роуминг", + "positionEvent": "Событие", + "positionAlarm": "Тревога", + "positionStatus": "Статус", + "positionOdometer": "Одометр", + "positionServiceOdometer": "Одометр обслуживания", + "positionTripOdometer": "Одометр поездки", + "positionHours": "Часы", + "positionSteps": "Шаги", + "positionInput": "Входы", + "positionHeartRate": "Heart Rate", + "positionOutput": "Выходы", + "positionBatteryLevel": "Уровень заряда батареи", + "positionFuelConsumption": "Расход топлива", + "positionRfid": "RFID", + "positionVersionFw": "Версия прошивки", + "positionVersionHw": "Версия устройства", + "positionIgnition": "Зажигание", + "positionFlags": "Флаги", + "positionCharge": "Заряд", + "positionIp": "IP", + "positionArchive": "Архив", + "positionVin": "VIN", + "positionApproximate": "Приблизительно", + "positionThrottle": "Дроссель", + "positionMotion": "Движение", + "positionArmed": "На охране", + "positionAcceleration": "Ускорение", + "positionTemp": "Температура", + "positionDeviceTemp": "Температура устройства", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Оператор", + "positionCommand": "Команда", + "positionBlocked": "Блокировка", + "positionDtcs": "Ошибки", + "positionObdSpeed": "OBD скорость", + "positionObdOdometer": "OBD одометр", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "ID водителя", + "positionCard": "Card", + "positionImage": "Изображение", + "positionVideo": "Видео", + "positionAudio": "Аудио", + "serverTitle": "Настройки сервера", + "serverZoom": "Приближение", + "serverRegistration": "Регистрация", + "serverReadonly": "Только просмотр", + "serverForceSettings": "Форсировать настройки", + "serverAnnouncement": "Объявление", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Карта", + "mapActive": "Активные карты", + "mapOverlay": "Слой карты", + "mapOverlayCustom": "Собственный слой", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API ключ", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather давление", + "mapOpenWeatherWind": "OpenWeather ветер", + "mapOpenWeatherTemperature": "OpenWeather температура", + "mapLayer": "Слой карты", + "mapCustom": "Пользовательский (XYZ)", + "mapCustomArcgis": "Пользовательский (ArcGIS)", + "mapCustomLabel": "Пользовательская карта", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google дороги", + "mapGoogleHybrid": "Google гибрид", + "mapGoogleSatellite": "Google спутник", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Ключ Bing Maps", + "mapBingRoad": "Bing Maps Дороги", + "mapBingAerial": "Bing Maps Спутник", + "mapBingHybrid": "Bing Maps Гибрид", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Яндекс Карты", + "mapYandexSat": "Яндекс Спутник", + "mapWikimedia": "Викимедиа", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Улицы", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Топография", + "mapMapboxSatellite": "Mapbox Спутник", + "mapMapboxKey": "Mapbox токен доступа", + "mapMapTilerBasic": "MapTiler простое", + "mapMapTilerHybrid": "MapTiler гибрид", + "mapMapTilerKey": "MapTiler ключ API", + "mapLocationIqStreets": "LocationIQ улицы", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ токен доступа", + "mapTomTomBasic": "TomTom простое", + "mapTomTomFlow": "TomTom движение потока", + "mapTomTomIncidents": "TomTom аварии в потоке", + "mapTomTomKey": "TomTom ключ API", + "mapHereBasic": "Простое", + "mapHereHybrid": "Гибрид", + "mapHereSatellite": "Спутники", + "mapHereFlow": "Движение потока", + "mapHereKey": "Ключ API", + "mapShapePolygon": "Многоугольник", + "mapShapeCircle": "Круг", + "mapShapePolyline": "Линия", + "mapLiveRoutes": " Живые маршруты", + "mapDirection": "Показать направление", + "mapCurrentLocation": "Текущее Местоположение", + "mapPoiLayer": "Слой POI", + "mapClustering": "Кластеризация маркеров", + "mapOnSelect": "Показать карту при выборе", + "mapDefault": "Карта по-умолчанию", + "stateTitle": "Состояние", + "stateName": "Параметр", + "stateValue": "Значение", + "commandTitle": "Команда", + "commandSend": "Отправить", + "commandSent": "Команда отправлена", + "commandQueued": "Команда добавлена в очередь", + "commandUnit": "Единицы", + "commandCustom": "Пользовательская команда", + "commandDeviceIdentification": "Идентификация устройства", + "commandPositionSingle": "Разовое отслеживание", + "commandPositionPeriodic": "Начать отслеживание", + "commandPositionStop": "Отменить отслеживание", + "commandEngineStop": "Заблокировать двигатель", + "commandEngineResume": "Разблокировать двигатель", + "commandAlarmArm": "Активировать сигнализацию", + "commandAlarmDisarm": "Деактивировать сигнализацию", + "commandAlarmDismiss": "Отключить сигнализацию", + "commandSetTimezone": "Настроить часовой пояс", + "commandRequestPhoto": "Запросить фото", + "commandPowerOff": "Выключить устройство", + "commandRebootDevice": "Перезагрузить устройство", + "commandFactoryReset": "Сброс к заводским настройкам", + "commandSendSms": "Отправить СМС", + "commandSendUssd": "Отправить USSD", + "commandSosNumber": "Настроить экстренный номер", + "commandSilenceTime": "Настроить время тишины", + "commandSetPhonebook": "Настроить телефонную книгу", + "commandVoiceMessage": "Голосовое сообщение", + "commandOutputControl": "Контроль выхода", + "commandVoiceMonitoring": "Голосовой контроль", + "commandSetAgps": "Настроить AGPS", + "commandSetIndicator": "Настроить индикатор", + "commandConfiguration": "Конфигурация", + "commandGetVersion": "Запросить версию", + "commandFirmwareUpdate": "Обновить прошивку", + "commandSetConnection": "Настроить соединение", + "commandSetOdometer": "Настроить одометр", + "commandGetModemStatus": "Запросить состояние модема", + "commandGetDeviceStatus": "Запросить состояние устройства", + "commandSetSpeedLimit": "Установить ограничение скорости", + "commandModePowerSaving": "Режим экономии энергии", + "commandModeDeepSleep": "Режим глубокого сна", + "commandAlarmGeofence": "Установить сигнал геозоны", + "commandAlarmBattery": "Установить сигнал батареи", + "commandAlarmSos": "Установить сигнал SOS", + "commandAlarmRemove": "Установить сигнал удаления", + "commandAlarmClock": "Установить сигнал часов", + "commandAlarmSpeed": "Установить сигнал скорости", + "commandAlarmFall": "Установить сигнал падения", + "commandAlarmVibration": "Установить сигнал вибрации", + "commandFrequency": "Частота", + "commandTimezone": "Смещение временной зоны", + "commandMessage": "Сообщение", + "commandRadius": "Радиус", + "commandEnable": "Включить", + "commandData": "Данные", + "commandIndex": "Индекс", + "commandPhone": "Номер телефона", + "commandServer": "Сервер", + "commandPort": "Порт", + "eventAll": "Все события", + "eventDeviceOnline": "Статус онлайн", + "eventDeviceUnknown": "Статус неизвестен", + "eventDeviceOffline": "Статус оффлайн", + "eventDeviceInactive": "Устройство неактивно", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Устройство двигается", + "eventDeviceStopped": "Устройство остановилось", + "eventDeviceOverspeed": "Превышено ограничение скорости", + "eventDeviceFuelDrop": "Слив топлива", + "eventDeviceFuelIncrease": "Увеличение расхода топлива", + "eventCommandResult": "Результат команды", + "eventGeofenceEnter": "Вход в геозону", + "eventGeofenceExit": "Выход из геозоны", + "eventAlarm": "Тревога", + "eventIgnitionOn": "Зажигание включено", + "eventIgnitionOff": "Зажигание выключено", + "eventMaintenance": "Требуется обслуживание", + "eventTextMessage": "Текстовое сообщение получено", + "eventDriverChanged": "Водитель изменен", + "eventMedia": "Медиа", + "eventsScrollToLast": "Прокрутка до конца", + "eventsSoundEvents": "Звук событий", + "eventsSoundAlarms": "Звук тревоги", + "alarmGeneral": "Общее", + "alarmSos": "SOS", + "alarmVibration": "Вибрация", + "alarmMovement": "Движение", + "alarmLowspeed": "Низкая скорость", + "alarmOverspeed": "Превышение скорости", + "alarmFallDown": "Падение", + "alarmLowPower": "Низкий уровень питания", + "alarmLowBattery": "Батарея разряжена", + "alarmFault": "Неисправность", + "alarmPowerOff": "Выключение", + "alarmPowerOn": "Включение", + "alarmDoor": "Дверь", + "alarmLock": "Закрыто", + "alarmUnlock": "Открыто", + "alarmGeofence": "Геозона", + "alarmGeofenceEnter": "Вход в геозону", + "alarmGeofenceExit": "Выход из геозоны", + "alarmGpsAntennaCut": "Отключение GPS-антенны", + "alarmAccident": "Авария", + "alarmTow": "Буксировка", + "alarmIdle": "Простой", + "alarmHighRpm": "Высокие обороты", + "alarmHardAcceleration": "Резкое ускорение", + "alarmHardBraking": "Резкое торможение", + "alarmHardCornering": "Резкий поворот", + "alarmLaneChange": "Смена полосы", + "alarmFatigueDriving": "Усталость водителя", + "alarmPowerCut": "Отключение питания", + "alarmPowerRestored": "Питание восстановлено", + "alarmJamming": "Заглушено", + "alarmTemperature": "Температура", + "alarmParking": "Парковка", + "alarmBonnet": "Капот", + "alarmFootBrake": "Ножной тормоз", + "alarmFuelLeak": "Утечка топлива", + "alarmTampering": "Вмешательство", + "alarmRemoving": "Извлечение", + "notificationType": "Тип уведомления", + "notificationAlways": "Все устройства", + "notificationNotificators": "Каналы", + "notificatorCommand": "Команда", + "notificatorWeb": "Веб", + "notificatorMail": "Почта", + "notificatorSms": "СМС", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Телеграмм", + "notificatorPushover": "Нажатие", + "reportReplay": "Воспроизвести", + "reportCombined": "Совместный", + "reportRoute": "Маршрут", + "reportEvents": "События", + "reportTrips": "Поездки", + "reportStops": "Остановки", + "reportSummary": "Сводка", + "reportDaily": "Ежедневная сводка", + "reportChart": "Диаграмма", + "reportConfigure": "Конфигурировать", + "reportEventTypes": "Тип события", + "reportChartType": "Тип диаграммы", + "reportShowMarkers": "Показать маркеры", + "reportExport": "Экспорт", + "reportEmail": "Отчет по почте", + "reportSchedule": "Запланированный", + "reportPeriod": "Период", + "reportCustom": "Пользовательский", + "reportToday": "Сегодня", + "reportYesterday": "Вчера", + "reportThisWeek": "Текущая неделя", + "reportPreviousWeek": "Предыдущая неделя", + "reportThisMonth": "Текущий месяц", + "reportPreviousMonth": "Предыдущий месяц", + "reportDeviceName": "Имя устройства", + "reportAverageSpeed": "Средняя скорость", + "reportMaximumSpeed": "Максимальная скорость", + "reportEngineHours": "Моточасы", + "reportDuration": "Длительность", + "reportStartDate": "Дата начала", + "reportStartTime": "Начальное время", + "reportStartAddress": "Начальный адрес", + "reportEndTime": "Конечное время", + "reportEndAddress": "Конечный адрес", + "reportSpentFuel": "Использовано топлива", + "reportStartOdometer": "Одометр, начало", + "reportEndOdometer": "Одометр, окончание", + "statisticsTitle": "Статистика", + "statisticsCaptureTime": "Время сбора", + "statisticsActiveUsers": "Активные пользователи", + "statisticsActiveDevices": "Активные устройства", + "statisticsRequests": "Запросы", + "statisticsMessagesReceived": "Сообщений получено", + "statisticsMessagesStored": "Сообщений сохранено", + "statisticsGeocoder": "Запросы геокодера", + "statisticsGeolocation": "Запросы геолокации", + "categoryArrow": "Стрелка", + "categoryDefault": "По умолчанию", + "categoryAnimal": "Животное", + "categoryBicycle": "Велосипед", + "categoryBoat": "Лодка", + "categoryBus": "Автобус", + "categoryCar": "Автомобиль", + "categoryCamper": "Camper", + "categoryCrane": "Кран", + "categoryHelicopter": "Вертолет", + "categoryMotorcycle": "Мотоцикл", + "categoryOffroad": "Внедорожник", + "categoryPerson": "Человек", + "categoryPickup": "Пикап", + "categoryPlane": "Самолёт", + "categoryShip": "Корабль", + "categoryTractor": "Трактор", + "categoryTrain": "Поезд", + "categoryTram": "Трамвай", + "categoryTrolleybus": "Троллейбус", + "categoryTruck": "Грузовой автомобиль", + "categoryVan": "Фургон", + "categoryScooter": "Скутер", + "maintenanceStart": "Начало", + "maintenancePeriod": "Период" +}
\ No newline at end of file diff --git a/legacy/web/l10n/si.json b/legacy/web/l10n/si.json new file mode 100644 index 00000000..9e8ad6af --- /dev/null +++ b/legacy/web/l10n/si.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "පූරණය ස්ථානයේ...", + "sharedHide": "සඟවන්න", + "sharedSave": "සුරකින්න", + "sharedUpload": "Upload", + "sharedSet": "සකසන්න", + "sharedCancel": "සිදු කරන්න", + "sharedCopy": "Copy", + "sharedAdd": "එක් කරන්න", + "sharedEdit": "සංස්කරණය", + "sharedRemove": "ඉවත් කරන්න", + "sharedRemoveConfirm": "අයිතමය ඉවත් කරන්නද?", + "sharedNoData": "දත්ත නැත", + "sharedSubject": "Subject", + "sharedYes": "ඔව්", + "sharedNo": "නැත", + "sharedKm": "කි.මී.", + "sharedMi": "සැතපුම්", + "sharedNmi": "nmi", + "sharedMeters": "එම්", + "sharedFeet": "අඩි", + "sharedKn": "kn", + "sharedKmh": "කි.මී/පැ", + "sharedMph": "mph", + "sharedHour": "පැය", + "sharedMinute": "විනාඩි", + "sharedSecond": "තත්පර", + "sharedDays": "දවස්", + "sharedHours": "පැය", + "sharedMinutes": "විනාඩි", + "sharedDecimalDegrees": "දශම සඳහා", + "sharedDegreesDecimalMinutes": "අංශක දශම මිනිත්තු", + "sharedDegreesMinutesSeconds": "දශම පිළිබඳව තප්පර", + "sharedName": "නම", + "sharedDescription": "සවිස්තරය", + "sharedSearch": "සොයන්න", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "භූ වැටිය", + "sharedGeofences": "භූ වැටි", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "දැනුම්දීම්", + "sharedNotification": "දැනුම්දීම", + "sharedAttributes": "උපලක්ෂණ", + "sharedAttribute": "උපලක්ෂණය", + "sharedDrivers": "රියදුරන්", + "sharedDriver": "රියදුරු", + "sharedArea": "ප්රදේශය", + "sharedSound": "දැනුම්දීමේ ශබ්දය", + "sharedType": "වර්ගය", + "sharedDistance": "දුර", + "sharedHourAbbreviation": "පැ.", + "sharedMinuteAbbreviation": "මි.", + "sharedSecondAbbreviation": "තත්.", + "sharedVoltAbbreviation": "වී", + "sharedLiterAbbreviation": "එල්", + "sharedGallonAbbreviation": "ගැලුම්", + "sharedLiter": "ලීටර", + "sharedImpGallon": "Imp. ගැලන්", + "sharedUsGallon": "එක්සත් ජනපද ගැලෝන්", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "සිතියම් තත්ත්වය", + "sharedComputedAttribute": "කළ ගුණය", + "sharedComputedAttributes": "සිදු කළ ගුණාංග", + "sharedCheckComputedAttribute": "කළ ගුණය පරීක්ෂා කරන්න", + "sharedExpression": "ප්රකාශනය", + "sharedDevice": "වැනි", + "sharedTest": "පරීක්ෂණය", + "sharedTestNotification": "අත්හදාබැලීමේ දැනුම්දීම යවන්න", + "sharedTestNotificators": "පරීක්ෂණ නාලිකා", + "sharedTestExpression": "පරීක්ෂණ ප්රකාශනය", + "sharedCalendar": "දින දසුන", + "sharedCalendars": "දින දසුන්", + "sharedFile": "ගොනුව", + "sharedSearchDevices": "සෙවුම් උපාංග", + "sharedSortBy": "අනුව තෝරන්න", + "sharedFilterMap": "සිතියම මත පෙරහන් කරන්න", + "sharedSelectFile": "ගොනුව තෝරන්න", + "sharedPhone": "දුරකථනය", + "sharedRequired": "අවශයි", + "sharedPreferences": "මනාපයන්", + "sharedPermissions": "අවසර", + "sharedConnections": "සම්බන්ධතා", + "sharedExtra": "අමතර", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "නූල්", + "sharedTypeNumber": "අංකය", + "sharedTypeBoolean": "බූලියන්", + "sharedTimezone": "වේලා කලාපය", + "sharedInfoTitle": "තොරතුරු", + "sharedSavedCommand": "විධානය සුරකින ලදී", + "sharedSavedCommands": "විධාන සුරකින", + "sharedNew": "අලුත්…", + "sharedShowAddress": "ලිපිනය පෙන්වන්න", + "sharedShowDetails": "වැඩිපුර විස්තර", + "sharedDisabled": "අබල කර ඇත", + "sharedMaintenance": "නඩත්තුව", + "sharedDeviceAccumulators": "සමුච්චය කරන්නන්", + "sharedAlarms": "අනතුරු ඇඟවීම්", + "sharedLocation": "ස්ථානය", + "sharedImport": "ආනයන", + "sharedColumns": "තීරු", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "වේග සීමාව", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "බහු රේඛා දුර", + "attributeReportIgnoreOdometer": "වාර්තාව: සැතපුම්මානය නොසලකන්න", + "attributeWebReportColor": "වියමන: පාට වාර්තා කරන්න", + "attributeDevicePassword": "කැමති මුරපදය", + "attributeDeviceImage": "උපාංග රූපය", + "attributeDeviceInactivityStart": "උපාංගය අක්රිය වීම ආරම්භය", + "attributeDeviceInactivityPeriod": "උපාංග අක්රිය කාලය", + "attributeProcessingCopyAttributes": "සැකසීම: උපලක්ෂණ පිටපත් කරන්න", + "attributeColor": "වර්ණ", + "attributeWebLiveRouteLength": "වෙබ්: සජීවී මාර්ග දිග", + "attributeWebSelectZoom": "වෙබ්: විශාලනය කරන්න තෝරන්න", + "attributeWebMaxZoom": "වියමන: උපරිම විශාලනය", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "තැපෑල: ස.තැ.මා.කේ. සත්කාරකය", + "attributeMailSmtpPort": "තැපෑල: ස.තැ.මා.කේ. කෙවෙනිය", + "attributeMailSmtpStarttlsEnable": "තැපෑල: SMTP STARTTLS සබල කරන්න", + "attributeMailSmtpStarttlsRequired": "තැපෑල: SMTP STARTTLS අවශ්යයි", + "attributeMailSmtpSslEnable": "තැපෑල: SMTP SSL සක්රිය කරන්න", + "attributeMailSmtpSslTrust": "තැපෑල: SMTP SSL භාරය", + "attributeMailSmtpSslProtocols": "තැපෑල: SMTP SSL ප්රොටෝකෝල", + "attributeMailSmtpFrom": "තැපෑල: SMTP වෙතින්", + "attributeMailSmtpAuth": "තැපෑල: SMTP Auth සක්රිය කරන්න", + "attributeMailSmtpUsername": "තැපෑල: ස.තැ.මා.කේ. පර්යේෂණනාමය", + "attributeMailSmtpPassword": "තැපෑල: ස.තැ.මා.කේ. මුරපදය", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: කණ්ඩායම් අබල කරන්න", + "attributeUiDisableEvents": "අ.මු.: සිදුවීම් අබල කරන්න", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: ධාවක අක්රීය කරන්න", + "attributeUiDisableComputedAttributes": "UI: ගණනය කළ ගුණාංග අක්රීය කරන්න", + "attributeUiDisableCalendars": "අ.මු.: දින දසුන අබල කරන්න", + "attributeUiDisableMaintenance": "UI: නඩත්තු කිරීම අබල කරන්න", + "attributeUiHidePositionAttributes": "UI: ස්ථාන ගුණාංග සඟවන්න", + "attributeUiDisableLoginLanguage": "UI: පිවිසුම් භාෂාව අක්රීය කරන්න", + "attributeNotificationTokens": "දැනුම්දීම් ටෝකන", + "attributePopupInfo": "Popup Info", + "errorTitle": "දෝෂයකි", + "errorGeneral": "වලංගු නොවන පරාමිති හෝ සීමාවන් උල්ලංඝනය කිරීම", + "errorConnection": "සම්බන්ධතාවේ දෝෂයකි", + "errorSocket": "වෙබ් සොකට් සම්බන්ධතා දෝෂයකි", + "errorZero": "ශුන්ය විය හැකියි", + "userEmail": "වි-තැපෑල", + "userPassword": "මුරපදය", + "userAdmin": "පරිපාලක", + "userRemember": "මතක තබාගන්න", + "userExpirationTime": "කල් ඉකුත්වීම", + "userDeviceLimit": "උපාංග සීමාව", + "userUserLimit": "පරිශීලක සීමාව", + "userDeviceReadonly": "ඇතුළත් කියවීම පමණි", + "userLimitCommands": "සීමිත විධානයන්", + "userDisableReports": "වාර්තා අක්රිය කරන්න", + "userFixedEmail": "No Email Change", + "userToken": "ටෝකනය", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "ඇතුල් වන්න", + "loginLanguage": "භාෂාව", + "loginReset": "මුරපදය නැවත සකසන්න", + "loginRegister": "ලියාපදිංචි වන්න", + "loginLogin": "ඇතුල් වන්න", + "loginOpenId": "Login with OpenID", + "loginFailed": "වි-තැපැල් ලිපිනය හෝ මුරපදය වැරදිය!", + "loginCreated": "නව පරිශීලකයෙකු ලියාපදිංචි වී ඇත", + "loginResetSuccess": "ඔබගේ විද්යුත් තැපෑල පරීක්ෂා කරන්න", + "loginUpdateSuccess": "නව මුරපදය සකසා ඇත", + "loginLogout": "නික්මෙන්න", + "loginLogo": "ලාංඡනය", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "උපාංග සහ තත්ත්වය", + "deviceSelected": "Selected Device", + "deviceTitle": "උපාංග", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "හඳුන්වනවා", + "deviceModel": "ආකෘතිය", + "deviceContact": "අමතන්න", + "deviceCategory": "ප්රවර්ගය", + "deviceLastUpdate": "අවසන් යාවත්කාලය", + "deviceCommand": "විධානය", + "deviceFollow": "ලුහුබඳින්න", + "deviceTotalDistance": "මුළු දුර", + "deviceStatus": "තත්ත්වය", + "deviceStatusOnline": "ඔන්ලයින්", + "deviceStatusOffline": "නොබැඳි", + "deviceStatusUnknown": "නොදන්නා", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "සමූහය", + "groupParent": "සමූහය", + "groupNoGroup": "සමූහ නැත", + "settingsTitle": "සැකසුම්", + "settingsUser": "ගැන", + "settingsGroups": "සමූහ", + "settingsServer": "සේවාදායකයා", + "settingsUsers": "පරිශීලකයින්", + "settingsDistanceUnit": "දුරස්ථ ඒකකය", + "settingsAltitudeUnit": "උන්නතාංශ ඒකකය", + "settingsSpeedUnit": "වේග නියමිතක්", + "settingsVolumeUnit": "පරිමාව ඒකකය", + "settingsTwelveHourFormat": "පැය 12 ආකෘතිය", + "settingsCoordinateFormat": "ඛණ්ඩාංක ආකෘතිය", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "වාර්තාව", + "reportScheduled": "Scheduled Reports", + "reportDevice": "වැනි", + "reportGroup": "සමුහය", + "reportFrom": "සිට", + "reportTo": "දක්වා", + "reportShow": "පෙන්වන්න", + "reportClear": "හිස් කරන්න", + "linkGoogleMaps": "ගුගල් සිතියම්", + "linkAppleMaps": "ඇපල් සිතියම්", + "linkStreetView": "වීථි දසුන", + "positionFixTime": "කාලය නිවැරදි කරන්න", + "positionDeviceTime": "උපාංග කාලය", + "positionServerTime": "සේවාදායක කාලය", + "positionValid": "වලංගු", + "positionAccuracy": "නිරවද්යතාව", + "positionLatitude": "අක්ෂාංශ", + "positionLongitude": "දේශාංශ", + "positionAltitude": "උන්නතාංශය", + "positionSpeed": "වේගවත්", + "positionCourse": "දිගංශය", + "positionAddress": "ලිපිනය", + "positionProtocol": "කෙටුම්පත", + "positionDistance": "දුර", + "positionRpm": "ආර්පීඑම්", + "positionFuel": "ඉන්ධන", + "positionPower": "බලය", + "positionBattery": "වියළිකෝෂය", + "positionRaw": "අමු", + "positionIndex": "දර්ශකය", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "චන්ද්රිකා", + "positionSatVisible": "දෘෂ්ය චන්ද්රිකා", + "positionRssi": "ආර්එස්එස්අයි", + "positionGps": "ගි.පි.එස්", + "positionRoaming": "රෝමිං", + "positionEvent": "සිදුවීම", + "positionAlarm": "අනතුරු ඇඟවීම", + "positionStatus": "තත්ත්වය", + "positionOdometer": "සැතපුම්මානය", + "positionServiceOdometer": "සේවා සැතපුම්මානය", + "positionTripOdometer": "චාරිකා සැතපුම්මානය", + "positionHours": "පැය", + "positionSteps": "පියවර", + "positionInput": "ආදානය", + "positionHeartRate": "Heart Rate", + "positionOutput": "ප්රතිදානය", + "positionBatteryLevel": "විදුලිකෝෂයේ මට්ටමට", + "positionFuelConsumption": "ඉන්ධන සඳහා", + "positionRfid": "RFID", + "positionVersionFw": "ස්ථිරාංගයේ වෙනස්", + "positionVersionHw": "දෘඩංගයේ වෙනස්", + "positionIgnition": "තාපනය", + "positionFlags": "කොඩි", + "positionCharge": "ගාස්තුව", + "positionIp": "අ.ජා.කේ.", + "positionArchive": "සංරක්ෂිතය", + "positionVin": "VIN", + "positionApproximate": "දළ වශයෙන්", + "positionThrottle": "Throttle", + "positionMotion": "දක්වා", + "positionArmed": "ආයුධ", + "positionAcceleration": "ත්වරණය", + "positionTemp": "උෂ්ණත්වය", + "positionDeviceTemp": "උෂ්ණත්වයේ උෂ්ණත්වය", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "ක්රියාකරු", + "positionCommand": "විධානය", + "positionBlocked": "අවහිර කර ඇත", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD වේගය", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "රියදුරු අනන්ය හැඳුනුම්පත", + "positionCard": "Card", + "positionImage": "රූප", + "positionVideo": "Video", + "positionAudio": "ශ්රව්ය උපකරණ", + "serverTitle": "සේවාදායකයේ සැකසුම්", + "serverZoom": "විශාලනය", + "serverRegistration": "ලියාපදිංචි කිරීම", + "serverReadonly": "කියවීමට පමණි", + "serverForceSettings": "බල සැකසීම්", + "serverAnnouncement": "නිවේදනය", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "දක්වා", + "mapActive": "ක්රියාකාරී සිතියම්", + "mapOverlay": "සිතියම උඩ තට්ටුව", + "mapOverlayCustom": "අභිරුචි ආවරණයක්", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API යතුර", + "mapOpenWeatherClouds": "විවෘත කාලගුණ වලාකුළු", + "mapOpenWeatherPrecipitation": "විවෘත කාලගුණ වර්ෂාපතනය", + "mapOpenWeatherPressure": "විවෘත කාලගුණ පීඩනය", + "mapOpenWeatherWind": "විවෘත කාලගුණ සුළඟ", + "mapOpenWeatherTemperature": "විවෘත කාලගුණ උෂ්ණත්වය", + "mapLayer": "සිතියම් ස්තරය", + "mapCustom": "අභිරුචි (XYZ)", + "mapCustomArcgis": "අභිරුචි (ArcGIS)", + "mapCustomLabel": "අභිරුචි සිතියම", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "බිං මැප්ස් යතුර", + "mapBingRoad": "බිං මැප්ස් පාර", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "යාන්ඩෙක්ස් සිතියම", + "mapYandexSat": "යාන්ඩෙක්ස් චන්ද්රිකාව", + "mapWikimedia": "විකිමීඩියා", + "mapOrdnanceSurvey": "යුධෝපකරණ සමීක්ෂණය", + "mapMapboxStreets": "සිතියම් පෙට්ටි වීදි", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox එළිමහන්", + "mapMapboxSatellite": "Mapbox චන්ද්රිකාව", + "mapMapboxKey": "Mapbox ප්රවේශ ටෝකනය", + "mapMapTilerBasic": "MapTiler මූලික", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API යතුර", + "mapLocationIqStreets": "LocationIQ වීදි", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ ප්රවේශ ටෝකනය", + "mapTomTomBasic": "TomTom මූලික", + "mapTomTomFlow": "TomTom රථවාහන ප්රවාහය", + "mapTomTomIncidents": "TomTom රථවාහන සිදුවීම්", + "mapTomTomKey": "TomTom API යතුර", + "mapHereBasic": "මෙන්න Basic", + "mapHereHybrid": "මෙන්න Hybrid", + "mapHereSatellite": "මෙන්න සැටලයිට්", + "mapHereFlow": "මෙන්න Traffic Flow", + "mapHereKey": "මෙන්න API යතුර", + "mapShapePolygon": "බහුඅශ්රය", + "mapShapeCircle": "වෘත්තය", + "mapShapePolyline": "බහු රේඛාව", + "mapLiveRoutes": "සජීවී මාර්ග", + "mapDirection": "Show Direction", + "mapCurrentLocation": "වත්මන් ස්ථානය", + "mapPoiLayer": "POI ස්තරය", + "mapClustering": "සලකුණු පොකුරු කිරීම", + "mapOnSelect": "තේරීම මත සිතියම පෙන්වන්න", + "mapDefault": "Default Map", + "stateTitle": "තත්ත්වය", + "stateName": "ගුණාංගය", + "stateValue": "අගය", + "commandTitle": "විධානය", + "commandSend": "යවන්න", + "commandSent": "විධානය යවා ඇත", + "commandQueued": "විධානය පෝලිමේ", + "commandUnit": "සඳහා", + "commandCustom": "අභිරුචි විධානය", + "commandDeviceIdentification": "හඳුනා ගැනීම", + "commandPositionSingle": "තනි වාර්තාව", + "commandPositionPeriodic": "ආවර්තිතාව වාර්තා කරන්න", + "commandPositionStop": "වාර්තා කිරීම නවත්වන්න", + "commandEngineStop": "එන්ජින් නැවතුම", + "commandEngineResume": "එන්ජින් Resume", + "commandAlarmArm": "ආම් එලාම්", + "commandAlarmDisarm": "අනතුරු ඇඟවීම නිරායුධ කරන්න", + "commandAlarmDismiss": "එලාමය අස් කරන්න", + "commandSetTimezone": "කලාපය සකසන්න", + "commandRequestPhoto": "ඡායාරූප ඉල්ලීම", + "commandPowerOff": "උපාංගය ක්රියා විරහිත කරන්න", + "commandRebootDevice": "අපට යළි ආරම්භ කරන්න", + "commandFactoryReset": "කර්මාන්තශාලා යළි පිහිටුවීම", + "commandSendSms": "කෙටි පණිවිඩ යවන්න", + "commandSendUssd": "USSD යවන්න", + "commandSosNumber": "SOS අංකය සකසන්න", + "commandSilenceTime": "නිශ්ශබ්දතාවයේ වේලාව සකසන්න", + "commandSetPhonebook": "දුරකථනපොත සකසන්න", + "commandVoiceMessage": "සඳහා පණිවිඩය", + "commandOutputControl": "ප්රතිදාන පාලනය", + "commandVoiceMonitoring": "හඬ නිරීක්ෂණ", + "commandSetAgps": "AGPS සකසන්න", + "commandSetIndicator": "දර්ශකය සකසන්න", + "commandConfiguration": "වින්යාසය", + "commandGetVersion": "සහ ගන්න", + "commandFirmwareUpdate": "ස්ථිරාංගය යථාවත්කාල කරන්න", + "commandSetConnection": "සම්බන්ධතාවය සකසන්න", + "commandSetOdometer": "සැතපුම්මානය සකසන්න", + "commandGetModemStatus": "මෝඩමය තත්ත්වය ලබා ගන්න", + "commandGetDeviceStatus": "ලබා ගැනීමේ තත්ත්වය ගන්න", + "commandSetSpeedLimit": "වේග සීමාව සකසන්න", + "commandModePowerSaving": "බලශක්ති ඉතිරිකිරීමේ මාදිලිය", + "commandModeDeepSleep": "ගැඹුරු නින්ද මාදිලිය", + "commandAlarmGeofence": "Geofence එලාම් සකසන්න", + "commandAlarmBattery": "බැටරි එලාම් සකසන්න", + "commandAlarmSos": "SOS එලාම් සකසන්න", + "commandAlarmRemove": "ඉවත් කිරීමේ අනතුරු ඇඟවීම සකසන්න", + "commandAlarmClock": "ඔරලෝසු එලාම් සකසන්න", + "commandAlarmSpeed": "වේග අනතුරු ඇඟවීම සකසන්න", + "commandAlarmFall": "වැටීම අනතුරු ඇඟවීම සකසන්න", + "commandAlarmVibration": "කම්පන එලාම් සකසන්න", + "commandFrequency": "සංඛ්යාතය", + "commandTimezone": "කාල කලාප ඕෆ්සෙට්", + "commandMessage": "පණිවිඩය", + "commandRadius": "ආරය", + "commandEnable": "සබල කරන්න", + "commandData": "දත්ත", + "commandIndex": "දර්ශකය", + "commandPhone": "දුරකථන අංකය", + "commandServer": "සේවාදායකයා", + "commandPort": "වරාය", + "eventAll": "සියලු සිදුවීම්", + "eventDeviceOnline": "මාර්ගගත තත්ත්වය", + "eventDeviceUnknown": "තත්ත්වය නොදනී", + "eventDeviceOffline": "නොබැඳි තත්ත්වය", + "eventDeviceInactive": "උපාංගය අක්රියයි", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "උපාංගය චලනය", + "eventDeviceStopped": "උපාංගය නතර විය", + "eventDeviceOverspeed": "වේග සීමාව ඉක්මවා ඇත", + "eventDeviceFuelDrop": "ඉන්ධන පහත වැටීම", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "විධානයේ ප්රකාශය", + "eventGeofenceEnter": "Geofence ඇතුල් විය", + "eventGeofenceExit": "Geofence ඉවත් විය", + "eventAlarm": "අනතුරු ඇඟවීම", + "eventIgnitionOn": "ගිනි දැල්වීම", + "eventIgnitionOff": "ජ්වලනය නිවා දමයි", + "eventMaintenance": "නඩත්තු කිරීම අවශ්ය වේ", + "eventTextMessage": "කෙටි පණිවිඩයක් ලැබිණි", + "eventDriverChanged": "රියදුරු වෙනස් විය", + "eventMedia": "Media", + "eventsScrollToLast": "අන්තිමට අනුචලනය කරන්න", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "ජනරාල්", + "alarmSos": "SOS", + "alarmVibration": "කම්පනය", + "alarmMovement": "චලනය", + "alarmLowspeed": "අඩු වේගය", + "alarmOverspeed": "අධික වේගය", + "alarmFallDown": "වැටෙන්න", + "alarmLowPower": "අඩු බලය", + "alarmLowBattery": "අඩු බැටරි", + "alarmFault": "වරද", + "alarmPowerOff": "බලය අක්රියයි", + "alarmPowerOn": "පවර් ඔන්", + "alarmDoor": "දොර", + "alarmLock": "අගුළු දමන්න", + "alarmUnlock": "අගුළු හරින්න", + "alarmGeofence": "භූ වැට", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence පිටවීම", + "alarmGpsAntennaCut": "GPS ඇන්ටෙනා කැපීම", + "alarmAccident": "අනතුරක්", + "alarmTow": "ඇදගෙන යාම", + "alarmIdle": "නිෂ්ක්රීයයි", + "alarmHighRpm": "ඉහළ ආර්පීඑම්", + "alarmHardAcceleration": "දෘඪ ත්වරණය", + "alarmHardBraking": "දැඩි තිරිංග", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "මංතීරු වෙනස් කිරීම", + "alarmFatigueDriving": "තෙහෙට්ටුව රිය පැදවීම", + "alarmPowerCut": "විදුලි කප්පාදුව", + "alarmPowerRestored": "බලය යථා තත්ත්වයට පත් විය", + "alarmJamming": "හිරවීම", + "alarmTemperature": "උෂ්ණත්වය", + "alarmParking": "වාහන නැවැත්වීම", + "alarmBonnet": "බොනට්", + "alarmFootBrake": "ෆුට් බ්රේක්", + "alarmFuelLeak": "ඉන්ධන කාන්දු වීම", + "alarmTampering": "විකෘති කිරීම", + "alarmRemoving": "ඉවත් කිරීම", + "notificationType": "දැනුම්දීම් වර්ග", + "notificationAlways": "සියලුම උපාංග", + "notificationNotificators": "නාලිකා", + "notificatorCommand": "Command", + "notificatorWeb": "වෙබ්", + "notificatorMail": "තැපෑල", + "notificatorSms": "කෙටි පණිවිඩ", + "notificatorFirebase": "ගිනි පදනම", + "notificatorTraccar": "ට්රැකර්", + "notificatorTelegram": "විදුලි පණිවුඩ", + "notificatorPushover": "Pushover", + "reportReplay": "නැවත ධාවනය කරන්න", + "reportCombined": "Combined", + "reportRoute": "ගමන් කිරීමට", + "reportEvents": "සිද්ධි", + "reportTrips": "චාරිකා", + "reportStops": "නැවතීම්", + "reportSummary": "සාරාංශය", + "reportDaily": "දෛනික සාරාංශය", + "reportChart": "සටහන", + "reportConfigure": "වින්යාසගත කරන්න", + "reportEventTypes": "සිදුවීම් වර්ග", + "reportChartType": "ප්රස්ථාර වර්ගය", + "reportShowMarkers": "සලකුණු පෙන්වන්න", + "reportExport": "නිර්යාත", + "reportEmail": "ඊමේල් වාර්තාව", + "reportSchedule": "Schedule", + "reportPeriod": "කාලය", + "reportCustom": "අභිරුචි", + "reportToday": "අද", + "reportYesterday": "කටයුතු", + "reportThisWeek": "මෙම සතිය", + "reportPreviousWeek": "පසුගිය සතියේ", + "reportThisMonth": "මෙම මාසය", + "reportPreviousMonth": "පසුගිය මාසය", + "reportDeviceName": "ඇතුලත්වේ නම", + "reportAverageSpeed": "සාමාන්ය වේගය", + "reportMaximumSpeed": "උපරිම වේගය", + "reportEngineHours": "එන්ජින් පැය", + "reportDuration": "කාලසීමාව", + "reportStartDate": "ආරම්භක දිනය", + "reportStartTime": "ආරම්භක වේලාව", + "reportStartAddress": "ආරම්භ ලිපිනය", + "reportEndTime": "අවසානය", + "reportEndAddress": "අවසාන ලිපිනය", + "reportSpentFuel": "වැයවූ ඉන්ධන", + "reportStartOdometer": "Odometer ආරම්භය", + "reportEndOdometer": "Odometer අවසානය", + "statisticsTitle": "සංඛ්යාලේඛන", + "statisticsCaptureTime": "අල්ලා ගැනීමේ කාලය", + "statisticsActiveUsers": "ක්රියාකාරී පරිශීලකයින්", + "statisticsActiveDevices": "ක්රියාකාරී උපාංග", + "statisticsRequests": "ඉල්ලීම්", + "statisticsMessagesReceived": "ලැබුණු පණිවිඩ", + "statisticsMessagesStored": "ගබඩා කර ඇති පණිවිඩ", + "statisticsGeocoder": "භූ කේත ඉල්ලීම්", + "statisticsGeolocation": "භූගෝලීය ඉල්ලීම්", + "categoryArrow": "ඊතලය", + "categoryDefault": "පෙරනිමි", + "categoryAnimal": "සතුන්", + "categoryBicycle": "පාපැදිය", + "categoryBoat": "බෝට්ටුව", + "categoryBus": "බස්", + "categoryCar": "මෝටර් රථ", + "categoryCamper": "Camper", + "categoryCrane": "දොඹකරය", + "categoryHelicopter": "හෙලිකොප්ටරය", + "categoryMotorcycle": "යතුරුපැදිය", + "categoryOffroad": "පාරෙන් පිට", + "categoryPerson": "පුද්ගලයා", + "categoryPickup": "අවුලා ගන්න", + "categoryPlane": "ගුවන්යානය", + "categoryShip": "නැව", + "categoryTractor": "ට්රැක්ටරය", + "categoryTrain": "දුම්රිය", + "categoryTram": "ට්රෑම් රථය", + "categoryTrolleybus": "ට්රොලිබස්", + "categoryTruck": "ට්රක් රථය", + "categoryVan": "වෑන්", + "categoryScooter": "ස්කූටරය", + "maintenanceStart": "ආරම්භය", + "maintenancePeriod": "කාලය" +}
\ No newline at end of file diff --git a/legacy/web/l10n/sk.json b/legacy/web/l10n/sk.json new file mode 100644 index 00000000..e4aebedc --- /dev/null +++ b/legacy/web/l10n/sk.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Načítava...", + "sharedHide": "Schovať", + "sharedSave": "Uložiť", + "sharedUpload": "Upload", + "sharedSet": "Nastaviť", + "sharedCancel": "Zrušiť", + "sharedCopy": "Copy", + "sharedAdd": "Pridať", + "sharedEdit": "Upraviť", + "sharedRemove": "Odstrániť", + "sharedRemoveConfirm": "Odstrániť položku?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "Km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "Km/h", + "sharedMph": "mph", + "sharedHour": "Hodina", + "sharedMinute": "Minúta", + "sharedSecond": "Sekunda", + "sharedDays": "dni", + "sharedHours": "hodiny", + "sharedMinutes": "minúty", + "sharedDecimalDegrees": "Desatinné stupne", + "sharedDegreesDecimalMinutes": "Stupne desatinných minút", + "sharedDegreesMinutesSeconds": "Stupne desatinných sekúnd", + "sharedName": "Meno", + "sharedDescription": "Popis", + "sharedSearch": "Hľadať", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notifikácie", + "sharedNotification": "Notifikácia", + "sharedAttributes": "Atribúty", + "sharedAttribute": "Atribút", + "sharedDrivers": "Vodiči", + "sharedDriver": "Vodič", + "sharedArea": "Oblasť", + "sharedSound": "Notifikačný zvuk", + "sharedType": "Typ", + "sharedDistance": "Vzdialenosť", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Britský galón", + "sharedUsGallon": "Americký galón", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Získať mapu štátu", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Výraz", + "sharedDevice": "Zariadenie", + "sharedTest": "Test", + "sharedTestNotification": "Pošli skúšobnú notifikáciu", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Kalendár", + "sharedCalendars": "Kalendáre", + "sharedFile": "Súbor", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Vyberte súbor", + "sharedPhone": "Telefón", + "sharedRequired": "Požadované", + "sharedPreferences": "Preferencie", + "sharedPermissions": "Povolenia", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Reťazec", + "sharedTypeNumber": "Číslo", + "sharedTypeBoolean": "Binárna hodnota", + "sharedTimezone": "Časová zóna", + "sharedInfoTitle": "Informácie", + "sharedSavedCommand": "Uložený príkaz", + "sharedSavedCommands": "Uložené príkazy", + "sharedNew": "Nový...", + "sharedShowAddress": "Zobraziť adresu", + "sharedShowDetails": "More Details", + "sharedDisabled": "Vypnuté", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Upozornenia", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Limit rýchlosti", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignoruj kilometrovník", + "attributeWebReportColor": "Web: Farba reportu", + "attributeDevicePassword": "Heslo zaridenia", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Farba", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximálne priblíženie", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "E-Mail: SMTP Host", + "attributeMailSmtpPort": "E-Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "E-Mail: SMTP STARTTLS Zapnuté", + "attributeMailSmtpStarttlsRequired": "E-Mail: SMTP STARTTLS Povinná", + "attributeMailSmtpSslEnable": "Mail: Povolenie SMTP SSL", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protokoly", + "attributeMailSmtpFrom": "Mail: SMTP Od", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Používateľské meno", + "attributeMailSmtpPassword": "Mail: SMTP Heslo", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Zakázať udalosti", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Zakázať vodičov", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Zakázať kalendáre", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Chyba", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Chyba pripojenia", + "errorSocket": "Chyba pripojenia web konektora", + "errorZero": "Can't be zero", + "userEmail": "E-mail", + "userPassword": "Heslo", + "userAdmin": "Admin", + "userRemember": "Zapamätať", + "userExpirationTime": "Uplynutie platnosti", + "userDeviceLimit": "Limit zariadenia", + "userUserLimit": "Obmedzenie používateľov", + "userDeviceReadonly": "Zariadenie len na čítanie", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Prihlásenie", + "loginLanguage": "Jazyk", + "loginReset": "Reset Password", + "loginRegister": "Registrovať", + "loginLogin": "Prihlásenie", + "loginOpenId": "Login with OpenID", + "loginFailed": "Nesprávna e-mailová adresa alebo heslo", + "loginCreated": "Nový užívateľ sa zaregistroval", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Odhlásiť", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Zariadenia a Status", + "deviceSelected": "Selected Device", + "deviceTitle": "Zariadena", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifikátor", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategória", + "deviceLastUpdate": "Posledný update", + "deviceCommand": "Príkaz", + "deviceFollow": "Nasleduj", + "deviceTotalDistance": "Celková vzdialenosť", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Neznáme", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Skupina", + "groupParent": "Skupina", + "groupNoGroup": "Žiadna skupina", + "settingsTitle": "Nastavenia", + "settingsUser": "Účet", + "settingsGroups": "Skupiny", + "settingsServer": "Server", + "settingsUsers": "Používatelia", + "settingsDistanceUnit": "Jednotka vzdialenosti", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Jednotka rýchlosti", + "settingsVolumeUnit": "Jednotka objemu", + "settingsTwelveHourFormat": "12-hodinový formát", + "settingsCoordinateFormat": "Formát koordinátov", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Správy", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Zariadenie", + "reportGroup": "Skupina", + "reportFrom": "Od", + "reportTo": "Do", + "reportShow": "Zobraziť", + "reportClear": "Vyčistiť", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Platný", + "positionAccuracy": "Presnosť", + "positionLatitude": "Šírka", + "positionLongitude": "Dĺžka", + "positionAltitude": "Výška", + "positionSpeed": "Rýchlosť jazdy", + "positionCourse": "Kurz", + "positionAddress": "Adresa", + "positionProtocol": "Protokol", + "positionDistance": "Vzdialenosť", + "positionRpm": "OZM", + "positionFuel": "Palivo", + "positionPower": "Napätie", + "positionBattery": "Baterka", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satelity", + "positionSatVisible": "Viditeľné satelity", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Udalosť", + "positionAlarm": "Upozornenie", + "positionStatus": "Stav", + "positionOdometer": "Kilometrovník", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hodiny", + "positionSteps": "Steps", + "positionInput": "Vstup", + "positionHeartRate": "Heart Rate", + "positionOutput": "Výstup", + "positionBatteryLevel": "Stav batérie", + "positionFuelConsumption": "Spotreba paliva", + "positionRfid": "RFID", + "positionVersionFw": "Verzia firmvéru", + "positionVersionHw": "Verzia hardvéru", + "positionIgnition": "Zapaľovanie", + "positionFlags": "Značky", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archív", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Pohyb", + "positionArmed": "Armed", + "positionAcceleration": "Zrýchlenie", + "positionTemp": "Temperature", + "positionDeviceTemp": "Teplota zariadenia", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operátor", + "positionCommand": "Príkaz", + "positionBlocked": "Blokované", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD rýchlosť", + "positionObdOdometer": "OBD kilometrovník", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Unikátne ID vodiča", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Nastavenie servera", + "serverZoom": "Zoom", + "serverRegistration": "Registrácia", + "serverReadonly": "Iba na čítanie", + "serverForceSettings": "Nastavenie sily", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Mapa", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Mapové vrstvy", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Klúč Bing Maps", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Arial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex mapa", + "mapYandexSat": "Yandex satelit", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygón", + "mapShapeCircle": "Kruh", + "mapShapePolyline": "Lomená čiara", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Parametre", + "stateName": "Parameter", + "stateValue": "Hodnota", + "commandTitle": "Príkaz", + "commandSend": "Odoslať", + "commandSent": "Príkaz odoslaný", + "commandQueued": "Command queued", + "commandUnit": "Jednotka", + "commandCustom": "Vlastný príkaz", + "commandDeviceIdentification": "Identifikácia zariadenia", + "commandPositionSingle": "Jednoduché podávanie správ", + "commandPositionPeriodic": "Pravidelné podávanie správ", + "commandPositionStop": "Zastavte podávanie správ", + "commandEngineStop": "Zastavenie motora", + "commandEngineResume": "Spustenie motora", + "commandAlarmArm": "Nastaviť upozornenie", + "commandAlarmDisarm": "Zrušiť upozornenie", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Nastaviť časovú zónu", + "commandRequestPhoto": "Poslať fotku", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Rebootovať zariadenie", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Postať SMS", + "commandSendUssd": "Postať USSD", + "commandSosNumber": "Nastaviť čislo SOS", + "commandSilenceTime": "Nastav tichý čas", + "commandSetPhonebook": "Nastav telefónny zoznam", + "commandVoiceMessage": "Hlasové správy", + "commandOutputControl": "Výstupná kontrola", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Nastaviť AGPS", + "commandSetIndicator": "Nastavte ukazovateľ", + "commandConfiguration": "Konfigurácia", + "commandGetVersion": "Získať verziu", + "commandFirmwareUpdate": "Aktualizovať firmvér", + "commandSetConnection": "Nastaviť spojenie", + "commandSetOdometer": "Nastaviť kilometrovník", + "commandGetModemStatus": "Získať stav modemu", + "commandGetDeviceStatus": "Získať stav zariadenia", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekvencia", + "commandTimezone": "Časová zóna Offset", + "commandMessage": "Správa", + "commandRadius": "Polomer", + "commandEnable": "Povoliť", + "commandData": "Dáta", + "commandIndex": "Index", + "commandPhone": "Telefónne číslo", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Všetky akcie", + "eventDeviceOnline": "Stav online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Stav offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Zariadenie sa hýbe", + "eventDeviceStopped": "Zariadenie zastavilo", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Výsledok príkazu", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Upozornenie", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Vyžaduje sa údržba", + "eventTextMessage": "Prijatá textová správa", + "eventDriverChanged": "Zmena vodiča", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Všeobecné", + "alarmSos": "SOS", + "alarmVibration": "Vibrácia", + "alarmMovement": "Pobyb", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Prekročenie rýchlosti", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Slabý prúd", + "alarmLowBattery": "Slabá batéria", + "alarmFault": "Chyba", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Zamknúť", + "alarmUnlock": "Odomknúť", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Napájanie obnovené", + "alarmJamming": "Jamming", + "alarmTemperature": "Teplota", + "alarmParking": "Parkovanie", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Typ notifikácie", + "notificationAlways": "Všetky zariadenia", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Cesta", + "reportEvents": "Udalosti", + "reportTrips": "Cesty", + "reportStops": "Zastávky", + "reportSummary": "Zhrnutie", + "reportDaily": "Daily Summary", + "reportChart": "Graf", + "reportConfigure": "Konfigurácia", + "reportEventTypes": "Typy udalstí", + "reportChartType": "Typ grafu", + "reportShowMarkers": "Zobraziť značky", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Vlastné", + "reportToday": "Dnes", + "reportYesterday": "Včera", + "reportThisWeek": "Tento týždeň", + "reportPreviousWeek": "Minulý týždeň", + "reportThisMonth": "Tento mesiac", + "reportPreviousMonth": "Minulý mesiac", + "reportDeviceName": "Meno zariadenia", + "reportAverageSpeed": "Priemerná rýchlosť", + "reportMaximumSpeed": "Maximálna rýchlosť", + "reportEngineHours": "Prevádzkové hodiny motora", + "reportDuration": "Trvanie", + "reportStartDate": "Start Date", + "reportStartTime": "Čas spustenia", + "reportStartAddress": "Počiatočná adresa", + "reportEndTime": "Čas ukončenia", + "reportEndAddress": "Koncová adresa", + "reportSpentFuel": "Spotrebované palivo", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Štatistika", + "statisticsCaptureTime": "Zachyť čas", + "statisticsActiveUsers": "Aktívny používatelia", + "statisticsActiveDevices": "Aktívne zariadenia", + "statisticsRequests": "Požiadavka", + "statisticsMessagesReceived": "Správa doručená", + "statisticsMessagesStored": "Správa uložená", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Šípka", + "categoryDefault": "Základné", + "categoryAnimal": "Zviera", + "categoryBicycle": "Bicykel", + "categoryBoat": "Loď", + "categoryBus": "Autobus", + "categoryCar": "Auto", + "categoryCamper": "Camper", + "categoryCrane": "Žeriav", + "categoryHelicopter": "Helikoptéra", + "categoryMotorcycle": "Motocykel", + "categoryOffroad": "Offroad", + "categoryPerson": "Osoba", + "categoryPickup": "Pickup", + "categoryPlane": "Lietadlo", + "categoryShip": "Loď", + "categoryTractor": "Traktor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Nákladné auto", + "categoryVan": "Dodávka", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/sl.json b/legacy/web/l10n/sl.json new file mode 100644 index 00000000..3c55e91b --- /dev/null +++ b/legacy/web/l10n/sl.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Nalagam...", + "sharedHide": "Skrij", + "sharedSave": "Shrani", + "sharedUpload": "Naloži", + "sharedSet": "Nastavi", + "sharedCancel": "Prekini", + "sharedCopy": "Copy", + "sharedAdd": "Dodaj", + "sharedEdit": "Uredi", + "sharedRemove": "Odstrani", + "sharedRemoveConfirm": "Odstranim zapis?", + "sharedNoData": "Ni podatkov", + "sharedSubject": "Subject", + "sharedYes": "Da", + "sharedNo": "Ne", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Ura", + "sharedMinute": "Minuta", + "sharedSecond": "Sekunda", + "sharedDays": "dni", + "sharedHours": "ur", + "sharedMinutes": "minut", + "sharedDecimalDegrees": "Decimalne stopinje", + "sharedDegreesDecimalMinutes": "Stopinje Decimalne Minute", + "sharedDegreesMinutesSeconds": "Stopinje Minute Sekunde", + "sharedName": "Ime", + "sharedDescription": "Opis", + "sharedSearch": "Išči", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Omejeno območje", + "sharedGeofences": "Omejena območja", + "sharedCreateGeofence": "Ustvari omejeno območje", + "sharedNotifications": "Obvestila", + "sharedNotification": "Obvestilo", + "sharedAttributes": "Atributi", + "sharedAttribute": "Atribut", + "sharedDrivers": "Vozniki", + "sharedDriver": "Voznik", + "sharedArea": "Območje", + "sharedSound": "Zvok obvestila", + "sharedType": "Tip", + "sharedDistance": "Razdalja", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Pridobi stanje zemljevida", + "sharedComputedAttribute": "Izračunan atribut", + "sharedComputedAttributes": "Izračunani atributi", + "sharedCheckComputedAttribute": "Preveri izračunan atribut", + "sharedExpression": "Izraz", + "sharedDevice": "Naprava", + "sharedTest": "Preizkus", + "sharedTestNotification": "Pošlji testno obvestilo", + "sharedTestNotificators": "Preizkusi kanale", + "sharedTestExpression": "Preizkusi izraz", + "sharedCalendar": "Koledar", + "sharedCalendars": "Koledarji", + "sharedFile": "Datoteka", + "sharedSearchDevices": "Išči po napravah", + "sharedSortBy": "Razvrsti po", + "sharedFilterMap": "Filtriraj na zemljevidu", + "sharedSelectFile": "Izberi datoteko", + "sharedPhone": "Telefon", + "sharedRequired": "Obvezno", + "sharedPreferences": "Nastavitve", + "sharedPermissions": "Dovoljenja", + "sharedConnections": "Povezave", + "sharedExtra": "Dodatno", + "sharedPrimary": "Primarno", + "sharedSecondary": "Sekundarno", + "sharedTypeString": "Tekst", + "sharedTypeNumber": "Številka", + "sharedTypeBoolean": "Binarna vrednost", + "sharedTimezone": "Časovni pas", + "sharedInfoTitle": "Informacije", + "sharedSavedCommand": "Shrani ukaz", + "sharedSavedCommands": "Shranjeni ukazi", + "sharedNew": "Nov...", + "sharedShowAddress": "Prikaži naslov", + "sharedShowDetails": "Več podrobnosti", + "sharedDisabled": "Onemogočen", + "sharedMaintenance": "Vzdrževanje", + "sharedDeviceAccumulators": "Seštevki", + "sharedAlarms": "Alarmi", + "sharedLocation": "Lokacija", + "sharedImport": "Uvozi", + "sharedColumns": "Stolpci", + "sharedDropzoneText": "Povlecite in spustite datoteko sem ali kliknite", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Preprost", + "calendarRecurrence": "Ponovitev", + "calendarOnce": "Enkrat", + "calendarDaily": "Dnevno", + "calendarWeekly": "Tedensko", + "calendarMonthly": "Mesečno", + "calendarDays": "Dnevi", + "calendarSunday": "Nedelja", + "calendarMonday": "Ponedeljek", + "calendarTuesday": "Torek", + "calendarWednesday": "Sreda", + "calendarThursday": "Četrtek", + "calendarFriday": "Petek", + "calendarSaturday": "Sobota", + "attributeShowGeofences": "Prikaži omejena območja", + "attributeSpeedLimit": "Omejitev hitrosti", + "attributeFuelDropThreshold": "Mejna vrednost padca goriva", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Poročilo: Prezri stanje števca", + "attributeWebReportColor": "Splet: Barva poročila", + "attributeDevicePassword": "Geslo naprave", + "attributeDeviceImage": "Slika naprave", + "attributeDeviceInactivityStart": "Začetek neaktivnosti naprave", + "attributeDeviceInactivityPeriod": "Obdobje neaktivnosti naprave", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Barva", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Podatki v pojavnem oknu", + "errorTitle": "Napaka", + "errorGeneral": "Neveljavni parametri ali kršitev omejitve", + "errorConnection": "Napaka v povezavi", + "errorSocket": "Napaka v povezavi web socket", + "errorZero": "Ne sme biti 0", + "userEmail": "E-Pošta", + "userPassword": "Geslo", + "userAdmin": "Admin", + "userRemember": "Zapomni si", + "userExpirationTime": "Poteče", + "userDeviceLimit": "Omejitev naprav", + "userUserLimit": "Omejitev uporabnikov", + "userDeviceReadonly": "Naprava samo za branje", + "userLimitCommands": "Omeji ukaze", + "userDisableReports": "Onemogoči poročila", + "userFixedEmail": "Prepreči spremembo e-pošte", + "userToken": "Žeton", + "userDeleteAccount": "Izbriši račun", + "userTemporary": "Temporary", + "loginTitle": "Prijava", + "loginLanguage": "Jezik", + "loginReset": "Ponastavi geslo", + "loginRegister": "Registracija", + "loginLogin": "Prijava", + "loginOpenId": "Prijavi se z OpenID", + "loginFailed": "Nepravilna e-pošta ali geslo", + "loginCreated": "Nov uporabnik je registriran", + "loginResetSuccess": "Prosimo preverite svojo e-pošto", + "loginUpdateSuccess": "Novo geslo je shranjeno", + "loginLogout": "Odjava", + "loginLogo": "Logotip", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Naprava in stanje", + "deviceSelected": "Izbrana naprava", + "deviceTitle": "Naprave", + "devicePrimaryInfo": "Naslov naprave", + "deviceSecondaryInfo": "Podrobnosti naprave", + "deviceIdentifier": "Identifikacija", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategorija", + "deviceLastUpdate": "Zadnja posodobitev", + "deviceCommand": "Ukaz", + "deviceFollow": "Sledi", + "deviceTotalDistance": "Skupna razdalja", + "deviceStatus": "Stanje", + "deviceStatusOnline": "Povezan", + "deviceStatusOffline": "Nepovezan", + "deviceStatusUnknown": "Neznano", + "deviceRegisterFirst": "Vnesite svojo prvo napravo", + "deviceIdentifierHelp": "IMEI, serijska številka ali druga identifikacija. Se mora ujemati z identifikacijo ki jo naprava pošilja na strežnik.", + "deviceShare": "Share Device", + "groupDialog": "Skupina", + "groupParent": "Skupina", + "groupNoGroup": "Ni skupine", + "settingsTitle": "Nastavitve", + "settingsUser": "Račun", + "settingsGroups": "Skupine", + "settingsServer": "Strežnik", + "settingsUsers": "Uporabniki", + "settingsDistanceUnit": "Enota za razdaljo", + "settingsAltitudeUnit": "Enota za nadmorsko višino", + "settingsSpeedUnit": "Enota za hitrost", + "settingsVolumeUnit": "Enota za volumen", + "settingsTwelveHourFormat": "12-urni format", + "settingsCoordinateFormat": "Format koordinat", + "settingsServerVersion": "Različica strežnika", + "settingsAppVersion": "Različica aplikacije", + "settingsConnection": "Povezava", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "Na voljo je posodobitev.", + "settingsSupport": "Support", + "reportTitle": "Poročila", + "reportScheduled": "Načrtovana poročila", + "reportDevice": "Naprava", + "reportGroup": "Skupina", + "reportFrom": "Od", + "reportTo": "Do", + "reportShow": "Prikaži", + "reportClear": "Očisti", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Čas določitve", + "positionDeviceTime": "Čas naprave", + "positionServerTime": "Čas strežnika", + "positionValid": "Veljavnost", + "positionAccuracy": "Natančnost", + "positionLatitude": "Širina", + "positionLongitude": "Dolžina", + "positionAltitude": "Višina", + "positionSpeed": "Hitrost", + "positionCourse": "Smer", + "positionAddress": "Naslov", + "positionProtocol": "Protokol", + "positionDistance": "Razdalja", + "positionRpm": "Obrati", + "positionFuel": "Gorivo", + "positionPower": "Napajanje", + "positionBattery": "Baterija", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Sateliti", + "positionSatVisible": "Vidni sateliti", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Gostovanje", + "positionEvent": "Dogodek", + "positionAlarm": "Alarm", + "positionStatus": "Stanje", + "positionOdometer": "Stanje števca", + "positionServiceOdometer": "Servisni števec", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Ur", + "positionSteps": "Koraki", + "positionInput": "Vnos", + "positionHeartRate": "Heart Rate", + "positionOutput": "Izhod", + "positionBatteryLevel": "Nivo baterije", + "positionFuelConsumption": "Poraba goriva", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Kontakt", + "positionFlags": "Zastavice", + "positionCharge": "Polnjenje", + "positionIp": "IP", + "positionArchive": "Arhiv", + "positionVin": "VIN", + "positionApproximate": "Približno", + "positionThrottle": "Throttle", + "positionMotion": "Gibanje", + "positionArmed": "Armed", + "positionAcceleration": "Pospeševanje", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura naprave", + "positionCoolantTemp": "Temperatura hladilne tekočine", + "positionOperator": "Operater", + "positionCommand": "Ukaz", + "positionBlocked": "Blokirano", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD hitrost", + "positionObdOdometer": "OBD Stanje števca", + "positionDrivingTime": "Čas vožnje", + "positionDriverUniqueId": "Unikatna identifikacija voznika", + "positionCard": "Card", + "positionImage": "Slika", + "positionVideo": "Video", + "positionAudio": "Zvok", + "serverTitle": "Nastavitve strežnika", + "serverZoom": "Povečava", + "serverRegistration": "Registracija", + "serverReadonly": "Samo za branje", + "serverForceSettings": "Vsili nastavitve", + "serverAnnouncement": "Obvestilo", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Zemljevid", + "mapActive": "Aktivni zemljevidi", + "mapOverlay": "Podatkovna plast", + "mapOverlayCustom": "Podatkovna plast po meri", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Zemljevidi", + "mapCustom": "Po meri (XYZ)", + "mapCustomArcgis": "Po meri (ArcGIS)", + "mapCustomLabel": "Zemljevid po meri", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Ključ", + "mapBingRoad": "Bing Maps Ceste", + "mapBingAerial": "Bing Maps Satelit", + "mapBingHybrid": "Bing zemljevid hibrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex zemljevid", + "mapYandexSat": "Yandex satelit", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Poligon", + "mapShapeCircle": "Krog", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Žive poti", + "mapDirection": "Prikaži smer", + "mapCurrentLocation": "Trenutna lokacija", + "mapPoiLayer": "POI Layer", + "mapClustering": "Združevanje oznak", + "mapOnSelect": "Ob izbiri prikaži zemljevid", + "mapDefault": "Privzet zemljevid", + "stateTitle": "Stanje", + "stateName": "Parameter", + "stateValue": "Vrednost", + "commandTitle": "Ukaz", + "commandSend": "Pošlji", + "commandSent": "Ukaz poslan", + "commandQueued": "Ukaz v čakalni vrsti", + "commandUnit": "Naprava", + "commandCustom": "Ukaz po meri", + "commandDeviceIdentification": "Identifikacija naprave", + "commandPositionSingle": "Single Reporting", + "commandPositionPeriodic": "Periodično poročanje", + "commandPositionStop": "Ustavi poročanje", + "commandEngineStop": "Ugasni motor", + "commandEngineResume": "Prižgi motor", + "commandAlarmArm": "Vklopi alarm", + "commandAlarmDisarm": "Izklopi alarm", + "commandAlarmDismiss": "Utišaj alarm", + "commandSetTimezone": "Nastavi časovni pas", + "commandRequestPhoto": "Zahtevaj sliko", + "commandPowerOff": "Izklopi napravo", + "commandRebootDevice": "Ponovno zaženi napravo", + "commandFactoryReset": "Tovarniške nastavitve", + "commandSendSms": "Pošlji SMS", + "commandSendUssd": "Pošlji USSD", + "commandSosNumber": "Nastavi SOS številko", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Glasovno sporočilo", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Nastavi AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Nastavitve", + "commandGetVersion": "Pridobi različico", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Nastavi povezavo", + "commandSetOdometer": "Nastavi stanje števca", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekvenca", + "commandTimezone": "Timezone Offset", + "commandMessage": "Sporočilo", + "commandRadius": "Radij", + "commandEnable": "Omogoči", + "commandData": "Podatki", + "commandIndex": "Index", + "commandPhone": "Telefonska številka", + "commandServer": "Strežnik", + "commandPort": "Vrata", + "eventAll": "Vsi dogodki", + "eventDeviceOnline": "Stanje: povezan", + "eventDeviceUnknown": "Neznano stanje", + "eventDeviceOffline": "Stanje: nepovezan", + "eventDeviceInactive": "Naprava neaktivna", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Naprava se premika", + "eventDeviceStopped": "Naprava se je ustavila", + "eventDeviceOverspeed": "Omejitev hitrosti prekoračena", + "eventDeviceFuelDrop": "Padec goriva", + "eventDeviceFuelIncrease": "Povečanje goriva", + "eventCommandResult": "Rezultat ukaza", + "eventGeofenceEnter": "Vstopil v omejeno območje", + "eventGeofenceExit": "Izšel iz omejenega območja", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Vžig", + "eventIgnitionOff": "Vžig izključen", + "eventMaintenance": "Potrebno vzdrževanje", + "eventTextMessage": "Sporočilo sprejeto", + "eventDriverChanged": "Sprememba voznika", + "eventMedia": "Mediji", + "eventsScrollToLast": "Pomakni se na zadnje", + "eventsSoundEvents": "Zvok dogodka", + "eventsSoundAlarms": "Zvok alarma", + "alarmGeneral": "Splošno", + "alarmSos": "SOS", + "alarmVibration": "Vibracije", + "alarmMovement": "Premikanje", + "alarmLowspeed": "Nizka hitrost", + "alarmOverspeed": "Prekoračitev hitrosti", + "alarmFallDown": "Padec", + "alarmLowPower": "Nizka napetost napajanja", + "alarmLowBattery": "Baterija skoraj izpraznjena", + "alarmFault": "Napaka", + "alarmPowerOff": "Izklop", + "alarmPowerOn": "Vklop", + "alarmDoor": "Vrata", + "alarmLock": "Zakleni", + "alarmUnlock": "Odkleni", + "alarmGeofence": "Omejeno območje", + "alarmGeofenceEnter": "Vstop v omejeno območje", + "alarmGeofenceExit": "Izhod iz omejenega območja", + "alarmGpsAntennaCut": "GPS Antena prekinjena", + "alarmAccident": "Nesreča", + "alarmTow": "Vleka", + "alarmIdle": "Neaktiven", + "alarmHighRpm": "Visoki obrati", + "alarmHardAcceleration": "Močno pospeševanje", + "alarmHardBraking": "Močno zaviranje", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Prekinitev napajanja", + "alarmPowerRestored": "Napajanje obnovljeno", + "alarmJamming": "Motnja", + "alarmTemperature": "Temperatura", + "alarmParking": "Parkiranje", + "alarmBonnet": "Pokrov motorja", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Odstranjujem", + "notificationType": "Tip obvestil", + "notificationAlways": "Vse naprave", + "notificationNotificators": "Kanali", + "notificatorCommand": "Ukaz", + "notificatorWeb": "Splet", + "notificatorMail": "Elektronska pošta", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Ponovi", + "reportCombined": "Kombinirano", + "reportRoute": "Pot", + "reportEvents": "Dogodki", + "reportTrips": "Poti", + "reportStops": "Postanki", + "reportSummary": "Povzetek", + "reportDaily": "Dnevni povzetek", + "reportChart": "Graf", + "reportConfigure": "Nastavi", + "reportEventTypes": "Tipi dogodkov", + "reportChartType": "Tip grafa", + "reportShowMarkers": "Prikaži oznake", + "reportExport": "Izvozi", + "reportEmail": "Pošlji po e-pošti", + "reportSchedule": "Urnik", + "reportPeriod": "Obdobje", + "reportCustom": "Poljubno", + "reportToday": "Danes", + "reportYesterday": "Včeraj", + "reportThisWeek": "Ta teden", + "reportPreviousWeek": "Prejšnji teden", + "reportThisMonth": "Ta mesec", + "reportPreviousMonth": "Prejšnji mesec", + "reportDeviceName": "Ime naprave", + "reportAverageSpeed": "Povprečna hitrost", + "reportMaximumSpeed": "Najvišja hitrost", + "reportEngineHours": "Motorinh ur", + "reportDuration": "Trajanje", + "reportStartDate": "Datum začetka", + "reportStartTime": "Začetni čas", + "reportStartAddress": "Začetni naslov", + "reportEndTime": "Končni čas", + "reportEndAddress": "Končni naslov", + "reportSpentFuel": "Porabljeno gorivo", + "reportStartOdometer": "Začetno stanje števca", + "reportEndOdometer": "Končno stanje števca", + "statisticsTitle": "Statistika", + "statisticsCaptureTime": "Začetni čas", + "statisticsActiveUsers": "Aktivni uporabniki", + "statisticsActiveDevices": "Aktivne naprave", + "statisticsRequests": "Zahtevkov", + "statisticsMessagesReceived": "Prejetih sporočil", + "statisticsMessagesStored": "Shranjenih sporočil", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Puščica", + "categoryDefault": "Privzeto", + "categoryAnimal": "Žival", + "categoryBicycle": "Kolo", + "categoryBoat": "Čoln", + "categoryBus": "Avtobus", + "categoryCar": "Avto", + "categoryCamper": "Camper", + "categoryCrane": "Žerjav", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motor", + "categoryOffroad": "Terenec", + "categoryPerson": "Oseba", + "categoryPickup": "Pickup", + "categoryPlane": "Letalo", + "categoryShip": "Ladja", + "categoryTractor": "Traktor", + "categoryTrain": "Vlak", + "categoryTram": "Tramvaj", + "categoryTrolleybus": "Trolejbus", + "categoryTruck": "Tovornjak", + "categoryVan": "Kombi", + "categoryScooter": "Skuter", + "maintenanceStart": "Začetek", + "maintenancePeriod": "Obdobje" +}
\ No newline at end of file diff --git a/legacy/web/l10n/sq.json b/legacy/web/l10n/sq.json new file mode 100644 index 00000000..8b77004a --- /dev/null +++ b/legacy/web/l10n/sq.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Ngarkim…", + "sharedHide": "Hide", + "sharedSave": "Ruaj", + "sharedUpload": "Upload", + "sharedSet": "Set", + "sharedCancel": "Anullim", + "sharedCopy": "Copy", + "sharedAdd": "Shto", + "sharedEdit": "Ndrysho", + "sharedRemove": "Hiq", + "sharedRemoveConfirm": "Hiq skedarin", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "Milje", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Nyje", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Orë", + "sharedMinute": "Minuta", + "sharedSecond": "Sekonda", + "sharedDays": "days", + "sharedHours": "hours", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "Decimal Degrees", + "sharedDegreesDecimalMinutes": "Degrees Decimal Minutes", + "sharedDegreesMinutesSeconds": "Degrees Minutes Seconds", + "sharedName": "Emri", + "sharedDescription": "Description", + "sharedSearch": "Kërkim", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Notifications", + "sharedNotification": "Notification", + "sharedAttributes": "Attributes", + "sharedAttribute": "Attribute", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "Area", + "sharedSound": "Notification Sound", + "sharedType": "Type", + "sharedDistance": "Distance", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Get Map State", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "Device", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Calendar", + "sharedCalendars": "Calendars", + "sharedFile": "File", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Select File", + "sharedPhone": "Phone", + "sharedRequired": "Required", + "sharedPreferences": "Preferences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Timezone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Speed Limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Gabim", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Gabim lidhjeje", + "errorSocket": "Web socket connection error", + "errorZero": "Can't be zero", + "userEmail": "Email", + "userPassword": "Fjalëkalimi", + "userAdmin": "Administratori", + "userRemember": "Remember", + "userExpirationTime": "Expiration", + "userDeviceLimit": "Device Limit", + "userUserLimit": "User Limit", + "userDeviceReadonly": "Device Readonly", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Hyrje", + "loginLanguage": "Gjuha", + "loginReset": "Reset Password", + "loginRegister": "Regjistrim", + "loginLogin": "Lidhu", + "loginOpenId": "Login with OpenID", + "loginFailed": "Adresë Email-i ose fjalëkalim i gabuar", + "loginCreated": "Përdoruesi i ri u regjistrua", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Shkëputu", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Gjendja e pajisjeve", + "deviceSelected": "Selected Device", + "deviceTitle": "Pajisjet", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifikues", + "deviceModel": "Model", + "deviceContact": "Contact", + "deviceCategory": "Category", + "deviceLastUpdate": "Përditësimi i fundit", + "deviceCommand": "Komandë", + "deviceFollow": "Ndjek", + "deviceTotalDistance": "Total Distance", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Grup", + "groupParent": "Grup", + "groupNoGroup": "Pa Grup", + "settingsTitle": "Parametra", + "settingsUser": "Llogari", + "settingsGroups": "Grupe", + "settingsServer": "Rrjeti", + "settingsUsers": "Përdorues", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "Formë 12-orëshe", + "settingsCoordinateFormat": "Coordinates Format", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Raporte", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Pajisje", + "reportGroup": "Group", + "reportFrom": "Nga", + "reportTo": "Tek", + "reportShow": "Shfaqje", + "reportClear": "Pastrim", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "I vlefshëm", + "positionAccuracy": "Accuracy", + "positionLatitude": "Gjerësi Gjeografike", + "positionLongitude": "Gjatësi Gjeografike", + "positionAltitude": "Lartësia", + "positionSpeed": "Shpejtësia", + "positionCourse": "Itinerari (Rruga)", + "positionAddress": "Adresa", + "positionProtocol": "Protokolli", + "positionDistance": "Distance", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Server-Parametrat", + "serverZoom": "Fokus", + "serverRegistration": "Regjistrim", + "serverReadonly": "Vetëm për lexim", + "serverForceSettings": "Force Settings", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Harta", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Zgjedhje harte", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Circle", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Live Routes", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Gjëndja", + "stateName": "Atribut", + "stateValue": "Vlera", + "commandTitle": "Komandë", + "commandSend": "Dërgo", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Njësi", + "commandCustom": "Custom command", + "commandDeviceIdentification": "Device Identification", + "commandPositionSingle": "Single Reporting", + "commandPositionPeriodic": "Raporte periodike", + "commandPositionStop": "Ndalo raportin", + "commandEngineStop": "Ndalo punën", + "commandEngineResume": "Rinis", + "commandAlarmArm": "Arm Alarm", + "commandAlarmDisarm": "Disarm Alarm", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Set Timezone", + "commandRequestPhoto": "Request Photo", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Reboot Device", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Send SMS", + "commandSendUssd": "Send USSD", + "commandSosNumber": "Set SOS Number", + "commandSilenceTime": "Set Silence Time", + "commandSetPhonebook": "Set Phonebook", + "commandVoiceMessage": "Voice Message", + "commandOutputControl": "Output Control", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Frekuenca", + "commandTimezone": "Timezone Offset", + "commandMessage": "Message", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Data", + "commandIndex": "Index", + "commandPhone": "Phone Number", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "All Events", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Command result", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Maintenance required", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Type of Notification", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Route", + "reportEvents": "Events", + "reportTrips": "Trips", + "reportStops": "Stops", + "reportSummary": "Summary", + "reportDaily": "Daily Summary", + "reportChart": "Chart", + "reportConfigure": "Configure", + "reportEventTypes": "Event Types", + "reportChartType": "Chart Type", + "reportShowMarkers": "Show Markers", + "reportExport": "Export", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Device Name", + "reportAverageSpeed": "Average Speed", + "reportMaximumSpeed": "Maximum Speed", + "reportEngineHours": "Engine Hours", + "reportDuration": "Duration", + "reportStartDate": "Start Date", + "reportStartTime": "Start Time", + "reportStartAddress": "Start Address", + "reportEndTime": "End Time", + "reportEndAddress": "End Address", + "reportSpentFuel": "Spent Fuel", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Statistics", + "statisticsCaptureTime": "Capture Time", + "statisticsActiveUsers": "Active Users", + "statisticsActiveDevices": "Active Devices", + "statisticsRequests": "Requests", + "statisticsMessagesReceived": "Messages Received", + "statisticsMessagesStored": "Messages Stored", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Arrow", + "categoryDefault": "Default", + "categoryAnimal": "Animal", + "categoryBicycle": "Bicycle", + "categoryBoat": "Boat", + "categoryBus": "Bus", + "categoryCar": "Car", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Motorcycle", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Plane", + "categoryShip": "Ship", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Truck", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/sr.json b/legacy/web/l10n/sr.json new file mode 100644 index 00000000..a23fc3ee --- /dev/null +++ b/legacy/web/l10n/sr.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Učitavanje...", + "sharedHide": "Sakrij", + "sharedSave": "Sačuvaj", + "sharedUpload": "Učitaj", + "sharedSet": "Podesi", + "sharedCancel": "Odustani", + "sharedCopy": "Kopiraj", + "sharedAdd": "Dodaj", + "sharedEdit": "Podesi", + "sharedRemove": "Ukloni", + "sharedRemoveConfirm": "Ukloniti jedinicu?", + "sharedNoData": "Nema podataka", + "sharedSubject": "Tema", + "sharedYes": "Da", + "sharedNo": "Ne", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Čas", + "sharedMinute": "Minut", + "sharedSecond": "Sekunda", + "sharedDays": "dana", + "sharedHours": "sata/i", + "sharedMinutes": "minuta", + "sharedDecimalDegrees": "Decimalni Stepeni", + "sharedDegreesDecimalMinutes": "Minuti Decimalnih stepeni", + "sharedDegreesMinutesSeconds": "Sekunde decimalnih stepeni", + "sharedName": "Ime", + "sharedDescription": "Opis", + "sharedSearch": "Traži", + "sharedIconScale": "Razmera Ikonice", + "sharedGeofence": "Geoograda", + "sharedGeofences": "Geoograde", + "sharedCreateGeofence": "Napravi Geoogradu", + "sharedNotifications": "Obaveštenja", + "sharedNotification": "Obaveštenja", + "sharedAttributes": "Osobine", + "sharedAttribute": "Osobina", + "sharedDrivers": "Vozači", + "sharedDriver": "Vozač", + "sharedArea": "Oblast", + "sharedSound": "Zvuk Notifikacije", + "sharedType": "Tip", + "sharedDistance": "Razdaljina", + "sharedHourAbbreviation": "č", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "L", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Litar", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "L/h", + "sharedGetMapState": "Stanje mape", + "sharedComputedAttribute": "Izračunati atribut", + "sharedComputedAttributes": "Izračunati atributi", + "sharedCheckComputedAttribute": "Proveri Izračunati atribut", + "sharedExpression": "Izraz", + "sharedDevice": "Uređaj", + "sharedTest": "Test", + "sharedTestNotification": "Pošalji Test Poruku", + "sharedTestNotificators": "Test Kanali", + "sharedTestExpression": "Test izraz", + "sharedCalendar": "Kalendar", + "sharedCalendars": "Kalendari", + "sharedFile": "Fajl", + "sharedSearchDevices": "Pretraži uređaje", + "sharedSortBy": "Poređaj po", + "sharedFilterMap": "Filter na Mapi", + "sharedSelectFile": "Odaberi fajl", + "sharedPhone": "Telefon", + "sharedRequired": "Obavezno", + "sharedPreferences": "Podešavanja", + "sharedPermissions": "Dozvole", + "sharedConnections": "Konekcije", + "sharedExtra": "Dodatno", + "sharedPrimary": "Primarno", + "sharedSecondary": "Sekundarni", + "sharedTypeString": "String", + "sharedTypeNumber": "Broj", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Vremenska zona", + "sharedInfoTitle": "Informacija", + "sharedSavedCommand": "Sačuvana Komanda ", + "sharedSavedCommands": "Sačuvane komande ", + "sharedNew": "Nov... ", + "sharedShowAddress": "Prikaži adresu", + "sharedShowDetails": "Više detalja", + "sharedDisabled": "Onemogućeno", + "sharedMaintenance": "Održavanje", + "sharedDeviceAccumulators": "Akumulatori", + "sharedAlarms": "Alarmi", + "sharedLocation": "Lokacija", + "sharedImport": "Uvoz", + "sharedColumns": "Kolone", + "sharedDropzoneText": "Prevuci file i pusti ili klikni", + "sharedLogs": "Dnevnici", + "sharedLink": "Link", + "calendarSimple": "Jednostavno", + "calendarRecurrence": "Ponavljanje", + "calendarOnce": "Jednom", + "calendarDaily": "Dnevno", + "calendarWeekly": "Nedeljno", + "calendarMonthly": "Mesečno", + "calendarDays": "Dani", + "calendarSunday": "Nedelja", + "calendarMonday": "Ponedeljak", + "calendarTuesday": "Utorak", + "calendarWednesday": "Sreda", + "calendarThursday": "Četvrtak", + "calendarFriday": "Petak", + "calendarSaturday": "Subota", + "attributeShowGeofences": "Prikaži Geoograde", + "attributeSpeedLimit": "Ograničenje brzine", + "attributeFuelDropThreshold": "Granica opadanja goriva", + "attributeFuelIncreaseThreshold": "Granica dodavanja goriva", + "attributePolylineDistance": "Višelinijska udaljenost", + "attributeReportIgnoreOdometer": "Izveštaj: Ignoriši odometar", + "attributeWebReportColor": "Web: Boja izveštaja", + "attributeDevicePassword": "Lozinka uređaja", + "attributeDeviceImage": "Slika uređaja", + "attributeDeviceInactivityStart": "Početak neaktivnosti uređaja", + "attributeDeviceInactivityPeriod": "Period neaktivnosti uređaja", + "attributeProcessingCopyAttributes": "Proces: Kopiraj atribute", + "attributeColor": "Boja", + "attributeWebLiveRouteLength": "Web: Dužina rute", + "attributeWebSelectZoom": "Web:Zumiraj izabrano", + "attributeWebMaxZoom": "Web: Maksimalno uvećanje", + "attributeTelegramChatId": "Telegram čet ID", + "attributePushoverUserKey": "Pritisnite korisnički ključ", + "attributePushoverDeviceNames": "Pritisni ime uređaja", + "attributeMailSmtpHost": "Mail: SMTP host", + "attributeMailSmtpPort": "Mail: SMTP port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL omogući", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protokoli", + "attributeMailSmtpFrom": "Mail: SMTP Od", + "attributeMailSmtpAuth": "Mail: SMTP Auten Omogući", + "attributeMailSmtpUsername": "Mail: SMTP Korisničko ime", + "attributeMailSmtpPassword": "Mail: SMTP Lozinka", + "attributeUiDisableSavedCommands": "Komande", + "attributeUiDisableAttributes": "Kor.Int.: Onemogući atribute", + "attributeUiDisableGroups": "UI: Onemogući grupe", + "attributeUiDisableEvents": "UI:Onemogući Dogadjaje", + "attributeUiDisableVehicleFeatures": "KI: Onemogući Karakteristike vozila", + "attributeUiDisableDrivers": "UI: Onemogući Vozače", + "attributeUiDisableComputedAttributes": "Kor.Int. : Onemogući Izračunate atribute", + "attributeUiDisableCalendars": "UI: Onemogući Kalendare", + "attributeUiDisableMaintenance": "Korisnički interfejs: Onemogući Održavanje", + "attributeUiHidePositionAttributes": "KI:Sakrij poziciju atributa ", + "attributeUiDisableLoginLanguage": "UI: Onemogući jezik za prijavu", + "attributeNotificationTokens": "Tokeni obaveštenja", + "attributePopupInfo": "Popup Info", + "errorTitle": "Greška", + "errorGeneral": "Nevažeći parametri ili kršenje ograničenja", + "errorConnection": "Greška u konekciji", + "errorSocket": "Greška u konekciji", + "errorZero": "Ne može biti nula", + "userEmail": "Email", + "userPassword": "Lozinka", + "userAdmin": "Admin", + "userRemember": "Zapamti", + "userExpirationTime": "Ističe", + "userDeviceLimit": "Limit uređaja", + "userUserLimit": "Limit korisnika", + "userDeviceReadonly": "Uređaj readonly", + "userLimitCommands": "Limitiraj Komande", + "userDisableReports": "Onemogući izveštaje", + "userFixedEmail": "Nema Email promena", + "userToken": "Znak", + "userDeleteAccount": "Izbriši nalog", + "userTemporary": "Privremeno", + "loginTitle": "Prijava", + "loginLanguage": "Jezik", + "loginReset": "Resetuj Lozinku", + "loginRegister": "Registruj se", + "loginLogin": "Prijava", + "loginOpenId": "Prijava sa OpenID", + "loginFailed": "Neispravna email adresa ili lozinka", + "loginCreated": "Novi korisnik je registrovan", + "loginResetSuccess": "Proverite Vaš email", + "loginUpdateSuccess": "Nova lozinka je postavljena", + "loginLogout": "Odjava", + "loginLogo": "Logo", + "loginTotpCode": "Jednokratni kod lozinke", + "loginTotpKey": "Jednokratni ključ lozinke", + "devicesAndState": "Uređaji i Stanje ", + "deviceSelected": "Izabrani uređaj", + "deviceTitle": "Uređaji", + "devicePrimaryInfo": "Naziv uređaja", + "deviceSecondaryInfo": "Detalji uređaj", + "deviceIdentifier": "Identifikator", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategorija", + "deviceLastUpdate": "Poslednji kontakt", + "deviceCommand": "Komanda", + "deviceFollow": "Prati", + "deviceTotalDistance": "Ukupno rastojanje", + "deviceStatus": "Status", + "deviceStatusOnline": "Dostupan", + "deviceStatusOffline": "Nedostupan", + "deviceStatusUnknown": "Nepoznato", + "deviceRegisterFirst": "Registruj svoj prvi uređaj", + "deviceIdentifierHelp": "IMEI, serijski broj, ili neki drugi ID. Mora da bude isti kao identifikator koji uređaj koristi na serveru.", + "deviceShare": "Podeli Uređaj", + "groupDialog": "Grupa", + "groupParent": "Grupa", + "groupNoGroup": "Nema grupe", + "settingsTitle": "Podešavanja", + "settingsUser": "Nalog", + "settingsGroups": "Grupe", + "settingsServer": "Server", + "settingsUsers": "Korisnici", + "settingsDistanceUnit": "Jedinica razdaljine", + "settingsAltitudeUnit": "Jedinica visine", + "settingsSpeedUnit": "Jedinica brzine", + "settingsVolumeUnit": "Jedinica zapremine", + "settingsTwelveHourFormat": "12-časovni format", + "settingsCoordinateFormat": "Koordinatni Format", + "settingsServerVersion": "Verzija servera", + "settingsAppVersion": "Verzija aplikacije", + "settingsConnection": "Konekcija", + "settingsDarkMode": "Taman mod", + "settingsTotpEnable": "Ommogući jednokratnu lozinku", + "settingsTotpForce": "Forsiraj jednokratnu lozinku", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Interval Ažuriranja", + "settingsUpdateAvailable": "Postoji novo ažuriranje", + "settingsSupport": "Podrška", + "reportTitle": "Izveštaji", + "reportScheduled": "Zakazani izveštaji", + "reportDevice": "Uređaj", + "reportGroup": "Grupa", + "reportFrom": "Od", + "reportTo": "Do", + "reportShow": "Prikaži", + "reportClear": "Izbriši", + "linkGoogleMaps": "Google Mape", + "linkAppleMaps": "Apple Mape", + "linkStreetView": "Pogled na ulicu", + "positionFixTime": "Vreme javljanja", + "positionDeviceTime": "Vreme na uređaju", + "positionServerTime": "Vreme na serveru", + "positionValid": "Ispravno", + "positionAccuracy": "Tačnost", + "positionLatitude": "Geografska širina", + "positionLongitude": "Geografska dužina", + "positionAltitude": "Visina", + "positionSpeed": "Brzina", + "positionCourse": "Pravac", + "positionAddress": "Adresa", + "positionProtocol": "Protokol", + "positionDistance": "Razdaljina", + "positionRpm": "Obrtaji", + "positionFuel": "Gorivo", + "positionPower": "Napon", + "positionBattery": "Baterija", + "positionRaw": "Neobrađen", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Sateliti", + "positionSatVisible": "Vidiljivi sateliti", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roming", + "positionEvent": "Događaj", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Kilometar sat", + "positionServiceOdometer": "Servisni odometar", + "positionTripOdometer": "Putni odometar", + "positionHours": "Sati", + "positionSteps": "Koraci", + "positionInput": "Ulaz", + "positionHeartRate": "Otkucaj srca", + "positionOutput": "Izlaz", + "positionBatteryLevel": "Jačina baterije", + "positionFuelConsumption": "Ukupna potrošnja", + "positionRfid": "RFID", + "positionVersionFw": "Verzija firmvera", + "positionVersionHw": "Verzija hardvera", + "positionIgnition": "Kontakt", + "positionFlags": "Oznake", + "positionCharge": "Punjenje", + "positionIp": "IP adresa", + "positionArchive": "Arhiva", + "positionVin": "Broj šasije", + "positionApproximate": "Približno", + "positionThrottle": "Gas", + "positionMotion": "Kretanje", + "positionArmed": "Naoružan", + "positionAcceleration": "Ubrzanje", + "positionTemp": "Temperatura", + "positionDeviceTemp": "Temperatura uređaja", + "positionCoolantTemp": "Temperatura antifriza", + "positionOperator": "Operator", + "positionCommand": "Komanda", + "positionBlocked": "Blokirano", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD brzina", + "positionObdOdometer": "OBD odometar", + "positionDrivingTime": "Vreme vožnje", + "positionDriverUniqueId": "Jedinstveni ID vozača", + "positionCard": "Kartica", + "positionImage": "Slika", + "positionVideo": "Video", + "positionAudio": "Zvuk", + "serverTitle": "Podešavanja Servera", + "serverZoom": "Zumiranje", + "serverRegistration": "Registracija", + "serverReadonly": "Readonly verzija", + "serverForceSettings": "Obavezna podešavanja", + "serverAnnouncement": "Objava", + "serverName": "Ime Servera", + "serverDescription": "Opis Servera", + "serverColorPrimary": "Osnovna Boja", + "serverColorSecondary": "Sekundarna Boja", + "serverLogo": "Logo slika", + "serverLogoInverted": "Obrnuta logo slika", + "serverChangeDisable": "Onemogući Server promene", + "serverDisableShare": "Onemogući deljenje vozila", + "mapTitle": "Mapa", + "mapActive": "Aktivne mape", + "mapOverlay": "Preklapanje mape", + "mapOverlayCustom": "Prilagođen prikaz", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Padavine", + "mapOpenWeatherPressure": "OpenWeather Pritisak", + "mapOpenWeatherWind": "OpenWeather Vetar", + "mapOpenWeatherTemperature": "OpenWeather Temperatura", + "mapLayer": "Vrsta Mape", + "mapCustom": "Prilagođeno (XYZ)", + "mapCustomArcgis": "Prilagođeno (ArcGIS)", + "mapCustomLabel": "Prilagođena mapa", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hibrid", + "mapGoogleSatellite": "Google Satelit", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Hibrid Mapa", + "mapBaidu": "Badu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Mapa", + "mapYandexSat": "Yandex Satelit", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Ulice", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Saobraćaj", + "mapTomTomIncidents": "TomTom Saobraćajni incidenti", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satelit", + "mapHereFlow": "Here Saobraćaj", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Višeugao", + "mapShapeCircle": "Krug", + "mapShapePolyline": "Višelinijski", + "mapLiveRoutes": "Validne rute", + "mapDirection": "Pokaži pravac", + "mapCurrentLocation": "Trenutna lokacija", + "mapPoiLayer": "POI sloj", + "mapClustering": "Klasterovanje markera", + "mapOnSelect": "Prikaži Mapu pri selekciji", + "mapDefault": "Osnovna mapa", + "stateTitle": "Stanje", + "stateName": "Parametar", + "stateValue": "Vrednost", + "commandTitle": "Komanda", + "commandSend": "Pošalji", + "commandSent": "Komanda poslata", + "commandQueued": "Komanda na čekanju", + "commandUnit": "Jedinica", + "commandCustom": "Prilagođena komanda", + "commandDeviceIdentification": "Identifikacija uređaja", + "commandPositionSingle": "Izveštaj za jednog", + "commandPositionPeriodic": "Periodično izveštavanje", + "commandPositionStop": "Prekini izveštavanja", + "commandEngineStop": "Zaustavi motor", + "commandEngineResume": "Pokreni motor", + "commandAlarmArm": "Omogući alarm", + "commandAlarmDisarm": "Onemogući alarm", + "commandAlarmDismiss": "Onemogući alarm", + "commandSetTimezone": "Podesi vremensku zonu", + "commandRequestPhoto": "Zahtevaj fotografiju", + "commandPowerOff": "Isključi uređjaj", + "commandRebootDevice": "Ponovo pokreni uređaj", + "commandFactoryReset": "Fabrički reset", + "commandSendSms": "Pošalji SMS", + "commandSendUssd": "Pošalji USSD", + "commandSosNumber": "Podesi SOS broj", + "commandSilenceTime": "Podesi nečujno vreme ", + "commandSetPhonebook": "Podesi kontakte", + "commandVoiceMessage": "Glasovna poruka", + "commandOutputControl": "Kontrola izlaza", + "commandVoiceMonitoring": "Monitoring glasa", + "commandSetAgps": "Podesi AGPS", + "commandSetIndicator": "Postavi indikator", + "commandConfiguration": "Konfiguracija", + "commandGetVersion": "Proveri verziju", + "commandFirmwareUpdate": "Ažuriraj firmver", + "commandSetConnection": "Podesi konekciju", + "commandSetOdometer": "Podesi odometar", + "commandGetModemStatus": "Zatraži status modema", + "commandGetDeviceStatus": "Zatraži status uređaja", + "commandSetSpeedLimit": "Podesi ograničenje brzine", + "commandModePowerSaving": "Mod čuvanja energije", + "commandModeDeepSleep": "Mod dubokog spavanja", + "commandAlarmGeofence": "Postavite alarm geoograde", + "commandAlarmBattery": "Podesite alarm baterije", + "commandAlarmSos": "Postavite SOS alarm", + "commandAlarmRemove": "Postavite alarm uklanjanja", + "commandAlarmClock": "Postavite alarm sata", + "commandAlarmSpeed": "Postavite alarm brzine", + "commandAlarmFall": "Postavite alarm padanja", + "commandAlarmVibration": "Postavite alarm vibracije", + "commandFrequency": "Frekvencija", + "commandTimezone": "Vremenska zona ", + "commandMessage": "Poruka", + "commandRadius": "Radius", + "commandEnable": "Omogući", + "commandData": "Podaci", + "commandIndex": "Lista", + "commandPhone": "Broj telefona", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Svi događaji", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status nepoznat", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Uređaj je neaktivan", + "eventQueuedCommandSent": "Komanda na čekanju", + "eventDeviceMoving": "Uređaj u pokretu", + "eventDeviceStopped": "Uređaj zaustavljen", + "eventDeviceOverspeed": "Granica brzine je prekoračena", + "eventDeviceFuelDrop": "Pad nivoa goriva", + "eventDeviceFuelIncrease": "Dolivanje goriva", + "eventCommandResult": "Stanje komande", + "eventGeofenceEnter": "Ulazak u geoogradu", + "eventGeofenceExit": "Izlazak iz geoograde", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Kontakt uključen", + "eventIgnitionOff": "Kontakt isključen", + "eventMaintenance": "Potrebno održavanje", + "eventTextMessage": "Tekstualma poruka primljena", + "eventDriverChanged": "Vozač promenjen", + "eventMedia": "Medija", + "eventsScrollToLast": "Skroluj do zadnjeg", + "eventsSoundEvents": "Zvuci događaja", + "eventsSoundAlarms": "Zvuci alarma", + "alarmGeneral": "Opšte", + "alarmSos": "SOS", + "alarmVibration": "Vibracija", + "alarmMovement": "Kretanje", + "alarmLowspeed": "Mala brzina", + "alarmOverspeed": "Prekoračenje brzine", + "alarmFallDown": "Pad", + "alarmLowPower": "Nizak napon", + "alarmLowBattery": "Slaba baterija", + "alarmFault": "Greška", + "alarmPowerOff": "Alarm isključen", + "alarmPowerOn": "Alarm uključen", + "alarmDoor": "Vrata", + "alarmLock": "Zaključan", + "alarmUnlock": "Otključan", + "alarmGeofence": "Geoograda", + "alarmGeofenceEnter": "Ulazak u geeogradu", + "alarmGeofenceExit": "Izlaz iz geoograde", + "alarmGpsAntennaCut": "GPS antena u prekidu", + "alarmAccident": "Nesreća", + "alarmTow": "Odvlačenje", + "alarmIdle": "Na čekanju", + "alarmHighRpm": "Visoki obrtaji", + "alarmHardAcceleration": "Naglo ubrzanje", + "alarmHardBraking": "Naglo kočenje", + "alarmHardCornering": "Naglo skretanje", + "alarmLaneChange": "Promena trake", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Nema napajanja", + "alarmPowerRestored": "Napajanje obnovljeno", + "alarmJamming": "Ometanje signala", + "alarmTemperature": "Temperatura", + "alarmParking": "Parking", + "alarmBonnet": "Hauba", + "alarmFootBrake": "Nožna kočnica", + "alarmFuelLeak": "Curenje goriva", + "alarmTampering": "Tampering", + "alarmRemoving": "Uklanjanje", + "notificationType": "Tip obaveštenja", + "notificationAlways": "Svi uređaji", + "notificationNotificators": "Kanali", + "notificatorCommand": "Komanda", + "notificatorWeb": "Internet", + "notificatorMail": "Pošta", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Istorija kretanja", + "reportCombined": "Kombinovano", + "reportRoute": "Ruta", + "reportEvents": "Događaji", + "reportTrips": "Vožnje", + "reportStops": "Zaustavljanja", + "reportSummary": "Izveštaj", + "reportDaily": "Dnevni pregled", + "reportChart": "Grafikon", + "reportConfigure": "Konfiguracija", + "reportEventTypes": "Tip događaja", + "reportChartType": "Tip grafikona", + "reportShowMarkers": "Pokaži markere", + "reportExport": "Izvezi", + "reportEmail": "Email Izveštaj", + "reportSchedule": "Zakazivanje", + "reportPeriod": "Period", + "reportCustom": "Prilagodjeno", + "reportToday": "Danas", + "reportYesterday": "Juče", + "reportThisWeek": "Ove nedelje", + "reportPreviousWeek": "Prethodna nedelja", + "reportThisMonth": "Ovaj mesec", + "reportPreviousMonth": "Prethodni mesec", + "reportDeviceName": "Ime uređaja", + "reportAverageSpeed": "Prosečna brzina", + "reportMaximumSpeed": "Maksimalna brzina", + "reportEngineHours": "Radni sati", + "reportDuration": "Trajanje", + "reportStartDate": "Početni datum", + "reportStartTime": "Startno vreme", + "reportStartAddress": "Početna adresa", + "reportEndTime": "Završno vreme", + "reportEndAddress": "Krajnja adresa", + "reportSpentFuel": "Potrošeno goriva", + "reportStartOdometer": "Odometar početak", + "reportEndOdometer": "Odometar kraj", + "statisticsTitle": "Statistika", + "statisticsCaptureTime": "Vreme slikanja", + "statisticsActiveUsers": "Aktivni korisnici", + "statisticsActiveDevices": "Aktivni uređaji", + "statisticsRequests": "Zahtevi", + "statisticsMessagesReceived": "Primljene poruke", + "statisticsMessagesStored": "Sačuvane poruke", + "statisticsGeocoder": "Geokoder upiti", + "statisticsGeolocation": "Geolokacijski upiti", + "categoryArrow": "Strelica", + "categoryDefault": "Osnovni", + "categoryAnimal": "Životinja", + "categoryBicycle": "Bicikl", + "categoryBoat": "Brod", + "categoryBus": "Autobus", + "categoryCar": "Auto", + "categoryCamper": "Kamper", + "categoryCrane": "Kran", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motor", + "categoryOffroad": "Terensko", + "categoryPerson": "Osoba", + "categoryPickup": "Pikap", + "categoryPlane": "Avion", + "categoryShip": "Brod", + "categoryTractor": "Traktor", + "categoryTrain": "Voz", + "categoryTram": "Tramvaj", + "categoryTrolleybus": "Trolejbus", + "categoryTruck": "Kamion", + "categoryVan": "Kombi", + "categoryScooter": "Skuter", + "maintenanceStart": "Početak", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/sv.json b/legacy/web/l10n/sv.json new file mode 100644 index 00000000..e6ee943b --- /dev/null +++ b/legacy/web/l10n/sv.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Laddar...", + "sharedHide": "Göm", + "sharedSave": "Spara", + "sharedUpload": "Upload", + "sharedSet": "Set", + "sharedCancel": "Avbryt", + "sharedCopy": "Copy", + "sharedAdd": "Lägg till", + "sharedEdit": "Redigera", + "sharedRemove": "Radera", + "sharedRemoveConfirm": "Radera objekt?", + "sharedNoData": "Data saknas", + "sharedSubject": "Subject", + "sharedYes": "Ja", + "sharedNo": "Nej", + "sharedKm": "km", + "sharedMi": "mi", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "tim", + "sharedMinute": "min", + "sharedSecond": "sek", + "sharedDays": "d", + "sharedHours": "tim", + "sharedMinutes": "min", + "sharedDecimalDegrees": "Decimalgrader", + "sharedDegreesDecimalMinutes": "Decimalgrader Minuter", + "sharedDegreesMinutesSeconds": "Decimalgrader Sekunder", + "sharedName": "Namn", + "sharedDescription": "Beskrivning", + "sharedSearch": "Sök", + "sharedIconScale": "Ikonskala", + "sharedGeofence": "Geofence", + "sharedGeofences": "Geofences", + "sharedCreateGeofence": "Skapa Geofence", + "sharedNotifications": "Notiser", + "sharedNotification": "Notis", + "sharedAttributes": "Attributer", + "sharedAttribute": "Attribut", + "sharedDrivers": "Förare", + "sharedDriver": "Förare", + "sharedArea": "Område", + "sharedSound": "Ljudnotis", + "sharedType": "Typ", + "sharedDistance": "Distans", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gallon", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp.Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Få karttillstånd", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Uttryck", + "sharedDevice": "Enhet", + "sharedTest": "Test", + "sharedTestNotification": "Skicka testnortis", + "sharedTestNotificators": "Testkanaler", + "sharedTestExpression": "Testuttryck", + "sharedCalendar": "Kalender", + "sharedCalendars": "Kalendrar", + "sharedFile": "Fil", + "sharedSearchDevices": "Sök Enheter", + "sharedSortBy": "Sortera efter", + "sharedFilterMap": "Filtrera på kartan", + "sharedSelectFile": "Välj fil", + "sharedPhone": "Telefon", + "sharedRequired": "Nödvändig", + "sharedPreferences": "Inställningar", + "sharedPermissions": "Rättigheter", + "sharedConnections": "Anslutningar", + "sharedExtra": "Extra", + "sharedPrimary": "Primär", + "sharedSecondary": "Sekundär", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Tidszon", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Sparade kommando", + "sharedSavedCommands": "Sparade kommandon", + "sharedNew": "Ny", + "sharedShowAddress": "Visa Adress", + "sharedShowDetails": "Mer Detaljer", + "sharedDisabled": "Inaktiverad", + "sharedMaintenance": "Underhåll", + "sharedDeviceAccumulators": "Ackumulatorer", + "sharedAlarms": "Alarm", + "sharedLocation": "Plats", + "sharedImport": "Import", + "sharedColumns": "Kolumn", + "sharedDropzoneText": "Dra och släpp en fil här eller klicka", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Enkel", + "calendarRecurrence": "Upprepning", + "calendarOnce": "En gång", + "calendarDaily": "Dagligen", + "calendarWeekly": "Varje vecka", + "calendarMonthly": "Varje Månad", + "calendarDays": "Dagar", + "calendarSunday": "Söndag", + "calendarMonday": "Måndag", + "calendarTuesday": "Tisdag", + "calendarWednesday": "Onsdag", + "calendarThursday": "Torsdag", + "calendarFriday": "Fredag", + "calendarSaturday": "Lördag", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Hastighetsbegränsning", + "attributeFuelDropThreshold": "Bränsleminskningströskel", + "attributeFuelIncreaseThreshold": "Bränsleökningsgräns", + "attributePolylineDistance": "Polylinedistans", + "attributeReportIgnoreOdometer": "Rapport: Ignorera Odometer", + "attributeWebReportColor": "Web: Rapport färg", + "attributeDevicePassword": "Enhetslösenord", + "attributeDeviceImage": "Enhetsbild", + "attributeDeviceInactivityStart": "Enhetens inaktivitetsstart", + "attributeDeviceInactivityPeriod": "Enhetens inaktivitetslängd", + "attributeProcessingCopyAttributes": "Processing:", + "attributeColor": "Färg", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Webb: Maximal Zoom", + "attributeTelegramChatId": "Telegram Chat-ID", + "attributePushoverUserKey": "Pushover användarnyckel", + "attributePushoverDeviceNames": "Pushover Enhetsnamn", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP Från", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Användarnamn", + "attributeMailSmtpPassword": "Mail: SMTP Lösenord", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Inaktivera attribut", + "attributeUiDisableGroups": "UI: Inaktivera Grupper", + "attributeUiDisableEvents": "UI: Inaktivera Händelser", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Inaktivera Förare", + "attributeUiDisableComputedAttributes": "UI: Inaktivera Beräknade Attribut", + "attributeUiDisableCalendars": "UI: Inaktivera Kalendrar", + "attributeUiDisableMaintenance": "UI: Inaktivera Underhåll", + "attributeUiHidePositionAttributes": "UI: Göm Positionsattribut", + "attributeUiDisableLoginLanguage": "UI: Inaktivera Loginspråk", + "attributeNotificationTokens": "Notistoken", + "attributePopupInfo": "Popup Info", + "errorTitle": "Fel", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Anslutningsfel", + "errorSocket": "Anslutningsfel till Web socket", + "errorZero": "Kan inte vara noll", + "userEmail": "Epost", + "userPassword": "Lösenord", + "userAdmin": "Admin", + "userRemember": "Kom ihåg", + "userExpirationTime": "Utgång", + "userDeviceLimit": "Enhetsbegränsning", + "userUserLimit": "Användarbegränsning", + "userDeviceReadonly": "Enhet endast läsbar", + "userLimitCommands": "Begränsa kommandon", + "userDisableReports": "Inaktivera Rappporter", + "userFixedEmail": "Ingen förändring av Email", + "userToken": "Token", + "userDeleteAccount": "Ta bor Konto", + "userTemporary": "Temporary", + "loginTitle": "Logga in", + "loginLanguage": "Språk", + "loginReset": "Återställ Lösenord", + "loginRegister": "Registrera", + "loginLogin": "Logga in", + "loginOpenId": "Login with OpenID", + "loginFailed": "Felaktig epostadress eller lösenord", + "loginCreated": "Ny användare har blivit registrerad", + "loginResetSuccess": "Kontrollera din Email", + "loginUpdateSuccess": "Nytt lösenord är sparat", + "loginLogout": "Logga ut", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Enhet och tillstånd", + "deviceSelected": "Selected Device", + "deviceTitle": "Enhet", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Identifierare", + "deviceModel": "Model", + "deviceContact": "Kontakt", + "deviceCategory": "Kategori", + "deviceLastUpdate": "Senast uppdaterad", + "deviceCommand": "Kommando", + "deviceFollow": "Följ", + "deviceTotalDistance": "Total distans", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Okänd", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Grupp", + "groupParent": "Grupp", + "groupNoGroup": "Ingen grupp", + "settingsTitle": "Inställningar", + "settingsUser": "Konto", + "settingsGroups": "Grupper", + "settingsServer": "Server", + "settingsUsers": "Användare", + "settingsDistanceUnit": "Distansenhet", + "settingsAltitudeUnit": "Höjdenhet", + "settingsSpeedUnit": "Hastighetsenhet", + "settingsVolumeUnit": "Volymenhet", + "settingsTwelveHourFormat": "12-timmars format", + "settingsCoordinateFormat": "Kordinatformat", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Rapport", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Enhet", + "reportGroup": "Grupp", + "reportFrom": "Från", + "reportTo": "Till", + "reportShow": "Visa", + "reportClear": "Rensa", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Gatuvy", + "positionFixTime": "Låst tid", + "positionDeviceTime": "Enhetstid", + "positionServerTime": "Servertid", + "positionValid": "Giltig", + "positionAccuracy": "Noggrannhet", + "positionLatitude": "Latitud", + "positionLongitude": "Longitud", + "positionAltitude": "Höjdnivå", + "positionSpeed": "Hastighet", + "positionCourse": "Kurs", + "positionAddress": "Adress", + "positionProtocol": "Protokoll", + "positionDistance": "Distans", + "positionRpm": "RPM", + "positionFuel": "Bränsle", + "positionPower": "Power", + "positionBattery": "Batteri", + "positionRaw": "Rå", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Sateliter", + "positionSatVisible": "Synliga sateliter", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Händelser", + "positionAlarm": "Larm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip", + "positionHours": "tim", + "positionSteps": "Steg", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Batteri nivå", + "positionFuelConsumption": "Bränsle åtgång", + "positionRfid": "RFID", + "positionVersionFw": "Firmware version", + "positionVersionHw": "Hardware version", + "positionIgnition": "Tändning", + "positionFlags": "Flaggor", + "positionCharge": "Laddar", + "positionIp": "IP", + "positionArchive": "Arkivera", + "positionVin": "VIN", + "positionApproximate": "Uppskattningsvis", + "positionThrottle": "Gasreglage", + "positionMotion": "Rörelse", + "positionArmed": "Larmad", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperatur", + "positionDeviceTemp": "Enhetstemperatur", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operatör", + "positionCommand": "Kommando", + "positionBlocked": "Blockerad ", + "positionDtcs": "DTCs", + "positionObdSpeed": "ODB Hastighet", + "positionObdOdometer": "ODB Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Unikt Förar-id", + "positionCard": "Card", + "positionImage": "Bild", + "positionVideo": "Video", + "positionAudio": "Ljud", + "serverTitle": "Serverinställningar", + "serverZoom": "Zoom", + "serverRegistration": "Registrera", + "serverReadonly": "Endast läsbar", + "serverForceSettings": "Tvinga inställning", + "serverAnnouncement": "Tillkännagivande", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Karta", + "mapActive": "Aktiva Kartor", + "mapOverlay": "Kartöverlägg", + "mapOverlayCustom": "Specialöverlägg", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API-nyckel", + "mapOpenWeatherClouds": "OpenWeather Moln", + "mapOpenWeatherPrecipitation": "OpenWeather Nederbörd", + "mapOpenWeatherPressure": "OpenWeather Lufttryck", + "mapOpenWeatherWind": "OpenWeather Vind", + "mapOpenWeatherTemperature": "OpenWeather Temperatur", + "mapLayer": "Kartlager", + "mapCustom": "Special (XYZ)", + "mapCustomArcgis": "Special (ArcGIS)", + "mapCustomLabel": "Specialkarta", + "mapCarto": "Carto grundkarta", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Nyckel", + "mapBingRoad": "Bing Maps Väg", + "mapBingAerial": "Bing Maps Flygfoto", + "mapBingHybrid": "Bing kartor hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex kartor", + "mapYandexSat": "Yandex satellit", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Bas", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Bas", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Bas", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Polygon", + "mapShapeCircle": "Cirkel", + "mapShapePolyline": "Polyline", + "mapLiveRoutes": "Liverutter", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Nuvarande position", + "mapPoiLayer": "POI Lager", + "mapClustering": "Markörssamling", + "mapOnSelect": "Visa karta på urval", + "mapDefault": "Default Map", + "stateTitle": "Status", + "stateName": "Attribut", + "stateValue": "Värde", + "commandTitle": "Kommando", + "commandSend": "Skicka", + "commandSent": "Kommando sänt", + "commandQueued": "Kommando i kö", + "commandUnit": "Enhet", + "commandCustom": "Anpassat kommandot", + "commandDeviceIdentification": "Enhetsidentifikation", + "commandPositionSingle": "Enkel rapportering", + "commandPositionPeriodic": "Periodisk rapport", + "commandPositionStop": "Stoppa rapportering", + "commandEngineStop": "Motor Stopp", + "commandEngineResume": "Motor Återuppta", + "commandAlarmArm": "Slå på larm", + "commandAlarmDisarm": "Slå av larm", + "commandAlarmDismiss": "Avvisa larm", + "commandSetTimezone": "Ställ in tidszon", + "commandRequestPhoto": "Begär fotografi", + "commandPowerOff": "Stäng av enheten", + "commandRebootDevice": "Starta om enhet", + "commandFactoryReset": "Fabriksåterställning", + "commandSendSms": "Skicka SMS", + "commandSendUssd": "Skicka USSD", + "commandSosNumber": "Ställ in SOS nummer", + "commandSilenceTime": "Ställ in stilleståndstid", + "commandSetPhonebook": "Ställ in telefonbok", + "commandVoiceMessage": "Typ av notis", + "commandOutputControl": "Utgångskontroll", + "commandVoiceMonitoring": "Röstövervakning", + "commandSetAgps": "Ställ in AGPS", + "commandSetIndicator": "Ställ in indikator", + "commandConfiguration": "Konfigurering", + "commandGetVersion": "Hämta version", + "commandFirmwareUpdate": "Uppdatera programvara", + "commandSetConnection": "Ställ in anslutning", + "commandSetOdometer": "Ställ in Odometer", + "commandGetModemStatus": "Hämta modemstatus", + "commandGetDeviceStatus": "Hämta enhetsstatus", + "commandSetSpeedLimit": "Ställ in hastighetsgräns", + "commandModePowerSaving": "Strömsparläge", + "commandModeDeepSleep": "Ställ in djupviloläge", + "commandAlarmGeofence": "Ställ in Geofencealarm", + "commandAlarmBattery": "Ställ in batterinivåalarm", + "commandAlarmSos": "Stöll in SOS-larm", + "commandAlarmRemove": "Ställ in Ta bort larm", + "commandAlarmClock": "Ställ in klockalarm", + "commandAlarmSpeed": "Ställ in hastighetslarm", + "commandAlarmFall": "Ställ in fallarm", + "commandAlarmVibration": "Ställ in vibrationslarm", + "commandFrequency": "Frekvens", + "commandTimezone": "Tidszon Offset", + "commandMessage": "Meddelande", + "commandRadius": "Radie", + "commandEnable": "Aktivera", + "commandData": "Data", + "commandIndex": "Register", + "commandPhone": "Telefonnummer", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Alla event", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status okänd", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Enhet inaktiverad", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Enheten i rörelse", + "eventDeviceStopped": "Enheten stannade", + "eventDeviceOverspeed": "Hastighetsgränsen överskreds", + "eventDeviceFuelDrop": "Bränslenivåminskning", + "eventDeviceFuelIncrease": "Bränslenivåökning", + "eventCommandResult": "Kommando resultat", + "eventGeofenceEnter": "Ankommit geofence", + "eventGeofenceExit": "Lämnat geofence", + "eventAlarm": "Larm", + "eventIgnitionOn": "Tändning påslagen", + "eventIgnitionOff": "Tändning avslagen", + "eventMaintenance": "Underhåll krävs", + "eventTextMessage": "Textmeddelande mottaget", + "eventDriverChanged": "Förarbyte", + "eventMedia": "Media", + "eventsScrollToLast": "Scrolla till sista", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Generellt", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Rörelse", + "alarmLowspeed": "Låg hastighet", + "alarmOverspeed": "För hög hastighet", + "alarmFallDown": "Fall", + "alarmLowPower": "Låg effekt", + "alarmLowBattery": "Låg laddnivå", + "alarmFault": "Fel", + "alarmPowerOff": "Avstängd", + "alarmPowerOn": "Påslagen", + "alarmDoor": "Dörr", + "alarmLock": "Lås", + "alarmUnlock": "Lås upp", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Ankom geofence", + "alarmGeofenceExit": "Lämnade geofence", + "alarmGpsAntennaCut": "Avklippt GPS-antenn", + "alarmAccident": "Olycka", + "alarmTow": "Bogsera", + "alarmIdle": "På tomgång", + "alarmHighRpm": "Högt motorvarv", + "alarmHardAcceleration": "Hård acceleration", + "alarmHardBraking": "Hård inbromsning", + "alarmHardCornering": "Hård kurvtagning", + "alarmLaneChange": "Körfältsbyte", + "alarmFatigueDriving": "Trötthetskörning", + "alarmPowerCut": "Strömavbrott", + "alarmPowerRestored": "Strömmen återställd", + "alarmJamming": "Störning", + "alarmTemperature": "Temperatur", + "alarmParking": "Parkering", + "alarmBonnet": "Motorhuv", + "alarmFootBrake": "Fotbroms", + "alarmFuelLeak": "Bränsleläcka", + "alarmTampering": "Manupulering", + "alarmRemoving": "Borttagning", + "notificationType": "Typ av notis", + "notificationAlways": "Alla enheter", + "notificationNotificators": "Kanaler", + "notificatorCommand": "Command", + "notificatorWeb": "Webb", + "notificatorMail": "Emejl", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Svara", + "reportCombined": "Combined", + "reportRoute": "Rutt", + "reportEvents": "Händelser", + "reportTrips": "Resor", + "reportStops": "Stop", + "reportSummary": "Sammanfattning", + "reportDaily": "Daglig summering", + "reportChart": "Diagram", + "reportConfigure": "Konfigurera", + "reportEventTypes": "Händelsetyp", + "reportChartType": "Diagramtyp", + "reportShowMarkers": "Visa markörer", + "reportExport": "Export", + "reportEmail": "Emailrepport", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Anpassad", + "reportToday": "Idag", + "reportYesterday": "Igår", + "reportThisWeek": "Denna veckan", + "reportPreviousWeek": "Förra veckan", + "reportThisMonth": "Denna månaden", + "reportPreviousMonth": "Förra månaden", + "reportDeviceName": "Enhetsnamn", + "reportAverageSpeed": "Genomsnittshastighet", + "reportMaximumSpeed": "Maxhastighet", + "reportEngineHours": "Motortimmar", + "reportDuration": "Varaktighet", + "reportStartDate": "Startdatum", + "reportStartTime": "Starttid", + "reportStartAddress": "Startadress", + "reportEndTime": "Sluttid", + "reportEndAddress": "Slutadress", + "reportSpentFuel": "Förbrukat bränsle", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer Slut", + "statisticsTitle": "Statistik", + "statisticsCaptureTime": "Inspelningstid", + "statisticsActiveUsers": "Aktiva användare", + "statisticsActiveDevices": "Aktiva enheter", + "statisticsRequests": "Förfrågningar", + "statisticsMessagesReceived": "Meddelande mottaget", + "statisticsMessagesStored": "Meddelande lagrat", + "statisticsGeocoder": "Geocoder förfrågan", + "statisticsGeolocation": "Geolocation förfrågan", + "categoryArrow": "Pil", + "categoryDefault": "Standart", + "categoryAnimal": "Djur", + "categoryBicycle": "Cykel", + "categoryBoat": "Båt", + "categoryBus": "Buss", + "categoryCar": "Bil", + "categoryCamper": "Camper", + "categoryCrane": "Kran", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorcykel", + "categoryOffroad": "Offroad", + "categoryPerson": "Person", + "categoryPickup": "Pickup", + "categoryPlane": "Flygplan", + "categoryShip": "Fartyg", + "categoryTractor": "Traktor", + "categoryTrain": "Täg", + "categoryTram": "Spårvagn", + "categoryTrolleybus": "Trådbuss", + "categoryTruck": "Lastbil", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/ta.json b/legacy/web/l10n/ta.json new file mode 100644 index 00000000..8cdbdc62 --- /dev/null +++ b/legacy/web/l10n/ta.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "பதிவு செய்", + "sharedHide": "மறை", + "sharedSave": "சேமி", + "sharedUpload": "Upload", + "sharedSet": "அமை", + "sharedCancel": "ரத்து செய்", + "sharedCopy": "Copy", + "sharedAdd": "சேர்க்க", + "sharedEdit": "தொகுக்க", + "sharedRemove": "நீக்குக", + "sharedRemoveConfirm": "நீக்கம் உறுதி செய்?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "கிமீ", + "sharedMi": "மைல்", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "கடல் மைல்", + "sharedKmh": "கிமீ/மணிக்கு", + "sharedMph": "மைல்/மணிக்கு", + "sharedHour": "மணி நேரம்", + "sharedMinute": "நிமிடம்", + "sharedSecond": "விநாடி", + "sharedDays": "நாட்கள் ", + "sharedHours": "மணி நேரம் ", + "sharedMinutes": "நிமிடங்கள்", + "sharedDecimalDegrees": "தசம டிகிரி", + "sharedDegreesDecimalMinutes": "தசம டிகிரி நிமிடங்கள்", + "sharedDegreesMinutesSeconds": "தசம டிகிரி நொடிகள்", + "sharedName": "பெயர்", + "sharedDescription": "விளக்கம்", + "sharedSearch": "தேடுக", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "பூகோள வேலி", + "sharedGeofences": "பூகோள வேலிகள்", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "அறிவிப்புகள்", + "sharedNotification": "அறிவிப்பு", + "sharedAttributes": "பண்புகள்", + "sharedAttribute": "பண்பு", + "sharedDrivers": "வாகன ஓட்டிகள் ", + "sharedDriver": "ஓட்டுநர்கள்", + "sharedArea": "பகுதி", + "sharedSound": "அறிவிப்பு ஒலி", + "sharedType": "வகை", + "sharedDistance": "தொலைவு", + "sharedHourAbbreviation": "ம", + "sharedMinuteAbbreviation": "நி", + "sharedSecondAbbreviation": "எஸ் ", + "sharedVoltAbbreviation": "வி ", + "sharedLiterAbbreviation": "எல் ", + "sharedGallonAbbreviation": "கேலன்கள்", + "sharedLiter": "லிட்டர்", + "sharedImpGallon": "கேலன்கள்", + "sharedUsGallon": "அமெரிக்கா கேலன்கள்", + "sharedLiterPerHourAbbreviation": "லிட்டர்/மணி ", + "sharedGetMapState": "வரைபட நிலையை பெறு", + "sharedComputedAttribute": "கணக்கிடப்பட்ட பண்புக்கூறு", + "sharedComputedAttributes": "கணக்கிடப்பட்ட பண்புக்கூறுகள்", + "sharedCheckComputedAttribute": "கணக்கிடப்பட்ட பண்புகளை சரிபார்க்கவும்", + "sharedExpression": "வெளிப்பாடு", + "sharedDevice": "கருவி ", + "sharedTest": "Test", + "sharedTestNotification": "சோதனை அறிவிப்பை அனுப்பவும்", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "நாட்காட்டி", + "sharedCalendars": "நாட்காட்டிகள் ", + "sharedFile": "கோப்பு", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "கோப்பைத் தேர்ந்தெடு", + "sharedPhone": "பேசி ", + "sharedRequired": "தேவையான", + "sharedPreferences": "விரும்பிய தேவைகள் ", + "sharedPermissions": "அனுமதிகள்", + "sharedConnections": "Connections", + "sharedExtra": "கூடுதல்", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "சரம்", + "sharedTypeNumber": "எண் ", + "sharedTypeBoolean": "பூலியன்", + "sharedTimezone": "நேர மண்டலம்", + "sharedInfoTitle": "தகவல் ", + "sharedSavedCommand": "சேமித்த கட்டளை", + "sharedSavedCommands": "சேமித்த கட்டளைகள்", + "sharedNew": "புதிய", + "sharedShowAddress": "முகவரி காட்டு", + "sharedShowDetails": "More Details", + "sharedDisabled": "முடக்கப்பட்ட ", + "sharedMaintenance": "பராமரிப்பு", + "sharedDeviceAccumulators": "திரட்டி", + "sharedAlarms": "முக்கிய அறிவிப்பு ", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "வேக வரம்பு", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "பாலிலைன் தொலைவு", + "attributeReportIgnoreOdometer": "அறிக்கை: புறக்கணிக்க வாகன பயண தூர எண்ணி ", + "attributeWebReportColor": "வலை: அறிக்கை வண்ணம்", + "attributeDevicePassword": "சாதன கடவுச்சொல்", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "செயல்முறை: நகல் காரணிகள்", + "attributeColor": "நிறம்", + "attributeWebLiveRouteLength": "வலை : வாகன துரித பயண விபரம் ", + "attributeWebSelectZoom": "வலை: பெரிதாக்கு தேர்வு", + "attributeWebMaxZoom": "வலை: அதிகபட்ச பெரிதாக்கு", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "அஞ்சல்: SMTP புரவலன்", + "attributeMailSmtpPort": "அஞ்சல்: SMTP போர்ட்", + "attributeMailSmtpStarttlsEnable": "அஞ்சல்: SMTP STARTTLS இயக்கு", + "attributeMailSmtpStarttlsRequired": "அஞ்சல்: SMTP STARTTLS தேவை", + "attributeMailSmtpSslEnable": "அஞ்சல்: SMTP SSL இயக்கு", + "attributeMailSmtpSslTrust": "அஞ்சல்: SMTP SSL அறக்கட்டளை", + "attributeMailSmtpSslProtocols": "அஞ்சல்: SMTP SSL வழிமுறைகள் ", + "attributeMailSmtpFrom": "அஞ்சல்: SMTP துவக்கம் ", + "attributeMailSmtpAuth": "அஞ்சல்: SMTP Auth இயக்கு", + "attributeMailSmtpUsername": "அஞ்சல்: SMTP பயனர்பெயர்", + "attributeMailSmtpPassword": "அஞ்சல்: SMTP கடவுச்சொல்", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: முடக்கு நிகழ்வுகள்", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: முடக்கு இயக்கிகள்", + "attributeUiDisableComputedAttributes": "UI: கணக்கிடப்பட்ட பண்புக்கூறுகளை முடக்கு", + "attributeUiDisableCalendars": "UI: நாட்காட்டியை முடக்கு ", + "attributeUiDisableMaintenance": "UI: பராமரிப்பு முடக்கவும்", + "attributeUiHidePositionAttributes": "UI: நிலை காரணிகள் மறை", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "பிழை", + "errorGeneral": "தவறான அளவுருக்கள் அல்லது தடைகள் மீறல்", + "errorConnection": "இணைப்புப் பிழை", + "errorSocket": "வலை இணைப்பு பிழை", + "errorZero": "பூஜ்யமாக இருக்க முடியாது", + "userEmail": "மின்னஞ்சல்", + "userPassword": "கடவுச்சொல்", + "userAdmin": "நிர்வாகி", + "userRemember": "நினைவில் கொள்", + "userExpirationTime": "காலாவதி", + "userDeviceLimit": "சாதன வரம்பு", + "userUserLimit": "பயனர் வரம்பு", + "userDeviceReadonly": "சாதன வாசிப்பு", + "userLimitCommands": "வரம்பு கட்டளைகள்", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "டோக்கன் ", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "உள் நுழை", + "loginLanguage": "மொழி", + "loginReset": "Reset Password", + "loginRegister": "பதிவு செய்ய", + "loginLogin": "உள்நுழைய", + "loginOpenId": "Login with OpenID", + "loginFailed": "தவறான மின்னஞ்சல் முகவரி அல்லது கடவுச்சொல்", + "loginCreated": "புதிய பயனர் பதிவு செய்யப்பட்டுள்ளது", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "வெளியேறு", + "loginLogo": "இலட்சினை ", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "கருவிகள் மற்றும் அதன் நிலை", + "deviceSelected": "Selected Device", + "deviceTitle": "சாதனம்", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "அடையாளங்காட்டி", + "deviceModel": "மாதிரி", + "deviceContact": "தொடர்பு", + "deviceCategory": "வகை", + "deviceLastUpdate": "கடைசியாக புதுப்பிக்கப்பட்டது", + "deviceCommand": "கட்டளை", + "deviceFollow": "பின்தொடர்", + "deviceTotalDistance": "மொத்த தூரம்", + "deviceStatus": "நிலைமை", + "deviceStatusOnline": "வலை தொடர்பில் ", + "deviceStatusOffline": "வலை தொடர்பில்லாமை ", + "deviceStatusUnknown": "தெரியாத", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "குழு", + "groupParent": "குழு", + "groupNoGroup": "குழு இல்லை", + "settingsTitle": "அமைப்பு", + "settingsUser": "கணக்கு", + "settingsGroups": "குழுக்கள்", + "settingsServer": "சர்வர்", + "settingsUsers": "உறுப்பினர்கள்", + "settingsDistanceUnit": "தூரம் அலகு", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "வேக அலகு", + "settingsVolumeUnit": "தொகுதி அலகு", + "settingsTwelveHourFormat": "12 மணி நேர வடிவம்", + "settingsCoordinateFormat": "வடிவமைப்பை ஒருங்கிணைக்கிறது", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "அறிக்கை", + "reportScheduled": "Scheduled Reports", + "reportDevice": "சாதனம்", + "reportGroup": "குழு", + "reportFrom": "இருந்து", + "reportTo": "வரை", + "reportShow": "காண்பி", + "reportClear": "அழி", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "செல்லுபடியான", + "positionAccuracy": "துல்லியம்", + "positionLatitude": "அட்சரேகை", + "positionLongitude": "தீர்க்கரேகை", + "positionAltitude": "உயரம்", + "positionSpeed": "வேகம்", + "positionCourse": "பாடநெறி", + "positionAddress": "முகவரி", + "positionProtocol": "புரோட்டோகால்", + "positionDistance": "தூரம்", + "positionRpm": "ஆர்பிஎம்", + "positionFuel": "எரிபொருள்", + "positionPower": "சக்தி", + "positionBattery": "மின்கலன் ", + "positionRaw": "மூல", + "positionIndex": "குறியீட்டு", + "positionHdop": "துல்லியமான கிடைமட்ட நீக்கம்", + "positionVdop": "துல்லியத்தின் செங்குத்து நீக்கம்", + "positionPdop": "துல்லியத்தின் நிலை நீக்கம்", + "positionSat": "செயற்கைக்கோள்கள்", + "positionSatVisible": "தெரியும் செயற்கைக்கோள்கள்", + "positionRssi": "சிக்னல் வலிமை காட்டி", + "positionGps": "உலகளாவிய நிலைப்படுத்தல் அமைப்பு", + "positionRoaming": "சுற்றி கொண்டு", + "positionEvent": "நிகழ்வு", + "positionAlarm": "அலாரம்", + "positionStatus": "நிலைமை ", + "positionOdometer": "பயண தூர விபரக்காட்டி ", + "positionServiceOdometer": "வாகன பயண தூர விபரக்காட்டி சேவைகள் ", + "positionTripOdometer": "வாகன பயண தூர விபரக்காட்டி ", + "positionHours": "மணி நேரம் ", + "positionSteps": "படிகள்", + "positionInput": "உள்ளீடு", + "positionHeartRate": "Heart Rate", + "positionOutput": "வெளியீடு", + "positionBatteryLevel": "மின்கலன் நிலை", + "positionFuelConsumption": "எரிபொருள் பயன்பாடு", + "positionRfid": "ரேடியோ அதிர்வெண் அடையாளம்", + "positionVersionFw": "நிலையான மென்பொருள் பதிப்பு", + "positionVersionHw": "வன்பொருள் பதிப்பு", + "positionIgnition": "வாகன துவக்கி ", + "positionFlags": "கொடிகள்", + "positionCharge": "மின் ஆற்றல் சேமிக்க", + "positionIp": "இணைய நெறிமுறை", + "positionArchive": "காப்பகத்தை", + "positionVin": "வாகனம் அடையாள எண் ", + "positionApproximate": "தோராயமான", + "positionThrottle": "கழுத்துப்பகுதி", + "positionMotion": "இயக்கம்", + "positionArmed": "ஆயுத", + "positionAcceleration": "முடுக்கம்", + "positionTemp": "Temperature", + "positionDeviceTemp": "சாதன வெப்பநிலை", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "இயக்குனர் ", + "positionCommand": "கட்டளை", + "positionBlocked": "தடுக்கப்பட்டது", + "positionDtcs": "DTCs", + "positionObdSpeed": "ஓ பி டியின் வேகம் ", + "positionObdOdometer": "ஓ பி டி ஓடோமீட்டர் ", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "இயக்கி தனிப்பட்ட ஐடி", + "positionCard": "Card", + "positionImage": "படம் ", + "positionVideo": "Video", + "positionAudio": "ஒலி ", + "serverTitle": "சர்வர் அமைப்பு", + "serverZoom": "பெரிதாக்கு", + "serverRegistration": "பதிவுசெய்ய", + "serverReadonly": "படிக்கமட்டும்", + "serverForceSettings": "சக்தி அமைப்புகள்", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "வரைபடம்", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "வரைபடம் அடுக்கு", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "கார்ட்டோ வரைபடங்கள்", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "பிங் வரைபட கீ", + "mapBingRoad": "பிங் சாலை வரைபடம்", + "mapBingAerial": "பிங் வான்வழி வரைபடம்", + "mapBingHybrid": "பிங் வரைபடங்கள்", + "mapBaidu": "பைடு வரைபடங்கள்", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "யான் டெக்ஸ் வரைபடங்கள்", + "mapYandexSat": "யான் டெக்ஸ் செயற்கைக்கோள்", + "mapWikimedia": "விக்கிப்பீடியா", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "பலகோணம்", + "mapShapeCircle": "வட்டம்", + "mapShapePolyline": "பாலிலைன்", + "mapLiveRoutes": "நேரடி வழிகள்", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI லேயர்", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "நிலை", + "stateName": "சாட்டு", + "stateValue": "மதிப்பு", + "commandTitle": "கட்டளை", + "commandSend": "அனுப்பு", + "commandSent": "கட்டளை அனுப்பப்பட்டது", + "commandQueued": "கட்டளை வரிசைப்படுத்தப்பட்டது", + "commandUnit": "அலகு", + "commandCustom": "விருப்பமான கட்டளை", + "commandDeviceIdentification": "\nசாதன அடையாளம்", + "commandPositionSingle": "ஒற்றை அறிக்கை", + "commandPositionPeriodic": "காலமுறை அறிக்கையிடல்", + "commandPositionStop": "அறிக்கையிடுதல் நிறுத்து ", + "commandEngineStop": "எஞ்சின் நிறுத்து", + "commandEngineResume": "எஞ்சின் தொடங்க", + "commandAlarmArm": "அலறிமணி துவக்கம்", + "commandAlarmDisarm": "அலறிமணி நிறுத்தம்", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "நேர மண்டலம்", + "commandRequestPhoto": "புகைப்படம் வேண்டு", + "commandPowerOff": "சாதனத்தை முடக்கு ", + "commandRebootDevice": "சாதன மறுதுவக்கம்", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "குருஞ்செய்தி அனுப்பு", + "commandSendUssd": "ussd ஐ அனுப்பவும்", + "commandSosNumber": "அவசர அழைப்பு எண்(SOS)", + "commandSilenceTime": "அமைதி நேரம் அமைக்க", + "commandSetPhonebook": "தொலைபேசிப்புத்தகம் அமை", + "commandVoiceMessage": "குரல் செய்தி", + "commandOutputControl": "வெளியீட்டு கட்டுப்பாடு", + "commandVoiceMonitoring": "குரல் கண்காணிப்பு", + "commandSetAgps": "அடுக்களை அமைக்கவும்", + "commandSetIndicator": "காட்டி அமைக்க", + "commandConfiguration": "கட்டமைப்பு", + "commandGetVersion": "பதிப்பை பெரு", + "commandFirmwareUpdate": "பிர்மவாறு அமைத்தல் ", + "commandSetConnection": "இணைப்பு அமைக்க", + "commandSetOdometer": "ஓடோமீட்டர் அமைக்க ", + "commandGetModemStatus": "மோடம் நிலையைப் பெறுக", + "commandGetDeviceStatus": "சாதன விவரங்கள் பெறுக ", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "காலஇடைவெளி", + "commandTimezone": "நேர மண்டலத்தை முடக்கு", + "commandMessage": "குறுஞ்செய்தி", + "commandRadius": "ஆரம்", + "commandEnable": "செயல்படுத்த", + "commandData": "தரவு", + "commandIndex": "குறியீட்டு", + "commandPhone": "தொலைபேசி எண்", + "commandServer": "சர்வர்", + "commandPort": "தகவல் வழி ", + "eventAll": "அனைத்து நிகழ்வுகள்", + "eventDeviceOnline": "நிலை ஆன்லைன்", + "eventDeviceUnknown": "தெரியாத நிலை", + "eventDeviceOffline": "நிலை ஆஃப்லைன்", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "சாதனம் நகரும்", + "eventDeviceStopped": "சாதனம் நிறுத்தப்பட்டது", + "eventDeviceOverspeed": "வேகம் வரம்பை மீறிவிட்டது", + "eventDeviceFuelDrop": "எரிபொருள் குறைதல் ", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "கட்டளை விளைவு", + "eventGeofenceEnter": "புவி வேலிக்குள் நுழைந்தது", + "eventGeofenceExit": "புவி வேலி வெளியேறின", + "eventAlarm": "அலாரம்", + "eventIgnitionOn": "பற்றவைப்பு", + "eventIgnitionOff": "பற்றவைத்தல்", + "eventMaintenance": "பராமரிப்பு தேவை", + "eventTextMessage": "உரை செய்தி பெற்றது", + "eventDriverChanged": "இயக்குணர் மாற்றப்பட்டது", + "eventMedia": "Media", + "eventsScrollToLast": "நீடிக்கும்", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "பொது", + "alarmSos": "அவசர உதவி ", + "alarmVibration": "அதிர்வு", + "alarmMovement": "இயக்கம்", + "alarmLowspeed": "குறைவான வேகம்", + "alarmOverspeed": "அதி வேகம் ", + "alarmFallDown": "கீழே விழுதல்", + "alarmLowPower": "குறைந்த சக்தி", + "alarmLowBattery": "குறைவான மின்கலம் ", + "alarmFault": "குற்றம்", + "alarmPowerOff": "சக்தி அணை", + "alarmPowerOn": "துவக்கு ", + "alarmDoor": "கதவு ", + "alarmLock": "பூட்டு ", + "alarmUnlock": "திறக்க", + "alarmGeofence": "புவி வேலி", + "alarmGeofenceEnter": "புவி வேலி நுழைவு ", + "alarmGeofenceExit": "குறைந்த சக்தி", + "alarmGpsAntennaCut": "gps ஆண்டெனா", + "alarmAccident": "விபத்து", + "alarmTow": "கயிறு", + "alarmIdle": "சும்மா", + "alarmHighRpm": "உயர் rpm", + "alarmHardAcceleration": "கடின முடுக்கம்", + "alarmHardBraking": "கடின முறிப்பு", + "alarmHardCornering": "கடின முனை", + "alarmLaneChange": "பாதை மாற்றம் ", + "alarmFatigueDriving": "சோர்வு ஓட்டுநர்", + "alarmPowerCut": "மின் வெட்டு", + "alarmPowerRestored": "சக்தி மீட்டெடுப்பு ", + "alarmJamming": "நெருக்குதல்", + "alarmTemperature": "வெப்ப நிலை", + "alarmParking": "பார்க்கிங்", + "alarmBonnet": "கார் குட்நெட்", + "alarmFootBrake": "கால் பிரேக்", + "alarmFuelLeak": "எரிபொருள் கசிவு", + "alarmTampering": "சேதப்படுத்திய", + "alarmRemoving": "நீக்கி", + "notificationType": "type of notification", + "notificationAlways": "எல்லா சாதனங்களும்", + "notificationNotificators": "சேனல்கள்", + "notificatorCommand": "Command", + "notificatorWeb": "வலைத்தளம் ", + "notificatorMail": "மின்னஞ்சல்", + "notificatorSms": "குறுஞ்சய்தி ", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "பாதை", + "reportEvents": "நிகழ்வுகள்", + "reportTrips": "பயணங்கள்", + "reportStops": "நிறுத்தங்கள்", + "reportSummary": "சுருக்கம்", + "reportDaily": "Daily Summary", + "reportChart": "விளக்கப்படம்", + "reportConfigure": "கட்டமைக்கவும்", + "reportEventTypes": "நிகழ்வு வகைகள்", + "reportChartType": "விளக்கப்படம் வகை", + "reportShowMarkers": "குறிப்பான்கள் காட்டு", + "reportExport": "ஏற்றுமதி", + "reportEmail": "மின்னஞ்சல் அறிக்கை", + "reportSchedule": "Schedule", + "reportPeriod": "காலம்", + "reportCustom": "விருப்ப", + "reportToday": "இன்று", + "reportYesterday": "நேற்று", + "reportThisWeek": "இந்த வாரம்", + "reportPreviousWeek": "முந்தைய வாரம்", + "reportThisMonth": "இந்த மாதம்", + "reportPreviousMonth": "சென்ற மாதம்", + "reportDeviceName": "சாதன பெயர்", + "reportAverageSpeed": "சராசரி வேகம்", + "reportMaximumSpeed": "அதிகபட்ச வேகம்", + "reportEngineHours": "இயந்திர மணி", + "reportDuration": "கால அளவு ", + "reportStartDate": "Start Date", + "reportStartTime": "துவக்க நேரம் ", + "reportStartAddress": "தொடக்க முகவரி ", + "reportEndTime": "முடிவு நேரம்", + "reportEndAddress": "இறுதி முகவரி", + "reportSpentFuel": "எரிபொருள் செலவு", + "reportStartOdometer": "ஓடோமீட்டர் தொடக்கம்", + "reportEndOdometer": "ஓடோமீட்டர் முடிவு ", + "statisticsTitle": "புள்ளியியல்", + "statisticsCaptureTime": "நேரம் பிடி", + "statisticsActiveUsers": "செயலில் பயனர்கள்", + "statisticsActiveDevices": "செயல்படும் சாதனங்கள் ", + "statisticsRequests": "கோரிக்கைகள் ", + "statisticsMessagesReceived": "செய்திகள் பெறப்பட்டன", + "statisticsMessagesStored": "சேமித்த செய்திகள்", + "statisticsGeocoder": "பூகோள கோரிக்கை", + "statisticsGeolocation": "பூகோள கோரிக்கைகள் ", + "categoryArrow": "அம்பு", + "categoryDefault": "இயல்புநிலை", + "categoryAnimal": "கால்நடை", + "categoryBicycle": "மிதிவண்டி", + "categoryBoat": "படகு", + "categoryBus": "பேருந்து", + "categoryCar": "கார்", + "categoryCamper": "Camper", + "categoryCrane": "கிரேன்", + "categoryHelicopter": "ஹெலிகாப்டர்", + "categoryMotorcycle": "மோட்டார் சைக்கிள்", + "categoryOffroad": "இனிய சாலை", + "categoryPerson": "நபர்", + "categoryPickup": "இடும்", + "categoryPlane": "விமானம்", + "categoryShip": "கப்பல்", + "categoryTractor": "டிராக்டர்", + "categoryTrain": "ரயில்", + "categoryTram": "டிராம்", + "categoryTrolleybus": "தள்ளுவண்டி", + "categoryTruck": "கண ரக வாகனம்", + "categoryVan": "வேன் வாகனம் ", + "categoryScooter": "Scooter", + "maintenanceStart": "துவக்கு ", + "maintenancePeriod": "காலம்" +}
\ No newline at end of file diff --git a/legacy/web/l10n/th.json b/legacy/web/l10n/th.json new file mode 100644 index 00000000..95f783c4 --- /dev/null +++ b/legacy/web/l10n/th.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "กำลังโหลด...", + "sharedHide": "ซ่อน", + "sharedSave": "จัดเก็บแฟ้มข้อมูล", + "sharedUpload": "อัพโหลด", + "sharedSet": "ตั้งค่า", + "sharedCancel": "ยกเลิก", + "sharedCopy": "คัดลอก", + "sharedAdd": "เพิ่ม", + "sharedEdit": "แก้ไข", + "sharedRemove": "ลบรายการ", + "sharedRemoveConfirm": "ยืนยันลบรายการ", + "sharedNoData": "ไม่มีข้อมูล", + "sharedSubject": "หัวข้อ", + "sharedYes": "ใช่", + "sharedNo": "ไม่", + "sharedKm": "กม.", + "sharedMi": "ไมล์", + "sharedNmi": "nml", + "sharedMeters": "ม.", + "sharedFeet": "ฟุต", + "sharedKn": "น๊อต", + "sharedKmh": "กม./ชม.", + "sharedMph": "ไมล์ต่อชั่วโมง", + "sharedHour": "ชั่วโมง", + "sharedMinute": "นาที", + "sharedSecond": "วินาที", + "sharedDays": "วัน", + "sharedHours": "ชั่วโมง", + "sharedMinutes": "นาที", + "sharedDecimalDegrees": "องศา ทศนิยม", + "sharedDegreesDecimalMinutes": "องศา นาที", + "sharedDegreesMinutesSeconds": "องศา นาที วินาที", + "sharedName": "ชื่อ", + "sharedDescription": "คำอธิบาย", + "sharedSearch": "ค้นหา", + "sharedIconScale": "ขนาดไอคอน", + "sharedGeofence": "เขตพื้นที่", + "sharedGeofences": "เขตพื้นที่", + "sharedCreateGeofence": "สร้างขอบเขตภูมิศาสตร์", + "sharedNotifications": "การแจ้งเตือน", + "sharedNotification": "แจ้งเตือน", + "sharedAttributes": "คุณลักษณะ", + "sharedAttribute": "คุณลักษณะ", + "sharedDrivers": "ไดร์เวอร์", + "sharedDriver": "คนขับรถ", + "sharedArea": "พื้นที่", + "sharedSound": "การแจ้งเตือนเสียง", + "sharedType": "ชนิด", + "sharedDistance": "ระยะทาง", + "sharedHourAbbreviation": "ชม.", + "sharedMinuteAbbreviation": "นาที", + "sharedSecondAbbreviation": "วินาที", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "ลิตร", + "sharedGallonAbbreviation": "แกลลอน", + "sharedLiter": "ลิตร", + "sharedImpGallon": "Imp แกลลอน", + "sharedUsGallon": "U.S. แกลลอน", + "sharedLiterPerHourAbbreviation": "ลิตรต่อชั่วโมง", + "sharedGetMapState": "ได้รับสถานะแผนที่", + "sharedComputedAttribute": "คำนวณแอตทริบิวต์", + "sharedComputedAttributes": "คำนวณแอตทริบิวต์", + "sharedCheckComputedAttribute": "ตรวจสอบคอมพิวเตอร์แอตทริบิวต์", + "sharedExpression": "การแสดงออก", + "sharedDevice": "อุปกรณ์", + "sharedTest": "ทดสอบ", + "sharedTestNotification": "ส่งการแจ้งเตือนการทดสอบ", + "sharedTestNotificators": "ทดสอบแชนแนล", + "sharedTestExpression": "ทดสอบนิพจน์", + "sharedCalendar": "ปฏิทิน", + "sharedCalendars": "ปฏิทิน", + "sharedFile": "ไฟล์", + "sharedSearchDevices": "ค้นหาอุปกรณ์", + "sharedSortBy": "เรียงตาม", + "sharedFilterMap": "กรองบนแผนที่", + "sharedSelectFile": "เลือกไฟล์", + "sharedPhone": "โทรศัพท์", + "sharedRequired": "ต้องระบุ", + "sharedPreferences": "การตั้งค่า", + "sharedPermissions": "สิทธิ์", + "sharedConnections": "การเชื่อมต่อ", + "sharedExtra": "พิเศษ", + "sharedPrimary": "หลัก", + "sharedSecondary": "รอง", + "sharedTypeString": "ตัวอักษร", + "sharedTypeNumber": "จำนวน", + "sharedTypeBoolean": "ตัวเลข", + "sharedTimezone": "เขตเวลา", + "sharedInfoTitle": "ข้อมูล", + "sharedSavedCommand": "บันทึกคำสั่ง", + "sharedSavedCommands": "บันทึกคำสั่ง", + "sharedNew": "ใหม่...", + "sharedShowAddress": "แสดงที่อยู่", + "sharedShowDetails": "รายละเอียดเพิ่มเติม", + "sharedDisabled": "ปิดการใช้งาน", + "sharedMaintenance": "ซ่อมบำรุง", + "sharedDeviceAccumulators": "รวม", + "sharedAlarms": "เตือน", + "sharedLocation": "สถานที่", + "sharedImport": "นำเข้า", + "sharedColumns": "คอลัมน์", + "sharedDropzoneText": "ลากและวางไฟล์ที่นี่หรือคลิก", + "sharedLogs": "Logs", + "sharedLink": "ลิงก์", + "calendarSimple": "เรียบง่าย", + "calendarRecurrence": "การเกิดซ้ำ", + "calendarOnce": "ครั้งเดียว", + "calendarDaily": "รายวัน", + "calendarWeekly": "รายสัปดาห์", + "calendarMonthly": "รายเดือน", + "calendarDays": "วัน", + "calendarSunday": "อาทิตย์", + "calendarMonday": "วันจันทร์", + "calendarTuesday": "วันอังคาร", + "calendarWednesday": "วันพุธ", + "calendarThursday": "วันพฤหัสบดี", + "calendarFriday": "วันศุกร์", + "calendarSaturday": "วันเสาร์", + "attributeShowGeofences": "แสดงขอบเขตภูมิศาสตร์", + "attributeSpeedLimit": "จำกัดความเร็ว", + "attributeFuelDropThreshold": "เกณฑ์การลดของเชื้อเพลิง", + "attributeFuelIncreaseThreshold": "เกณฑ์การเพิ่มของเชื้อเพลิง", + "attributePolylineDistance": "เส้นระยะทาง", + "attributeReportIgnoreOdometer": "รายงาน: ละเว้นวัดระยะ", + "attributeWebReportColor": "เว็บ: สีรายงาน", + "attributeDevicePassword": "รหัสผ่านอุปกรณ์", + "attributeDeviceImage": "ภาพอุปกรณ์", + "attributeDeviceInactivityStart": "อุปกรณ์ยังไม่เริ่มทำงาน", + "attributeDeviceInactivityPeriod": "ระยะเวลาที่อุปกรณ์ไม่ทำงาน", + "attributeProcessingCopyAttributes": "การประมวลผล: คัดลอกคุณสมบัติ", + "attributeColor": "สี", + "attributeWebLiveRouteLength": "เว็บ: สดเส้นทางความยาว", + "attributeWebSelectZoom": "เว็บ: ขยายเมื่อเลือก", + "attributeWebMaxZoom": "เว็บ: ซูมสูงสุด", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "รหัสผู้ใช้ Pushover", + "attributePushoverDeviceNames": "ชื่ออุปกรณ์ Pushover", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Host", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: ปิดใช้งานคำสั่งที่บันทึกไว้", + "attributeUiDisableAttributes": "UI: ปิดใช้งานแอตทริบิวต์", + "attributeUiDisableGroups": "UI: ปิดการใช้งานกลุ่ม", + "attributeUiDisableEvents": "UI: ปิดการใช้งานเหตุการณ์", + "attributeUiDisableVehicleFeatures": "UI : ปิดการใช้งานคุณสมบัติของยานพาหนะ", + "attributeUiDisableDrivers": "UI: ปิดการใช้งานไดร์เวอร์", + "attributeUiDisableComputedAttributes": "UI: ปิดใช้งานแอ็ตทริบิวต์ที่คำนวณ", + "attributeUiDisableCalendars": "UI: ปิดปฏิทิน", + "attributeUiDisableMaintenance": "UI: ปิด-ซ่อมบำรุง", + "attributeUiHidePositionAttributes": "UI: ซ่อนตำแหน่งลักษณะ", + "attributeUiDisableLoginLanguage": "UI: ปิดการใช้งานภาษาเข้าสู่ระบบ", + "attributeNotificationTokens": "โทเค็นการแจ้งเตือน", + "attributePopupInfo": "ป๊อปอัปข้อมูล", + "errorTitle": "ผิดพลาด", + "errorGeneral": "ไม่ถูกต้องพารามิเตอร์หรือ จำกัด การละเมิด", + "errorConnection": "การเชื่อมต่อผิดพลาด", + "errorSocket": "ข้อผิดพลาดการเชื่อมต่อซ็อกเก็ตเว็บ", + "errorZero": "ไม่สามารถเป็นศูนย์", + "userEmail": "อีเมล์", + "userPassword": "รหัสผ่าน", + "userAdmin": "ผู้ดูแลระบบ", + "userRemember": "จำไว้", + "userExpirationTime": "วันหมดอายุ", + "userDeviceLimit": "จำนวน อุปกรณ์", + "userUserLimit": "ขีดจำกัดผู้ใช้", + "userDeviceReadonly": "อุปกรณ์ อ่านได้อย่างเดียว", + "userLimitCommands": "จำกัดคำสั่ง", + "userDisableReports": "ปิดการใช้งานรายงาน", + "userFixedEmail": "ไม่มีการเปลี่ยนแปลงอีเมล", + "userToken": "Token", + "userDeleteAccount": "ลบบัญชี", + "userTemporary": "ชั่วคราว", + "loginTitle": "เข้าสู่ระบบ", + "loginLanguage": "ภาษา", + "loginReset": "รีเซ็ตรหัสผ่าน", + "loginRegister": "ลงทะเบียน", + "loginLogin": "เข้าสู่ระบบ", + "loginOpenId": "เข้าสู่ระบบด้วย OpenID", + "loginFailed": "ที่อยู่อีเมลหรือรหัสผ่านไม่ถูกต้อง", + "loginCreated": "ผู้ใช้ใหม่ ได้รับการลงทะเบียน", + "loginResetSuccess": "ตรวจสอบอีเมลของคุณ", + "loginUpdateSuccess": "ตั้งรหัสผ่านใหม่แล้ว", + "loginLogout": "ออกจากระบบ", + "loginLogo": "Logo", + "loginTotpCode": "รหัสผ่านแบบใช้ครั้งเดียว", + "loginTotpKey": "คีย์ รหัสผ่านครั้งเดียว", + "devicesAndState": "อุปกรณ์และสถานะ", + "deviceSelected": "อุปกรณ์ที่เลือก", + "deviceTitle": "เครื่อง/อุปกรณ์", + "devicePrimaryInfo": "ชื่ออุปกรณ์", + "deviceSecondaryInfo": "รายละเอียดอุปกรณ์", + "deviceIdentifier": "ระบุเลขอุปกรณ์", + "deviceModel": "รุ่น", + "deviceContact": "เบอร์ติดต่อ", + "deviceCategory": "หมวดหมู่", + "deviceLastUpdate": "แก้ไขล่าสุด", + "deviceCommand": "คำสั่ง", + "deviceFollow": "ติดตาม", + "deviceTotalDistance": "รวม ระยะทาง", + "deviceStatus": "สถานะ", + "deviceStatusOnline": "ออนไลน์", + "deviceStatusOffline": "ออฟไลน์", + "deviceStatusUnknown": "ไม่รู้จัก", + "deviceRegisterFirst": "ลงทะเบียนอุปกรณ์เครื่องแรกของคุณ", + "deviceIdentifierHelp": "IMEI หมายเลขซีเรียลหรือรหัสอื่นๆ จะต้องตรงกับรายงานอุปกรณ์ระบุไปยังเซิร์ฟเวอร์", + "deviceShare": "แบ่งปันอุปกรณ์", + "groupDialog": "กลุ่ม", + "groupParent": "กลุ่ม", + "groupNoGroup": "ไม่จัดกลุ่ม", + "settingsTitle": "การตั้งค่า", + "settingsUser": "บัญชีผู้ใช้", + "settingsGroups": "ตั้งค่ากลุ่ม", + "settingsServer": "เซิร์ฟเวอร์", + "settingsUsers": "ตั้งค่าผู้ใช้งาน", + "settingsDistanceUnit": "หน่วยระยะทาง", + "settingsAltitudeUnit": "หน่วยระดับความสูง", + "settingsSpeedUnit": "หน่วยความเร็ว", + "settingsVolumeUnit": "หน่วยจำนวน", + "settingsTwelveHourFormat": "รูปแบบเวลา 12 ชั่วโมง", + "settingsCoordinateFormat": "รูปแบบพิกัด", + "settingsServerVersion": "เวอร์ชั่นเซิร์ฟเวอร์", + "settingsAppVersion": "เวอร์ชั่นแอพ", + "settingsConnection": "การเชื่อมต่อ", + "settingsDarkMode": "โหมดมืด", + "settingsTotpEnable": "เปิดใช้งานรหัสผ่านครั้งเดียว", + "settingsTotpForce": "บังคับใช้รหัสผ่านครั้งเดียว", + "settingsServiceWorkerUpdateInterval": "รอบเวลาการอัปเดต ServiceWorker", + "settingsUpdateAvailable": "มีการอัพเดต", + "settingsSupport": "การสนับสนุน", + "reportTitle": "รายงาน", + "reportScheduled": "รายงานตามกำหนดเวลา", + "reportDevice": "รายงานเครื่อง/อุปกรณ์", + "reportGroup": "กลุ่ม", + "reportFrom": "จาก", + "reportTo": "ไปถึง", + "reportShow": "แสดง", + "reportClear": "ล้างรายงาน", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "แก้ไขเวลา", + "positionDeviceTime": "เวลาอุปกรณ์", + "positionServerTime": "เวลาเซิร์ฟเวอร์", + "positionValid": "ถูกต้อง", + "positionAccuracy": "ความถูกต้อง", + "positionLatitude": "ละติจูด", + "positionLongitude": "ลองจิจูด", + "positionAltitude": "แอตติจูด", + "positionSpeed": "ความเร็ว", + "positionCourse": "ทิศทาง", + "positionAddress": "ที่อยู่", + "positionProtocol": "โปรโตคอล", + "positionDistance": "ระยะทาง", + "positionRpm": "RPM", + "positionFuel": "เชื้อเพลิง", + "positionPower": "พลังงาน", + "positionBattery": "แบตเตอรี่", + "positionRaw": "ดิบ", + "positionIndex": "ดัชนี", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "ดาวเทียม", + "positionSatVisible": "ดาวเทียมที่มองเห็นได้", + "positionRssi": "RSSI", + "positionGps": "จีพีเอส", + "positionRoaming": "โรมมิ่ง", + "positionEvent": "กิจกรรม", + "positionAlarm": "แจ้งเตือน", + "positionStatus": "สถานะ", + "positionOdometer": "วัดระยะทาง", + "positionServiceOdometer": "บริการวัดระยะทาง", + "positionTripOdometer": "มาตรวัดการเดินทาง", + "positionHours": "ชั่วโมง", + "positionSteps": "Steps", + "positionInput": "อินพุต", + "positionHeartRate": "อัตราการเต้นของหัวใจ", + "positionOutput": "เอาต์พุต", + "positionBatteryLevel": "ระดับแบตเตอรี่", + "positionFuelConsumption": "การใช้น้ำมันเชื้อเพลิง", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "ระบบจุดระเบิด", + "positionFlags": "สัญลักษณ์", + "positionCharge": "ชาร์จ", + "positionIp": "IP", + "positionArchive": "เก็บ", + "positionVin": "VIN", + "positionApproximate": "ประมาณ", + "positionThrottle": "คันเร่ง", + "positionMotion": "เคลื่อนไหว", + "positionArmed": "Armed", + "positionAcceleration": "การเร่งความเร็ว", + "positionTemp": "อุณหภูมิ", + "positionDeviceTemp": "อุณหภูมิของอุปกรณ์", + "positionCoolantTemp": "อุณหภูมิน้ำหล่อเย็น", + "positionOperator": "ผู้ประกอบการ", + "positionCommand": "คำสั่ง", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "ความเร็ว OBD", + "positionObdOdometer": "มาตรวัดระยะ OBD", + "positionDrivingTime": "เวลาในการขับขี่", + "positionDriverUniqueId": "หมายเลขเฉพาะไดร์เวอร์", + "positionCard": "การ์ด", + "positionImage": "รูปภาพ", + "positionVideo": "วิดีโอ", + "positionAudio": "เสียง", + "serverTitle": "การตั้งค่าเซิร์ฟเวอร์", + "serverZoom": "ชยาย +/-", + "serverRegistration": "ลงทะเบียน", + "serverReadonly": "อ่านได้อย่างเดียว", + "serverForceSettings": "บังคับ การตั้งค่า", + "serverAnnouncement": "ประกาศ", + "serverName": "ชื่อเซิร์ฟเวอร์", + "serverDescription": "รายละเอียดเซิร์ฟเวอร์", + "serverColorPrimary": "สีหลัก", + "serverColorSecondary": "สีรอง", + "serverLogo": "รูปภาพโลโก้", + "serverLogoInverted": "กลับด้านภาพโลโก้แล้ว", + "serverChangeDisable": "ปิดใช้งานการเปลี่ยนแปลงเซิร์ฟเวอร์", + "serverDisableShare": "ปิดใช้งานการแชร์อุปกรณ์", + "mapTitle": "แผนที่", + "mapActive": "แผนที่ที่ใช้งานอยู่", + "mapOverlay": "การวางซ้อนแผนที่", + "mapOverlayCustom": "การวางซ้อนแบบกำหนดเอง", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "ปริมาณน้ำฝน OpenWeather", + "mapOpenWeatherPressure": "ความดัน OpenWeather", + "mapOpenWeatherWind": "ลม OpenWeather", + "mapOpenWeatherTemperature": "อุณหภูมิ OpenWeather", + "mapLayer": "ชั้นแผนที่", + "mapCustom": "กำหนดเอง (XYZ)", + "mapCustomArcgis": "กำหนดเอง (ArcGIS)", + "mapCustomLabel": "แผนที่ที่กำหนดเอง", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps สำคัญ", + "mapBingRoad": "Bing Maps ถนน", + "mapBingAerial": "Bing Maps ทางอากาศ", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "การสำรวจยุทโธปกรณ์", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "รูปหลายมุม", + "mapShapeCircle": "วงกลม", + "mapShapePolyline": "โพลีไลน์", + "mapLiveRoutes": "เส้นทาง Live", + "mapDirection": "แสดงทิศทาง", + "mapCurrentLocation": "สถานที่ปัจจุบัน", + "mapPoiLayer": "POI Layer", + "mapClustering": "การจัดกลุ่มเครื่องหมาย", + "mapOnSelect": "แสดงแผนที่บริเวณที่เลือก", + "mapDefault": "แผนที่เริ่มต้น", + "stateTitle": "สถานะ", + "stateName": "พารามิเตอร์", + "stateValue": "มูลค่า", + "commandTitle": "คำสั่ง", + "commandSend": "ส่ง", + "commandSent": "คำสั่ง-ส่งแล้ว", + "commandQueued": "คำสั่ง-คิว", + "commandUnit": "หน่วย", + "commandCustom": "คำสั่งกำหนดเอง", + "commandDeviceIdentification": "หมายเลขอุปกรณ์", + "commandPositionSingle": "รายงานตำแหน่งเดียว", + "commandPositionPeriodic": "แก้ไขตำแหน่ง", + "commandPositionStop": "ตำแหน่ง หยุด", + "commandEngineStop": "ดับเครื่องยนต์", + "commandEngineResume": "ติดครื่องยนต์ใหม่", + "commandAlarmArm": "แจ้งเตือนติดต่อสาขา", + "commandAlarmDisarm": "แจ้งเตือนยกเลิกติดต่อสาขา", + "commandAlarmDismiss": "ปิดการเตือน", + "commandSetTimezone": "ตั้งค่าเขตเวลา", + "commandRequestPhoto": "สั่งถ่ายภาพ", + "commandPowerOff": "ปิดอุปกรณ์", + "commandRebootDevice": "รีบูต", + "commandFactoryReset": "รีเซ็ตเป็นค่าจากโรงงาน", + "commandSendSms": "ส่ง SMS", + "commandSendUssd": "ส่ง USSD", + "commandSosNumber": "ตั้งค่าเลขหมายโทรฉุกเฉิน SOS", + "commandSilenceTime": "ตั้งค่าช่วงเวลาหยุดนิ่ง", + "commandSetPhonebook": "ตั้งค่าสมุดโทรศัพท์", + "commandVoiceMessage": "ข้อความเสียง", + "commandOutputControl": "ควบคุมข้อมูลที่ส่งออก", + "commandVoiceMonitoring": "การตรวจสอบด้วยเสียง", + "commandSetAgps": "ตั้งค่า AGPS", + "commandSetIndicator": "ตั้งค่าตัวบ่งชี้", + "commandConfiguration": "องค์ประกอบ", + "commandGetVersion": "รับเวอร์ชัน", + "commandFirmwareUpdate": "อัพเดตเฟิร์มแวร์", + "commandSetConnection": "ตั้งค่าการเชื่อมต่อ", + "commandSetOdometer": "ตั้งค่ามาตรวัดระยะทาง", + "commandGetModemStatus": "ดูสถานะโมเด็ม", + "commandGetDeviceStatus": "รับสถานะอุปกรณ์", + "commandSetSpeedLimit": "ตั้งขีดจำกัดความเร็ว", + "commandModePowerSaving": "โหมดประหยัดพลังงาน", + "commandModeDeepSleep": "โหมดหลับลึก", + "commandAlarmGeofence": "ตั้งเตือน Geofence", + "commandAlarmBattery": "ตั้งการเตือนแบตเตอรี่", + "commandAlarmSos": "ตั้งการเตือน SOS", + "commandAlarmRemove": "ตั้งลบการเตือน", + "commandAlarmClock": "ตั้งนาฬิการปลุก", + "commandAlarmSpeed": "ตั้งการเตือนความเร็ว", + "commandAlarmFall": "ตั้งการเตือนการตก", + "commandAlarmVibration": "ตั้งการเตือนการสั่น", + "commandFrequency": "ความถี่", + "commandTimezone": "เขตเวลา ตรงข้าม", + "commandMessage": "ข้อความ", + "commandRadius": "รัศมี", + "commandEnable": "เปิดใช้งาน", + "commandData": "ข้อมูล", + "commandIndex": "ดัชนี", + "commandPhone": "หมายเลขโทรศัพท์", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "เหตุการณ์ทั้งหมด", + "eventDeviceOnline": "ออนไลน์", + "eventDeviceUnknown": "ไม่ระบุ", + "eventDeviceOffline": "ออฟไลน์", + "eventDeviceInactive": "อุปกรณ์ไม่ทำงาน", + "eventQueuedCommandSent": "ส่งคำสั่งเข้าคิวแล้ว", + "eventDeviceMoving": "เคลื่อนที่", + "eventDeviceStopped": "หยุด/จอด", + "eventDeviceOverspeed": "ความเร็วเกิน", + "eventDeviceFuelDrop": "เชื้อเพลิงลด", + "eventDeviceFuelIncrease": "น้ำมันเชื้อเพลิงเพิ่มขึ้น", + "eventCommandResult": "ผลลัพธ์จากคำสั่ง", + "eventGeofenceEnter": "เข้าเขต", + "eventGeofenceExit": "ออกนอกเขต", + "eventAlarm": "เตือน", + "eventIgnitionOn": "เครื่องยนต์ติด", + "eventIgnitionOff": "เครื่องยนต์ดับ", + "eventMaintenance": "จำเป็นต้อง บำรุงรักษา", + "eventTextMessage": "ข้อความที่ได้รับ", + "eventDriverChanged": "เปลี่ยนคนขับ", + "eventMedia": "สื่อ", + "eventsScrollToLast": "เลื่อนไปที่ล่าสุด", + "eventsSoundEvents": "เสียงเหตุการณ์", + "eventsSoundAlarms": "เสียงปลุก", + "alarmGeneral": "ทั่วไป", + "alarmSos": "SOS", + "alarmVibration": "สั่นสะเทือน", + "alarmMovement": "เคลื่อนที่", + "alarmLowspeed": "เคลื่อนช้าๆ", + "alarmOverspeed": "ความเร็วเกิน", + "alarmFallDown": "ร่วงหล่น", + "alarmLowPower": "กำลัง-อ่อน", + "alarmLowBattery": "แบต-อ่อน", + "alarmFault": "ผิดพลาด", + "alarmPowerOff": "ปิดเครื่อง", + "alarmPowerOn": "เปิดเครื่อง", + "alarmDoor": "ประตู", + "alarmLock": "ล็อค", + "alarmUnlock": "ปลดล็อค", + "alarmGeofence": "ขอบเขต", + "alarmGeofenceEnter": "เข้าขอบเขต", + "alarmGeofenceExit": "ออกขอบเขต", + "alarmGpsAntennaCut": "เสา GPS ตัด", + "alarmAccident": "อุบัติเหตุ", + "alarmTow": "ลาก", + "alarmIdle": "นิ่ง", + "alarmHighRpm": "รอบเครื่องสูง", + "alarmHardAcceleration": "ออกตัวแรง", + "alarmHardBraking": "เบรคแรง", + "alarmHardCornering": "เลี้ยวกระทันหัน", + "alarmLaneChange": "เปลี่ยนเลน", + "alarmFatigueDriving": "ขับรถ-ล้า", + "alarmPowerCut": "ตัดสตาร์ท", + "alarmPowerRestored": "ไฟฟ้า-ต่อ", + "alarmJamming": "สัญญาณรบกวน", + "alarmTemperature": "อุณหภูมิ", + "alarmParking": "จอด", + "alarmBonnet": "ฝาสูบ", + "alarmFootBrake": "เบรคเท้า", + "alarmFuelLeak": "เชื้อเพลิงรั่ว", + "alarmTampering": "บุกรุกเครื่อง", + "alarmRemoving": "ถอดออก", + "notificationType": "ชนิดการแจ้งเตือน", + "notificationAlways": "อุปกรณ์ทั้งหมด", + "notificationNotificators": "ช่อง", + "notificatorCommand": "คำสั่ง", + "notificatorWeb": "เว็ป", + "notificatorMail": "เมลล์", + "notificatorSms": "ส่งข้อความ", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "เล่นซ้ำ", + "reportCombined": "รวมเรียบร้อยแล้ว", + "reportRoute": "เส้นทาง", + "reportEvents": "เหตุการณ์", + "reportTrips": "การเดินทาง", + "reportStops": "จุดจอด", + "reportSummary": "ผลรวม", + "reportDaily": "สรุปรายวัน", + "reportChart": "แผนภูมิ", + "reportConfigure": "ตั้งค่า", + "reportEventTypes": "ประเภทเหตุการณ์", + "reportChartType": "ชนิดของแผนภูมิ", + "reportShowMarkers": "แสดงเครื่องหมาย", + "reportExport": "ส่งออก", + "reportEmail": "รายงาน-Email", + "reportSchedule": "กำหนดการ", + "reportPeriod": "ช่วงเวลา", + "reportCustom": "กำหนดเอง", + "reportToday": "วันนี้", + "reportYesterday": "เมื่อวาน", + "reportThisWeek": "สัปดาห์นี้", + "reportPreviousWeek": "สัปดาห์ก่อน", + "reportThisMonth": "เดือนนี้", + "reportPreviousMonth": "เดือนก่อน", + "reportDeviceName": "ชื่ออุปกรณ์", + "reportAverageSpeed": "ความเร็วเฉลี่ย", + "reportMaximumSpeed": "ความเร็วสูงสุด", + "reportEngineHours": "เวลาการทำงานเครื่องยนต์", + "reportDuration": "ช่วงเวลา", + "reportStartDate": "วันที่เริ่ม", + "reportStartTime": "เวลาเริ่มต้น", + "reportStartAddress": "จุดเริ่มต้น", + "reportEndTime": "เวลาสิ้นสุด", + "reportEndAddress": "จุดสิ้นสุด", + "reportSpentFuel": "เชื้อเพลิงที่ใช้", + "reportStartOdometer": "เดินทาง-เริ่ม", + "reportEndOdometer": "เดินทาง-สิ้นสุด", + "statisticsTitle": "ข้อมูลสถิติ", + "statisticsCaptureTime": "จับเวลา", + "statisticsActiveUsers": "ผู้ใช้ที่ใช้งานอยู่", + "statisticsActiveDevices": "อุปกรณ์ที่ใช้งานอยู่", + "statisticsRequests": "การร้องขอ", + "statisticsMessagesReceived": "ข้อความที่ได้รับ", + "statisticsMessagesStored": "ข้อความที่เก็บไว้", + "statisticsGeocoder": "คำขอรหัสทางภูมิศาสตร์", + "statisticsGeolocation": "คำขอตำแหน่งทางภูมิศาสตร์", + "categoryArrow": "ลูกศร", + "categoryDefault": "ค่าเริ่มต้น", + "categoryAnimal": "สัตว์", + "categoryBicycle": "จักรยาน", + "categoryBoat": "เรือ", + "categoryBus": "รถบัส", + "categoryCar": "รถยนต์", + "categoryCamper": "คนพักแรม", + "categoryCrane": "เครน", + "categoryHelicopter": "เฮลิคอปเตอร์", + "categoryMotorcycle": "รถจักรยานยนต์", + "categoryOffroad": "ออฟโร้ด", + "categoryPerson": "บุคคล", + "categoryPickup": "รถกระบะ", + "categoryPlane": "เครื่องบิน", + "categoryShip": "เรือ", + "categoryTractor": "รถแทรกเตอร์", + "categoryTrain": "รถไฟ", + "categoryTram": "รถราง", + "categoryTrolleybus": "รถยก", + "categoryTruck": "รถบรรทุก", + "categoryVan": "รถตู้", + "categoryScooter": "สกู๊ตเตอร์", + "maintenanceStart": "เริ่มต้น", + "maintenancePeriod": "ระยะเวลา" +}
\ No newline at end of file diff --git a/legacy/web/l10n/tr.json b/legacy/web/l10n/tr.json new file mode 100644 index 00000000..ff534af7 --- /dev/null +++ b/legacy/web/l10n/tr.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Yükleniyor...", + "sharedHide": "Gizle", + "sharedSave": "Kaydet", + "sharedUpload": "Upload", + "sharedSet": "Belirle", + "sharedCancel": "İptal", + "sharedCopy": "Copy", + "sharedAdd": "Ekle", + "sharedEdit": "Düzenle", + "sharedRemove": "Kaldır", + "sharedRemoveConfirm": "Öğeyi kaldır", + "sharedNoData": "Veri yok", + "sharedSubject": "Subject", + "sharedYes": "Evet", + "sharedNo": "Hayır", + "sharedKm": "km", + "sharedMi": "mil", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "knot", + "sharedKmh": "km/s", + "sharedMph": "mil/s", + "sharedHour": "Saat", + "sharedMinute": "Dakika", + "sharedSecond": "Saniye", + "sharedDays": "gün", + "sharedHours": "saat", + "sharedMinutes": "dakika", + "sharedDecimalDegrees": "Onluk Derece", + "sharedDegreesDecimalMinutes": "Onluk Dakika Derecesi", + "sharedDegreesMinutesSeconds": "Dakika Saniye Derecesi", + "sharedName": "İsim", + "sharedDescription": "Açıklama", + "sharedSearch": "Arama", + "sharedIconScale": "Simge Ölçeği", + "sharedGeofence": "Güvenli Bölge", + "sharedGeofences": "Güvenli Bölgeler", + "sharedCreateGeofence": "Coğrafi Sınır oluştur", + "sharedNotifications": "Bildirimler", + "sharedNotification": "Bildirim", + "sharedAttributes": "Nitelikler", + "sharedAttribute": "Nitelik", + "sharedDrivers": "Sürücüler", + "sharedDriver": "Sürücü", + "sharedArea": "Bölge", + "sharedSound": "Bildirim sesi", + "sharedType": "Tip", + "sharedDistance": "Mesafe", + "sharedHourAbbreviation": "s", + "sharedMinuteAbbreviation": "d", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "galon", + "sharedLiter": "Litre", + "sharedImpGallon": "İngiliz Galonu", + "sharedUsGallon": "Amerikan Galonu", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Harita Durumunu Getir", + "sharedComputedAttribute": "Hesaplanmış Nitelik", + "sharedComputedAttributes": "Hesaplanmış Nitelikler", + "sharedCheckComputedAttribute": "Hesaplanmış Nitelikleri Kontrol Et", + "sharedExpression": "İfade", + "sharedDevice": "Cihaz", + "sharedTest": "Test", + "sharedTestNotification": "Deneme bildirimi gönder", + "sharedTestNotificators": "Test Kanalları", + "sharedTestExpression": "Test İfadesi", + "sharedCalendar": "Takvim", + "sharedCalendars": "Takvimler", + "sharedFile": "Dosya", + "sharedSearchDevices": "Cihaz Arama", + "sharedSortBy": "Göre sırala", + "sharedFilterMap": "Haritada Filtrele", + "sharedSelectFile": "Dosya Seçin", + "sharedPhone": "Telefon", + "sharedRequired": "Gerekli", + "sharedPreferences": "Özellikler", + "sharedPermissions": "Yetkiler", + "sharedConnections": "Bağlantılar", + "sharedExtra": "Ekstra", + "sharedPrimary": "Birincil", + "sharedSecondary": "İkincil", + "sharedTypeString": "Akış", + "sharedTypeNumber": "Sayı", + "sharedTypeBoolean": "Evet - Hayır", + "sharedTimezone": "Saat dilimi", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Komut Kaydet", + "sharedSavedCommands": "Komutları Kaydet", + "sharedNew": "Yeni", + "sharedShowAddress": "Adresi Göster", + "sharedShowDetails": "Daha fazla detay", + "sharedDisabled": "Devre Dışı", + "sharedMaintenance": "Bakım", + "sharedDeviceAccumulators": "Akümülatörler", + "sharedAlarms": "Alarmlar", + "sharedLocation": "Konum", + "sharedImport": "İçe aktarmak", + "sharedColumns": "Sütunlar", + "sharedDropzoneText": "Bir dosyayı buraya sürükleyip bırakın veya tıklayın", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Basit", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Bir kere", + "calendarDaily": "Günlük", + "calendarWeekly": "Haftalık", + "calendarMonthly": "Aylık", + "calendarDays": "Gün", + "calendarSunday": "Pazar", + "calendarMonday": "Pazartesi", + "calendarTuesday": "Salı", + "calendarWednesday": "Çarşamba", + "calendarThursday": "Perşembe", + "calendarFriday": "Cuma", + "calendarSaturday": "Cumartesi", + "attributeShowGeofences": "Coğrafi Sınırları Göster", + "attributeSpeedLimit": "Hız Limiti", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Çizgi uzaklığı", + "attributeReportIgnoreOdometer": "Rapor: Odometerı yoksay", + "attributeWebReportColor": "Web: Rapor Rengi", + "attributeDevicePassword": "Araç şifresi", + "attributeDeviceImage": "Cihaz Resmi", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "İşleniyor: Nitelikler Kopyalanıyor", + "attributeColor": "Renk", + "attributeWebLiveRouteLength": "Web: Rota Uzunluğu", + "attributeWebSelectZoom": "Web: Seçiliye Yaklaş", + "attributeWebMaxZoom": "Web: Maksimum Yakınlaştırma", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Eposta: SMTP Sunucu", + "attributeMailSmtpPort": "Eposta: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Eposta: SMTP STARTTLS Kullan", + "attributeMailSmtpStarttlsRequired": "Eposta: SMTP STARTTLS Gerekli", + "attributeMailSmtpSslEnable": "Eposta: SMTP SSL Kullan", + "attributeMailSmtpSslTrust": "Eposta: SMTP SSL Güvenli", + "attributeMailSmtpSslProtocols": "Eposta: SMTP SSL Protokol", + "attributeMailSmtpFrom": "Eposta: SMTP Kimden", + "attributeMailSmtpAuth": "Eposta: SMTP Parola Etkin", + "attributeMailSmtpUsername": "Eposta: SMTP Kullanıcı Adı", + "attributeMailSmtpPassword": "Eposta: SMTP Şifre", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "Etkinlikler Devredışı", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "Görünüm: Sürücüler Devredışı", + "attributeUiDisableComputedAttributes": "Görünüm: Hesaplanmış Öznitelikler Devredışı", + "attributeUiDisableCalendars": "Görünüm: Takvim Devredışı", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "Konum Özniteliklerini Gizle", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Hata", + "errorGeneral": "Geçersiz parametre veya kısıtlama ihlali", + "errorConnection": "Bağlantı Hatası", + "errorSocket": "Web Soketine bağlanırken hata", + "errorZero": "Sıfır olamaz", + "userEmail": "Eposta", + "userPassword": "Şifre", + "userAdmin": "Yönetici", + "userRemember": "Hatırla", + "userExpirationTime": "Geçersizlik Tarihi", + "userDeviceLimit": "Cihaz Limiti", + "userUserLimit": "Kullanıcı Limiti", + "userDeviceReadonly": "Cihaz Salt Okunur", + "userLimitCommands": "Komutları Kısıtla", + "userDisableReports": "Raporları Devre Dışı Bırak", + "userFixedEmail": "No Email Change", + "userToken": "Kullanıcı Anahtarı", + "userDeleteAccount": "Hesabı sil", + "userTemporary": "Temporary", + "loginTitle": "Oturum aç", + "loginLanguage": "Lisan", + "loginReset": "Şifreyi yenile", + "loginRegister": "Kayıt", + "loginLogin": "Oturumu aç", + "loginOpenId": "Login with OpenID", + "loginFailed": "Geçersiz eposta veya şifre", + "loginCreated": "Yeni kullanıcı kaydedildi", + "loginResetSuccess": "E-postanı kontrol et", + "loginUpdateSuccess": "Yeni şifre belirlendi", + "loginLogout": "Oturumu sonlandır", + "loginLogo": "Logo", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Cihazlar ve Bölge", + "deviceSelected": "Seçilen Cihaz", + "deviceTitle": "Cihazlar", + "devicePrimaryInfo": "Cihaz Başlığı", + "deviceSecondaryInfo": "Cihaz Detayı", + "deviceIdentifier": "Kimlik", + "deviceModel": "Model", + "deviceContact": "İletişim", + "deviceCategory": "Kategori", + "deviceLastUpdate": "Son Güncelleme", + "deviceCommand": "Komut", + "deviceFollow": "Takip", + "deviceTotalDistance": "Toplam Mesafe", + "deviceStatus": "Durum", + "deviceStatusOnline": "Çevrimiçi", + "deviceStatusOffline": "Çevrimdışı", + "deviceStatusUnknown": "Bilinmeyen", + "deviceRegisterFirst": "İlk cihazınızı kaydedin", + "deviceIdentifierHelp": "IMEI, seri numarası veya diğer kimlik. Tanımlayıcı cihaz raporlarını sunucuyla eşleştirmesi gerekir.", + "deviceShare": "Share Device", + "groupDialog": "Grup", + "groupParent": "Grup", + "groupNoGroup": "Grupsuz", + "settingsTitle": "Ayarlar", + "settingsUser": "Hesap", + "settingsGroups": "Gruplar", + "settingsServer": "Sunucu", + "settingsUsers": "Kullanıcı", + "settingsDistanceUnit": "Uzaklık Birimi", + "settingsAltitudeUnit": "Rakım Birimi", + "settingsSpeedUnit": "Hız Birimi", + "settingsVolumeUnit": "Hacim Birimi", + "settingsTwelveHourFormat": "12 saat formatı", + "settingsCoordinateFormat": "Koordinat Formatı", + "settingsServerVersion": "Sunucu Sürümü", + "settingsAppVersion": "Uygulama sürümü", + "settingsConnection": "Bağlantı", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Raporlar", + "reportScheduled": "Planlanmış Raporlar", + "reportDevice": "Aygıt", + "reportGroup": "Grup", + "reportFrom": "Başlangıç", + "reportTo": "Varış", + "reportShow": "Göster", + "reportClear": "Temizle", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Cihaz Saati", + "positionServerTime": "Sunucu zamanı", + "positionValid": "Geçerli", + "positionAccuracy": "Hata Payı", + "positionLatitude": "Enlem", + "positionLongitude": "Boylam", + "positionAltitude": "Rakım", + "positionSpeed": "Sürat", + "positionCourse": "Yön", + "positionAddress": "Adres", + "positionProtocol": "Protokol", + "positionDistance": "Mesafe", + "positionRpm": "RPM", + "positionFuel": "Yakıt", + "positionPower": "Güç", + "positionBattery": "Batarya", + "positionRaw": "Ham", + "positionIndex": "Indeks", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Uydu", + "positionSatVisible": "Görünür Uydu", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Dolaşım", + "positionEvent": "Etkinlik", + "positionAlarm": "Alarm", + "positionStatus": "Durum", + "positionOdometer": "Kilometre Sayacı", + "positionServiceOdometer": "Kilometre Sayacı Hizmeti", + "positionTripOdometer": "Kilometre Sayacı Turu", + "positionHours": "Saat", + "positionSteps": "Adım", + "positionInput": "Giren", + "positionHeartRate": "Heart Rate", + "positionOutput": "Çıkan", + "positionBatteryLevel": "Pil Seviyesi", + "positionFuelConsumption": "Yakıt Tüketimi", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Versiyonu", + "positionVersionHw": "Hardware Versiyonu", + "positionIgnition": "Kontak", + "positionFlags": "Etiketler", + "positionCharge": "Şarz", + "positionIp": "IP", + "positionArchive": "Arşiv", + "positionVin": "VIN", + "positionApproximate": "Yaklaşık", + "positionThrottle": "Kısıtlama", + "positionMotion": "Hareket", + "positionArmed": "Hazır", + "positionAcceleration": "Hızlanma", + "positionTemp": "Sıcaklık", + "positionDeviceTemp": "Cihaz Sıcaklığı", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operatör", + "positionCommand": "Komut", + "positionBlocked": "Bloke Edildi", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Hız", + "positionObdOdometer": "OBD Kilometre Sayacı", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Benzersiz Sürücü Kimliği", + "positionCard": "Card", + "positionImage": "Görüntü", + "positionVideo": "Video", + "positionAudio": "Ses", + "serverTitle": "Sunucu Ayarları", + "serverZoom": "Yakınlaştırma", + "serverRegistration": "Kayıt", + "serverReadonly": "Sadece Okunur", + "serverForceSettings": "Zorunlu Ayarlar", + "serverAnnouncement": "Duyuru", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Harita", + "mapActive": "Aktif Haritalar", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Harita Katmanı", + "mapCustom": "Özel (XYZ)", + "mapCustomArcgis": "Özel (ArcGIS)", + "mapCustomLabel": "Özel harita", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Çokgen", + "mapShapeCircle": "Çember", + "mapShapePolyline": "Çizim", + "mapLiveRoutes": "Canlı Takip", + "mapDirection": "Yönü Göster", + "mapCurrentLocation": "Mevcut konum", + "mapPoiLayer": "POI Katmanı", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Seçimde Haritayı Göster", + "mapDefault": "Varsayılan Harita", + "stateTitle": "Bölge", + "stateName": "Özellik", + "stateValue": "Değer", + "commandTitle": "Komut", + "commandSend": "Gönder", + "commandSent": "Komut gönderildi", + "commandQueued": "Komut sıraya alındı", + "commandUnit": "Ünite", + "commandCustom": "Özel komut", + "commandDeviceIdentification": "Cihaz Tanımı", + "commandPositionSingle": "Tekil Raporlama", + "commandPositionPeriodic": "Periyodik Rapor", + "commandPositionStop": "Raporlamayı Durdur", + "commandEngineStop": "Motoru Durdur", + "commandEngineResume": "Motoru Çalıştır", + "commandAlarmArm": "Alarm Kur", + "commandAlarmDisarm": "Alarmı Kapat", + "commandAlarmDismiss": "Alarmı Kapat", + "commandSetTimezone": "Zaman Dilimini Belirle", + "commandRequestPhoto": "Fotoğraf İste", + "commandPowerOff": "Cihazı Kapatın", + "commandRebootDevice": "Aygıtı Yeniden Başlat", + "commandFactoryReset": "Fabrika Ayarları", + "commandSendSms": "SMS Gönder", + "commandSendUssd": "USSD Gönder", + "commandSosNumber": "Acil Durum Numarasını Belirle", + "commandSilenceTime": "Sessiz Zamanı Belirle", + "commandSetPhonebook": "Telefon Defterini Belirle", + "commandVoiceMessage": "Ses Mesajı", + "commandOutputControl": "Çıkış Kontrolü", + "commandVoiceMonitoring": "Ses İzleme", + "commandSetAgps": "AGPS Ayarla", + "commandSetIndicator": "Belirteci Ayarla", + "commandConfiguration": "Konfigürasyon", + "commandGetVersion": "Sürüm Al", + "commandFirmwareUpdate": "Aygıt Yazılımı Güncelle", + "commandSetConnection": "Bağlantı Ayarla", + "commandSetOdometer": "Kilometre Sayacı Ayarla", + "commandGetModemStatus": "Modem Durumunu Al", + "commandGetDeviceStatus": "Cihaz Durumunu Al", + "commandSetSpeedLimit": "Hız Sınırını Ayarla", + "commandModePowerSaving": "Enerji Tasarrufu Modu", + "commandModeDeepSleep": "Derin Uyku Modu", + "commandAlarmGeofence": "Coğrafi Sınır Alarmını Ayarla", + "commandAlarmBattery": "Pil Alarmını Ayarla", + "commandAlarmSos": "SOS Alarmını Ayarla", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Saat Alarmını Ayarla", + "commandAlarmSpeed": "Hız Alarmını Ayarla", + "commandAlarmFall": "Düşme Alarmını Ayarla", + "commandAlarmVibration": "Titreşim Alarmını Ayarla", + "commandFrequency": "Frekans", + "commandTimezone": "Saat Dilimi Dışında", + "commandMessage": "Mesaj", + "commandRadius": "Yarıçap", + "commandEnable": "Etkinleştir", + "commandData": "Veri", + "commandIndex": "Fihrist", + "commandPhone": "Telefon Numarası", + "commandServer": "Sunucu", + "commandPort": "Port", + "eventAll": "Tüm Olaylar", + "eventDeviceOnline": "Durumu çevrimiçi", + "eventDeviceUnknown": "Durumu bilinmiyor", + "eventDeviceOffline": "Durum çevrimdışı", + "eventDeviceInactive": "Cihaz etkin değil", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Cihaz hareket halinde", + "eventDeviceStopped": "Cihaz hareket etmiyor", + "eventDeviceOverspeed": "Hız limiti aşıldı", + "eventDeviceFuelDrop": "Yakıt düştü", + "eventDeviceFuelIncrease": "Yakıt artışı", + "eventCommandResult": "Komut sonucu", + "eventGeofenceEnter": "Coğrafik çite girildi", + "eventGeofenceExit": "Coğrafik çitden çıkıldı", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Kontak açık", + "eventIgnitionOff": "Kontak kapalı", + "eventMaintenance": "Bakım Gerekli", + "eventTextMessage": "Kısa mesaj alındı", + "eventDriverChanged": "Sürücü değişti", + "eventMedia": "Media", + "eventsScrollToLast": "Sona Git", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Genel", + "alarmSos": "Acil Yardım", + "alarmVibration": "Sarsıntı", + "alarmMovement": "Hareket", + "alarmLowspeed": "Düşük Hız", + "alarmOverspeed": "Aşırı Hız", + "alarmFallDown": "Düşmek", + "alarmLowPower": "Düşük Güç", + "alarmLowBattery": "Düşük pil", + "alarmFault": "Arıza", + "alarmPowerOff": "Kapalı", + "alarmPowerOn": "Çalışıyor", + "alarmDoor": "Kapı", + "alarmLock": "Kilit acık", + "alarmUnlock": "Kilit kapalı", + "alarmGeofence": "Coğrafik çit", + "alarmGeofenceEnter": "Coğrafik çite girildi", + "alarmGeofenceExit": "Coğrafik çitden çıkıldı", + "alarmGpsAntennaCut": "GPS Anteni Kes", + "alarmAccident": "Kaza", + "alarmTow": "Çekme", + "alarmIdle": "Çalışmıyor", + "alarmHighRpm": "Yüksek devir", + "alarmHardAcceleration": "Ani Hızlanma", + "alarmHardBraking": "Ani Yavaşlama", + "alarmHardCornering": "Sert Viraj", + "alarmLaneChange": "Şerit Değiştirme", + "alarmFatigueDriving": "Yorgun Sürücü", + "alarmPowerCut": "Enerji kesildi", + "alarmPowerRestored": "Enerji geldi", + "alarmJamming": "Sıkışıklık", + "alarmTemperature": "Hararet", + "alarmParking": "Park halinde", + "alarmBonnet": "Kaput", + "alarmFootBrake": "Ayak freni", + "alarmFuelLeak": "Yakıt sızıntısı", + "alarmTampering": "Kurcalama", + "alarmRemoving": "Çıkarma", + "notificationType": "Bildirim tipi", + "notificationAlways": "Tüm Cihazlar", + "notificationNotificators": "Kanallar", + "notificatorCommand": "Emir", + "notificatorWeb": "Web", + "notificatorMail": "Eposta", + "notificatorSms": "SMS Mesajı", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Tekrar oynat", + "reportCombined": "Kombine", + "reportRoute": "Rota", + "reportEvents": "Olaylar", + "reportTrips": "Turlar", + "reportStops": "Stops", + "reportSummary": "Özet", + "reportDaily": "Günlük Özet", + "reportChart": "Grafik", + "reportConfigure": "Ayarlar", + "reportEventTypes": "Olay Tipleri", + "reportChartType": "Grafik Tipi", + "reportShowMarkers": "İşaretleri Göster", + "reportExport": "Çıktı Al", + "reportEmail": "Eposta Rapor", + "reportSchedule": "Takvim", + "reportPeriod": "Dönem", + "reportCustom": "Özel", + "reportToday": "Bugün", + "reportYesterday": "Dün", + "reportThisWeek": "Bu Hafta", + "reportPreviousWeek": "Geçen Hafta", + "reportThisMonth": "Bu Ay", + "reportPreviousMonth": "Geçen Ay", + "reportDeviceName": "Cihaz İsmi", + "reportAverageSpeed": "Ortalama Hız", + "reportMaximumSpeed": "En Fazla Hız", + "reportEngineHours": "Motor Saatleri", + "reportDuration": "Süre", + "reportStartDate": "Başlangıç Tarihi", + "reportStartTime": "Başlama Zamanı", + "reportStartAddress": "Başlama Adresi", + "reportEndTime": "Bittiği Zaman", + "reportEndAddress": "Bittiği Adres", + "reportSpentFuel": "Tüketilen Yakıt", + "reportStartOdometer": "Kilometre Sayacı Başlangıçı", + "reportEndOdometer": "Kilometre Sayacı Sonu", + "statisticsTitle": "Statistics", + "statisticsCaptureTime": "Yakalama Zamanı", + "statisticsActiveUsers": "Aktif Kullanıcılar", + "statisticsActiveDevices": "Aktif Cihazlar", + "statisticsRequests": "İstenilenler", + "statisticsMessagesReceived": "Mesajlar Alındı", + "statisticsMessagesStored": "Mesajlar Kaydedildi", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Yön", + "categoryDefault": "Varsayılan", + "categoryAnimal": "Hayvan", + "categoryBicycle": "Bisiklet", + "categoryBoat": "Tekne", + "categoryBus": "Otobüs", + "categoryCar": "Araba", + "categoryCamper": "Camper", + "categoryCrane": "Vinç", + "categoryHelicopter": "Helikopter", + "categoryMotorcycle": "Motorsiklet", + "categoryOffroad": "Offroad", + "categoryPerson": "İnsan", + "categoryPickup": "Kamyonet", + "categoryPlane": "Uçak", + "categoryShip": "Gemi", + "categoryTractor": "Tractor", + "categoryTrain": "Tren", + "categoryTram": "Tramvay", + "categoryTrolleybus": "Troleybüs", + "categoryTruck": "Kamyon", + "categoryVan": "Van", + "categoryScooter": "Mobilet", + "maintenanceStart": "Başlat", + "maintenancePeriod": "Dönem" +}
\ No newline at end of file diff --git a/legacy/web/l10n/uk.json b/legacy/web/l10n/uk.json new file mode 100644 index 00000000..5e013dc6 --- /dev/null +++ b/legacy/web/l10n/uk.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Завантаження... ", + "sharedHide": "Приховувати", + "sharedSave": "Зберегти", + "sharedUpload": "Upload", + "sharedSet": "Встановити", + "sharedCancel": "Відміна", + "sharedCopy": "Copy", + "sharedAdd": "Додати", + "sharedEdit": "Редагувати", + "sharedRemove": "Видалити", + "sharedRemoveConfirm": "Видалити пункт?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "км", + "sharedMi": "Милi", + "sharedNmi": "морська миля", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "Вузли", + "sharedKmh": "км/год", + "sharedMph": "Миль/год", + "sharedHour": "Години", + "sharedMinute": "Хвилини", + "sharedSecond": "Секунди", + "sharedDays": "днів", + "sharedHours": "годин", + "sharedMinutes": "хвилин", + "sharedDecimalDegrees": "Градуси°", + "sharedDegreesDecimalMinutes": "Градуси° хвилини′", + "sharedDegreesMinutesSeconds": "Градуси° хвилини′ секунди″", + "sharedName": "Назва пристрою", + "sharedDescription": "Опис", + "sharedSearch": "Пошук", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Геозон", + "sharedGeofences": "Геозони", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Повідомлення", + "sharedNotification": "Повідомлення", + "sharedAttributes": "Атрибути", + "sharedAttribute": "Атрибут", + "sharedDrivers": "Водії", + "sharedDriver": "Водій", + "sharedArea": "Площа", + "sharedSound": "Звукове повідомлення", + "sharedType": "Тип", + "sharedDistance": "Відстань", + "sharedHourAbbreviation": "г", + "sharedMinuteAbbreviation": "хв", + "sharedSecondAbbreviation": "c", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Літр", + "sharedImpGallon": "Імп. галон", + "sharedUsGallon": "Галон США", + "sharedLiterPerHourAbbreviation": "л/ч", + "sharedGetMapState": "Отримати стан карти", + "sharedComputedAttribute": "Обчислюваний атрибут", + "sharedComputedAttributes": "Обчислювані атрибути", + "sharedCheckComputedAttribute": "Перевірити обчислюваний атрибут", + "sharedExpression": "Вираз", + "sharedDevice": "Пристрій", + "sharedTest": "Test", + "sharedTestNotification": "Відправити тестове повідомлення", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Календар", + "sharedCalendars": "Календарi", + "sharedFile": "Файл", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Вибрати файл", + "sharedPhone": "Телефон", + "sharedRequired": "Обов'язкові", + "sharedPreferences": "Налаштування", + "sharedPermissions": "Дозволи", + "sharedConnections": "Connections", + "sharedExtra": "Екстра", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Строка", + "sharedTypeNumber": "Число", + "sharedTypeBoolean": "Логічне значення", + "sharedTimezone": "Часовий пояс", + "sharedInfoTitle": "Інфо", + "sharedSavedCommand": "Збережена команда", + "sharedSavedCommands": "Збережені команди", + "sharedNew": "Новий…", + "sharedShowAddress": "Показати адрес", + "sharedShowDetails": "More Details", + "sharedDisabled": "Вимкнутий", + "sharedMaintenance": "Обслуговування", + "sharedDeviceAccumulators": "Акумулятори", + "sharedAlarms": "Тривоги", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Обмеження швидкості", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Відстань від лінії", + "attributeReportIgnoreOdometer": "Звіт: Ігнорувати одометер", + "attributeWebReportColor": "Веб: Колір звіту", + "attributeDevicePassword": "Пароль пристрою", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Обробка: Копіювання атрибутів", + "attributeColor": "Колір", + "attributeWebLiveRouteLength": "Веб: Довжина онлайн маршруту", + "attributeWebSelectZoom": "Веб: Збільшення при виборі", + "attributeWebMaxZoom": "Веб: Максимальне збільшення", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Пошта: SMTP хост", + "attributeMailSmtpPort": "Пошта: SMTP порт", + "attributeMailSmtpStarttlsEnable": "Пошта: увімкнути SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "Пошта: потрібен SMTP STARTTLS", + "attributeMailSmtpSslEnable": "Пошта: увімкнути SMTP SSL", + "attributeMailSmtpSslTrust": "Пошта: довіра SMTP SSL", + "attributeMailSmtpSslProtocols": "Пошта: Протоколи SMTP SSL", + "attributeMailSmtpFrom": "Пошта: SMTP відправник", + "attributeMailSmtpAuth": "Пошта: Увімкнути SMTP Auth", + "attributeMailSmtpUsername": "Пошта: SMTP ім'я користувача", + "attributeMailSmtpPassword": "Пошта: SMTP пароль", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Вимкнути події", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Вимкнути водіїв", + "attributeUiDisableComputedAttributes": "UI: Вимкнути обчислювані атрибути", + "attributeUiDisableCalendars": "UI: Вимкнути календарі", + "attributeUiDisableMaintenance": "UI: Вимкнути обслуговування", + "attributeUiHidePositionAttributes": "UI: Приховувати атрибути", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Помилка", + "errorGeneral": "Неправильні параметри або порушення обмежень", + "errorConnection": "Помилка з'єднання", + "errorSocket": "Помилка web socket з'єднання", + "errorZero": "Не може бути нульовим", + "userEmail": "E-mail", + "userPassword": "Пароль", + "userAdmin": "Адмiнiстратор", + "userRemember": "Запам'ятати", + "userExpirationTime": "Термін дії", + "userDeviceLimit": "Обмеження пристроїв", + "userUserLimit": "Обмеження користувачів", + "userDeviceReadonly": "Тільки перегляд пристроїв", + "userLimitCommands": "Обмеження команд", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Ключ", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Логiн", + "loginLanguage": "Мова", + "loginReset": "Reset Password", + "loginRegister": "Реєстрація", + "loginLogin": "Ввійти", + "loginOpenId": "Login with OpenID", + "loginFailed": "Неправильне адреса електронної пошти або пароль", + "loginCreated": "Новий користувач був зареєстрований", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Вийти", + "loginLogo": "Логотип", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Пристрої та стан", + "deviceSelected": "Selected Device", + "deviceTitle": " Прилади", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Iдентифікатор", + "deviceModel": "Модель", + "deviceContact": "Контакт", + "deviceCategory": "Категорія", + "deviceLastUpdate": "Останнє оновлення", + "deviceCommand": "Команда", + "deviceFollow": "Слідувати", + "deviceTotalDistance": "Загальна відстань", + "deviceStatus": "Статус", + "deviceStatusOnline": "Онлайн", + "deviceStatusOffline": "Офлайн", + "deviceStatusUnknown": "Невідомий", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Група", + "groupParent": "Група", + "groupNoGroup": "Група відсутня", + "settingsTitle": "Налаштування", + "settingsUser": "Аккаунт", + "settingsGroups": "Групи", + "settingsServer": "Сервер", + "settingsUsers": "Користувачі", + "settingsDistanceUnit": "Одиниця відстані", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Одиниця швидкості", + "settingsVolumeUnit": "Одиниця об'єму", + "settingsTwelveHourFormat": "12-годинний формат", + "settingsCoordinateFormat": "Формат координат", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Звіти", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Пристрій ", + "reportGroup": "Група", + "reportFrom": "З", + "reportTo": "До", + "reportShow": "Показати", + "reportClear": "Очистити", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Дійсний", + "positionAccuracy": "Точність", + "positionLatitude": "Широта", + "positionLongitude": "Довгота ", + "positionAltitude": "Висота", + "positionSpeed": "Швидкість ", + "positionCourse": "Напрямок", + "positionAddress": "Адреса", + "positionProtocol": "Протокол", + "positionDistance": "Відстань", + "positionRpm": "Обороти", + "positionFuel": "Паливо", + "positionPower": "Живлення", + "positionBattery": "Батарея", + "positionRaw": "Cирі дані", + "positionIndex": "Індекс", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Супутники", + "positionSatVisible": "Видимі супутники", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Роумінг", + "positionEvent": "Подія", + "positionAlarm": "Тривога", + "positionStatus": "Статус", + "positionOdometer": "Одометр", + "positionServiceOdometer": "Одометр обслуговування", + "positionTripOdometer": "Одометр поїздки", + "positionHours": "Години", + "positionSteps": "Кроки", + "positionInput": "Входи", + "positionHeartRate": "Heart Rate", + "positionOutput": "Виходи", + "positionBatteryLevel": "Рівень заряду батареї", + "positionFuelConsumption": "Витрати палива", + "positionRfid": "RFID", + "positionVersionFw": "Версія прошивки", + "positionVersionHw": "Версія пристрою", + "positionIgnition": "Запалення", + "positionFlags": "Флаги", + "positionCharge": "Заряд", + "positionIp": "IP", + "positionArchive": "Архів", + "positionVin": "VIN", + "positionApproximate": "Приблизний", + "positionThrottle": "Дросель", + "positionMotion": "Рух", + "positionArmed": "Охорона", + "positionAcceleration": "Прискорення", + "positionTemp": "Temperature", + "positionDeviceTemp": "Температура пристрою", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Оператор", + "positionCommand": "Команда", + "positionBlocked": "Блокування", + "positionDtcs": "Помилки", + "positionObdSpeed": "OBD швидкість", + "positionObdOdometer": "OBD одометр", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "ID водія", + "positionCard": "Card", + "positionImage": "Зображення", + "positionVideo": "Video", + "positionAudio": "Аудіо", + "serverTitle": "Налаштування сервера", + "serverZoom": "Наближення", + "serverRegistration": "Реєстрація", + "serverReadonly": "Лише для читання", + "serverForceSettings": "Налаштування Force", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Карта", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Використання мап", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Ключ Bing Maps ", + "mapBingRoad": "Bing Maps Дороги", + "mapBingAerial": "Bing Maps Супутник", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Багатокутник", + "mapShapeCircle": "Коло", + "mapShapePolyline": "Лінія", + "mapLiveRoutes": "Поточні маршрути", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "Шар POI", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Стан", + "stateName": "Атрибут", + "stateValue": "Значення ", + "commandTitle": "Команда ", + "commandSend": "Послати. ", + "commandSent": "Команда відправлена", + "commandQueued": "Команда додана в чергу", + "commandUnit": "Одиниці", + "commandCustom": "Користувацька команда", + "commandDeviceIdentification": "Ідентифікація пристрою", + "commandPositionSingle": "Разове відстеження", + "commandPositionPeriodic": "Періодична звітність", + "commandPositionStop": "Скасувати відстеження. ", + "commandEngineStop": "Заблокувати двигун ", + "commandEngineResume": "Розблокувати двигун", + "commandAlarmArm": "Активувати сигналізацію", + "commandAlarmDisarm": "Вимкнути сигналізацію", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Часовий пояс", + "commandRequestPhoto": "Запит фото", + "commandPowerOff": "Вимкнути пристрій", + "commandRebootDevice": "Перезавантаження пристрою", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Надсилання SMS", + "commandSendUssd": "Надсилання USSD", + "commandSosNumber": "Номер SOS", + "commandSilenceTime": "Встановити час пиші", + "commandSetPhonebook": "Телефонна книга", + "commandVoiceMessage": "Голосове повідомлення", + "commandOutputControl": "Контроль виходу", + "commandVoiceMonitoring": "Голосове повідомлення", + "commandSetAgps": "Налаштувати AGPS", + "commandSetIndicator": "Налаштувати ітдикатор", + "commandConfiguration": "Конфігурація", + "commandGetVersion": "Отримати версію", + "commandFirmwareUpdate": "Оновити прошивку", + "commandSetConnection": "Налаштувати з'єднання", + "commandSetOdometer": "Налаштувати одометр", + "commandGetModemStatus": "Отримати стан модема", + "commandGetDeviceStatus": "Отримати статус пристрою", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Частота", + "commandTimezone": "Зсув часової зони", + "commandMessage": "Повідомлення", + "commandRadius": "Радіус", + "commandEnable": "Увімкнути", + "commandData": "Дані", + "commandIndex": "Індекс", + "commandPhone": "Номер телефону", + "commandServer": "Сервер", + "commandPort": "Порт", + "eventAll": "Всі події", + "eventDeviceOnline": "Статус онлайн", + "eventDeviceUnknown": "Статус невідомий", + "eventDeviceOffline": "Статус офлайн", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Пристрій рухається", + "eventDeviceStopped": "Пристрій зупинився", + "eventDeviceOverspeed": "Перевищено обмеження швидкості", + "eventDeviceFuelDrop": "Злив палива", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Результат команди", + "eventGeofenceEnter": "Вхід в геозон", + "eventGeofenceExit": "Вихід з геозон", + "eventAlarm": "Тривога", + "eventIgnitionOn": "Запалення увімкнено", + "eventIgnitionOff": "Запалення вимкнено", + "eventMaintenance": "Потрібне обслуговування", + "eventTextMessage": "Текстове повідомлення отримано", + "eventDriverChanged": "Водій змінений", + "eventMedia": "Media", + "eventsScrollToLast": "Прокрутка до кінця", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "Загальне", + "alarmSos": "SOS", + "alarmVibration": "Вібрація", + "alarmMovement": "Рух", + "alarmLowspeed": "Низька швидкість", + "alarmOverspeed": "Перевищення швидкості", + "alarmFallDown": "Падіння", + "alarmLowPower": "Низький рівень живлення", + "alarmLowBattery": "Батарея розряджена", + "alarmFault": "Несправність", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Двері", + "alarmLock": "Блокування", + "alarmUnlock": "Разблокування", + "alarmGeofence": "Геозон", + "alarmGeofenceEnter": "Вхід в геозон", + "alarmGeofenceExit": "Вихід з геозон", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Тип повідомлення", + "notificationAlways": "Всi пристрої", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Маршрут", + "reportEvents": "Події", + "reportTrips": "Подорожі", + "reportStops": "Зупинки", + "reportSummary": "Звіт", + "reportDaily": "Daily Summary", + "reportChart": "Діаграма", + "reportConfigure": "Конфігурувати", + "reportEventTypes": "Тип події", + "reportChartType": "Тип діаграми", + "reportShowMarkers": "Показати маркери", + "reportExport": "Експорт", + "reportEmail": "Звіт по пошті", + "reportSchedule": "Schedule", + "reportPeriod": "Період", + "reportCustom": "Користувальницький", + "reportToday": "Сьогодні", + "reportYesterday": "Вчора", + "reportThisWeek": "Поточний тиждень", + "reportPreviousWeek": "Попередній тиждень", + "reportThisMonth": "Поточний місяць", + "reportPreviousMonth": "Попередній місяць", + "reportDeviceName": "Ім'я пристрою", + "reportAverageSpeed": "Середня швидкість", + "reportMaximumSpeed": "Максимальна швидкість", + "reportEngineHours": "Мотогодинник", + "reportDuration": "Тривалість", + "reportStartDate": "Start Date", + "reportStartTime": "Початковий час", + "reportStartAddress": "Початкова адреса", + "reportEndTime": "Кінцевий час", + "reportEndAddress": "Кінцева адреса", + "reportSpentFuel": "Використано палива", + "reportStartOdometer": "Одометр, початок", + "reportEndOdometer": "Одометр, закінчення", + "statisticsTitle": "Статистика", + "statisticsCaptureTime": "Час збору", + "statisticsActiveUsers": "Активні користувачі", + "statisticsActiveDevices": "Активні пристрої", + "statisticsRequests": "Запити", + "statisticsMessagesReceived": "Отримано повідомлень", + "statisticsMessagesStored": "Збережено повідомлень", + "statisticsGeocoder": "Запити геокодера", + "statisticsGeolocation": "Запити геолокації", + "categoryArrow": "Стрілка", + "categoryDefault": "За замовчуванням", + "categoryAnimal": "Тварина", + "categoryBicycle": "Велосипед", + "categoryBoat": "Човен", + "categoryBus": "Автобус", + "categoryCar": "Автомобіль", + "categoryCamper": "Camper", + "categoryCrane": "Кран", + "categoryHelicopter": "Гвинтокрил", + "categoryMotorcycle": "Мотоцикл", + "categoryOffroad": "Позашляховик", + "categoryPerson": "Людина", + "categoryPickup": "Пікап", + "categoryPlane": "Літак", + "categoryShip": "Корабель", + "categoryTractor": "Трактор", + "categoryTrain": "Поїзд", + "categoryTram": "Трамвай", + "categoryTrolleybus": "Тролейбус", + "categoryTruck": "Вантажний автомобіль", + "categoryVan": "Фургон", + "categoryScooter": "Скутер", + "maintenanceStart": "Початок", + "maintenancePeriod": "Період" +}
\ No newline at end of file diff --git a/legacy/web/l10n/uz.json b/legacy/web/l10n/uz.json new file mode 100644 index 00000000..51b9364d --- /dev/null +++ b/legacy/web/l10n/uz.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Юкланмоқда...", + "sharedHide": "Беркитиш", + "sharedSave": "Сақлаш", + "sharedUpload": "Upload", + "sharedSet": "Ўрнатиш", + "sharedCancel": "Бекор қилиш", + "sharedCopy": "Copy", + "sharedAdd": "Қўшиш", + "sharedEdit": "Таҳрирлаш", + "sharedRemove": "Ўчириш", + "sharedRemoveConfirm": "Элементни ўчирайми?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "км", + "sharedMi": "миллар", + "sharedNmi": "м.миллар", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "уз", + "sharedKmh": "км/с", + "sharedMph": "миль/с", + "sharedHour": "Соат", + "sharedMinute": "Дақиқалар", + "sharedSecond": "Сониялар", + "sharedDays": "days", + "sharedHours": "hours", + "sharedMinutes": "minutes", + "sharedDecimalDegrees": "Ўнлик даража", + "sharedDegreesDecimalMinutes": "Градуслар Ўнлик Дақиқалар", + "sharedDegreesMinutesSeconds": "Градуслар Дақиқалар Сониялар", + "sharedName": "Исм", + "sharedDescription": "Тавсиф", + "sharedSearch": "Қидирув", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Геозона", + "sharedGeofences": "Геозоналар", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Хабарнома", + "sharedNotification": "Notification", + "sharedAttributes": "Атрибутлар", + "sharedAttribute": "Атрибут", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "Соҳа", + "sharedSound": "Notification Sound", + "sharedType": "Тур", + "sharedDistance": "Масофа", + "sharedHourAbbreviation": "с", + "sharedMinuteAbbreviation": "д", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Харита ҳолатини билиш", + "sharedComputedAttribute": "Computed Attribute", + "sharedComputedAttributes": "Computed Attributes", + "sharedCheckComputedAttribute": "Check Computed Attribute", + "sharedExpression": "Expression", + "sharedDevice": "Қурилма", + "sharedTest": "Test", + "sharedTestNotification": "Send Test Notification", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Тақвим", + "sharedCalendars": "Тақвимлар", + "sharedFile": "Файл", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Файлни танлаш", + "sharedPhone": "Phone", + "sharedRequired": "Required", + "sharedPreferences": "Preferences", + "sharedPermissions": "Permissions", + "sharedConnections": "Connections", + "sharedExtra": "Extra", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "String", + "sharedTypeNumber": "Number", + "sharedTypeBoolean": "Boolean", + "sharedTimezone": "Timezone", + "sharedInfoTitle": "Info", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Speed Limit", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Report: Ignore Odometer", + "attributeWebReportColor": "Web: Report Color", + "attributeDevicePassword": "Device Password", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Processing: Copy Attributes", + "attributeColor": "Color", + "attributeWebLiveRouteLength": "Web: Live Route Length", + "attributeWebSelectZoom": "Web: Zoom On Select", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Mail: SMTP Host", + "attributeMailSmtpPort": "Mail: SMTP Port", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Хато", + "errorGeneral": "Invalid parameters or constraints violation", + "errorConnection": "Уланишда хато", + "errorSocket": "Web socket connection error", + "errorZero": "Can't be zero", + "userEmail": "Email", + "userPassword": "Парол", + "userAdmin": "Маъмурият", + "userRemember": "Эслаб қолиш", + "userExpirationTime": "Хизмат муддати", + "userDeviceLimit": "Қурилманинг чекловлари", + "userUserLimit": "Фойдаланувчини чегаралаш", + "userDeviceReadonly": "Фақат кўриш", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Калит", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Кириш", + "loginLanguage": "Тил", + "loginReset": "Reset Password", + "loginRegister": "Рўйхатдан ўтиш", + "loginLogin": "Кириш", + "loginOpenId": "Login with OpenID", + "loginFailed": "Нотўғри email ёки пароль", + "loginCreated": "Янги фойдаланувчи рўйхатдан ўтди", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Чиқиш", + "loginLogo": "Логотип", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Қурилмалар ва Ҳолатлар", + "deviceSelected": "Selected Device", + "deviceTitle": "Қурилмалар", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Идентификатор", + "deviceModel": "Модел", + "deviceContact": "Алоқа воситаси", + "deviceCategory": "Тоифа", + "deviceLastUpdate": "Сўнгги янгиланиш", + "deviceCommand": "Гуруҳ", + "deviceFollow": "Амал қилиш", + "deviceTotalDistance": "Умумий масофа", + "deviceStatus": "Status", + "deviceStatusOnline": "Online", + "deviceStatusOffline": "Offline", + "deviceStatusUnknown": "Unknown", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Гуруҳ", + "groupParent": "Гуруҳ", + "groupNoGroup": "Гуруҳсиз", + "settingsTitle": "Созламалар", + "settingsUser": "Аккаунт", + "settingsGroups": "Гуруҳлар", + "settingsServer": "Сервер", + "settingsUsers": "Фойдаланувчилар", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "12-соатли формат", + "settingsCoordinateFormat": "Координаталар формати", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Ҳисоботлар", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Қурилма", + "reportGroup": "Гуруҳ", + "reportFrom": "дан", + "reportTo": "гача", + "reportShow": "Кўрсатиш", + "reportClear": "Тозалаш", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Аниқлик", + "positionAccuracy": "Аниқлик", + "positionLatitude": "Кенглик", + "positionLongitude": "Узунлик", + "positionAltitude": "Баландлик", + "positionSpeed": "Тезлик", + "positionCourse": "Йўналиш", + "positionAddress": "Манзил", + "positionProtocol": "Баённома", + "positionDistance": "Оралиқ масофа", + "positionRpm": "RPM", + "positionFuel": "Fuel", + "positionPower": "Power", + "positionBattery": "Battery", + "positionRaw": "Raw", + "positionIndex": "Index", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Event", + "positionAlarm": "Alarm", + "positionStatus": "Status", + "positionOdometer": "Odometer", + "positionServiceOdometer": "Service Odometer", + "positionTripOdometer": "Trip Odometer", + "positionHours": "Hours", + "positionSteps": "Steps", + "positionInput": "Input", + "positionHeartRate": "Heart Rate", + "positionOutput": "Output", + "positionBatteryLevel": "Battery Level", + "positionFuelConsumption": "Fuel Consumption", + "positionRfid": "RFID", + "positionVersionFw": "Firmware Version", + "positionVersionHw": "Hardware Version", + "positionIgnition": "Ignition", + "positionFlags": "Flags", + "positionCharge": "Charge", + "positionIp": "IP", + "positionArchive": "Archive", + "positionVin": "VIN", + "positionApproximate": "Approximate", + "positionThrottle": "Throttle", + "positionMotion": "Motion", + "positionArmed": "Armed", + "positionAcceleration": "Acceleration", + "positionTemp": "Temperature", + "positionDeviceTemp": "Device Temperature", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Blocked", + "positionDtcs": "DTCs", + "positionObdSpeed": "OBD Speed", + "positionObdOdometer": "OBD Odometer", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Сервер созламалари", + "serverZoom": "Яқинлаштириш", + "serverRegistration": "Рўйхатдан ўтиш", + "serverReadonly": "Фақат кўриш", + "serverForceSettings": "Созламаларни кучайтириш", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Харита", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Харита қавати", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps калити", + "mapBingRoad": "Bing Maps йўллар", + "mapBingAerial": "Bing Maps Спутник", + "mapBingHybrid": "Bing Maps Hybrid", + "mapBaidu": "Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Yandex Map", + "mapYandexSat": "Yandex Satellite", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Кўпбурчак", + "mapShapeCircle": "Айлана", + "mapShapePolyline": "Чизиқ", + "mapLiveRoutes": "Амалдаги маршрутлар", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Ҳолат", + "stateName": "Параметр", + "stateValue": "Маъноси", + "commandTitle": "Буйруқ", + "commandSend": "Жўнатиш", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Бирликлар", + "commandCustom": "Фойдаланувчи буйруғи", + "commandDeviceIdentification": "Қурилма идентификацияси", + "commandPositionSingle": "Бир марта кузатиш", + "commandPositionPeriodic": "Кузатувни бошлаш", + "commandPositionStop": "Кузатувни бекор қилиш", + "commandEngineStop": "Двигателни блокировка қилиш", + "commandEngineResume": "Двигателдан блокировкани ечиш", + "commandAlarmArm": "Сигнализацияни активлаштириш", + "commandAlarmDisarm": "Сигнализация активлигини бекор қилиш", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Соат қутбини созлаш", + "commandRequestPhoto": "Фото сўраш", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Қурилмани қайта юклаш", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "СМС жўнатиш", + "commandSendUssd": "USSD жўнатиш", + "commandSosNumber": "Шошилинч рақамни созлаш", + "commandSilenceTime": "Тинчлик вақтини созлаш", + "commandSetPhonebook": "Телефон дафтарини созлаш", + "commandVoiceMessage": "Товушли хабар", + "commandOutputControl": "Чиқиш назорати", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Set Indicator", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Частота", + "commandTimezone": "Соат қутбининг силжиши", + "commandMessage": "Хабар", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Маълумотлар", + "commandIndex": "Индекс", + "commandPhone": "Телефон рақами", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Барча воқеалар", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Буйруқ натижаси", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Хизмат кўрсатиш талаб этилади", + "eventTextMessage": "Text message received", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Scroll To Last", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Хабарнома тури", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Маршрут", + "reportEvents": "Ҳодисалар", + "reportTrips": "Сафарлар", + "reportStops": "Stops", + "reportSummary": "Маълумот", + "reportDaily": "Daily Summary", + "reportChart": "График", + "reportConfigure": "Конфигурациялаш", + "reportEventTypes": "Ҳодиса тури", + "reportChartType": "График тури", + "reportShowMarkers": "Маркетларни кўрсатиш", + "reportExport": "Экспорт", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Қурилма номи", + "reportAverageSpeed": "Ўртача тезлик", + "reportMaximumSpeed": "Максимал тезлик", + "reportEngineHours": "Мотосоат", + "reportDuration": "Узунлиги", + "reportStartDate": "Start Date", + "reportStartTime": "Бошланиш вақти", + "reportStartAddress": "Бошланиш манзили", + "reportEndTime": "Тугаш вақти", + "reportEndAddress": "Сўнгги манзил", + "reportSpentFuel": "Ёқилғи сарфи", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Статистика", + "statisticsCaptureTime": "Йиғилиш вақти", + "statisticsActiveUsers": "Актив фойдаланувчилар", + "statisticsActiveDevices": "Актив қурилмалар", + "statisticsRequests": "Сўровлар", + "statisticsMessagesReceived": "Хабарлар қабул қилинган", + "statisticsMessagesStored": "Хабарлар сақланган", + "statisticsGeocoder": "Geocoder Requests", + "statisticsGeolocation": "Geolocation Requests", + "categoryArrow": "Стрелка", + "categoryDefault": "Сўзсиз", + "categoryAnimal": "Жонивор", + "categoryBicycle": "Велосипед", + "categoryBoat": "Boat", + "categoryBus": "Автобус", + "categoryCar": "Автомобиль", + "categoryCamper": "Camper", + "categoryCrane": "Crane", + "categoryHelicopter": "Helicopter", + "categoryMotorcycle": "Мотоцикл", + "categoryOffroad": "Offroad", + "categoryPerson": "Одам", + "categoryPickup": "Pickup", + "categoryPlane": "Самолёт", + "categoryShip": "Кема", + "categoryTractor": "Tractor", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Юк автомобили", + "categoryVan": "Van", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/vi.json b/legacy/web/l10n/vi.json new file mode 100644 index 00000000..87f0e236 --- /dev/null +++ b/legacy/web/l10n/vi.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "Đang tải...", + "sharedHide": "Ẩn", + "sharedSave": "Lưu", + "sharedUpload": "Upload", + "sharedSet": "Thiết lập", + "sharedCancel": "Hủy", + "sharedCopy": "Copy", + "sharedAdd": "Thêm mới", + "sharedEdit": "Chỉnh sửa", + "sharedRemove": "Xóa", + "sharedRemoveConfirm": "Xóa lựa chọn?", + "sharedNoData": "No data", + "sharedSubject": "Subject", + "sharedYes": "Yes", + "sharedNo": "No", + "sharedKm": "km", + "sharedMi": "dặm", + "sharedNmi": "nmi", + "sharedMeters": "m", + "sharedFeet": "ft", + "sharedKn": "kn", + "sharedKmh": "km/h", + "sharedMph": "mph", + "sharedHour": "Giờ", + "sharedMinute": "Phút", + "sharedSecond": "Giây", + "sharedDays": "Ngày", + "sharedHours": "Giờ", + "sharedMinutes": "Phút", + "sharedDecimalDegrees": "Độ thập phân", + "sharedDegreesDecimalMinutes": "Độ thập phân phút", + "sharedDegreesMinutesSeconds": "Độ thập phân giây", + "sharedName": "Tên", + "sharedDescription": "Mô tả", + "sharedSearch": "Tìm kiếm", + "sharedIconScale": "Icon Scale", + "sharedGeofence": "Giới hạn địa lý", + "sharedGeofences": "Giới hạn địa lý", + "sharedCreateGeofence": "Create Geofence", + "sharedNotifications": "Thông báo", + "sharedNotification": "Notification", + "sharedAttributes": "Thuộc tính", + "sharedAttribute": "Thuộc tính", + "sharedDrivers": "Drivers", + "sharedDriver": "Driver", + "sharedArea": "Khu vực", + "sharedSound": "Tiếng thông báo", + "sharedType": "Loại", + "sharedDistance": "Khoảng cách", + "sharedHourAbbreviation": "h", + "sharedMinuteAbbreviation": "m", + "sharedSecondAbbreviation": "s", + "sharedVoltAbbreviation": "V", + "sharedLiterAbbreviation": "l", + "sharedGallonAbbreviation": "gal", + "sharedLiter": "Liter", + "sharedImpGallon": "Imp. Gallon", + "sharedUsGallon": "U.S. Gallon", + "sharedLiterPerHourAbbreviation": "l/h", + "sharedGetMapState": "Lấy trạng thái bản đồ", + "sharedComputedAttribute": "Tính toán thuộc tính", + "sharedComputedAttributes": "Tính toán thuộc tính", + "sharedCheckComputedAttribute": "Kiểm tra tính toán thuộc tính", + "sharedExpression": "Truyền", + "sharedDevice": "Thiết bị", + "sharedTest": "Test", + "sharedTestNotification": "Gửi thông báo thử", + "sharedTestNotificators": "Test Channels", + "sharedTestExpression": "Test Expression", + "sharedCalendar": "Lịch", + "sharedCalendars": "Lịch", + "sharedFile": "Tập tin", + "sharedSearchDevices": "Search Devices", + "sharedSortBy": "Sort By", + "sharedFilterMap": "Filter on Map", + "sharedSelectFile": "Lựa chọn tập tin", + "sharedPhone": "Điện thoại", + "sharedRequired": "Bắt buộc", + "sharedPreferences": "Ưu tiên", + "sharedPermissions": "Cấp phép", + "sharedConnections": "Connections", + "sharedExtra": "Thêm vào", + "sharedPrimary": "Primary", + "sharedSecondary": "Secondary", + "sharedTypeString": "Chuỗi", + "sharedTypeNumber": "Số", + "sharedTypeBoolean": "Toán tử", + "sharedTimezone": "Múi giờ", + "sharedInfoTitle": "Thông tin", + "sharedSavedCommand": "Saved Command", + "sharedSavedCommands": "Saved Commands", + "sharedNew": "New…", + "sharedShowAddress": "Show Address", + "sharedShowDetails": "More Details", + "sharedDisabled": "Disabled", + "sharedMaintenance": "Maintenance", + "sharedDeviceAccumulators": "Accumulators", + "sharedAlarms": "Alarms", + "sharedLocation": "Location", + "sharedImport": "Import", + "sharedColumns": "Columns", + "sharedDropzoneText": "Drag and drop a file here or click", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "Simple", + "calendarRecurrence": "Recurrence", + "calendarOnce": "Once", + "calendarDaily": "Daily", + "calendarWeekly": "Weekly", + "calendarMonthly": "Monthly", + "calendarDays": "Days", + "calendarSunday": "Sunday", + "calendarMonday": "Monday", + "calendarTuesday": "Tuesday", + "calendarWednesday": "Wednesday", + "calendarThursday": "Thursday", + "calendarFriday": "Friday", + "calendarSaturday": "Saturday", + "attributeShowGeofences": "Show Geofences", + "attributeSpeedLimit": "Giới hạn tốc độ", + "attributeFuelDropThreshold": "Fuel Drop Threshold", + "attributeFuelIncreaseThreshold": "Fuel Increase Threshold", + "attributePolylineDistance": "Polyline Distance", + "attributeReportIgnoreOdometer": "Báo cáo: Bỏ qua đồng hồ đo", + "attributeWebReportColor": "Web: Màu báo cáo", + "attributeDevicePassword": "Mật khẩu thiết bị", + "attributeDeviceImage": "Device Image", + "attributeDeviceInactivityStart": "Device Inactivity Start", + "attributeDeviceInactivityPeriod": "Device Inactivity Period", + "attributeProcessingCopyAttributes": "Thực thi: sao chép thuộc tính", + "attributeColor": "Màu", + "attributeWebLiveRouteLength": "Web: Độ dài tuyến", + "attributeWebSelectZoom": "Web: phóng to lựa chọn", + "attributeWebMaxZoom": "Web: Maximum Zoom", + "attributeTelegramChatId": "Telegram Chat ID", + "attributePushoverUserKey": "Pushover User Key", + "attributePushoverDeviceNames": "Pushover Device Names", + "attributeMailSmtpHost": "Email: SMTP Host", + "attributeMailSmtpPort": "Email: Cổng SMTP", + "attributeMailSmtpStarttlsEnable": "Mail: SMTP STARTTLS Enable", + "attributeMailSmtpStarttlsRequired": "Mail: SMTP STARTTLS Required", + "attributeMailSmtpSslEnable": "Mail: SMTP SSL Enable", + "attributeMailSmtpSslTrust": "Mail: SMTP SSL Trust", + "attributeMailSmtpSslProtocols": "Mail: SMTP SSL Protocols", + "attributeMailSmtpFrom": "Mail: SMTP From", + "attributeMailSmtpAuth": "Mail: SMTP Auth Enable", + "attributeMailSmtpUsername": "Mail: SMTP Username", + "attributeMailSmtpPassword": "Mail: SMTP Password", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "UI: Disable Attributes", + "attributeUiDisableGroups": "UI: Disable Groups", + "attributeUiDisableEvents": "UI: Disable Events", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "UI: Disable Drivers", + "attributeUiDisableComputedAttributes": "UI: Disable Computed Attributes", + "attributeUiDisableCalendars": "UI: Disable Calendars", + "attributeUiDisableMaintenance": "UI: Disable Maintenance", + "attributeUiHidePositionAttributes": "UI: Hide Position Attributes", + "attributeUiDisableLoginLanguage": "UI: Disable Login Language", + "attributeNotificationTokens": "Notification Tokens", + "attributePopupInfo": "Popup Info", + "errorTitle": "Lỗi", + "errorGeneral": "Tham số không hợp lệ hoặc hạn chế vi phạm", + "errorConnection": "Lỗi kết nối", + "errorSocket": "Lỗi kết nối trang", + "errorZero": "Can't be zero", + "userEmail": "Email", + "userPassword": "Mật khẩu", + "userAdmin": "Quản trị", + "userRemember": "Nhớ", + "userExpirationTime": "Hết hạn", + "userDeviceLimit": "Hạn chế thiết bị", + "userUserLimit": "Hạn chế người dùng", + "userDeviceReadonly": "Chỉ xem thiết bị", + "userLimitCommands": "Limit Commands", + "userDisableReports": "Disable Reports", + "userFixedEmail": "No Email Change", + "userToken": "Token", + "userDeleteAccount": "Delete Account", + "userTemporary": "Temporary", + "loginTitle": "Đăng nhập", + "loginLanguage": "Ngôn ngữ", + "loginReset": "Reset Password", + "loginRegister": "Đăng ký", + "loginLogin": "Đăng nhập", + "loginOpenId": "Login with OpenID", + "loginFailed": "Sai mật khẩu hoặc địa chỉ email", + "loginCreated": "Người dùng mới đã được đăng ký", + "loginResetSuccess": "Check your email", + "loginUpdateSuccess": "New password is set", + "loginLogout": "Đăng xuất", + "loginLogo": "Biểu tượng", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "Các thiết bị và trạng thái", + "deviceSelected": "Selected Device", + "deviceTitle": "Các thiết bị", + "devicePrimaryInfo": "Device Title", + "deviceSecondaryInfo": "Device Detail", + "deviceIdentifier": "Định danh", + "deviceModel": "Mẫu", + "deviceContact": "Liên hệ", + "deviceCategory": "Phân loại", + "deviceLastUpdate": "Cập nhật lần cuối", + "deviceCommand": "Lệnh", + "deviceFollow": "Theo dõi", + "deviceTotalDistance": "Tổng quãng đường", + "deviceStatus": "Trạng thái", + "deviceStatusOnline": "Trực tuyến", + "deviceStatusOffline": "Ngoại tuyến", + "deviceStatusUnknown": "Không xác định", + "deviceRegisterFirst": "Register your first device", + "deviceIdentifierHelp": "IMEI, serial number or other id. It has to match the identifier device reports to the server.", + "deviceShare": "Share Device", + "groupDialog": "Nhóm", + "groupParent": "Nhóm", + "groupNoGroup": "Không có nhóm", + "settingsTitle": "Cài đặt", + "settingsUser": "Tài khoản", + "settingsGroups": "Nhóm", + "settingsServer": "Máy chủ", + "settingsUsers": "Người dùng", + "settingsDistanceUnit": "Distance Unit", + "settingsAltitudeUnit": "Altitude Unit", + "settingsSpeedUnit": "Speed Unit", + "settingsVolumeUnit": "Volume Unit", + "settingsTwelveHourFormat": "Định dạng 12h", + "settingsCoordinateFormat": "Cấu chúc tọa độ", + "settingsServerVersion": "Server Version", + "settingsAppVersion": "App Version", + "settingsConnection": "Connection", + "settingsDarkMode": "Dark Mode", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "Báo cáo", + "reportScheduled": "Scheduled Reports", + "reportDevice": "Thiết bị", + "reportGroup": "Nhóm", + "reportFrom": "Từ", + "reportTo": "Đến", + "reportShow": "Hiển thị", + "reportClear": "Xóa", + "linkGoogleMaps": "Google Maps", + "linkAppleMaps": "Apple Maps", + "linkStreetView": "Street View", + "positionFixTime": "Fix Time", + "positionDeviceTime": "Device Time", + "positionServerTime": "Server Time", + "positionValid": "Có hiệu lực", + "positionAccuracy": "Chính xác", + "positionLatitude": "Vĩ độ", + "positionLongitude": "Kinh độ", + "positionAltitude": "Độ cao", + "positionSpeed": "Tốc độ", + "positionCourse": "Hướng", + "positionAddress": "Địa chỉ", + "positionProtocol": "Giao thức", + "positionDistance": "Khoảng cách", + "positionRpm": "RPM", + "positionFuel": "Nhiên liệu", + "positionPower": "Nguồn", + "positionBattery": "Pin", + "positionRaw": "Thô", + "positionIndex": "Danh mục", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "Satellites", + "positionSatVisible": "Visible Satellites", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "Roaming", + "positionEvent": "Sự kiện", + "positionAlarm": "Cảnh báo", + "positionStatus": "Trạng thái", + "positionOdometer": "Đồng hồ đo", + "positionServiceOdometer": "Đồng hồ đo", + "positionTripOdometer": "Quãng đường", + "positionHours": "Giờ", + "positionSteps": "Steps", + "positionInput": "Nhập", + "positionHeartRate": "Heart Rate", + "positionOutput": "Xuất", + "positionBatteryLevel": "Mức pin", + "positionFuelConsumption": "Tiêu thụ nhiên liệu", + "positionRfid": "RFID", + "positionVersionFw": "Phiên bản", + "positionVersionHw": "Phiên bản phần cứng", + "positionIgnition": "Máy", + "positionFlags": "Cờ", + "positionCharge": "Nạp tiền", + "positionIp": "IP", + "positionArchive": "Lưu trữ", + "positionVin": "VIN", + "positionApproximate": "Độ chính xác", + "positionThrottle": "Cổ hút", + "positionMotion": "Chuyển động", + "positionArmed": "Bật báo động", + "positionAcceleration": "Tăng tốc", + "positionTemp": "Temperature", + "positionDeviceTemp": "Nhiệt độ thiết bị", + "positionCoolantTemp": "Coolant Temperature", + "positionOperator": "Operator", + "positionCommand": "Command", + "positionBlocked": "Chặn", + "positionDtcs": "DTCs", + "positionObdSpeed": "Tốc độ OBD", + "positionObdOdometer": "Quãng đường ODB", + "positionDrivingTime": "Driving Time", + "positionDriverUniqueId": "Driver Unique Id", + "positionCard": "Card", + "positionImage": "Image", + "positionVideo": "Video", + "positionAudio": "Audio", + "serverTitle": "Cài đặt máy chủ", + "serverZoom": "Phóng to", + "serverRegistration": "Đăng ký", + "serverReadonly": "Chỉ đọc", + "serverForceSettings": "Buộc thiết lập", + "serverAnnouncement": "Announcement", + "serverName": "Server Name", + "serverDescription": "Server Description", + "serverColorPrimary": "Color Primary", + "serverColorSecondary": "Color Secondary", + "serverLogo": "Logo Image", + "serverLogoInverted": "Inverted Logo Image", + "serverChangeDisable": "Disable Server Change", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "Bản đồ", + "mapActive": "Active Maps", + "mapOverlay": "Map Overlay", + "mapOverlayCustom": "Custom Overlay", + "mapOpenSeaMap": "OpenSeaMap", + "mapOpenRailwayMap": "OpenRailwayMap", + "mapOpenWeatherKey": "OpenWeather API Key", + "mapOpenWeatherClouds": "OpenWeather Clouds", + "mapOpenWeatherPrecipitation": "OpenWeather Precipitation", + "mapOpenWeatherPressure": "OpenWeather Pressure", + "mapOpenWeatherWind": "OpenWeather Wind", + "mapOpenWeatherTemperature": "OpenWeather Temperature", + "mapLayer": "Lớp bản đồ", + "mapCustom": "Custom (XYZ)", + "mapCustomArcgis": "Custom (ArcGIS)", + "mapCustomLabel": "Custom map", + "mapCarto": "Carto Basemaps", + "mapOsm": "OpenStreetMap", + "mapGoogleRoad": "Google Road", + "mapGoogleHybrid": "Google Hybrid", + "mapGoogleSatellite": "Google Satellite", + "mapOpenTopoMap": "OpenTopoMap", + "mapBingKey": "Bing Maps Key", + "mapBingRoad": "Bing Maps Road", + "mapBingAerial": "Bing Maps Aerial", + "mapBingHybrid": "Bản đồ Bing Hybird", + "mapBaidu": "Bản đồ Baidu", + "mapAutoNavi": "AutoNavi", + "mapYandexMap": "Bản đồ Yandex", + "mapYandexSat": "Bản đồ Yandex Vệ tinh ", + "mapWikimedia": "Wikimedia", + "mapOrdnanceSurvey": "Ordnance Survey", + "mapMapboxStreets": "Mapbox Streets", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox Outdoors", + "mapMapboxSatellite": "Mapbox Satellite", + "mapMapboxKey": "Mapbox Access Token", + "mapMapTilerBasic": "MapTiler Basic", + "mapMapTilerHybrid": "MapTiler Hybrid", + "mapMapTilerKey": "MapTiler API Key", + "mapLocationIqStreets": "LocationIQ Streets", + "mapLocationIqDark": "LocationIQ Dark", + "mapLocationIqKey": "LocationIQ Access Token", + "mapTomTomBasic": "TomTom Basic", + "mapTomTomFlow": "TomTom Traffic Flow", + "mapTomTomIncidents": "TomTom Traffic Incidents", + "mapTomTomKey": "TomTom API Key", + "mapHereBasic": "Here Basic", + "mapHereHybrid": "Here Hybrid", + "mapHereSatellite": "Here Satellite", + "mapHereFlow": "Here Traffic Flow", + "mapHereKey": "Here API Key", + "mapShapePolygon": "Đa giác", + "mapShapeCircle": "Vòng tròn", + "mapShapePolyline": "Đường kẻ đa giác", + "mapLiveRoutes": "Lộ trình trực tuyến", + "mapDirection": "Show Direction", + "mapCurrentLocation": "Current Location", + "mapPoiLayer": "POI Layer", + "mapClustering": "Markers Clustering", + "mapOnSelect": "Show Map on Selection", + "mapDefault": "Default Map", + "stateTitle": "Trạng thái", + "stateName": "Thuộc tính", + "stateValue": "Giá trị", + "commandTitle": "Lệnh", + "commandSend": "Gửi", + "commandSent": "Command sent", + "commandQueued": "Command queued", + "commandUnit": "Đơn vị", + "commandCustom": "Lệnh tùy chỉnh", + "commandDeviceIdentification": "Định danh thiết bị", + "commandPositionSingle": "Báo cáo đơn", + "commandPositionPeriodic": "Báo cáo định kỳ", + "commandPositionStop": "Dừng báo cáo", + "commandEngineStop": "Tắt máy", + "commandEngineResume": "Bật máy", + "commandAlarmArm": "Báo động cho phép", + "commandAlarmDisarm": "Báo động không cho phép", + "commandAlarmDismiss": "Dismiss Alarm", + "commandSetTimezone": "Thiết lập múi giờ", + "commandRequestPhoto": "Yêu cầu ảnh", + "commandPowerOff": "Power Off Device", + "commandRebootDevice": "Khởi động lại thiết bị", + "commandFactoryReset": "Factory Reset", + "commandSendSms": "Gửi tin nhắn", + "commandSendUssd": "Gửi mã USSD", + "commandSosNumber": "Thiết lập số khẩn cấp", + "commandSilenceTime": "Thiêt lập giờ im lặng", + "commandSetPhonebook": "Thiết lập danh bạ điện thoại", + "commandVoiceMessage": "Tin nhắn thoại", + "commandOutputControl": "Điều khiển đầu ra", + "commandVoiceMonitoring": "Voice Monitoring", + "commandSetAgps": "Set AGPS", + "commandSetIndicator": "Thiết lập hiển thị", + "commandConfiguration": "Configuration", + "commandGetVersion": "Get Version", + "commandFirmwareUpdate": "Update Firmware", + "commandSetConnection": "Set Connection", + "commandSetOdometer": "Set Odometer", + "commandGetModemStatus": "Get Modem Status", + "commandGetDeviceStatus": "Get Device Status", + "commandSetSpeedLimit": "Set Speed Limit", + "commandModePowerSaving": "Power Saving Mode", + "commandModeDeepSleep": "Deep Sleep Mode", + "commandAlarmGeofence": "Set Geofence Alarm", + "commandAlarmBattery": "Set Battery Alarm", + "commandAlarmSos": "Set SOS Alarm", + "commandAlarmRemove": "Set Remove Alarm", + "commandAlarmClock": "Set Clock Alarm", + "commandAlarmSpeed": "Set Speed Alarm", + "commandAlarmFall": "Set Fall Alarm", + "commandAlarmVibration": "Set Vibration Alarm", + "commandFrequency": "Tần suất", + "commandTimezone": "Múi giờ", + "commandMessage": "Thông báo", + "commandRadius": "Radius", + "commandEnable": "Enable", + "commandData": "Dữ liệu", + "commandIndex": "Danh mục", + "commandPhone": "Số điện thoại", + "commandServer": "Server", + "commandPort": "Port", + "eventAll": "Tất cả sự kiện", + "eventDeviceOnline": "Status online", + "eventDeviceUnknown": "Status unknown", + "eventDeviceOffline": "Status offline", + "eventDeviceInactive": "Device inactive", + "eventQueuedCommandSent": "Queued command sent", + "eventDeviceMoving": "Device moving", + "eventDeviceStopped": "Device stopped", + "eventDeviceOverspeed": "Speed limit exceeded", + "eventDeviceFuelDrop": "Fuel drop", + "eventDeviceFuelIncrease": "Fuel increase", + "eventCommandResult": "Kết quả lệnh", + "eventGeofenceEnter": "Geofence entered", + "eventGeofenceExit": "Geofence exited", + "eventAlarm": "Alarm", + "eventIgnitionOn": "Ignition on", + "eventIgnitionOff": "Ignition off", + "eventMaintenance": "Yêu cầu bảo dưỡng", + "eventTextMessage": "Đã nhận tin nhắn", + "eventDriverChanged": "Driver changed", + "eventMedia": "Media", + "eventsScrollToLast": "Kéo xuống cuối", + "eventsSoundEvents": "Sound Events", + "eventsSoundAlarms": "Sound Alarms", + "alarmGeneral": "General", + "alarmSos": "SOS", + "alarmVibration": "Vibration", + "alarmMovement": "Movement", + "alarmLowspeed": "Low Speed", + "alarmOverspeed": "Overspeed", + "alarmFallDown": "Fall Down", + "alarmLowPower": "Low Power", + "alarmLowBattery": "Low Battery", + "alarmFault": "Fault", + "alarmPowerOff": "Power Off", + "alarmPowerOn": "Power On", + "alarmDoor": "Door", + "alarmLock": "Lock", + "alarmUnlock": "Unlock", + "alarmGeofence": "Geofence", + "alarmGeofenceEnter": "Geofence Enter", + "alarmGeofenceExit": "Geofence Exit", + "alarmGpsAntennaCut": "GPS Antenna Cut", + "alarmAccident": "Accident", + "alarmTow": "Tow", + "alarmIdle": "Idle", + "alarmHighRpm": "High RPM", + "alarmHardAcceleration": "Hard Acceleration", + "alarmHardBraking": "Hard Braking", + "alarmHardCornering": "Hard Cornering", + "alarmLaneChange": "Lane Change", + "alarmFatigueDriving": "Fatigue Driving", + "alarmPowerCut": "Power Cut", + "alarmPowerRestored": "Power Restored", + "alarmJamming": "Jamming", + "alarmTemperature": "Temperature", + "alarmParking": "Parking", + "alarmBonnet": "Bonnet", + "alarmFootBrake": "Foot Brake", + "alarmFuelLeak": "Fuel Leak", + "alarmTampering": "Tampering", + "alarmRemoving": "Removing", + "notificationType": "Loại thông báo", + "notificationAlways": "All Devices", + "notificationNotificators": "Channels", + "notificatorCommand": "Command", + "notificatorWeb": "Web", + "notificatorMail": "Mail", + "notificatorSms": "SMS", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "Replay", + "reportCombined": "Combined", + "reportRoute": "Lộ trình", + "reportEvents": "Sự kiện", + "reportTrips": "Hành trình", + "reportStops": "Dừng đỗ", + "reportSummary": "Sơ lược", + "reportDaily": "Daily Summary", + "reportChart": "Biểu đồ", + "reportConfigure": "Cấu hình", + "reportEventTypes": "Loại sự kiện", + "reportChartType": "Kiểu biều đồ", + "reportShowMarkers": "Hiển thị dấu", + "reportExport": "Xuất", + "reportEmail": "Email Report", + "reportSchedule": "Schedule", + "reportPeriod": "Period", + "reportCustom": "Custom", + "reportToday": "Today", + "reportYesterday": "Yesterday", + "reportThisWeek": "This Week", + "reportPreviousWeek": "Previous Week", + "reportThisMonth": "This Month", + "reportPreviousMonth": "Previous Month", + "reportDeviceName": "Tên thiết bị", + "reportAverageSpeed": "Tốc độ trung bình", + "reportMaximumSpeed": "Tốc độ cao nhất", + "reportEngineHours": "Thời gian nổ máy", + "reportDuration": "Khoảng thời gian", + "reportStartDate": "Start Date", + "reportStartTime": "Thời gian bắt đầu", + "reportStartAddress": "Địa chỉ bắt đầu", + "reportEndTime": "Thời gian kết thúc", + "reportEndAddress": "Địa chỉ kết thúc", + "reportSpentFuel": "Tiêu thụ nguyên liệu", + "reportStartOdometer": "Odometer Start", + "reportEndOdometer": "Odometer End", + "statisticsTitle": "Thống kê", + "statisticsCaptureTime": "Thời gian", + "statisticsActiveUsers": "Người dùng được kích hoạt", + "statisticsActiveDevices": "Thiết bị được kích hoạt", + "statisticsRequests": "Yêu cầu", + "statisticsMessagesReceived": "Thông báo đã nhận", + "statisticsMessagesStored": "Thông báo đã nhận", + "statisticsGeocoder": "Yêu cầu địa chỉ", + "statisticsGeolocation": "Yêu cầu địa chỉ", + "categoryArrow": "Mũi tên", + "categoryDefault": "Mặc định", + "categoryAnimal": "Vật nuôi", + "categoryBicycle": "Xe đạp", + "categoryBoat": "Tầu thuyền", + "categoryBus": "Xe buýt", + "categoryCar": "Xe con", + "categoryCamper": "Camper", + "categoryCrane": "Cần cẩu", + "categoryHelicopter": "Trực thăng", + "categoryMotorcycle": "Xe máy", + "categoryOffroad": "Offroad", + "categoryPerson": "Cá nhân", + "categoryPickup": "Pickup", + "categoryPlane": "Máy bay", + "categoryShip": "Tàu thủy", + "categoryTractor": "Máy kéo", + "categoryTrain": "Train", + "categoryTram": "Tram", + "categoryTrolleybus": "Trolleybus", + "categoryTruck": "Xe tải", + "categoryVan": "Xe thùng", + "categoryScooter": "Scooter", + "maintenanceStart": "Start", + "maintenancePeriod": "Period" +}
\ No newline at end of file diff --git a/legacy/web/l10n/zh.json b/legacy/web/l10n/zh.json new file mode 100644 index 00000000..65d9e723 --- /dev/null +++ b/legacy/web/l10n/zh.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "加载", + "sharedHide": "隐藏", + "sharedSave": "保存", + "sharedUpload": "上传", + "sharedSet": "设置", + "sharedCancel": "取消", + "sharedCopy": "复制", + "sharedAdd": "添加", + "sharedEdit": "编辑", + "sharedRemove": "删除", + "sharedRemoveConfirm": "删除选中项?", + "sharedNoData": "没有数据", + "sharedSubject": "主题", + "sharedYes": "是", + "sharedNo": "否", + "sharedKm": "千米", + "sharedMi": "英里", + "sharedNmi": "海里", + "sharedMeters": "米", + "sharedFeet": "英尺", + "sharedKn": "节", + "sharedKmh": "千米/小时", + "sharedMph": "英里/小时", + "sharedHour": "小时", + "sharedMinute": "分钟", + "sharedSecond": "秒", + "sharedDays": "天", + "sharedHours": "小时", + "sharedMinutes": "分钟", + "sharedDecimalDegrees": "度", + "sharedDegreesDecimalMinutes": "度分", + "sharedDegreesMinutesSeconds": "度分秒", + "sharedName": "名称", + "sharedDescription": "描述", + "sharedSearch": "搜索", + "sharedIconScale": "图标比例", + "sharedGeofence": "围栏", + "sharedGeofences": "围栏", + "sharedCreateGeofence": "创建围栏", + "sharedNotifications": "通知", + "sharedNotification": "通知", + "sharedAttributes": "属性", + "sharedAttribute": "属性", + "sharedDrivers": "驾驶员", + "sharedDriver": "驾驶员", + "sharedArea": "区域", + "sharedSound": "通知铃声", + "sharedType": "类型", + "sharedDistance": "里程", + "sharedHourAbbreviation": "小时", + "sharedMinuteAbbreviation": "分", + "sharedSecondAbbreviation": "秒", + "sharedVoltAbbreviation": "伏", + "sharedLiterAbbreviation": "升", + "sharedGallonAbbreviation": "加仑", + "sharedLiter": "升", + "sharedImpGallon": "英制加仑", + "sharedUsGallon": "美制加仑", + "sharedLiterPerHourAbbreviation": "升/小时", + "sharedGetMapState": "获取地图状态", + "sharedComputedAttribute": "计算属性", + "sharedComputedAttributes": "计算属性", + "sharedCheckComputedAttribute": "确认计算属性", + "sharedExpression": "表达式", + "sharedDevice": "设备", + "sharedTest": "测试", + "sharedTestNotification": "发送测试通知", + "sharedTestNotificators": "测试通道", + "sharedTestExpression": "测试表达式", + "sharedCalendar": "日历", + "sharedCalendars": "日历", + "sharedFile": "文件", + "sharedSearchDevices": "搜索设备", + "sharedSortBy": "排序方式", + "sharedFilterMap": "在地图上过滤", + "sharedSelectFile": "选择文件", + "sharedPhone": "电话", + "sharedRequired": "必填", + "sharedPreferences": "首选项", + "sharedPermissions": "权限", + "sharedConnections": "关联", + "sharedExtra": "附加", + "sharedPrimary": "设备信息首行", + "sharedSecondary": "设备信息次行", + "sharedTypeString": "字符串", + "sharedTypeNumber": "数字", + "sharedTypeBoolean": "布尔", + "sharedTimezone": "时区", + "sharedInfoTitle": "信息", + "sharedSavedCommand": "保存指令", + "sharedSavedCommands": "指令表", + "sharedNew": "新建", + "sharedShowAddress": "显示地址", + "sharedShowDetails": "详情请见", + "sharedDisabled": "禁用", + "sharedMaintenance": "维护", + "sharedDeviceAccumulators": "蓄电池", + "sharedAlarms": "警报", + "sharedLocation": "位置", + "sharedImport": "导入", + "sharedColumns": "显示列", + "sharedDropzoneText": "将文件拖放到此处或者单击", + "sharedLogs": "日志", + "sharedLink": "关联", + "calendarSimple": "简单", + "calendarRecurrence": "复现", + "calendarOnce": "单次", + "calendarDaily": "每日", + "calendarWeekly": "每周", + "calendarMonthly": "每月", + "calendarDays": "天", + "calendarSunday": "周日", + "calendarMonday": "周一", + "calendarTuesday": "周二", + "calendarWednesday": "周三", + "calendarThursday": "周四", + "calendarFriday": "周五", + "calendarSaturday": "周六", + "attributeShowGeofences": "显示围栏", + "attributeSpeedLimit": "速度限制", + "attributeFuelDropThreshold": "燃油下降阈值", + "attributeFuelIncreaseThreshold": "燃油增加阈值", + "attributePolylineDistance": "折线里程", + "attributeReportIgnoreOdometer": "报告:忽略里程表", + "attributeWebReportColor": "网页:报告颜色", + "attributeDevicePassword": "设备密码", + "attributeDeviceImage": "设备图片", + "attributeDeviceInactivityStart": "设备无响应起始", + "attributeDeviceInactivityPeriod": "设备无响应时段", + "attributeProcessingCopyAttributes": "处理中:复制属性", + "attributeColor": "颜色", + "attributeWebLiveRouteLength": "网页:活动路径长度", + "attributeWebSelectZoom": "网页:缩放选择项", + "attributeWebMaxZoom": "网页:最大的缩放", + "attributeTelegramChatId": "Telegram 账号", + "attributePushoverUserKey": "Pushover 用户密钥", + "attributePushoverDeviceNames": "Pushover 设备名称", + "attributeMailSmtpHost": "邮件:SMTP 主机", + "attributeMailSmtpPort": "邮件:SMTP 端口", + "attributeMailSmtpStarttlsEnable": "邮件:SMTP STARTTLS 开启", + "attributeMailSmtpStarttlsRequired": "邮件:SMTP STARTTLS 必填", + "attributeMailSmtpSslEnable": "邮件:SMTP SSL 开启", + "attributeMailSmtpSslTrust": "邮件:SMTP SSL 信任", + "attributeMailSmtpSslProtocols": "邮件:SMTP SSL 协议", + "attributeMailSmtpFrom": "邮件:SMTP 来源", + "attributeMailSmtpAuth": "邮件:SMTP 认证开启", + "attributeMailSmtpUsername": "邮件:SMTP 用户名", + "attributeMailSmtpPassword": "邮件:SMTP 密码", + "attributeUiDisableSavedCommands": "用户界面:禁用已保存的命令", + "attributeUiDisableAttributes": "用户界面:禁用属性", + "attributeUiDisableGroups": "用户界面:禁用分组", + "attributeUiDisableEvents": "用户界面:禁用事件", + "attributeUiDisableVehicleFeatures": "用户界面:禁用车辆功能", + "attributeUiDisableDrivers": "用户界面:禁用驾驶员", + "attributeUiDisableComputedAttributes": "用户界面:禁用计算属性", + "attributeUiDisableCalendars": "用户界面:禁用日历", + "attributeUiDisableMaintenance": "用户界面:禁用维护", + "attributeUiHidePositionAttributes": "用户界面:隐藏位置属性", + "attributeUiDisableLoginLanguage": "用户界面:禁用登录语言", + "attributeNotificationTokens": "通知令牌", + "attributePopupInfo": "卡片信息", + "errorTitle": "错误", + "errorGeneral": "无效参数", + "errorConnection": "连接错误", + "errorSocket": "网络通讯错误", + "errorZero": "不能为零", + "userEmail": "邮箱", + "userPassword": "密码", + "userAdmin": "管理员", + "userRemember": "记住密码", + "userExpirationTime": "失效日期", + "userDeviceLimit": "设备限制", + "userUserLimit": "用户限制", + "userDeviceReadonly": "设备只读", + "userLimitCommands": "禁用指令", + "userDisableReports": "禁用报表", + "userFixedEmail": "禁止更改邮箱", + "userToken": "令牌", + "userDeleteAccount": "删除账户", + "userTemporary": "暂时", + "loginTitle": "登录", + "loginLanguage": "语言", + "loginReset": "密码重设", + "loginRegister": "注册", + "loginLogin": "登录", + "loginOpenId": "以开放 ID 登录", + "loginFailed": "邮箱或密码错误", + "loginCreated": "新用户已注册成功", + "loginResetSuccess": "查看您的电子邮件", + "loginUpdateSuccess": "密码已重置", + "loginLogout": "注销", + "loginLogo": "图标", + "loginTotpCode": "一次性密码", + "loginTotpKey": "一次性密码密钥", + "devicesAndState": "设备和状态", + "deviceSelected": "已选设备", + "deviceTitle": "设备", + "devicePrimaryInfo": "设备名称", + "deviceSecondaryInfo": "设备详情", + "deviceIdentifier": "标识符", + "deviceModel": "型号", + "deviceContact": "联系人", + "deviceCategory": "类别", + "deviceLastUpdate": "最后更新时间", + "deviceCommand": "指令", + "deviceFollow": "跟随设备", + "deviceTotalDistance": "总里程", + "deviceStatus": "状态", + "deviceStatusOnline": "在线", + "deviceStatusOffline": "离线", + "deviceStatusUnknown": "未知", + "deviceRegisterFirst": "注册您的第一台设备", + "deviceIdentifierHelp": "IMEI、序列号或其他 ID。它必须匹配报告给服务器的设备标识符。", + "deviceShare": "共享设备", + "groupDialog": "分组", + "groupParent": "分组", + "groupNoGroup": "未分组", + "settingsTitle": "设置", + "settingsUser": "账户", + "settingsGroups": "分组", + "settingsServer": "服务器", + "settingsUsers": "用户", + "settingsDistanceUnit": "里程单位", + "settingsAltitudeUnit": "海拔单位", + "settingsSpeedUnit": "速度单位", + "settingsVolumeUnit": "体积单位", + "settingsTwelveHourFormat": "12 小时制", + "settingsCoordinateFormat": "坐标格式", + "settingsServerVersion": "服务器版本", + "settingsAppVersion": "应用版本", + "settingsConnection": "连接", + "settingsDarkMode": "深色模式", + "settingsTotpEnable": "启用一次性密码", + "settingsTotpForce": "强制使用一次性密码", + "settingsServiceWorkerUpdateInterval": "服务线程更新间隔", + "settingsUpdateAvailable": "有可用更新。", + "settingsSupport": "支持", + "reportTitle": "报表", + "reportScheduled": "预定报告", + "reportDevice": "设备", + "reportGroup": "分组", + "reportFrom": "起始", + "reportTo": "结束", + "reportShow": "查询", + "reportClear": "清空", + "linkGoogleMaps": "谷歌地图", + "linkAppleMaps": "苹果地图", + "linkStreetView": "街景", + "positionFixTime": "修正时间", + "positionDeviceTime": "设备时间", + "positionServerTime": "服务器时间", + "positionValid": "有效", + "positionAccuracy": "精度", + "positionLatitude": "纬度", + "positionLongitude": "经度", + "positionAltitude": "海拔", + "positionSpeed": "速度", + "positionCourse": "行驶方向", + "positionAddress": "地址", + "positionProtocol": "协议", + "positionDistance": "里程", + "positionRpm": "转速", + "positionFuel": "燃油", + "positionPower": "电源", + "positionBattery": "电池", + "positionRaw": "原生数据", + "positionIndex": "索引", + "positionHdop": "水平精度", + "positionVdop": "垂直精度", + "positionPdop": "位置精度", + "positionSat": "卫星", + "positionSatVisible": "可见卫星", + "positionRssi": "接收信号强度", + "positionGps": "全球定位系统", + "positionRoaming": "漫游", + "positionEvent": "事件", + "positionAlarm": "警报", + "positionStatus": "状态", + "positionOdometer": "里程表", + "positionServiceOdometer": "服务里程表", + "positionTripOdometer": "行程里程表", + "positionHours": "小时", + "positionSteps": "步骤", + "positionInput": "输入", + "positionHeartRate": "心率", + "positionOutput": "输出", + "positionBatteryLevel": "电池电量", + "positionFuelConsumption": "油耗", + "positionRfid": "射频识别", + "positionVersionFw": "固件版本", + "positionVersionHw": "硬件版本", + "positionIgnition": "点火", + "positionFlags": "标记", + "positionCharge": "充电", + "positionIp": "IP 地址", + "positionArchive": "档案", + "positionVin": "车辆识别码", + "positionApproximate": "近似值", + "positionThrottle": "油门", + "positionMotion": "移动", + "positionArmed": "Armed", + "positionAcceleration": "加速度", + "positionTemp": "温度", + "positionDeviceTemp": "设备温度", + "positionCoolantTemp": "冷却液温度", + "positionOperator": "操作员", + "positionCommand": "指令", + "positionBlocked": "屏蔽", + "positionDtcs": "双离合变速箱", + "positionObdSpeed": "OBD 速度", + "positionObdOdometer": "OBD 里程表", + "positionDrivingTime": "行驶时间", + "positionDriverUniqueId": "驾驶员独有 ID", + "positionCard": "卡片", + "positionImage": "图片", + "positionVideo": "视频", + "positionAudio": "音频", + "serverTitle": "服务器设置", + "serverZoom": "缩放", + "serverRegistration": "注册", + "serverReadonly": "只读", + "serverForceSettings": "强制设置", + "serverAnnouncement": "公告", + "serverName": "服务器名称", + "serverDescription": "服务器描述", + "serverColorPrimary": "首选颜色", + "serverColorSecondary": "次选颜色", + "serverLogo": "标识图片", + "serverLogoInverted": "倒置标识图片", + "serverChangeDisable": "禁用服务器更改", + "serverDisableShare": "禁用设备共享", + "mapTitle": "地图", + "mapActive": "已选地图", + "mapOverlay": "地图叠层", + "mapOverlayCustom": "自定义叠层", + "mapOpenSeaMap": "开放海洋地图", + "mapOpenRailwayMap": "开放铁路地图", + "mapOpenWeatherKey": "开放气候API密钥", + "mapOpenWeatherClouds": "开放气候云层图", + "mapOpenWeatherPrecipitation": "开放气候降水图", + "mapOpenWeatherPressure": "开放气候气压图", + "mapOpenWeatherWind": "开放气候风力图", + "mapOpenWeatherTemperature": "开放气候气温图", + "mapLayer": "地图图层", + "mapCustom": "自定义 (XYZ)", + "mapCustomArcgis": "自定义 (ArcGIS)", + "mapCustomLabel": "自定义地图", + "mapCarto": "Carto 基础地图", + "mapOsm": "开放街景地图", + "mapGoogleRoad": "谷歌道路地图", + "mapGoogleHybrid": "谷歌混合地图", + "mapGoogleSatellite": "谷歌卫星地图", + "mapOpenTopoMap": "OpenTopo 地图", + "mapBingKey": "必应地图密钥", + "mapBingRoad": "必应公路地图", + "mapBingAerial": "必应航测地图", + "mapBingHybrid": "必应混合地图", + "mapBaidu": "百度地图", + "mapAutoNavi": " 高德地图", + "mapYandexMap": "Yandex 地图", + "mapYandexSat": "Yandex 卫星地图", + "mapWikimedia": "维基媒体", + "mapOrdnanceSurvey": " 全国地形测量", + "mapMapboxStreets": "Mapbox 街道", + "mapMapboxStreetsDark": "Mapbox 深色街图", + "mapMapboxOutdoors": "Mapbox 外景", + "mapMapboxSatellite": "Mapbox 卫星地图", + "mapMapboxKey": "Mapbox 访问令牌", + "mapMapTilerBasic": "MapTiler 基础地图", + "mapMapTilerHybrid": "MapTiler 混合地图", + "mapMapTilerKey": "MapTiler API 密钥", + "mapLocationIqStreets": "LocationIQ 街道地图", + "mapLocationIqDark": "LocationIQ 深色地图", + "mapLocationIqKey": "LocationIQ 访问令牌", + "mapTomTomBasic": "TomTom 基础地图", + "mapTomTomFlow": "TomTom 交通路况", + "mapTomTomIncidents": "TomTom 交通事故", + "mapTomTomKey": "TomTom API 密钥", + "mapHereBasic": "Here 基础地图", + "mapHereHybrid": "Here 混合地图", + "mapHereSatellite": "Here 卫星地图", + "mapHereFlow": "Here 交通路况", + "mapHereKey": "Here API 密钥", + "mapShapePolygon": "多边形", + "mapShapeCircle": "圆形", + "mapShapePolyline": "多段线", + "mapLiveRoutes": "移动轨迹", + "mapDirection": "显示方向", + "mapCurrentLocation": "当前位置", + "mapPoiLayer": "兴趣点图层", + "mapClustering": "合并车辆标记", + "mapOnSelect": "显示地图选项", + "mapDefault": "默认地图", + "stateTitle": "状态", + "stateName": "参数", + "stateValue": "值", + "commandTitle": "指令", + "commandSend": "发送", + "commandSent": "指令已发送", + "commandQueued": "指令已排队", + "commandUnit": "单位", + "commandCustom": "自定义指令", + "commandDeviceIdentification": "设备标识", + "commandPositionSingle": "单个报告", + "commandPositionPeriodic": "定期报告", + "commandPositionStop": "停止报告", + "commandEngineStop": "引擎熄火", + "commandEngineResume": "引擎重启", + "commandAlarmArm": "部署警报", + "commandAlarmDisarm": "解除警报", + "commandAlarmDismiss": "消除警报", + "commandSetTimezone": "设置时区", + "commandRequestPhoto": "请求图片", + "commandPowerOff": "关闭设备", + "commandRebootDevice": "重启设备", + "commandFactoryReset": "恢复出厂设置", + "commandSendSms": "发送短信", + "commandSendUssd": "发送 USSD", + "commandSosNumber": "设置 SOS 号码", + "commandSilenceTime": "设置静音时间", + "commandSetPhonebook": "设置通讯录", + "commandVoiceMessage": "语音信息", + "commandOutputControl": "输出控制", + "commandVoiceMonitoring": "语音监控", + "commandSetAgps": "设置 AGPS", + "commandSetIndicator": "设置指示器", + "commandConfiguration": "配置", + "commandGetVersion": "获取版本", + "commandFirmwareUpdate": "更新固件", + "commandSetConnection": "设置连接", + "commandSetOdometer": "设置里程表", + "commandGetModemStatus": "获取调制解调器状态", + "commandGetDeviceStatus": "获取设备状态", + "commandSetSpeedLimit": "设置速度限制", + "commandModePowerSaving": "节能模式", + "commandModeDeepSleep": "睡眠模式", + "commandAlarmGeofence": "设置围栏警报", + "commandAlarmBattery": "设置电池警报", + "commandAlarmSos": "设置 SOS 警报", + "commandAlarmRemove": "设置删除警报", + "commandAlarmClock": "设置时钟警报", + "commandAlarmSpeed": "设置速度警报", + "commandAlarmFall": "设置跌落警报", + "commandAlarmVibration": "设置振动警报", + "commandFrequency": "频率", + "commandTimezone": "时区偏移", + "commandMessage": "消息", + "commandRadius": "半径", + "commandEnable": "开启", + "commandData": "日期", + "commandIndex": "索引", + "commandPhone": "电话号码", + "commandServer": "服务器", + "commandPort": "端口", + "eventAll": "所有事件", + "eventDeviceOnline": "在线状态", + "eventDeviceUnknown": "未知状态", + "eventDeviceOffline": "离线状态", + "eventDeviceInactive": "设备无响应", + "eventQueuedCommandSent": "已发送命令队列", + "eventDeviceMoving": "设备移动中", + "eventDeviceStopped": "设备已停止", + "eventDeviceOverspeed": "超速限制", + "eventDeviceFuelDrop": "燃油下降", + "eventDeviceFuelIncrease": "燃油增加", + "eventCommandResult": "指令结果", + "eventGeofenceEnter": "进入围栏", + "eventGeofenceExit": "离开围栏", + "eventAlarm": "警报", + "eventIgnitionOn": "点火", + "eventIgnitionOff": "熄火", + "eventMaintenance": "需要维护", + "eventTextMessage": "已接收文本信息", + "eventDriverChanged": "驾驶员变更", + "eventMedia": "媒体", + "eventsScrollToLast": "移至最后", + "eventsSoundEvents": "事件铃声", + "eventsSoundAlarms": "报警铃声", + "alarmGeneral": "通常", + "alarmSos": "求救", + "alarmVibration": "振动", + "alarmMovement": "移动", + "alarmLowspeed": "低速", + "alarmOverspeed": "超速", + "alarmFallDown": "跌落", + "alarmLowPower": "低功率", + "alarmLowBattery": "低电量", + "alarmFault": "故障", + "alarmPowerOff": "关闭电源", + "alarmPowerOn": "开启电源", + "alarmDoor": "门", + "alarmLock": "锁定", + "alarmUnlock": "解锁", + "alarmGeofence": "围栏", + "alarmGeofenceEnter": "进入围栏", + "alarmGeofenceExit": "离开围栏", + "alarmGpsAntennaCut": "GPS 天线断开", + "alarmAccident": "事故", + "alarmTow": "拖", + "alarmIdle": "空转", + "alarmHighRpm": "高转速", + "alarmHardAcceleration": "急加速", + "alarmHardBraking": "急刹车", + "alarmHardCornering": "急转弯", + "alarmLaneChange": "车道改变", + "alarmFatigueDriving": "疲劳驾驶", + "alarmPowerCut": "断电", + "alarmPowerRestored": "电源恢复", + "alarmJamming": "干扰", + "alarmTemperature": "温度", + "alarmParking": "停车中", + "alarmBonnet": "阀盖", + "alarmFootBrake": "脚踏制动器", + "alarmFuelLeak": "燃油泄漏", + "alarmTampering": "干预", + "alarmRemoving": "移除中", + "notificationType": "通知类型", + "notificationAlways": "所有设备", + "notificationNotificators": "通道", + "notificatorCommand": "命令", + "notificatorWeb": "网页", + "notificatorMail": "邮件", + "notificatorSms": "短信", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram 账号", + "notificatorPushover": "Pushover", + "reportReplay": "轨迹回放", + "reportCombined": "组合", + "reportRoute": "轨迹", + "reportEvents": "事件", + "reportTrips": "行程", + "reportStops": "停留点", + "reportSummary": "总览", + "reportDaily": "每日汇报", + "reportChart": "图表", + "reportConfigure": "筛选", + "reportEventTypes": "事件类型", + "reportChartType": "图表类型", + "reportShowMarkers": "显示图标", + "reportExport": "导出", + "reportEmail": "邮件发送", + "reportSchedule": "工作计划", + "reportPeriod": "时段", + "reportCustom": "自定义", + "reportToday": "今天", + "reportYesterday": "昨天", + "reportThisWeek": "本周", + "reportPreviousWeek": "上周", + "reportThisMonth": "本月", + "reportPreviousMonth": "上月", + "reportDeviceName": "设备名称", + "reportAverageSpeed": "平均速度", + "reportMaximumSpeed": "最大速度", + "reportEngineHours": "发动机使用时间", + "reportDuration": "持续时间", + "reportStartDate": "开始日期", + "reportStartTime": "开始时间", + "reportStartAddress": "开始地址", + "reportEndTime": "结束时间", + "reportEndAddress": "结束地址", + "reportSpentFuel": "燃油消耗", + "reportStartOdometer": "起始里程", + "reportEndOdometer": "结束里程", + "statisticsTitle": "统计", + "statisticsCaptureTime": "获取时间", + "statisticsActiveUsers": "活动用户", + "statisticsActiveDevices": "活动设备", + "statisticsRequests": "请求", + "statisticsMessagesReceived": "已收到消息", + "statisticsMessagesStored": "已存储消息", + "statisticsGeocoder": "地理编码请求", + "statisticsGeolocation": "地理定位请求", + "categoryArrow": "箭头", + "categoryDefault": "默认", + "categoryAnimal": "动物", + "categoryBicycle": "单车", + "categoryBoat": "船只", + "categoryBus": "巴士", + "categoryCar": "汽车", + "categoryCamper": "露营车", + "categoryCrane": "起重机", + "categoryHelicopter": "直升机", + "categoryMotorcycle": "摩托车", + "categoryOffroad": "越野车", + "categoryPerson": "人员", + "categoryPickup": "皮卡", + "categoryPlane": "飞机", + "categoryShip": "游轮", + "categoryTractor": "拖拉机", + "categoryTrain": "火车", + "categoryTram": "有轨电车", + "categoryTrolleybus": "无轨电车", + "categoryTruck": "卡车", + "categoryVan": "厢式货车", + "categoryScooter": "小型摩托车", + "maintenanceStart": "开启", + "maintenancePeriod": "时段" +}
\ No newline at end of file diff --git a/legacy/web/l10n/zh_TW.json b/legacy/web/l10n/zh_TW.json new file mode 100644 index 00000000..10cb88a8 --- /dev/null +++ b/legacy/web/l10n/zh_TW.json @@ -0,0 +1,600 @@ +{ + "sharedLoading": "讀取資料中……", + "sharedHide": "隱藏", + "sharedSave": "存檔", + "sharedUpload": "上傳", + "sharedSet": "設定", + "sharedCancel": "取消", + "sharedCopy": "Copy", + "sharedAdd": "新增", + "sharedEdit": "編輯", + "sharedRemove": "移除", + "sharedRemoveConfirm": "確認要移除嗎?", + "sharedNoData": "沒有資料", + "sharedSubject": "Subject", + "sharedYes": "是", + "sharedNo": "否", + "sharedKm": "公里", + "sharedMi": "英里", + "sharedNmi": "海里", + "sharedMeters": "米", + "sharedFeet": "英尺", + "sharedKn": "節", + "sharedKmh": "公里/小時", + "sharedMph": "英里/小時", + "sharedHour": "小時", + "sharedMinute": "分鐘", + "sharedSecond": "秒", + "sharedDays": "天", + "sharedHours": "小時", + "sharedMinutes": "分鐘", + "sharedDecimalDegrees": "度", + "sharedDegreesDecimalMinutes": "分", + "sharedDegreesMinutesSeconds": "秒", + "sharedName": "名稱", + "sharedDescription": "描述", + "sharedSearch": "搜尋", + "sharedIconScale": "圖標比例", + "sharedGeofence": "地理圍籬", + "sharedGeofences": "地理圍籬", + "sharedCreateGeofence": "建立地理圍籬", + "sharedNotifications": "通知", + "sharedNotification": "通知", + "sharedAttributes": "屬性", + "sharedAttribute": "屬性", + "sharedDrivers": "駕駛", + "sharedDriver": "駕駛", + "sharedArea": "區域", + "sharedSound": "通知音效", + "sharedType": "類型", + "sharedDistance": "距離", + "sharedHourAbbreviation": "時", + "sharedMinuteAbbreviation": "分", + "sharedSecondAbbreviation": "秒", + "sharedVoltAbbreviation": "伏特", + "sharedLiterAbbreviation": "公升", + "sharedGallonAbbreviation": "加侖", + "sharedLiter": "升", + "sharedImpGallon": "英制加侖", + "sharedUsGallon": "美制加侖", + "sharedLiterPerHourAbbreviation": "公升/小時", + "sharedGetMapState": "取得地圖狀態", + "sharedComputedAttribute": "計算屬性", + "sharedComputedAttributes": "計算屬性", + "sharedCheckComputedAttribute": "檢查計算屬性", + "sharedExpression": "表示式", + "sharedDevice": "設備", + "sharedTest": "測試", + "sharedTestNotification": "傳送測試通知", + "sharedTestNotificators": "測試頻道", + "sharedTestExpression": "測試表示式", + "sharedCalendar": "日曆", + "sharedCalendars": "日曆", + "sharedFile": "檔案", + "sharedSearchDevices": "搜尋設備", + "sharedSortBy": "排序方式", + "sharedFilterMap": "在地圖上篩選", + "sharedSelectFile": "選擇檔案", + "sharedPhone": "手機", + "sharedRequired": "必需", + "sharedPreferences": "偏好", + "sharedPermissions": "權限", + "sharedConnections": "關聯", + "sharedExtra": "更多", + "sharedPrimary": "首要", + "sharedSecondary": "次要", + "sharedTypeString": "字串", + "sharedTypeNumber": "整數", + "sharedTypeBoolean": "布林值", + "sharedTimezone": "時區", + "sharedInfoTitle": "資訊", + "sharedSavedCommand": "儲存指令", + "sharedSavedCommands": "儲存指令", + "sharedNew": "新建", + "sharedShowAddress": "顯示地址", + "sharedShowDetails": "詳情請見", + "sharedDisabled": "關閉", + "sharedMaintenance": "保養", + "sharedDeviceAccumulators": "累加器", + "sharedAlarms": "警告", + "sharedLocation": "位置", + "sharedImport": "接入", + "sharedColumns": "列", + "sharedDropzoneText": "將文件拖放到此處或者點擊", + "sharedLogs": "Logs", + "sharedLink": "Link", + "calendarSimple": "簡單", + "calendarRecurrence": "復現", + "calendarOnce": "僅一次", + "calendarDaily": "每日", + "calendarWeekly": "每週", + "calendarMonthly": "每月", + "calendarDays": "天", + "calendarSunday": "周日", + "calendarMonday": "周一", + "calendarTuesday": "周二", + "calendarWednesday": "周三", + "calendarThursday": "周四", + "calendarFriday": "周五", + "calendarSaturday": "周六", + "attributeShowGeofences": "顯示地理圍籬", + "attributeSpeedLimit": "速限", + "attributeFuelDropThreshold": "燃油下降閾值", + "attributeFuelIncreaseThreshold": "燃料增加閾值", + "attributePolylineDistance": "折線距離", + "attributeReportIgnoreOdometer": "報告:忽略里程表", + "attributeWebReportColor": "網頁:報告顏色", + "attributeDevicePassword": "設備密碼", + "attributeDeviceImage": "設備圖片", + "attributeDeviceInactivityStart": "設備無回應起始", + "attributeDeviceInactivityPeriod": "設備無回應期間", + "attributeProcessingCopyAttributes": "處理中:複製屬性", + "attributeColor": "顏色", + "attributeWebLiveRouteLength": "網頁:即時軌跡長度", + "attributeWebSelectZoom": "網頁:選擇縮放等級", + "attributeWebMaxZoom": "網頁∶最大縮放", + "attributeTelegramChatId": "Telegram帳號", + "attributePushoverUserKey": "Pushover用戶密鑰", + "attributePushoverDeviceNames": "Pushover設備名稱", + "attributeMailSmtpHost": "電子郵件:SMTP 主機", + "attributeMailSmtpPort": "電子郵件:SMTP 埠口", + "attributeMailSmtpStarttlsEnable": "電子郵件:啟用 SMTP STARTTLS", + "attributeMailSmtpStarttlsRequired": "電子郵件:需要 SMTP STARTTLS", + "attributeMailSmtpSslEnable": "電子郵件:啟用 SMTP SSL", + "attributeMailSmtpSslTrust": "電子郵件:信任 SMTP SSL", + "attributeMailSmtpSslProtocols": "電子郵件:SMTP SSL 協定", + "attributeMailSmtpFrom": "電子郵件:SMTP 來源", + "attributeMailSmtpAuth": "電子郵件:啟用 SMTP 認證", + "attributeMailSmtpUsername": "電子郵件:SMTP 用戶名稱", + "attributeMailSmtpPassword": "電子郵件:SMTP 密碼", + "attributeUiDisableSavedCommands": "UI: Disable Saved Commands", + "attributeUiDisableAttributes": "用戶界面:禁用屬性", + "attributeUiDisableGroups": "用戶界面:禁用分組", + "attributeUiDisableEvents": "用戶界面:禁用事件", + "attributeUiDisableVehicleFeatures": "UI: Disable Vehicle Features", + "attributeUiDisableDrivers": "用戶界面:禁用駕駛員", + "attributeUiDisableComputedAttributes": "用戶界面:禁用計算屬性", + "attributeUiDisableCalendars": "用戶界面:禁用日曆", + "attributeUiDisableMaintenance": "用戶界面:禁用保養", + "attributeUiHidePositionAttributes": "用戶界面:隱藏位置屬性", + "attributeUiDisableLoginLanguage": "用戶界面:禁用登入語言", + "attributeNotificationTokens": "通知令牌", + "attributePopupInfo": "資訊卡", + "errorTitle": "錯誤", + "errorGeneral": "非法的參數或違反限制", + "errorConnection": "連線錯誤", + "errorSocket": "網頁接口連線錯誤", + "errorZero": "不能為零", + "userEmail": "電子郵件", + "userPassword": "密碼", + "userAdmin": "管理員", + "userRemember": "記住密碼", + "userExpirationTime": "有效期限", + "userDeviceLimit": "設備限制", + "userUserLimit": "用戶限制", + "userDeviceReadonly": "唯讀設備", + "userLimitCommands": "禁用指令", + "userDisableReports": "禁用報表", + "userFixedEmail": "禁止更改電子郵件", + "userToken": "簽證", + "userDeleteAccount": "刪除帳號", + "userTemporary": "Temporary", + "loginTitle": "登入", + "loginLanguage": "語言", + "loginReset": "密碼重設", + "loginRegister": "註冊", + "loginLogin": "登入", + "loginOpenId": "使用 OpenID 登入", + "loginFailed": "錯誤的電子信箱地址或密碼", + "loginCreated": "已成功註冊新用戶", + "loginResetSuccess": "郵件查詢", + "loginUpdateSuccess": "新密碼已重置", + "loginLogout": "登出", + "loginLogo": "標識", + "loginTotpCode": "One-time Password Code", + "loginTotpKey": "One-time Password Key", + "devicesAndState": "設備與狀態", + "deviceSelected": "已選定的設備", + "deviceTitle": "設備", + "devicePrimaryInfo": "設備標題", + "deviceSecondaryInfo": "設備詳情", + "deviceIdentifier": "識別號碼", + "deviceModel": "型號", + "deviceContact": "聯絡人", + "deviceCategory": "分類", + "deviceLastUpdate": "最近更新", + "deviceCommand": "命令", + "deviceFollow": "跟隨", + "deviceTotalDistance": "總距離", + "deviceStatus": "狀態", + "deviceStatusOnline": "上線", + "deviceStatusOffline": "下線", + "deviceStatusUnknown": "未知", + "deviceRegisterFirst": "註冊您的首個設備", + "deviceIdentifierHelp": "IMEI、序列號或其他 ID。必須與設備回報到伺服器的識別碼相同。", + "deviceShare": "Share Device", + "groupDialog": "群組", + "groupParent": "上層群組", + "groupNoGroup": "無所屬群組", + "settingsTitle": "設定", + "settingsUser": "用戶", + "settingsGroups": "群組", + "settingsServer": "伺服器", + "settingsUsers": "用戶", + "settingsDistanceUnit": "距離單位", + "settingsAltitudeUnit": "高度單位", + "settingsSpeedUnit": "速度單位", + "settingsVolumeUnit": "體積單位", + "settingsTwelveHourFormat": "十二小時制", + "settingsCoordinateFormat": "座標格式", + "settingsServerVersion": "服務器版本", + "settingsAppVersion": "應用版本", + "settingsConnection": "連接", + "settingsDarkMode": "夜間模式", + "settingsTotpEnable": "Enable One-time Password", + "settingsTotpForce": "Force One-time Password", + "settingsServiceWorkerUpdateInterval": "ServiceWorker Update Interval", + "settingsUpdateAvailable": "There is an update available.", + "settingsSupport": "Support", + "reportTitle": "報告", + "reportScheduled": "已排程的報告", + "reportDevice": "設備", + "reportGroup": "群組", + "reportFrom": "開始", + "reportTo": "至", + "reportShow": "顯示", + "reportClear": "清空", + "linkGoogleMaps": "Google 地圖", + "linkAppleMaps": "蘋果地圖", + "linkStreetView": "街景", + "positionFixTime": "定位時間", + "positionDeviceTime": "設備時間", + "positionServerTime": "伺服器時間", + "positionValid": "有效", + "positionAccuracy": "精準度", + "positionLatitude": "緯度", + "positionLongitude": "經度", + "positionAltitude": "海拔", + "positionSpeed": "速率", + "positionCourse": "方向", + "positionAddress": "地址", + "positionProtocol": "協定", + "positionDistance": "距離", + "positionRpm": "轉速", + "positionFuel": "燃油", + "positionPower": "電源", + "positionBattery": "電池", + "positionRaw": "Raw", + "positionIndex": "索引", + "positionHdop": "HDOP", + "positionVdop": "VDOP", + "positionPdop": "PDOP", + "positionSat": "衛星", + "positionSatVisible": "可見衛星", + "positionRssi": "RSSI", + "positionGps": "GPS", + "positionRoaming": "漫遊", + "positionEvent": "事件", + "positionAlarm": "提醒", + "positionStatus": "狀態", + "positionOdometer": "里程表", + "positionServiceOdometer": "伺服器里程表", + "positionTripOdometer": "旅程里程表", + "positionHours": "小時", + "positionSteps": "步驟", + "positionInput": "輸入", + "positionHeartRate": "心跳", + "positionOutput": "輸出", + "positionBatteryLevel": "電池計量", + "positionFuelConsumption": "燃油消耗", + "positionRfid": "RFID", + "positionVersionFw": "韌體版本", + "positionVersionHw": "更體版本", + "positionIgnition": "點火", + "positionFlags": "旗標", + "positionCharge": "充電", + "positionIp": "IP", + "positionArchive": "車籍", + "positionVin": "車輛識別號碼", + "positionApproximate": "約", + "positionThrottle": "油門", + "positionMotion": "移動", + "positionArmed": "警報", + "positionAcceleration": "加速", + "positionTemp": "溫度", + "positionDeviceTemp": "設備溫度", + "positionCoolantTemp": "水冷液溫度", + "positionOperator": "司機", + "positionCommand": "命令", + "positionBlocked": "已封鎖", + "positionDtcs": "動態扭力控制", + "positionObdSpeed": "車上診斷系統速率", + "positionObdOdometer": "車上診斷系統里程表", + "positionDrivingTime": "行駛時間", + "positionDriverUniqueId": "駕駛唯一識別號碼", + "positionCard": "卡片", + "positionImage": "圖片", + "positionVideo": "影片", + "positionAudio": "音頻", + "serverTitle": "伺服器設定", + "serverZoom": "縮放", + "serverRegistration": "註冊", + "serverReadonly": "唯讀", + "serverForceSettings": "強制覆寫設定", + "serverAnnouncement": "公告", + "serverName": "伺服器名稱", + "serverDescription": "伺服器描述", + "serverColorPrimary": "主顏色", + "serverColorSecondary": "次顏色", + "serverLogo": "Logo 圖片", + "serverLogoInverted": "倒置 Logo 圖片", + "serverChangeDisable": "禁改伺服器", + "serverDisableShare": "Disable Device Sharing", + "mapTitle": "地圖", + "mapActive": "啟用地圖", + "mapOverlay": "地圖疊層", + "mapOverlayCustom": "自定義疊層", + "mapOpenSeaMap": "OpenSea地圖", + "mapOpenRailwayMap": "鐵路地圖", + "mapOpenWeatherKey": "OpenWeather API密鑰", + "mapOpenWeatherClouds": "OpenWeather雲層圖", + "mapOpenWeatherPrecipitation": "OpenWeather降水圖", + "mapOpenWeatherPressure": "OpenWeather氣壓圖", + "mapOpenWeatherWind": "OpenWeather 風力圖", + "mapOpenWeatherTemperature": "OpenWeather氣溫圖", + "mapLayer": "地圖圖層", + "mapCustom": "自定義(XYZ)", + "mapCustomArcgis": "自定義(ArcGIS)", + "mapCustomLabel": "自定義地圖", + "mapCarto": "CARTO 地圖", + "mapOsm": "OpenStreet地圖", + "mapGoogleRoad": "Google 道路地圖", + "mapGoogleHybrid": "Google 混合地圖", + "mapGoogleSatellite": "Google 衛星地圖", + "mapOpenTopoMap": "OpenTopo地圖", + "mapBingKey": "Bing 地圖金鑰", + "mapBingRoad": "Bing 道路地圖", + "mapBingAerial": "Bing 空照圖地圖", + "mapBingHybrid": "Bing 溫合地圖", + "mapBaidu": "百度", + "mapAutoNavi": "高德地圖", + "mapYandexMap": "Yandex 地圖", + "mapYandexSat": "Yandex 衛星", + "mapWikimedia": "維基百科", + "mapOrdnanceSurvey": "英國地形測量局", + "mapMapboxStreets": "Mapbox 街道", + "mapMapboxStreetsDark": "Mapbox Streets Dark", + "mapMapboxOutdoors": "Mapbox 外景", + "mapMapboxSatellite": "Mapbox 衛星地圖", + "mapMapboxKey": "Maxbox 訪問令牌", + "mapMapTilerBasic": "MapTiler基礎地圖", + "mapMapTilerHybrid": "MapTiler混合地圖", + "mapMapTilerKey": "MapTiler API密鑰", + "mapLocationIqStreets": "LocationIQ街道地圖", + "mapLocationIqDark": "LocationIQ 黑主題", + "mapLocationIqKey": "LocationIQ訪問指令牌", + "mapTomTomBasic": "TomTom基礎地圖", + "mapTomTomFlow": "TomTom交通路況", + "mapTomTomIncidents": "TomTom交通事故", + "mapTomTomKey": "TomTom API密鑰", + "mapHereBasic": "Here基礎地圖", + "mapHereHybrid": "Here混合地圖", + "mapHereSatellite": "Here衛星地圖", + "mapHereFlow": "Here交通路况", + "mapHereKey": "Here API密鑰", + "mapShapePolygon": "多邊形", + "mapShapeCircle": "圓形", + "mapShapePolyline": "多邊形", + "mapLiveRoutes": "即時軌跡", + "mapDirection": "顯示方向", + "mapCurrentLocation": "當前位置", + "mapPoiLayer": "POI 圖層", + "mapClustering": "標記叢集", + "mapOnSelect": "選擇設備時顯示地圖", + "mapDefault": "預設地圖", + "stateTitle": "狀態", + "stateName": "名稱", + "stateValue": "數值", + "commandTitle": "命令", + "commandSend": "傳送", + "commandSent": "指令已發送", + "commandQueued": "指令已排隊", + "commandUnit": "單位", + "commandCustom": "自訂命令", + "commandDeviceIdentification": "設備識別號碼", + "commandPositionSingle": "個別報告", + "commandPositionPeriodic": "定期報告", + "commandPositionStop": "停止報告", + "commandEngineStop": "停止引擎", + "commandEngineResume": "恢復引擎", + "commandAlarmArm": "啟動警報", + "commandAlarmDisarm": "解除警報", + "commandAlarmDismiss": "解除警報", + "commandSetTimezone": "設定時區", + "commandRequestPhoto": "請求照片", + "commandPowerOff": "設備關機", + "commandRebootDevice": "重啟設備", + "commandFactoryReset": "回復原廠設定", + "commandSendSms": "傳送簡訊", + "commandSendUssd": "傳送 USSD 簡訊", + "commandSosNumber": "設定救援號碼", + "commandSilenceTime": "設定靜音時段", + "commandSetPhonebook": "設定電話簿", + "commandVoiceMessage": "語音訊息", + "commandOutputControl": "輸出控制", + "commandVoiceMonitoring": "語音監控", + "commandSetAgps": "設定 AGPS", + "commandSetIndicator": "設定指標", + "commandConfiguration": "設置", + "commandGetVersion": "獲取版本", + "commandFirmwareUpdate": "更新韌體", + "commandSetConnection": "設置連接", + "commandSetOdometer": "設置里程表", + "commandGetModemStatus": "獲取數據機狀態", + "commandGetDeviceStatus": "獲取設備狀態", + "commandSetSpeedLimit": "設置速度限制", + "commandModePowerSaving": "省電模式", + "commandModeDeepSleep": "睡眠模式", + "commandAlarmGeofence": "設定地理圍籬警報", + "commandAlarmBattery": "設置電池警報", + "commandAlarmSos": "設置SOS警報", + "commandAlarmRemove": "設置刪除警報", + "commandAlarmClock": "設置時鐘警報", + "commandAlarmSpeed": "設置速度警報", + "commandAlarmFall": "設置掉落警報", + "commandAlarmVibration": "設置震動警報", + "commandFrequency": "頻率", + "commandTimezone": "時區", + "commandMessage": "訊息", + "commandRadius": "半徑", + "commandEnable": "啟用", + "commandData": "資料", + "commandIndex": "索引", + "commandPhone": "電話號碼", + "commandServer": "服務器", + "commandPort": "端口", + "eventAll": "所有事件", + "eventDeviceOnline": "已上線", + "eventDeviceUnknown": "未知狀態", + "eventDeviceOffline": "已下線", + "eventDeviceInactive": "設備無回應", + "eventQueuedCommandSent": "已發送排列命令", + "eventDeviceMoving": "設備移動中", + "eventDeviceStopped": "設備已停止", + "eventDeviceOverspeed": "超速限制", + "eventDeviceFuelDrop": "燃油下降", + "eventDeviceFuelIncrease": "燃油增加", + "eventCommandResult": "命令結果", + "eventGeofenceEnter": "已進入地理圍籬", + "eventGeofenceExit": "已離開地理圍籬", + "eventAlarm": "警報", + "eventIgnitionOn": "點火", + "eventIgnitionOff": "熄火", + "eventMaintenance": "需要保養", + "eventTextMessage": "已接收文字訊息", + "eventDriverChanged": "駕駛員變更", + "eventMedia": "多媒體", + "eventsScrollToLast": "卷軸已拉到底", + "eventsSoundEvents": "事件鈴聲", + "eventsSoundAlarms": "警報鈴聲", + "alarmGeneral": "一般", + "alarmSos": "求救", + "alarmVibration": "震動", + "alarmMovement": "移動", + "alarmLowspeed": "低速", + "alarmOverspeed": "超速", + "alarmFallDown": "跌落", + "alarmLowPower": "低電量", + "alarmLowBattery": "電池低電量", + "alarmFault": "故障", + "alarmPowerOff": "關機", + "alarmPowerOn": "開機", + "alarmDoor": "車門", + "alarmLock": "鎖定", + "alarmUnlock": "解鎖", + "alarmGeofence": "地理圍籬", + "alarmGeofenceEnter": "進入地理圍籬", + "alarmGeofenceExit": "離開地理圍籬", + "alarmGpsAntennaCut": "GPS天線斷開", + "alarmAccident": "事故", + "alarmTow": "牽引", + "alarmIdle": "怠速", + "alarmHighRpm": "高轉速", + "alarmHardAcceleration": "急加速", + "alarmHardBraking": "急剎車", + "alarmHardCornering": "急轉彎", + "alarmLaneChange": "改變車道", + "alarmFatigueDriving": "疲勞駕駛", + "alarmPowerCut": "斷電", + "alarmPowerRestored": "恢復電源", + "alarmJamming": "干擾", + "alarmTemperature": "溫度", + "alarmParking": "停車處", + "alarmBonnet": "引擎蓋", + "alarmFootBrake": "腳剎", + "alarmFuelLeak": "漏油", + "alarmTampering": "篡改", + "alarmRemoving": "移除中", + "notificationType": "通知類型", + "notificationAlways": "所有設備", + "notificationNotificators": "通道", + "notificatorCommand": "指令", + "notificatorWeb": "網頁", + "notificatorMail": "電子郵件", + "notificatorSms": "簡訊", + "notificatorFirebase": "Firebase", + "notificatorTraccar": "Traccar", + "notificatorTelegram": "Telegram", + "notificatorPushover": "Pushover", + "reportReplay": "軌跡回放", + "reportCombined": "合併", + "reportRoute": "路線", + "reportEvents": "事件", + "reportTrips": "旅程", + "reportStops": "站點", + "reportSummary": "摘要", + "reportDaily": "每日匯報", + "reportChart": "圖表", + "reportConfigure": "設置", + "reportEventTypes": "事件類型", + "reportChartType": "圖表類型", + "reportShowMarkers": "顯示地標", + "reportExport": "匯出", + "reportEmail": "郵件發送", + "reportSchedule": "排程", + "reportPeriod": "期間", + "reportCustom": "自定義", + "reportToday": "今天", + "reportYesterday": "昨天", + "reportThisWeek": "本週", + "reportPreviousWeek": "上週", + "reportThisMonth": "本月", + "reportPreviousMonth": "上月", + "reportDeviceName": "設備名稱", + "reportAverageSpeed": "平均速率", + "reportMaximumSpeed": "最高速率", + "reportEngineHours": "引擎時數", + "reportDuration": "持續時間", + "reportStartDate": "起始日期", + "reportStartTime": "起始時間", + "reportStartAddress": "起始地點", + "reportEndTime": "結束時間", + "reportEndAddress": "結束地點", + "reportSpentFuel": "燃油消耗", + "reportStartOdometer": "起始里程", + "reportEndOdometer": "結束里程", + "statisticsTitle": "統計", + "statisticsCaptureTime": "截取時間", + "statisticsActiveUsers": "活躍用戶量", + "statisticsActiveDevices": "活躍設備量", + "statisticsRequests": "請求數", + "statisticsMessagesReceived": "已接收訊息量", + "statisticsMessagesStored": "已儲存訊息量", + "statisticsGeocoder": "地理碼請求數", + "statisticsGeolocation": "地理座標請求數", + "categoryArrow": "箭頭", + "categoryDefault": "預設", + "categoryAnimal": "動物", + "categoryBicycle": "自行車", + "categoryBoat": "船舶", + "categoryBus": "公車", + "categoryCar": "小客車", + "categoryCamper": "Camper", + "categoryCrane": "起重機", + "categoryHelicopter": "直昇機", + "categoryMotorcycle": "機車", + "categoryOffroad": "越野車", + "categoryPerson": "行人", + "categoryPickup": "皮卡車", + "categoryPlane": "飛機", + "categoryShip": "船艦", + "categoryTractor": "曳引機", + "categoryTrain": "火車", + "categoryTram": "有軌電車", + "categoryTrolleybus": "無軌電車", + "categoryTruck": "貨車", + "categoryVan": "箱型車", + "categoryScooter": "小型摩拖車", + "maintenanceStart": "起始值", + "maintenancePeriod": "期間" +}
\ No newline at end of file diff --git a/legacy/web/load.js b/legacy/web/load.js new file mode 100644 index 00000000..482a059a --- /dev/null +++ b/legacy/web/load.js @@ -0,0 +1,183 @@ +(function () { + var debugMode, touchMode, locale, localeParameter, extjsVersion, proj4jsVersion, olVersion, i, language, languages, languageDefault; + + function addStyleFile(file) { + var link = document.createElement('link'); + link.setAttribute('rel', 'stylesheet'); + link.setAttribute('type', 'text/css'); + link.setAttribute('href', file); + document.head.appendChild(link); + } + + function addScriptFile(file) { + var script = document.createElement('script'); + script.setAttribute('src', file); + script.async = false; + document.head.appendChild(script); + } + + function addSvgFile(file, id) { + var svg = document.createElement('object'); + svg.setAttribute('id', id); + svg.setAttribute('data', file); + svg.setAttribute('type', 'image/svg+xml'); + svg.setAttribute('style', 'visibility:hidden;position:absolute;left:-100px;'); + document.body.appendChild(svg); + } + + debugMode = document.getElementById('loadScript').getAttribute('mode') === 'debug'; + touchMode = 'ontouchstart' in window || navigator.maxTouchPoints; + + window.updateNotificationToken = function (token) { + Traccar.app.updateNotificationToken(token); + }; + + locale = {}; + window.Locale = locale; + + locale.languages = { + 'af': { name: 'Afrikaans', code: 'af' }, + 'ar': { name: 'العربية', code: 'en' }, + 'az': { name: 'Azərbaycanca', code: 'en' }, + 'bg': { name: 'Български', code: 'bg' }, + 'bn': { name: 'বাংলা', code: 'en' }, + 'ca': { name: 'Català', code: 'en' }, + 'cs': { name: 'Čeština', code: 'cs' }, + 'de': { name: 'Deutsch', code: 'de' }, + 'da': { name: 'Dansk', code: 'da' }, + 'el': { name: 'Ελληνικά', code: 'el' }, + 'en': { name: 'English', code: 'en' }, + 'es': { name: 'Español', code: 'es' }, + 'fa': { name: 'فارسی', code: 'fa' }, + 'fi': { name: 'Suomi', code: 'fi' }, + 'fr': { name: 'Français', code: 'fr' }, + 'he': { name: 'עברית', code: 'he' }, + 'hi': { name: 'हिन्दी', code: 'en' }, + 'hr': { name: 'Hrvatski', code: 'hr' }, + 'hu': { name: 'Magyar', code: 'hu' }, + 'id': { name: 'Bahasa Indonesia', code: 'id' }, + 'it': { name: 'Italiano', code: 'it' }, + 'ja': { name: '日本語', code: 'ja' }, + 'ka': { name: 'ქართული', code: 'en' }, + 'kk': { name: 'Қазақша', code: 'en' }, + 'ko': { name: '한국어', code: 'ko' }, + 'km': { name: 'ភាសាខ្មែរ', code: 'en' }, + 'lo': { name: 'ລາວ', code: 'en' }, + 'lt': { name: 'Lietuvių', code: 'lt' }, + 'lv': { name: 'Latviešu', code: 'lv' }, + 'ml': { name: 'മലയാളം', code: 'en' }, + 'mn': { name: 'Монгол хэл', code: 'en' }, + 'ms': { name: 'بهاس ملايو', code: 'en' }, + 'nb': { name: 'Norsk bokmål', code: 'no_NB' }, + 'ne': { name: 'नेपाली', code: 'en' }, + 'nl': { name: 'Nederlands', code: 'nl' }, + 'nn': { name: 'Norsk nynorsk', code: 'no_NN' }, + 'pl': { name: 'Polski', code: 'pl' }, + 'pt': { name: 'Português', code: 'pt' }, + 'pt_BR': { name: 'Português (Brasil)', code: 'pt_BR' }, + 'ro': { name: 'Română', code: 'ro' }, + 'ru': { name: 'Русский', code: 'ru' }, + 'si': { name: 'සිංහල', code: 'en' }, + 'sk': { name: 'Slovenčina', code: 'sk' }, + 'sl': { name: 'Slovenščina', code: 'sl' }, + 'sq': { name: 'Shqipëria', code: 'en' }, + 'sr': { name: 'Srpski', code: 'sr' }, + 'sv': { name: 'Svenska', code: 'sv' }, + 'ta': { name: 'தமிழ்', code: 'en' }, + 'th': { name: 'ไทย', code: 'th' }, + 'tr': { name: 'Türkçe', code: 'tr' }, + 'uk': { name: 'Українська', code: 'ukr' }, + 'uz': { name: 'Oʻzbekcha', code: 'en' }, + 'vi': { name: 'Tiếng Việt', code: 'en' }, + 'zh': { name: '中文', code: 'zh_CN' }, + 'zh_TW': { name: '中文 (Taiwan)', code: 'zh_TW' } + }; + + languageDefault = 'en'; + localeParameter = window.location.search.match(/locale=([^&#]+)/); + locale.language = localeParameter && localeParameter[1]; + if (!(locale.language in locale.languages)) { + languages = window.navigator.languages !== undefined ? window.navigator.languages.slice() : []; + language = window.navigator.userLanguage || window.navigator.language; + languages.push(language); + languages.push(language.substring(0, 2)); + languages.push(languageDefault); + for (i = 0; i < languages.length; i++) { + language = languages[i].replace('-', '_'); + if (language in locale.languages) { + locale.language = language; + break; + } + if (language.length > 2) { + language = languages[i].substring(0, 2); + if (language in locale.languages) { + locale.language = language; + break; + } + } + } + } + + window.addEventListener('load', function (event) { + + if (debugMode) { + Ext.Loader.setConfig({ + disableCaching: false + }); + } + + Ext.Ajax.request({ + url: 'l10n/' + languageDefault + '.json', + callback: function (options, success, response) { + window.Strings = Ext.decode(response.responseText); + if (Locale.language !== languageDefault) { + Ext.Ajax.request({ + url: 'l10n/' + Locale.language + '.json', + callback: function (options, success, response) { + var key, data = Ext.decode(response.responseText); + for (key in data) { + if (data.hasOwnProperty(key)) { + window.Strings[key] = data[key]; + } + } + addScriptFile(debugMode ? 'app.js' : 'app.min.js'); + } + }); + } else { + addScriptFile(debugMode ? 'app.js' : 'app.min.js'); + } + } + }); + + }); + + // Hack for new versions of Android + if (navigator.userAgent.indexOf('Android') !== -1 && navigator.userAgent.indexOf('OPR') !== -1) { + var __originalUserAgent = navigator.userAgent; + navigator.__defineGetter__('userAgent', function () { return __originalUserAgent.replace(/\/OPR[^)]*/g, ''); }); + } + + addScriptFile('lib/extjs/ext-all.js'); + addScriptFile('lib/extjs/classic/locale/locale-' + locale.languages[locale.language].code + '.js'); + + addStyleFile('lib/extjs/classic/theme-triton/resources/theme-triton-all.css'); + addScriptFile('lib/extjs/classic/theme-triton/theme-triton.js'); + + addScriptFile('lib/extjs/packages/charts/classic/charts.js'); + addStyleFile('lib/extjs/packages/charts/classic/triton/resources/charts-all.css'); + + addStyleFile('lib/ol/ol.css'); + addScriptFile('lib/ol/ol.js'); + + addStyleFile('lib/ol-layerswitcher/ol-layerswitcher.css'); + addScriptFile('lib/ol-layerswitcher/ol-layerswitcher.js'); + + addScriptFile('lib/proj4/proj4.js'); + + window.Images = ['arrow', 'default', 'animal', 'bicycle', 'boat', 'bus', 'car', 'crane', 'helicopter', 'motorcycle', + 'offroad', 'person', 'pickup', 'plane', 'ship', 'tractor', 'train', 'tram', 'trolleybus', 'truck', 'van', 'scooter']; + + for (i = 0; i < window.Images.length; i++) { + addSvgFile('images/' + window.Images[i] + '.svg', window.Images[i] + 'Svg'); + } +})(); diff --git a/legacy/web/logo.svg b/legacy/web/logo.svg new file mode 100644 index 00000000..8183831f --- /dev/null +++ b/legacy/web/logo.svg @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg id="svg2985" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="64" viewBox="0 0 240 64" width="240" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"> + <g id="img"> + <rect id="rect3778" height="64" width="240" y="0" x="0" fill="none"/> + <g id="g4194"> + <g id="g4145" fill="currentColor"> + <circle id="path2993" stroke-width="1.3262" transform="rotate(-30)" cy="43.713" cx="9.4364" r="2.2765"/> + <path id="path3004" stroke-width="1.0095" d="m37.012 24.177-2.8428 3.6128c0.66345 0.52205 1.3255 1.1576 1.7734 1.9333 0.4479 0.77578 0.66726 1.6669 0.78764 2.5025l4.5502-0.65558c-0.193-1.42-0.633-2.804-1.394-4.123s-1.74-2.391-2.874-3.27z"/> + <path id="path3014" stroke-width="1.0095" d="m42.504 16.9-2.8428 3.6128c1.607 1.2355 3.0914 2.7935 4.1679 4.6581s1.6835 3.9291 1.95 5.9386l4.5502-0.65558c-0.33967-2.5954-1.1669-5.1513-2.5573-7.5594-1.3903-2.4081-3.1901-4.4025-5.268-5.9944z"/> + <path id="path3036" stroke-width="3.6204" d="m28.667 44.439a9.1058 9.1058 0 0 1 -9.1058 0.000023 9.1058 9.1058 0 0 1 -4.5529 -7.8859 9.1058 9.1058 0 0 1 4.5529 -7.8859l4.5529 7.8859z"/> + <path id="path3038-8" stroke-width="1.0095" d="m17.502 6.8895c-13.868 8.0065-18.619 25.74-10.612 39.608 8.006 13.868 25.739 18.619 39.608 10.613 13.868-8.007 18.619-25.74 10.613-39.609-8.007-13.868-25.74-18.62-39.609-10.612zm1.706 2.9541c12.237-7.0648 27.884-2.8722 34.948 9.3644 7.065 12.237 2.873 27.884-9.364 34.948-12.237 7.065-27.884 2.873-34.948-9.364-7.0652-12.237-2.8726-27.884 9.364-34.948z"/> + </g> + </g> + <g id="logotext" aria-label="Traccar" fill="currentColor"> + <path id="path4172" d="m89.719 48.671h-3.915v-30.192h-10.663v-3.4775h25.241v3.4775h-10.663v30.192z"/> + <path id="path4174" d="m116.36 22.969q1.6812 0 3.0169 0.27636l-0.52968 3.5466q-1.566-0.34544-2.7636-0.34544-3.063 0-5.2508 2.4872-2.1648 2.4872-2.1648 6.195v13.541h-3.8229v-25.241h3.1551l0.43756 4.675h0.18424q1.4048-2.4642 3.3854-3.7999t4.3526-1.3357z"/> + <path id="path4176" d="m139.62 48.671-0.75998-3.5926h-0.18424q-1.8884 2.3721-3.7769 3.2242-1.8654 0.82907-4.675 0.82907-3.7538 0-5.8956-1.9345-2.1187-1.9345-2.1187-5.5041 0-7.6459 12.229-8.0143l4.2835-0.13818v-1.566q0-2.9708-1.2897-4.3756-1.2666-1.4278-4.0763-1.4278-3.1551 0-7.1392 1.9345l-1.1745-2.9248q1.8654-1.0133 4.0762-1.589 2.2339-0.57574 4.4678-0.57574 4.5138 0 6.6786 2.0036 2.1878 2.0036 2.1878 6.4253v17.226h-2.8326zm-8.6361-2.6945q3.5696 0 5.5962-1.9575 2.0496-1.9575 2.0496-5.4811v-2.2799l-3.8229 0.16121q-4.5599 0.16121-6.5865 1.4278-2.0036 1.2436-2.0036 3.892 0 2.0727 1.2436 3.1551 1.2666 1.0824 3.5236 1.0824z"/> + <path id="path4178" d="m160.44 49.131q-5.4811 0-8.498-3.3623-2.9939-3.3854-2.9939-9.5573 0-6.3332 3.0399-9.7876 3.063-3.4545 8.7052-3.4545 1.8194 0 3.6387 0.3915t2.8557 0.92119l-1.1745 3.2472q-1.2666-0.50665-2.7636-0.82907-1.4969-0.34544-2.6484-0.34544-7.6919 0-7.6919 9.8106 0 4.652 1.8654 7.1392 1.8884 2.4872 5.5732 2.4872 3.1551 0 6.4713-1.3588v3.3854q-2.5333 1.3127-6.3792 1.3127z"/> + <path id="path4180" d="m182.92 49.131q-5.4811 0-8.498-3.3623-2.9939-3.3854-2.9939-9.5573 0-6.3332 3.0399-9.7876 3.063-3.4545 8.7052-3.4545 1.8193 0 3.6387 0.3915t2.8557 0.92119l-1.1745 3.2472q-1.2666-0.50665-2.7636-0.82907-1.4969-0.34544-2.6484-0.34544-7.6919 0-7.6919 9.8106 0 4.652 1.8654 7.1392 1.8884 2.4872 5.5732 2.4872 3.1551 0 6.4714-1.3588v3.3854q-2.5333 1.3127-6.3792 1.3127z"/> + <path id="path4182" d="m210.83 48.671-0.75998-3.5926h-0.18424q-1.8884 2.3721-3.7769 3.2242-1.8654 0.82907-4.675 0.82907-3.7538 0-5.8956-1.9345-2.1187-1.9345-2.1187-5.5041 0-7.6459 12.229-8.0143l4.2835-0.13818v-1.566q0-2.9708-1.2897-4.3756-1.2666-1.4278-4.0762-1.4278-3.1551 0-7.1392 1.9345l-1.1745-2.9248q1.8654-1.0133 4.0762-1.589 2.2339-0.57574 4.4678-0.57574 4.5138 0 6.6786 2.0036 2.1878 2.0036 2.1878 6.4253v17.226h-2.8326zm-8.6361-2.6945q3.5696 0 5.5962-1.9575 2.0496-1.9575 2.0496-5.4811v-2.2799l-3.8229 0.16121q-4.5599 0.16121-6.5865 1.4278-2.0036 1.2436-2.0036 3.892 0 2.0727 1.2436 3.1551 1.2666 1.0824 3.5235 1.0824z"/> + <path id="path4184" d="m233.08 22.969q1.6812 0 3.0169 0.27636l-0.52968 3.5466q-1.566-0.34544-2.7636-0.34544-3.0629 0-5.2508 2.4872-2.1648 2.4872-2.1648 6.195v13.541h-3.8229v-25.241h3.1551l0.43757 4.675h0.18423q1.4048-2.4642 3.3854-3.7999t4.3526-1.3357z"/> + </g> + </g> +</svg> diff --git a/legacy/web/release.html b/legacy/web/release.html new file mode 100644 index 00000000..44561ff3 --- /dev/null +++ b/legacy/web/release.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> +<title>${title}</title> +<link rel="icon" sizes="192x192" href="/icon.png"> +<link rel="apple-touch-icon" href="/apple-touch-icon.png"> +<link rel="stylesheet" href="app.css"> +</head> +<body> +<div id="spinner"></div> +<div id="attribution">Powered by <a href="https://www.traccar.org/" target="_blank">Traccar GPS Tracking System</a></div> +<script id="loadScript" src="load.js"></script> +</body> +</html> diff --git a/legacy/web/simple/index.html b/legacy/web/simple/index.html new file mode 100644 index 00000000..4df77259 --- /dev/null +++ b/legacy/web/simple/index.html @@ -0,0 +1,238 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<title>Traccar</title> +<link href="https://unpkg.com/@picocss/pico@2.0.6/css/pico.min.css" rel="stylesheet"> +<link href="https://unpkg.com/maplibre-gl@4.1.2/dist/maplibre-gl.css" rel="stylesheet"> +</head> +<body style="margin: 0; padding: 0;"> +<div id="content" style="width: 100%; height: 100%; position:fixed;"></div> +<script src="https://unpkg.com/react@17/umd/react.development.js"></script> +<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script> +<script src="https://unpkg.com/maplibre-gl@4.1.2/dist/maplibre-gl.js"></script> +<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> +<script type="text/babel"> + + const LoginScreen = ({ server, setServer, setUser }) => { + const [email, setEmail] = React.useState(''); + const [password, setPassword] = React.useState(''); + + const handleSubmit = (event) => { + event.preventDefault(); + const fetchData = async () => { + if (server.newServer) { + const response = await fetch('/api/users', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ name: email, email, password }), + }); + if (response.ok) { + setServer({ ...server, newServer: false }); + } + } else { + const query = `email=${encodeURIComponent(email)}&password=${encodeURIComponent(password)}`; + const response = await fetch('/api/session', { + method: 'POST', + body: new URLSearchParams(query), + }); + if (response.ok) { + setUser(await response.json()); + } + } + } + fetchData(); + }; + + const formStyle = { + width: '320px', + margin: '32px', + display: 'flex', + flexDirection: 'column', + }; + + return ( + <form onSubmit={handleSubmit} style={formStyle}> + <input + value={email} + onChange={(e) => setEmail(e.target.value)} + placeholder="Email" + /> + <input + password={password} + onChange={(e) => setPassword(e.target.value)} + placeholder="Password" + type="password" + /> + <button type="submit"> + {server.newServer ? 'Register' : 'Login'} + </button> + </form> + ); + }; + + const MainScreen = ({ setUser }) => { + const mapContainer = React.useRef(); + const map = React.useRef(); + + React.useEffect(() => { + map.current = new maplibregl.Map({ + container: mapContainer.current, + style: 'https://demotiles.maplibre.org/style.json', + center: [0, 0], + zoom: 1, + }); + }, []); + + const [devices, setDevices] = React.useState([]); + + React.useEffect(() => { + const fetchData = async () => { + const devicesResponse = await fetch('/api/devices'); + if (devicesResponse.ok) { + setDevices(await devicesResponse.json()); + } + } + fetchData(); + }, []); + + const [initialized, setInitialized] = React.useState(false); + const [positions, setPositions] = React.useState({}); + + React.useEffect(() => { + if (initialized) { + const url = window.location.protocol + '//' + window.location.host; + const socket = new WebSocket('ws' + url.substring(4) + '/api/socket'); + socket.onmessage = (event) => { + const data = JSON.parse(event.data); + const updatedPositions = {}; + data.positions?.forEach((p) => updatedPositions[p.deviceId] = p); + setPositions({ ...positions, ...updatedPositions }) + }; + } + }, [initialized]); + + const handleAddDevice = (event) => { + event.preventDefault(); + const fetchData = async () => { + const id = prompt('Enter device id'); + const response = await fetch('/api/devices', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ + name: id, + uniqueId: id, + }), + }); + if (response.ok) { + setDevices([...devices, await response.json()]); + } + } + fetchData(); + }; + + const handleLogout = (event) => { + event.preventDefault(); + const fetchData = async () => { + await fetch('/api/session', { method: 'DELETE' }); + setUser(null); + } + fetchData(); + }; + + React.useEffect(() => { + map.current.on('load', () => { + map.current.addSource('points', { + type: 'geojson', + data: { + type: 'FeatureCollection', + features: [], + }, + }); + map.current.addLayer({ + id: 'points', + type: 'circle', + source: 'points', + }); + setInitialized(true); + }); + }, []); + + React.useEffect(() => { + map.current.getSource('points')?.setData({ + type: 'FeatureCollection', + features: Object.values(positions).map((position) => ({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [position.longitude, position.latitude], + }, + })), + }); + }, [positions]); + + const containerStyle = { + width: '100%', + height: '100%', + display: 'flex', + }; + const deviceStyle = { + width: '320px', + marginTop: '16px', + }; + const mapStyle = { + height: '100%', + flexGrow: 1, + }; + + return ( + <div style={containerStyle}> + <div style={deviceStyle}> + <ul> + {devices?.map((device) => (<li key={device.id}>{device.name}</li>))} + <li><a href="#" onClick={handleAddDevice}>Add device</a></li> + <li><a href="#" onClick={handleLogout}>Logout</a></li> + </ul> + </div> + <div style={mapStyle} ref={mapContainer}></div> + </div> + ); + }; + + const App = () => { + const [server, setServer] = React.useState(); + const [user, setUser] = React.useState(); + + React.useEffect(() => { + const fetchData = async () => { + const serverResponse = await fetch('/api/server'); + if (serverResponse.ok) { + setServer(await serverResponse.json()); + } + const sessionResponse = await fetch('/api/session'); + if (sessionResponse.ok) { + setUser(await sessionResponse.json()); + } + } + fetchData(); + }, []); + + return user ? ( + <MainScreen + setUser={setUser} + /> + ) : server ? ( + <LoginScreen + server={server} + setServer={setServer} + setUser={setUser} + /> + ) : ''; + }; + + ReactDOM.render(<App />, document.getElementById('content')); + +</script> +</body> +</html> |