summaryrefslogtreecommitdiff
path: root/www/lang
diff options
context:
space:
mode:
Diffstat (limited to 'www/lang')
-rw-r--r--www/lang/README.md17
-rwxr-xr-xwww/lang/checklang.py53
-rwxr-xr-xwww/lang/checklang.py3121
-rw-r--r--www/lang/help/help-es.html73
-rw-r--r--www/lang/help/help-pl.html71
-rw-r--r--www/lang/locale-en.json21
-rw-r--r--www/lang/locale-es.json383
-rw-r--r--www/lang/locale-pl.json389
-rw-r--r--www/lang/locale-pt.json39
9 files changed, 1006 insertions, 161 deletions
diff --git a/www/lang/README.md b/www/lang/README.md
index bf5f23f3..b2737f3c 100644
--- a/www/lang/README.md
+++ b/www/lang/README.md
@@ -1,6 +1,10 @@
+
+If you are familiar with using git, I'd prefer if you follow the Pull Request process [here](https://github.com/pliablepixels/zmNinja/blob/master/CONTRIBUTING.md#steps-for-code-contribution).
+
####Adding a new language
+* Languages translations are available [here](https://github.com/pliablepixels/zmNinja/tree/master/www/lang)
* To contribute a new language, add a new ``locale-xx.json`` (where `xx` is your language code).
-* Ideally, you should also provide a language translation for the zmNinja help file inside ``lang/help``
+* Ideally, you should also provide a language translation for the zmNinja help file inside [lang/help](https://github.com/pliablepixels/zmNinja/tree/master/www/lang/help)
The best way is to simply look at an existing language translation and follow the same model for yours. If any language translation keywords are missed, it will fallback to English.
@@ -12,27 +16,18 @@ The best way is to simply look at an existing language translation and follow th
(replace ``-it`` with the language you are working on)
-Python 2.x:
+
``
./checklang.py -f locale-it.json -b
``
-Python 3.x:
-``
-./checklang.py3 -f locale-it.json -b
-``
This validates your JSON file, makes sure all keys are in sync with -en and if valid, creates pretty-locale-it.json. If you are sure it looks good,
-Python 2.x:
``
./checklang.py -f locale-it.json -b -o
``
-Python 3.x:
-``
-./checklang.py3 -f locale-it.json -b -o
-``
This validates your JSON file,makes sure all keys are in sync with -en and if valid, OVERWRITES your local file with a pretty formatted version, which is what you should PR
diff --git a/www/lang/checklang.py b/www/lang/checklang.py
index cf3291fe..307f51df 100755
--- a/www/lang/checklang.py
+++ b/www/lang/checklang.py
@@ -1,8 +1,9 @@
#!/usr/bin/env python
+from __future__ import absolute_import, division, print_function, unicode_literals
+import sys
import json
import os
import getopt
-import sys
globGood=0
globBad=0
@@ -12,13 +13,14 @@ globFile=""
# prints usage
def usage():
- print (
+ print((
'Usage: '+sys.argv[0]+'\n'
+ ' called without arguments runs a check without any modifications\n'
' -h|--help: this help\n'
' -f|file <fname>: only processes that file\n'
' -b|--beautify: beautifies the json file\n'
' -o|--overwrite: when used with -b/--beautify overwrites the file without adding a pretty- prefix. Use with caution\n'
- )
+ ))
#beautifies a given file
@@ -28,28 +30,31 @@ def beautify(fi,ki):
prefix=''
else:
prefix='pretty-'
- print "Beautifying %s, writing to %s" % (fi,prefix+fi)
+ print("Beautifying %s, writing to %s" % (fi,prefix+fi))
w = len (max(ki, key=len))
pretty=[]
for k in sorted(ki):
line = " \"%s\"%s:\"%s\"" %(k,' '*(w-len(k)+1),ki[k])
pretty.append(line)
- pFh=open (prefix+fi,"w")
- pFh.write("{\n")
- pFh.write(',\n'.join(pretty).encode('utf-8'))
- pFh.write("\n}\n")
+ pFh=open(prefix+fi,"w")
+ pFh.write('{\n')
+ if sys.version_info >=(3, 0):
+ pFh.write(",\n".join(pretty))
+ else:
+ pFh.write(",\n".join(pretty).encode('UTF-8'))
+ pFh.write('\n}\n')
pFh.close()
#Compares keys in language file
-def compare (fname):
+
+def compare(fname):
beaut="no"
global globGood, globBad,globOverwrite, globFile, globBeautify
with open (i) as json_data:
try:
newKeys = json.load(json_data)
- except ValueError as e:
- print 'could not parse %s, skipping!' %fname
- print 'Error was %s' % str(e)
+ except ValueError:
+ print('could not parse %s, skipping!' %fname)
globBad+=1
return
json_data.close()
@@ -58,23 +63,23 @@ def compare (fname):
if len(diffOrig)==0 and len (diffNew)==0:
status = "GOOD"
globGood+=1
- if globBeautify and globFile == fname or globFile == "":
+ if globBeautify and (globFile == fname or globFile == ""):
beaut="YES"
else:
status = "ERROR"
globBad+=1
- print "\n-------Checking:%s:%s, beautify:%s---------" % (fname,status,beaut)
- print "master keys:%d, %s keys:%d" % (len(origKeys), i, len(newKeys))
+ print("\n-------Checking:%s:%s, beautify:%s---------" % (fname,status,beaut))
+ print("master keys:%d, %s keys:%d" % (len(origKeys), i, len(newKeys)))
if beaut=="YES":
beautify(fname,newKeys)
if len(diffOrig) > 0:
- print "Keys not present in :%s" %fname
+ print("Keys not present in :%s" %fname)
for x in diffOrig:
- print '-->',x
+ print("-->",x)
if len(diffNew) > 0:
- print "Extra keys present in :%s" %fname
+ print("Extra keys present in :%s" %fname)
for x in diffNew:
- print '-->',x
+ print("-->",x)
@@ -101,7 +106,7 @@ with open ('locale-en.json') as json_data:
origKeys=json.load(json_data)
json_data.close()
-print "total keys in master language: ", len(origKeys)
+print("total keys in master language: ", len(origKeys))
#iterate through all languages, using -en as the master
for i in os.listdir(os.getcwd()):
@@ -112,11 +117,11 @@ for i in os.listdir(os.getcwd()):
if globFile == "" or globFile == i:
compare(i)
else:
- print "skipping ",i, " as its not ",globFile
+ print("skipping ",i, " as its not ",globFile)
-print "================================================="
-print "Good files:%d, Bad files:%d, Total files:%d" % (globGood, globBad, globGood+globBad)
-print "=================================================\n"
+print("=================================================")
+print("Good files:%d, Bad files:%d, Total files:%d" % (globGood, globBad, globGood+globBad))
+print("=================================================\n")
diff --git a/www/lang/checklang.py3 b/www/lang/checklang.py3
deleted file mode 100755
index 10963da2..00000000
--- a/www/lang/checklang.py3
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/env python
-import json
-import os
-import getopt
-import sys
-
-globGood=0
-globBad=0
-globBeautify=0
-globOverwrite=0
-globFile=""
-
-# prints usage
-def usage():
- print((
- 'Usage: '+sys.argv[0]+'\n'
- ' -h|--help: this help\n'
- ' -f|file <fname>: only processes that file\n'
- ' -b|--beautify: beautifies the json file\n'
- ' -o|--overwrite: when used with -b/--beautify overwrites the file without adding a pretty- prefix. Use with caution\n'
- ))
-
-
-#beautifies a given file
-def beautify(fi,ki):
- global globOverwrite
- if globOverwrite:
- prefix=''
- else:
- prefix='pretty-'
- print("Beautifying %s, writing to %s" % (fi,prefix+fi))
- w = len (max(ki, key=len))
- pretty=[]
- for k in sorted(ki):
- line = " \"%s\"%s:\"%s\"" %(k,' '*(w-len(k)+1),ki[k])
- pretty.append(line)
- pFh=open (prefix+fi,"w")
- pFh.write("{\n")
- pFh.write(',\n'.join(pretty).encode('utf-8'))
- pFh.write("\n}\n")
- pFh.close()
-
-#Compares keys in language file
-def compare (fname):
- beaut="no"
- global globGood, globBad,globOverwrite, globFile, globBeautify
- with open (i) as json_data:
- try:
- newKeys = json.load(json_data)
- except ValueError:
- print('could not parse %s, skipping!' %fname)
- globBad+=1
- return
- json_data.close()
- diffOrig = set(origKeys.keys()) - set(newKeys.keys())
- diffNew = set(newKeys.keys()) - set(origKeys.keys())
- if len(diffOrig)==0 and len (diffNew)==0:
- status = "GOOD"
- globGood+=1
- if globBeautify and globFile == fname or globFile == "":
- beaut="YES"
- else:
- status = "ERROR"
- globBad+=1
- print("\n-------Checking:%s:%s, beautify:%s---------" % (fname,status,beaut))
- print("master keys:%d, %s keys:%d" % (len(origKeys), i, len(newKeys)))
- if beaut=="YES":
- beautify(fname,newKeys)
- if len(diffOrig) > 0:
- print("Keys not present in :%s" %fname)
- for x in diffOrig:
- print("-->",x)
- if len(diffNew) > 0:
- print("Extra keys present in :%s" %fname)
- for x in diffNew:
- print("-->",x)
-
-
-
-#MAIN
-try:
- myopts,args=getopt.getopt(sys.argv[1:],"f:hob",["file=","help","overwrite","beautify"])
-except getopt.GetoptError as err:
- print (err)
- usage()
- sys.exit(2)
-
-for o,a in myopts:
- if o in ("-h","--help"):
- usage()
- sys.exit()
- elif o in ("-b","--beautify"):
- globBeautify=1
- elif o in ("-o","--overwrite"):
- globOverwrite=1
- elif o in ("-f","--file"):
- globFile=a
-
-with open ('locale-en.json') as json_data:
- origKeys=json.load(json_data)
- json_data.close()
-
-print("total keys in master language: ", len(origKeys))
-
-#iterate through all languages, using -en as the master
-for i in os.listdir(os.getcwd()):
- if not i.endswith(".json") or not i.startswith("locale-"):
- #print "skipping ",i," as we will only process locale-*.json"
- continue
- else:
- if globFile == "" or globFile == i:
- compare(i)
- else:
- print("skipping ",i, " as its not ",globFile)
-
-print("=================================================")
-print("Good files:%d, Bad files:%d, Total files:%d" % (globGood, globBad, globGood+globBad))
-print("=================================================\n")
-
-
-
diff --git a/www/lang/help/help-es.html b/www/lang/help/help-es.html
new file mode 100644
index 00000000..4a03ec60
--- /dev/null
+++ b/www/lang/help/help-es.html
@@ -0,0 +1,73 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<ion-item class="item-text-wrap">
+ <h2><b>¿Hay una sección de preguntas frecuentes oficial?</b> </h2>Así es. Recuerda siempre revisar <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/FAQ', '_blank', 'location=yes'); return false;">aquí</a> para tener la ayuda más actualizada.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b> ¿Qué debo ingresar en los campos de URL del Portal Web de ZM, ruta de cgi-bin y URL API de ZM?</b> </h2>
+ <ul>
+ {{$root.appName}} ahora tiene un ayudante que trata de detectar tus ajustes. Este puede fallar si no tiene una instalación por defecto con rutas de archivo estándar.
+ <li><i class="ion-android-arrow-dropright"></i> URL Portal Web ZM: El URL que usa para acceder a ZM.
+ <p>(ejemplo: http://myserver.ddns.net/zm)</p>
+ </li>
+ <li><i class="ion-android-arrow-dropright"></i> Ruta CGI: El URL utilizado desde el cual la ruta de cgi-bin es accesible.
+ <p>(ejemplo: http://myserver.ddns.net/zm/cgi-bin).</p>
+ </li>
+ <li><i class="ion-android-arrow-dropright"></i> URL de la API: La URL desde la cual la ruta de la API es accesible.
+ <p>(ejemplo: http://myserver.ddns.net/zm/api)</p>
+ </li>
+ </ul>
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>¿Desde cuándo ZM tiene una API?</b> </h2> Las últimas versiones de ZoneMinder tienen una API que supuestamente reemplaza el skin XML. Sólo está disponible a partir de la versión 1.28.107 de Zoneminder. Si no tiene la API instalada el cliente no funcionará.
+
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2> <b>No tengo habilitada la autenticación pero la app sigue pidiéndome que especifique una autenticación</b></h2> Si no usa autenticación ZM, sólo tiene que ingresar "x" en el nombre y en la contraseña.
+ </ion-item>
+
+
+ <ion-item class="item-text-wrap">
+ <h2> <b>¡Todo funciona! Excepto el streaming en tiempo real </b></h2> Revise si el streaming funciona en la interfaz web. Si no funciona, {{$root.appName}} tampoco funcionará. Solucione esto en ZM antes. Si el streaming funciona en ZM, vaya a los ajustes {{$root.appName}} y arregle la ruta de cgi-bin. La ruta que se llena automáticamente no funcionará. Esta es una pista, ve a zoneminder-options-paths y revise el campo de la ruta a cgi-bin - la ruta de {{$root.appName}} será la "ruta base para el servidor" + la ruta del cgi-bin.
+ </ion-item>
+
+
+ <ion-item class="item-text-wrap">
+ <h2><b> ¡La información no está actualizándose! </b></h2> La mayoría de las pantallas que se muestran en la lista de datos tiene una acción para halar la pantalla. Hale la pantalla para refrescar y sus datos serán recargados.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b> ¿Qué significan todos los colores en la vista de Monitor?</b></h2>
+ <i class="icon ion-checkmark-circled" style="color:#03A9F4"></i> Revisando
+ <br/>
+ <i class="icon ion-checkmark-circled" style="color:#4CAF50"></i> Todo bien
+ <br/>
+ <i class="icon ion-close-circled" style="color:#F44336"></i> No corriendo
+ <br/>
+ <i class="icon ion-close-circled" style="color:#FF9800"></i> No corriendo (pendiente)
+ <br/>
+ <i class="icon ion-checkmark-circled" style="color:grey"></i> Deshabilitado
+ <br/>
+ <i class="icon ion-help-circled" style="color:#795548"></i> Desconocido
+ <br/>
+
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>¡Quiero contribuir!</b></h2> Genial. ¡<a href="#" onclick="window.open('http://github.com/pliablepixels/zmNinja', '_blank', 'location=yes'); return false;">Aquí está</a> el código fuente!
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Estoy teniendo problemas con esta app</b></h2>Tap en el registro en el menú de opciones. Cliquée el botón de email en la parte superior derecha para enviar los problemas al autor de esta app. Note que cuando el email está listo, zmNinja tratará de quitar la información personal buscando reemplazar la dirección IP del servidor y las contraseñas del mismo. Sin embargo es <b>su responsabilidad</b> asegurarse que los registros no tengan información sensible. Antes de enviar el email, por favor revise los registros embebidos y edítelos de ser necesario.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Puedo ver la dirección URL de mi servidor y mis contraseñas en el registro. ¿No dijeron que zmNinja las quita?</b></h2>zmNinja trata de quitarlas <b>después</b> de clickar el botón de email. Supongo que también podría quitarlas de los registros guardados, pero entonces sería más difícil para usted darse cuenta si cometió una equivocación al momento de configurar la app.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>¿Cómo puedo contactar al autor?</b></h2> Envíame un <a href="#" onclick="window.open('mailto:pliablepixels@gmail.com', '_blank', 'location=yes'); return false;">email</a>.
+ </ion-item>
+
diff --git a/www/lang/help/help-pl.html b/www/lang/help/help-pl.html
new file mode 100644
index 00000000..cce3a7f8
--- /dev/null
+++ b/www/lang/help/help-pl.html
@@ -0,0 +1,71 @@
+<ion-item class="item-text-wrap">
+ <h2><b>Czy istnieje oficjalne FAQ?</b> </h2>Oczywiście. Zawsze zaglądaj <a href="#" onclick="window.open('https://github.com/pliablepixels/zmNinja/wiki/FAQ', '_blank', 'location=yes'); return false;">tutaj</a> w celu uzyskania najnowszej pomocy.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b> Co mam wprowadzić w miejsce Portal ZM URL, Główną ścieżkę do cgi-bin i URL ZM API?</b> </h2>
+ <ul>
+ {{$root.appName}} posiada teraz kreator, który próbuje wykryć Twoje ustawienia. Może nie zadziałać, jeśli posiadasz instalację niestandardową ZM ze zmienionymi ścieżkami.
+ <li><i class="ion-android-arrow-dropright"></i> URL Portalu ZM: URL pod którym jest dostępny ZM
+ <p>(przykład: http://myserver.ddns.net/zm)</p>
+ </li>
+ <li><i class="ion-android-arrow-dropright"></i> Ścieżka CGI: URL pod którym jest dostępne cgi-bin
+ <p>(przykład: http://myserver.ddns.net/zm/cgi-bin).</p>
+ </li>
+ <li><i class="ion-android-arrow-dropright"></i> API URL: URL pod którym jest dostępne API
+ <p>(przykład: http://myserver.ddns.net/zm/api)</p>
+ </li>
+ </ul>
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Od kiedy ZM posiada API?</b> </h2> Ostatnie wersje ZoneMinder'a posiadają API, które powinno zastąpić skórkę XML. Jest osiągalne dopiero od wersji 1.28.107 Zoneminder'a. Jeśli nie masz zainstalowanego API, klient nie zadziała.
+
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2> <b>Nie mam ustawionego uwierzytelniania, ale aplikacja ciągle prosi mnie o jego wprowadzenie</b></h2> Jeśli nie używasz uwierzytelniania ZM, wprowadź "x" w oba pola - użytkownik i hasło.
+ </ion-item>
+
+
+ <ion-item class="item-text-wrap">
+ <h2> <b>Wszystko działa, tylko nie podgląd na żywo </b></h2> Sprawdź czy podgląd działa w interfejsie www. Jeśłi nie działa, {{$root.appName}} też nie zadziała. Zacznij od naprawy ZM. Jeśli streaming w ZM działa, przejdź do ustawień {{$root.appName}} i napraw ścieżkę cgi-bin. Jeśli automatycznie wprowadzona ścieżka cgi-bin nie chce działać, spróbuj przejść do zoneminder-options-paths i sprawdź wartości ścieżki cgi-bin - ścieżka {{$root.appName}} będzie "główna ścieżka Twojego serwera" + ścieżka cgi-bin.
+ </ion-item>
+
+
+ <ion-item class="item-text-wrap">
+ <h2><b> Dane się nie odświeżają!</b></h2> Większość ekranów, które pokazują listy danych, używają funkcji pociągnij w dół/naciągnij. Naciągnij by odświeżyć, a Twoje dane zostaną przeładowane.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b> Co oznaczają wszystkie te kolory w Monitorze?</b></h2>
+ <i class="icon ion-checkmark-circled" style="color:#03A9F4"></i> Sprawdzanie
+ <br/>
+ <i class="icon ion-checkmark-circled" style="color:#4CAF50"></i> Wszystko dobrze
+ <br/>
+ <i class="icon ion-close-circled" style="color:#F44336"></i> Nie działa
+ <br/>
+ <i class="icon ion-close-circled" style="color:#FF9800"></i> Nie działa (oczekuje)
+ <br/>
+ <i class="icon ion-checkmark-circled" style="color:grey"></i> Wyłączony
+ <br/>
+ <i class="icon ion-help-circled" style="color:#795548"></i> Nieznany
+ <br/>
+
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Chiałbym się jakoś przysłużyć!</b></h2> Świetnie. <a href="#" onclick="window.open('http://github.com/pliablepixels/zmNinja', '_blank', 'location=yes'); return false;"> Zgarnij</a> kod źródłowy!
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Miewam problemy z tą aplikacją</b></h2>Wejdź w opcję logów w menu. Kliknij przycisk mail w górnym prawym by wysłać logi do autora tej aplikacji. Zauważ, że gdy mail zostanie skomponowany, zmNinja stara się usunąć informacje osobiste wyszukując i zmieniając IP serwera i jego hasła. Tak czy inaczej, sprawdzenie czy logi nie zawierają poufnych danych, to <b>Twoja odpowiedzialność</b>. Zanim wyślesz maila sprawdź czy nie zawiera ważnych informacji i ewentualnie je wyedytuj.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Adres mojego serwera i hasła są w logach. Mówiłeś, że zmNinja je usunie?</b></h2>zmNinja próbuje je usunąć <b>po tym</b> jak klikniesz w przycisk mail. Mógłbym też usunąć je w zachowanych logach, ale wtedy było by Ci ciężej sprawdzić czy nie popełniłeś błędu konfigurując aplikację.
+ </ion-item>
+
+ <ion-item class="item-text-wrap">
+ <h2><b>Jak się skontaktuję z autorem?</b></h2> Wyślij mi <a href="#" onclick="window.open('mailto:pliablepixels@gmail.com', '_blank', 'location=yes'); return false;">mail</a>
+</ion-item>
diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json
index d9e70a12..769631ba 100644
--- a/www/lang/locale-en.json
+++ b/www/lang/locale-en.json
@@ -61,11 +61,13 @@
"kDisableNative" :"Disable Native transitions",
"kDisableNativeSub" :"Enable if the menu is freezing",
"kDisablePush" :"disable APNS/GCM",
+ "kDisableSamsung" :"If you are on a samsung device and are facing input issues, please temporarily disable auto-correction",
"kDiscovering" :"discovering",
"kDiscoveringAPI" :"discovering api",
"kDiscoveringCGI" :"discovering cgi",
"kDiscoveringPortal" :"discovering portal",
"kDone" :"done",
+ "kDownload" :"download",
"kEnable24hr" :"enable 24hr time format",
"kEnableDebug" :"Enable debug logs",
"kEnableLogs" :"Enable logs",
@@ -127,11 +129,14 @@
"kFrom" :"From",
"kFromDate" :"From Date",
"kFromTime" :"From Time",
+ "kGifWarning" :"The GIF animation will only be of alarmed frames and 1fps",
+ "kGifNoCrosswalk" : "Sorry, you need to be on Android 5.0 (Lollipop) or above for this feature to work.",
"kGlobalConfiguration" :"Global Configuration",
"kGraphAlarmed" :"alarmed",
"kGraphAll" :"all",
"kGraphError" :"there was an error rendering the graph. Please see logs",
"kH264VideoSupport" :"H264 Video support",
+ "kHelp" : "Help",
"kHideMonsWithoutEvents" :"Hide monitors without events",
"kHideTip" :"hide tip",
"kHighBWDisplay" :"high bandwidth",
@@ -150,6 +155,7 @@
"kLiveView" :"Live View",
"kLoad" :"load",
"kLoading" :"loading",
+ "kLoadingEvents" : "loading events",
"kLoadingGraph" :"loading graph",
"kLoadingMonitors" :"loading monitors",
"kLocalTimeZone" :"use local timezone",
@@ -197,11 +203,15 @@
"kMonitors" :"Monitors",
"kMontage" :"Montage",
"kMontageImageScale" :"Montage image scale",
+ "kMontageNoSavedProfiles" :"No saved montage profiles",
+ "kMontageSave" :"Save Montage Profile",
+ "kMontageSaveSubtitle" :"please enter a profile name to save current settings",
"kMonth" :"Month",
"kMore" :"more",
"kNeedToKnow" :"I need to know your ZoneMinder login and path details to get started",
"kNegotiatingStreamAuth" :"negotiating stream authentication",
- "kNews" :"News",
+ "kNews" :"News (latest 10)",
+ "kNewPost" : "new post",
"kNext" :"Next",
"kNextEvent" :"next event",
"kNextMonitor" :"next monitor",
@@ -209,6 +219,8 @@
"kNoMonitors" :"No monitors to display",
"kNoMoreEvents" :"no more events",
"kNormalPlay" :"normal play",
+ "kNote" : "Note",
+ "kNow" :"now",
"kOff" :"off",
"kOn" :"on",
"kOnTapNavigate" :"on tap, navigate to",
@@ -275,6 +287,9 @@
"kSearch" :"search",
"kSearchCancelled" :"search cancelled",
"kSec" :"sec",
+ "kSelect" :"Please Select",
+ "kSelectDelete" :"Selected profile will be deleted",
+ "kSelectSwitch" :"Selected profile will be loaded",
"kSelectFallback" :"Select fallback",
"kSelectLanguage" :"Select Language",
"kSelectRunState" :"Select run state",
@@ -339,6 +354,10 @@
"kVersionIncompatible" :"I am incompatible with your ZoneMinder version",
"kVibrateOnPush" :"Vibrate on push",
"kVideo" :"Video",
+ "kVideoError" : "Video not playable.",
+ "kVideoErrorMobile" : "Video not playable. Try enabling 'force image path for events' in Dev Settings. The format may also be incompatible with a mobile system view",
+ "kVideoLoading" : "Loading Video",
+ "kVideoMp4Warning" : "It is currently not possible to know when video is fully downloaded. Please track file size of download.",
"kWake" :"Wake",
"kWarningLargeTimeline" :"A large value can affect timeline performance. If you find timeline performance slow, try reducing the value to 200 and work your way up from there.",
"kWeek" :"Week",
diff --git a/www/lang/locale-es.json b/www/lang/locale-es.json
new file mode 100644
index 00000000..51759fca
--- /dev/null
+++ b/www/lang/locale-es.json
@@ -0,0 +1,383 @@
+{
+ "k1DaySummary" :"resúmen de 1 día",
+ "k1HourSummary" :"resúmen de 1 hora",
+ "k1MonthSummary" :"resúmen de 1 mes",
+ "k1WeekSummary" :"resúmen de 1 semana",
+ "kAlarmAPIError" :"error - por favor cerciórese que su API soporte esta función",
+ "kAlarmFrameCount" :"Cuenta de Fotogramas en Alarma",
+ "kAlarmMaxFPS" :"Max FPS en Alarma",
+ "kAlarms" :"Alarmas",
+ "kAll" :"Todo",
+ "kAnalyze" :"Analizar",
+ "kApiUrl" :"url de la api de ZM",
+ "kApplyingChanges" :"Aplicando cambios. Por favor espere",
+ "kArrangingImages" :"ordenando imágenes",
+ "kAt" :"at",
+ "kAuthSuccess" :"autenticación exitosa",
+ "kAuthenticating" :"autenticando",
+ "kAutoSwitchBW" :"auto switch ancho de banda",
+ "kAwake1" :"Mantener la pantalla encendida",
+ "kAwake2" :"(mientras se ve el montaje)",
+ "kBannerAPICheckFailed" :"falló el chequeo del API",
+ "kBannerCannotDeleteNeedOne" :"No se puede eliminar, se necesita al menos uno para eliminar",
+ "kBannerPinMismatch" :"Código pin no concuerda",
+ "kBannerPleaseCheck" :"Por favor revise las configuraciones",
+ "kBodyPortalNotConfigured" :"Por favor llene con sus detalles de inicio de sesión así como su url del Portal Web y guarde los cambios antes de intentar de detectar el cgi-path",
+ "kButtonCancel" :"Cancelar",
+ "kButtonClear" :"Limpiar",
+ "kButtonNo" :"No",
+ "kButtonOk" :"OK",
+ "kButtonSave" :"Guardar",
+ "kButtonYes" :"Sí",
+ "kCalcEventSize" :"calculando el tamaño de los eventos",
+ "kCancellingAlarm" :"cancelando alarma",
+ "kChangeSettingsFor" :"Cambiar las configuraciones para",
+ "kChangeState" :"Cambiar Estado",
+ "kCheckCredentials" :"Por favor comprueba tus credenciales",
+ "kChromeMax" :"máximo de 5 monitores - límite de chrome",
+ "kCleaningUp" :"limpiando",
+ "kClear" :"Limpiar",
+ "kCollapse" :"plegar",
+ "kConfiguration" :"Configuración",
+ "kControl" :"control",
+ "kCredentialsBody" :"Por favor introduzca sus credenciales de ZoneMinder",
+ "kCredentialsTitle" :"Credenciales Requeridas",
+ "kCurrentState" :"estado actual",
+ "kCustomRange" :"Rango Personalizado",
+ "kCycleMonitors" :"monitores en ciclo",
+ "kCycleMonitorsInterval" :"Intervalo del ciclo",
+ "kDay" :"Día",
+ "kDecreaseSize" :"disminuir el tamaño",
+ "kDelete" :"Borrar",
+ "kDeleteEventError1" :"no se pudieron borrar los eventos",
+ "kDeleteEventError2" :"por favor revisa los registros",
+ "kDeleteEventSuccess" :"evento borrado",
+ "kDeleteLogsConfirm" :"¿Está seguro que quiere borrar los registros?",
+ "kDeletingEvent" :"borrando evento",
+ "kDevOptions" :"Opc. de Desarrollador",
+ "kDeveloperOptionsFor" :"Opciones de Desarrollador para",
+ "kDisableAlarmMontage" :"Deshabilitar el API de la alarma en montaje",
+ "kDisableAlarmMontageSub" :"puede ser de ayuda si el servidor se sobrecarga",
+ "kDisableNative" :"Deshabilitar transiciones nativas",
+ "kDisableNativeSub" :"Habilitar si el menú se congela",
+ "kDisablePush" :"deshabilitar APNS/GCM",
+ "kDisableSamsung" :"Si estás configurando desde un dispositivo samsung y tienes problemas al ingresar los datos, por favor, deshabilita la autocorrección temporalmente.",
+ "kDiscovering" :"detectando",
+ "kDiscoveringAPI" :"detectando api",
+ "kDiscoveringCGI" :"detectando cgi",
+ "kDiscoveringPortal" :"buscando portal web",
+ "kDone" :"listo",
+ "kDownload" :"descarga",
+ "kEnable24hr" :"Habilitar formato de 24hr",
+ "kEnableDebug" :"Habilitar registro de depuración",
+ "kEnableLogs" :"Habilitar registro",
+ "kEnableNewsUpdates" :"Habilitar actualización de noticias",
+ "kEnterPin" :"Ingrese PIN",
+ "kError" :"Error",
+ "kErrorChangingMonitors" :"Error al cambiar los monitores. Por favor revisar los registros",
+ "kErrorFrameBanner" :"no se pudieron obtener detalles de los cuadros",
+ "kErrorPleaseTryAgain" :"por favor intente de nuevo",
+ "kErrorRetrievingFrames" :"error obteniendo los cuadros",
+ "kErrorRetrievingState" :"error obteniendo el estado",
+ "kErrorSave" :"Error - no se puede guardar",
+ "kEvent" :"evento",
+ "kEventHistFaster" :"más rápido",
+ "kEventHistHrs" :"horas antes",
+ "kEventHistPause" :"pausa",
+ "kEventHistPlay" :"reproducir",
+ "kEventHistShowFrom" :"Mostrar desde",
+ "kEventHistSlower" :"más lento",
+ "kEventMontage" :"Montaje de Evento",
+ "kEventMontageImageScale" :"Escala de imágen en Montaje de Evento",
+ "kEventNavVidFeeds" :"Navegación por eventos no está disponible con señales de vídeo. ZoneMinder todavía no tiene esta característica",
+ "kEventRecording" :"Grabar Evento",
+ "kEventServer" :"Servidor de Eventos",
+ "kEventServerConfig1" :"Por favor cerciórese que sus ajustes de ZM estén configurados y grabados antes que configure el servidor de eventos.",
+ "kEventServerVersionBody1" :"Estás corriendo la versión",
+ "kEventServerVersionBody2" :"Por favor actualice a",
+ "kEventServerVersionTitle" :"Versión de Servidor de Eventos no soportada.",
+ "kEventSingleImageScale" :"Escala de imágen de evento simple",
+ "kEventView" :"Vista de Evento",
+ "kEvents" :"eventos",
+ "kEventsCap" :"Eventos",
+ "kExampleServer" :"ej. Mi Casa",
+ "kExitAppBackground" :"Salir de la app en segundo plano",
+ "kExitEventView" :"salir de la vista de evento",
+ "kExitFullScreen" :"salir de pantalla completa",
+ "kExitLiveView" :"salir de la vista en vivo",
+ "kExpert" :"Experto",
+ "kExploreEnjoy" :"Por favor explore el menú y disfrute",
+ "kFallback" :"Configuración Alterna",
+ "kFallback2Configs" :"Tienes que tener al menos 2 configuraciones distintas creadas para usar configuración alterna.",
+ "kFastForward" :"avance rápido",
+ "kFastRewind" :"retroceso rápido",
+ "kFillScreen" :"pantalla completa",
+ "kFilterByDateTime" :"Filtrar por Hora/Fecha",
+ "kFilterEvents" :"Filtrar Eventos",
+ "kFilterEventsBetween1" :"Estás viendo los eventos entre",
+ "kFilterEventsBetween2" :"¿Quieres eliminar este filtro?",
+ "kFilterOn" :"Filtro Activado",
+ "kFilterSettings" :"Ajustes de Filtro",
+ "kFitScreen" :"ajustar pantalla",
+ "kFootage" :"Metraje",
+ "kForceAlarmConfirm" :"Estás seguro que quieres forzar una alarma para el monitor:",
+ "kForceImagePath" :"Forzar eventos para usar dirección de archivo",
+ "kForcingAlarm" :"forzando alarma",
+ "kFrame" :"cuadro",
+ "kFrameUpdate" :"Actualización de cuadros",
+ "kFrames" :"cuadros",
+ "kFrom" :"Desde",
+ "kFromDate" :"Desde la Fecha",
+ "kFromTime" :"Hasta la Hora",
+ "kGifNoCrosswalk" :"Lo sentimos, tienes que tener instalado Android versión 5.0 (Lollipop) o superior para poder utilizar esta función.",
+ "kGifWarning" :"La animación GIF será solamente de los cuadros donde se ha detectado la alarma y a 1 fps.",
+ "kGlobalConfiguration" :"Configuración Global",
+ "kGraphAlarmed" :"alertado",
+ "kGraphAll" :"todos",
+ "kGraphError" :"Hubo un error renderizando la gráfica. Por favor revise los registros.",
+ "kH264VideoSupport" :"Soporta Vídeo H264",
+ "kHelp" :"Ayuda",
+ "kHideMonsWithoutEvents" :"Ocultar monitores sin eventos.",
+ "kHideTip" :"ocultar sugerencia",
+ "kHighBWDisplay" :"alto ancho de banda",
+ "kId" :"Id",
+ "kImages" :"Imágenes",
+ "kImpMsg1" :"Mensaje Importante",
+ "kImpMsg2" :"Apreciaría si actualizaras ZoneMinder",
+ "kImpMsg3" :"Estás corriendo",
+ "kImpMsg4" :"tiene algunos arreglos importantes que pueden mejorar la API entre otras cosas. Esto es necesario para aprovechar la nueva API para las alarmas y otras características.",
+ "kImpMsg5" :"Versión Reportada",
+ "kImpMsg6" :"Versión Recomendada",
+ "kImpMsg7" :"Ok, lo tengo",
+ "kIncreaseSize" :"aumentar tamaño",
+ "kLanguage" :"Idioma",
+ "kLatestEvents" :"últimos eventos",
+ "kLiveView" :"Vista en Vivo",
+ "kLoad" :"carga",
+ "kLoading" :"cargando",
+ "kLoadingEvents" :"cargando eventos",
+ "kLoadingGraph" :"cargando gráfica",
+ "kLoadingMonitors" :"cargando monitores",
+ "kLocalTimeZone" :"Usar hora local",
+ "kLoginStatusNoCgi" :"Inicio de sesión validado, pero no se pudo validar cgi-path. Si los el stream de vídeo no funciona por favor revise la ruta a cgi-bin o trate de usar la característica de descubrimiento.",
+ "kLoginStatusNoCgiAlt" :"La ruta de cgi-bin que ingresaste puede estar mal. No estoy seguro, pero si no funcionan la vista en vivo, por favor revise la ruta de cgi o trate de usar la característica de descubrimiento.",
+ "kLoginValidAPIFailedTitle" :"Inicio de sesión validado pero falló la API",
+ "kLoginValidatedTitle" :"Inicio de sesión validado",
+ "kLogs" :"Registros",
+ "kLowBWDisplay" :"bajo ancho de banda",
+ "kLowBandwidth" :"modo bajo ancho de banda",
+ "kManageServerGroups" :"Administrar Grupos de Servidores",
+ "kMaxFPS" :"Máx. FPS",
+ "kMaxItemsForTimeline" :"Máx. número de ítems para la Cronología",
+ "kMaxMonitorsMontage" :"Máx. número de monitores en el montaje",
+ "kMenuDevSettings" :"Opciones de Desarrollador",
+ "kMenuEventMontage" :"Montaje de Eventos",
+ "kMenuEvents" :"Eventos",
+ "kMenuExit" :"Salir",
+ "kMenuHelp" :"Ayuda",
+ "kMenuLogs" :"Registros",
+ "kMenuMonitors" :"Monitores",
+ "kMenuMontage" :"Montaje",
+ "kMenuNews" :"Noticias",
+ "kMenuOptions" :"Menú",
+ "kMenuSystemStatus" :"Estado del Sistema",
+ "kMenuTimeline" :"Cronograma",
+ "kMenuTitle" :"Opciones",
+ "kMenuWizard" :"Asistente",
+ "kMenuZMSettings" :"Configuración",
+ "kMinAlarmCount" :"Mínima cuenta de alarma",
+ "kMinVersion" :"Versión Mínima Requerida",
+ "kMinimumIntervals" :"intervalo mínimo",
+ "kMode" :"Modo",
+ "kMonAlarmed" :"alertado",
+ "kMonAlert" :"alerta",
+ "kMonIdle" :"idle",
+ "kMonMocord" :"Mocord",
+ "kMonModect" :"Modect",
+ "kMonMonitor" :"Monitor",
+ "kMonNodect" :"Nodect",
+ "kMonNone" :"Ninguno",
+ "kMonPreAlarm" :"pre-alarm",
+ "kMonRecord" :"Grabación",
+ "kMonitorSingleImageScale" :"Escala de imagen simple en vivo",
+ "kMonitors" :"Monitores",
+ "kMontage" :"Montaje",
+ "kMontageImageScale" :"Escala de montaje de imagen",
+ "kMonth" :"Mes",
+ "kMore" :"más",
+ "kNeedToKnow" :"Necesito saber los detalles de tu usuario y dirección para comenzar",
+ "kNegotiatingStreamAuth" :"negociando el stream de autenticación",
+ "kNewPost" :"nuevo post",
+ "kNews" :"Noticias",
+ "kNext" :"Siguiente",
+ "kNextEvent" :"evento siguiente",
+ "kNextMonitor" :"monitor siguiente",
+ "kNoEvents" :"No hay eventos que mostrar",
+ "kNoMonitors" :"No hay monitores que mostrar",
+ "kNoMoreEvents" :"no hay más eventos",
+ "kNormalPlay" :"reproducción normal",
+ "kNote" :"Nota",
+ "kNow" :"ahora",
+ "kOff" :"apagar",
+ "kOn" :"prender",
+ "kOnTapNavigate" :"al tap, navegar a",
+ "kOneAuth" :"Tiene que habilitar al menos un mecanismo de autenticación.",
+ "kOnlyUseWebSocket" :"sólo usar websockets",
+ "kOperationInProgressBody" :"La operación anterior todavía está en progreso. Por favor espere.",
+ "kOperationInProgressTitle" :"Operación en Progreso",
+ "kPTZ" :"mover/inclinar/acercar",
+ "kPTZNotReady" :"No está listo para PTZ",
+ "kPTZnotConfigured" :"PTZ no está configurado para este monitor.",
+ "kPassword" :"contraseña",
+ "kPathToCgi" :"Ruta a cgi-bin",
+ "kPause" :"pausar",
+ "kPaused" :"pausado",
+ "kPersistHidden" :"Continuar con los monitores ocultos.",
+ "kPinProtect" :"Protegido por PIN",
+ "kPlaceHolderBasicAuthPass" :"contraseña de autenticación básica",
+ "kPlaceHolderBasicAuthUser" :"nombre de usuario de autenticación básica",
+ "kPlaceHolderZMAuthPass" :"contraseña de autenticación zm",
+ "kPlaceHolderZMAuthUser" :"nombre de usuario de autenticación zm",
+ "kPlaybackInterval" :"intervalo de reproducción",
+ "kPleaseCheckCredentials" :"Por favor compruebe sus credenciales",
+ "kPleaseConfirm" :"Por Favor Confirme",
+ "kPleaseSave" :"Por Favor Guarde",
+ "kPleaseTryAgain" :"por favor trate nuevamente",
+ "kPleaseWait" :"por favor espere",
+ "kPortal" :"Portal Web",
+ "kPortalAPIFailed" :"Falló la detección del API",
+ "kPortalCgiBinFailed" :"Falló la detección de cgi-bin",
+ "kPortalDetectionFailed" :"Portal: falló la detección",
+ "kPortalEmpty" :"La url del Portal Web no puede dejarse en blanco",
+ "kPortalInvalidUrl" :"La URL parece inválida (no se detectó un protocolo)",
+ "kPortalLoginUnsuccessful" :"No se pudo iniciar sesión. Por favor revisa tu configuración.",
+ "kPortalNoMonitorFound" :"No configured/enabled monitor found",
+ "kPortalNoProto" :"No protocol specified",
+ "kPortalNotice" :"Si esta pantalla no desaparece después de un rato, es posible que tus APIs no estén configuradas apropiadamente.",
+ "kPortalNoticeSub" :"(Deslize a la derecha para acceder al menú)",
+ "kPortalPleaseSelect" :"Por favor seleccione",
+ "kPortalUrl" :"url portal web ZM",
+ "kPresets" :"preajuste",
+ "kPrev" :"Atrás",
+ "kPrevEvent" :"evento anterior",
+ "kPrevMonitor" :"monitor anterior",
+ "kProfileChangeNotification" :"Has cambiado de {{oldName}} a {{newName}}. Por favor primero guarde este perfil.",
+ "kProtect" :"proteger",
+ "kPullToReload" :"arrastrar para recargar la información",
+ "kReAuthenticating" :"re-autenticando",
+ "kReachability" :"Habilitar Accesibilidad",
+ "kRecaptcha" :"Parece que has activado reCaptcha. Tiene que ser desactivada para que la aplicación funcione.",
+ "kReconfirmPin" :"Confirmar PIN",
+ "kRecordingProgress" :"grabación en progreso",
+ "kRefresh" :"Actualizar",
+ "kRefreshedView" :"actualizar vista",
+ "kReportEvents" :"reportar eventos",
+ "kReportedVersion" :"Reportar Versión",
+ "kReset" :"Resetear",
+ "kResolution" :"Resolución",
+ "kRestart" :"Reiniciar",
+ "kResumeDelay" :"retardo para reanudar",
+ "kSave" :"Guardar",
+ "kSavingSnapshot" :"grabando captura",
+ "kScore" :"puntuación",
+ "kScrub" :"Depurar",
+ "kSearch" :"buscar",
+ "kSearchCancelled" :"búsqueda cancelada",
+ "kSec" :"seg",
+ "kSelectFallback" :"Seleccionar configuración alterna",
+ "kSelectLanguage" :"Seleccionar Lenguaje",
+ "kSelectRunState" :"Seleccionar estado de funcionamiento",
+ "kSendingPTZ" :"Enviando PTZ",
+ "kSensitiveBody" :"Se modificarán los registros cuando se cree la salida final para remover información sensible como urls y contraseñas. Sin embargo eventualmente es su responsabilidad el asegurarse que no haya información sensible en los registros. Por favor asegúrese de haber revisado y editado los registros antes de enviarlos.",
+ "kSensitiveTitle" :"Información Sensible",
+ "kServerAdd" :"Añadir",
+ "kServerEmptyError" :"El servidor debe tener un nombre válido.",
+ "kServerName" :"Nombre del Servidor",
+ "kServerTimeZone" :"servidor TZ",
+ "kSettings" :"Ajustes",
+ "kSettingsSaved" :"Ajustes Guardados",
+ "kShowAlarmedEvents" :"Mostrar eventos de alarmas",
+ "kShowAllEvents" :"Mostrar todos los eventos",
+ "kShowAllFrames" :"todos",
+ "kShowTimeDiffFrames" :" momentos exacto",
+ "kShowTip" :"mostrar sugerencia",
+ "kShowing" :"Mostrando",
+ "kShowingEvent" :"mostrar evento",
+ "kSleep" :"Dormir",
+ "kSoundOnPush" :"Reproducir sonido en evento push",
+ "kSpeed" :"velocidad",
+ "kStart" :"Empezar",
+ "kStateAreYouSure" :"Está seguro que quiere ",
+ "kStateHideControls" :"Ocultar los controles de ZoneMinder",
+ "kStateShowControls" :"Mostrar los controles de ZoneMinder",
+ "kStatus" :"Estatus",
+ "kStop" :"Detener",
+ "kSuccess" :"Hecho",
+ "kSwipeToChangeMon" :"Deslizar para cambiar de monitor",
+ "kSwitchingEvents" :"cambiando eventos",
+ "kSystemStatus" :"Estado del Sistema",
+ "kTapEvents" :"Eventos",
+ "kTapLiveMonitor" :"Monitor en Vivo",
+ "kTapMontage" :"Montaje",
+ "kThanksForUsing" :"Gracias por usar",
+ "kTime" :"tiempo",
+ "kTimeZoneNotSupported" :"tu API no consta con esta función",
+ "kTimeline" :"Cronograma",
+ "kTimelineControlDisplay" :"tap:ver evento, doble-tap:ver gráfica",
+ "kTimelineMessage" :"Doble-tap salir. Tocar/pasar el ratón y arrastrar sobre los items para ver los cuadros.",
+ "kTimelineOnlyDisplaying1" :"mostrar únicamente los últimos {{maxItemsVal}} eventos",
+ "kTitleNotLoggedIn" :"No se ha iniciado sesión",
+ "kTitleNotLoggedInBody" :"No parece que hayas iniciado sesión. Para que funcione la detección, debe ingresar los detalles de inicio de sesión, URL del portal web y entonces Guardar. Después vuelva a esta opción.",
+ "kTitlePortalNotConfigured" :"Portal no configurado",
+ "kTo" :"hasta",
+ "kToDate" :"Hasta la Fecha",
+ "kToTime" :"Hasta el Tiempo",
+ "kToastSearchingPage" :"buscando página ",
+ "kTrying" :"intentando",
+ "kType" :"tipo",
+ "kUnknown" :"(desconocido)",
+ "kUpdateTimeline" :"actualizaciones dinámicas",
+ "kUseEventServer" :"Usar servidor de eventos",
+ "kUseSSL" :"Usar SSL",
+ "kUseVideoControls" :"Por favor use los controles del reproductor de vídeo para los eventos H264. ZoneMinder todavía no soporta los controles zms.",
+ "kUseZmAuth" :"usar autenticación de ZM",
+ "kUserName" :"nombre de usuario",
+ "kValidNameBasicAuth" :"Por favor ingrese un nombre de usuario válido y una contraseña para su autenticación básica",
+ "kValidNameZMAuth" :"Por favor ingrese un nombre de usuario válido y contraseña para su autenticación de ZM",
+ "kVersion" :"Versión",
+ "kVersionIncompatible" :"Soy incompatible con tu versión de ZoneMinder",
+ "kVibrateOnPush" :"Vibrar en notificaciones push",
+ "kVideo" :"Vídeo",
+ "kVideoError" :"El vídeo no se puede reproducir.",
+ "kVideoErrorMobile" :"El vídeo no se puede reproducir. Trata de habilitar 'forzar el directorio para los eventos' en Opc de Desarrollador. El formato también podría ser incompatible con la vista en sistemas móviles",
+ "kVideoLoading" :"Cargando Vídeo",
+ "kVideoMp4Warning" :"Actualmente no es posible saber cuando el vídeo se ha descargado completamente. Por favor fíjese en el tamaño del archivo para tener un estimado.",
+ "kWake" :"Despertar",
+ "kWarningLargeTimeline" :"Un valor alto puede afectar el rendimiento del cronograma. Si el rendimiento del cronograma te parece lento, intenta reducir el valor a 200 y síguelo subiendo a partir de ese punto.",
+ "kWeek" :"Semana",
+ "kWelcomeWizard" :"Bienvenido al asistente de zm",
+ "kWizAuthText1" :"¿Confundido? ZM Auth es el tipo de autenticación utilizado cuando habilitas la opción OPT_USE_AUTH en la consola de ZM dentro de la pantalla de opciones.",
+ "kWizAuthText2" :"Autenticación Básica es cuando configura un nombre de usuario y una contraseña en su servidor web. Si está usando la autenticación LDAP, también consta como autenticación básica.",
+ "kWizBasicAuth" :"Uso autenticación básica",
+ "kWizConfigPain" :"Configurar ZoneMinder puede ser difícil. Veamos si el asistente puede ayudar.",
+ "kWizGotoLogin" :"Ir a la Pantalla de Inicio de Sesión",
+ "kWizNextStep1" :"Una vez se termine la autodetección, podrás",
+ "kWizNextStep2" :"Volver a los pasos anteriores y volver a configurar",
+ "kWizNextStep3" :"Ir a la pantalla de inicio de sesión con las opciones detectadas",
+ "kWizPasswdNote" :"nota: si su contraseña consta de caracteres especiales como #?@ o amperstand, el ayudante podría fallar al detectar el cgi. Es mejor si cambia la contraseña temporalmente por una más simple, corre el ayudante y después lo cambia nuevamente",
+ "kWizPortalAuth" :"Autenticación Portal Web",
+ "kWizPortalText" :"Hablemos sobre como has configurado la autenticación. Si la tienes habilitada, activa la opción.",
+ "kWizPortalTip" :"¿Confundido? Puedes encontrar fácilmente tu dirección URL revisando la dirección que aparece en tu navegador cuando accedes a la Consola ZoneMinder.",
+ "kWizPortalUrl" :"¿Cuál es la dirección url de Zoneminder?",
+ "kWizResults" :"Resultados de la autodetección",
+ "kWizTip" :"Sugerencia",
+ "kWizUseAuth" :"Uso autenticación",
+ "kWizZMAuth" :"Uso autenticación provista por ZM",
+ "kWizard" :"Ayudante",
+ "kWorkingOnGraph" :"trabajar con los datos de la gráfica",
+ "kZMRunning" :"corriendo",
+ "kZMSettingsFor" :"Ajustes de ZoneMinder para",
+ "kZMStopped" :"parado",
+ "kZMUndetermined" :"indeterminado",
+ "kZMUpgradeNeeded" :"Se necesita actualizar ZoneMinder"
+}
diff --git a/www/lang/locale-pl.json b/www/lang/locale-pl.json
new file mode 100644
index 00000000..d913c050
--- /dev/null
+++ b/www/lang/locale-pl.json
@@ -0,0 +1,389 @@
+{
+ "k1DaySummary" :"1 dzień zbiorczo",
+ "k1HourSummary" :"1 godzina zbiorczo",
+ "k1MonthSummary" :"1 miesiąc zbiorczo",
+ "k1WeekSummary" :"1 tydzień zbiorczo",
+ "kAlarmAPIError" :"błąd - upewnij się, że Twoje API obsługuje tą funkcję",
+ "kAlarmFrameCount" :"Ilość Klatek Alarmu",
+ "kAlarmMaxFPS" :"Max FPS Alarmu",
+ "kAlarms" :"Alarmy",
+ "kAll" :"Wszystko",
+ "kAnalyze" :"Analizuj",
+ "kApiUrl" :"Adres url API ZM",
+ "kApplyingChanges" :"Stosuję zmiany. Proszę czekać",
+ "kArrangingImages" :"układam obrazki",
+ "kAt" :"przy",
+ "kAuthSuccess" :"uwierzytelniono",
+ "kAuthenticating" :"uwierzytelniam",
+ "kAutoSwitchBW" :"automatyczna zmiana prędkości",
+ "kAwake1" :"Utrzymuj włączony ekran",
+ "kAwake2" :"(w trakcie oglądania materiału)",
+ "kBannerAPICheckFailed" :"błąd sprawdzania API",
+ "kBannerCannotDeleteNeedOne" :"Nie mogę usunąć, potrzebuję przynajmniej jednego",
+ "kBannerPinMismatch" :"błąd w kodzie PIN",
+ "kBannerPleaseCheck" :"Proszę sprawdzić ustawienia",
+ "kBodyPortalNotConfigured" :"Przed próbą detekcji ścieżki CGI proszę wprowadzić dane logowania oraz adres URL strony, a następnie wcisnąć ZAPISZ.",
+ "kButtonCancel" :"Anuluj",
+ "kButtonClear" :"Wyczyść",
+ "kButtonNo" :"Nie",
+ "kButtonOk" :"OK",
+ "kButtonSave" :"ZAPISZ",
+ "kButtonYes" :"Tak",
+ "kCalcEventSize" :"kalkuluję rozmiar Zdarzenia",
+ "kCancellingAlarm" :"usuwam Alarm",
+ "kChangeSettingsFor" :"Zmień ustawienia dla",
+ "kChangeState" :"Zmień Stan",
+ "kCheckCredentials" :"Proszę sprawdzić dane logowania",
+ "kChromeMax" :"maksimum 5 monitorów - limit chrome",
+ "kCleaningUp" :"czyszczenie",
+ "kClear" :"Wyczyść",
+ "kCollapse" :"zwiń",
+ "kConfiguration" :"Konfiguracja",
+ "kControl" :"kontrola",
+ "kCredentialsBody" :"Wprowadź swoje dane logowania ZoneMinder",
+ "kCredentialsTitle" :"Wymagane dane logowania",
+ "kCurrentState" :"obecny stan",
+ "kCustomRange" :"Zakres niestandardowy",
+ "kCycleMonitors" :"cykl monitorów",
+ "kCycleMonitorsInterval" :"Interwał cyklu monitora",
+ "kDay" :"Dzień",
+ "kDecreaseSize" :"zmniejsz rozmiar",
+ "kDelete" :"Usuń",
+ "kDeleteEventError1" :"Nie można usunąc Zdarzenia",
+ "kDeleteEventError2" :"proszę sprawdzić logi",
+ "kDeleteEventSuccess" :"usunięte Zdarzenia",
+ "kDeleteLogsConfirm" :"Jesteś pewien, że chcesz usunąć logi?",
+ "kDeletingEvent" :"usuwam Zdarzenie",
+ "kDevOptions" :"Ustawienia zaawansowane",
+ "kDeveloperOptionsFor" :"Opcje zaawansowane dla",
+ "kDisableAlarmMontage" :"Wyłącz alarm API w Podglądzie",
+ "kDisableAlarmMontageSub" :"może pomóc jeśli serwer się przeciąży",
+ "kDisableNative" :"Wyłącz natywne przejścia",
+ "kDisableNativeSub" :"Włącz jeśli manu się blokuje",
+ "kDisablePush" :"wyłącz APNS/GCM",
+ "kDisableSamsung" :"Jeśli jesteś na urządzeniu Samsung i masz problem z wypełnianiem pól, czasowo wyłącz autokorektę",
+ "kDiscovering" :"wykrywam",
+ "kDiscoveringAPI" :"wykrywam API",
+ "kDiscoveringCGI" :"wykrywam CGI",
+ "kDiscoveringPortal" :"wykrywam portal",
+ "kDone" :"gotowe",
+ "kDownload" :"pobierz",
+ "kEnable24hr" :"Włącz format czasu 24 godz.",
+ "kEnableDebug" :"Włącz dzienniki debugowania",
+ "kEnableLogs" :"Włącz dziennik",
+ "kEnableNewsUpdates" :"Włącz informację o aktualizacji",
+ "kEnterPin" :"Wprowadź PIN",
+ "kError" :"Błąd",
+ "kErrorChangingMonitors" :"Błąd zmiany monitorów. Proszę sprawdzić logi",
+ "kErrorFrameBanner" :"nie mogłem odczytać właściwości klatki",
+ "kErrorPleaseTryAgain" :"spróbuj jeszcze raz",
+ "kErrorRetrievingFrames" :"błąd odczytu klatki",
+ "kErrorRetrievingState" :"błąd odczytu stanu",
+ "kErrorSave" :"Błąd - nie mogłem zapisać",
+ "kEvent" :"zdarzenie",
+ "kEventHistFaster" :"szybciej",
+ "kEventHistHrs" :"godzin temu",
+ "kEventHistPause" :"pauza",
+ "kEventHistPlay" :"play",
+ "kEventHistShowFrom" :"Pokaż od",
+ "kEventHistSlower" :"wolniej",
+ "kEventMontage" :"Podgląd Zdarzeń",
+ "kEventMontageImageScale" :"Skalowanie obrazu Podglądu Zdarzeń",
+ "kEventNavVidFeeds" :"Nawigacja Zdarzeń nie jest możliwa z materiałem wideo. ZoneMinder jeszcze tego nie wspiera",
+ "kEventRecording" :"Nagrywanie Zdarzenia",
+ "kEventServer" :"Serwer Zdarzeń",
+ "kEventServerConfig1" :"Upewnij się, że ustawienia ZM są skonfigurowane i zapisane zanim zaczniesz konfigurować Serwer Zdarzeń",
+ "kEventServerVersionBody1" :"Używasz wersji",
+ "kEventServerVersionBody2" :"Aktualizuj do",
+ "kEventServerVersionTitle" :"Nie wspierana wersja Serwera Zdarzeń",
+ "kEventSingleImageScale" :"Skalowanie pojedynczego ekranu Zdarzenia",
+ "kEventView" :"Podgląd Zdarzenia",
+ "kEvents" :"zdarzenia",
+ "kEventsCap" :"Zdarzenia",
+ "kExampleServer" :"np. Mój Dom",
+ "kExitAppBackground" :"wyjdź z aplikacji w tle",
+ "kExitEventView" :"opuść podgląd zdarzenia",
+ "kExitFullScreen" :"wyłącz pełny ekran",
+ "kExitLiveView" :"opuść podgląd na żywo",
+ "kExpert" :"Ekspert",
+ "kExploreEnjoy" :"Przeglądaj menu i ciesz się życiem",
+ "kFallback" :"Konfiguracja awaryjna",
+ "kFallback2Configs" :"Potrzebujesz przynajmniej 2 osobnych konfiguracji dla konfiguracji awaryjnej",
+ "kFastForward" :"szybko w przód",
+ "kFastRewind" :"szybko w tył",
+ "kFillScreen" :"wypełnij ekran",
+ "kFilterByDateTime" :"Filtruj po Dacie/Godzinie",
+ "kFilterEvents" :"Filtruj Zdarzenia",
+ "kFilterEventsBetween1" :"Przeglądasz Zdarzenia między",
+ "kFilterEventsBetween2" :"Czy chcesz usunąć ten filtr?",
+ "kFilterOn" :"Filtr włączony",
+ "kFilterSettings" :"Ustawienia filtra",
+ "kFitScreen" :"dopasuj do ekranu",
+ "kFootage" :"Materiał",
+ "kForceAlarmConfirm" :"Czy na pewno chcesz wymusić alarm dla Monitora:",
+ "kForceImagePath" :"Zmuś Zdarzenia do użycia ścieżki pliku",
+ "kForcingAlarm" :"wymuszanie alarmu",
+ "kFrame" :"klatka",
+ "kFrameUpdate" :"Aktualizacja klatki",
+ "kFrames" :"klatki",
+ "kFrom" :"Od",
+ "kFromDate" :"Od Daty",
+ "kFromTime" :"Od Godziny",
+ "kGifWarning" :"Animacja GIF będzie zawierała tylko zaalarmowane klatki i 1fps.",
+ "kGifNoCrosswalk" : "Przepraszam, żeby ta funkcja mogła działać, musisz posiadać co najmniej Android 5, lub wyższy.",
+ "kGlobalConfiguration" :"Konfiguracja Główna",
+ "kGraphAlarmed" :"zaalarmowane",
+ "kGraphAll" :"wszystko",
+ "kGraphError" :"wystąpił błąd w trakcie reenderowania grafiki. Proszę sprawdzić logi",
+ "kH264VideoSupport" :"Wsparcie dla Video H264",
+ "kHelp" : "Pomoc",
+ "kHideMonsWithoutEvents" :"Ukryj Monitory bez Zdarzeń",
+ "kHideTip" :"ukryj podpowiedź",
+ "kHighBWDisplay" :"wysoka przepustowość",
+ "kId" :"Id",
+ "kImages" :"Obrazy",
+ "kImpMsg1" :"Ważna Wiadomość",
+ "kImpMsg2" :"Będę wdzięczny jeśli aktualizujesz ZoneMinder",
+ "kImpMsg3" :"Działasz na",
+ "kImpMsg4" :"posiada ważne poprawki poprawiające pracę API z innymi funkcjami. Jest to niezbędne do działania nowych alarmów API i innych funkcji",
+ "kImpMsg5" :"Zgłoszona Wersja",
+ "kImpMsg6" :"Rekomendowana Wersja",
+ "kImpMsg7" :"Ok, załapałem",
+ "kIncreaseSize" :"zwiększ rozmiar",
+ "kLanguage" :"Język",
+ "kLatestEvents" :"ostatnie zdarzenia",
+ "kLiveView" :"Podgląd na żywo",
+ "kLoad" :"załaduj",
+ "kLoading" :"ładuję",
+ "kLoadingEvents" : "ładuję zdarzenia",
+ "kLoadingGraph" :"ładuję grafikę",
+ "kLoadingMonitors" :"ładuję monitory",
+ "kLocalTimeZone" :"Użyj lokalnej strefy czasowej",
+ "kLoginStatusNoCgi" :"Login potwierdzony, ale nie mogłem potwierdzić ścieżki cgi. Jeśli podgląd na żywo nie działa, sprawdź ścieżkę cgi-bin lub użyj funkcji wykrywania.",
+ "kLoginStatusNoCgiAlt" :"Ścieżka cgi-bin którą wprowadziłeś może być niewłaściwa. Nie jestem pewien, ale jeśli Twój podgląd na żywo nie działa, sprawdź ścieżkę cgi lub spróbuj użyć funkcji wykrywania.",
+ "kLoginValidAPIFailedTitle" :"Login potwierdzony ale API zawiodło",
+ "kLoginValidatedTitle" :"Login Potwierdzony",
+ "kLogs" :"Logi",
+ "kLowBWDisplay" :"niska przepustowość",
+ "kLowBandwidth" :"Tryb niskiej przepustowości",
+ "kManageServerGroups" :"Zarządzaj Serwerem Grup",
+ "kMaxFPS" :"Maksimum FPS",
+ "kMaxItemsForTimeline" :"Maks.szt. na Osi Czasu",
+ "kMaxMonitorsMontage" :"Maksimum monitorów w Podglądzie",
+ "kMenuDevSettings" :"Ustawienia Zaawansowane",
+ "kMenuEventMontage" :"Podgląd Zdarzeń",
+ "kMenuEvents" :"Zdarzenia",
+ "kMenuExit" :"Wyjdź",
+ "kMenuHelp" :"Pomoc",
+ "kMenuLogs" :"Logi",
+ "kMenuMonitors" :"Monitory",
+ "kMenuMontage" :"Podgląd",
+ "kMenuNews" :"Wiadomości",
+ "kMenuOptions" :"Menu",
+ "kMenuSystemStatus" :"Stan Systemu",
+ "kMenuTimeline" :"Oś czasu",
+ "kMenuTitle" :"Opcje",
+ "kMenuWizard" :"Kreator",
+ "kMenuZMSettings" :"Ustawienia",
+ "kMinAlarmCount" :"Minimalna ilość alarmów",
+ "kMinVersion" :"Minimalna Wymagana Wersja",
+ "kMinimumIntervals" :"minimalna przerwa",
+ "kMode" :"Tryb",
+ "kMonAlarmed" :"zaalarmowany",
+ "kMonAlert" :"alert",
+ "kMonIdle" :"bezczynny",
+ "kMonMocord" :"Mocord",
+ "kMonModect" :"Modect",
+ "kMonMonitor" :"Monitor",
+ "kMonNodect" :"Nodect",
+ "kMonNone" :"Żaden",
+ "kMonPreAlarm" :"pre-alarm",
+ "kMonRecord" :"Record",
+ "kMonitorSingleImageScale" :"Skalowanie pojedynczego obrazy Podglądu na żywo",
+ "kMonitors" :"Monitory",
+ "kMontage" :"Podgląd",
+ "kMontageImageScale" :"Skalowanie obrazu Podglądu",
+ "kMontageNoSavedProfiles" :"Nie zapisany profil Montażu",
+ "kMontageSave" :"Zapisz profil Montażu",
+ "kMontageSaveSubtitle" :"aby zapisać obecne ustawienia, proszę wprowadzić nazwę profilu",
+ "kMonth" :"Miesiąc",
+ "kMore" :"więcej",
+ "kNeedToKnow" :"Żeby rozpocząć muszę znać dane ścieżki i login Twojego ZoneMinder'a",
+ "kNegotiatingStreamAuth" :"negocjowanie uwierzytelnienia źródła",
+ "kNews" :"Wiadomości (10 najnowszych)",
+ "kNewPost" : "nowy post",
+ "kNext" :"Następny",
+ "kNextEvent" :"następne zdarzenie",
+ "kNextMonitor" :"następny monitor",
+ "kNoEvents" :"Brak Zdarzeń do wyświetlenia",
+ "kNoMonitors" :"Brak Monitorów do wyświetlenia",
+ "kNoMoreEvents" :"koniec Zdarzeń",
+ "kNormalPlay" :"normalne odtwarzanie",
+ "kNote" : "Notatka",
+ "kNow" :"teraz",
+ "kOff" :"wyłącz",
+ "kOn" :"włącz",
+ "kOnTapNavigate" :"przyciskając przejdź do",
+ "kOneAuth" :"Musisz włączyć co najmniej jeden mechanizm uwierzytelniający",
+ "kOnlyUseWebSocket" :"użyj tylko websockets",
+ "kOperationInProgressBody" :"Poprzednia operacja nadal trwa. Czekaj",
+ "kOperationInProgressTitle" :"Operacja trwa",
+ "kPTZ" :"pan/tilt/zoom",
+ "kPTZNotReady" :"Nie gotowy na PTZ",
+ "kPTZnotConfigured" :"PTZ nie skonfigurowany dla tego Monitora",
+ "kPassword" :"hasło",
+ "kPathToCgi" :"Ścieżka do cgi-bin",
+ "kPause" :"pauza",
+ "kPaused" :"wstrzymane",
+ "kPersistHidden" :"Utrzymuj ukryte Monitory",
+ "kPinProtect" :"Ochrona PIN",
+ "kPlaceHolderBasicAuthPass" :"hasło prostego uwierzytelniania",
+ "kPlaceHolderBasicAuthUser" :"użytkownik zwykłego uwierzytelniania",
+ "kPlaceHolderZMAuthPass" :"hasło uwierzytelniania ZM",
+ "kPlaceHolderZMAuthUser" :"użytkownik uwierzytelniania ZM",
+ "kPlaybackInterval" :"Interwał Odtwarzania",
+ "kPleaseCheckCredentials" :"Sprawdź dane logowania",
+ "kPleaseConfirm" :"Proszę Potwierdzić",
+ "kPleaseSave" :"Proszę Zapisać",
+ "kPleaseTryAgain" :"spróbuj jeszcze raz",
+ "kPleaseWait" :"proszę czekać",
+ "kPortal" :"Portal",
+ "kPortalAPIFailed" :"Błąd wykrywania API",
+ "kPortalCgiBinFailed" :"Błąd wykrywania ścieżki cgi-bin",
+ "kPortalDetectionFailed" :"Portal: błąd wykrywania",
+ "kPortalEmpty" :"Ścieżka Portalu url nie może być pusta",
+ "kPortalInvalidUrl" :"URL wygląda niewłaściwie (nie wykryto protokołu)",
+ "kPortalLoginUnsuccessful" :"Logowanie do Portalu nieudane. Wróć i sprawdź swoje ustawienia",
+ "kPortalNoMonitorFound" :"Nie znaleziono skonfigurowanego/włączonego Monitora",
+ "kPortalNoProto" :"Nie ustalono protokołu",
+ "kPortalNotice" :"Jeśli ten ekran po chwili nie zniknie, to możliwe, że Twoje APIs nie jest skonfigurowane prawidłowo",
+ "kPortalNoticeSub" :"(Przesuń w prawo by wejść do menu)",
+ "kPortalPleaseSelect" :"Proszę wybrać",
+ "kPortalUrl" :"ZM portal url",
+ "kPresets" :"ustawienia",
+ "kPrev" :"Poprz.",
+ "kPrevEvent" :"poprzednie zdarzenie",
+ "kPrevMonitor" :"poprzedni monitor",
+ "kProfileChangeNotification" :"Zmieniłeś z {{oldName}} na {{newName}}. Zapisz wcześniej ten profil.",
+ "kProtect" :"zabezpiecz",
+ "kPullToReload" :"przeciągnij by przeładować dane",
+ "kReAuthenticating" :"ponowne uwierzytelnianie",
+ "kReachability" :"Włącz Osiągalność",
+ "kRecaptcha" :"Wygląda na to, że właczyłeś reCaptcha. Powinna być wyłączona, żeby aplikacja działała.",
+ "kReconfirmPin" :"Potwierdź PIN",
+ "kRecordingProgress" :"trwa nagrywanie",
+ "kRefresh" :"odśwież",
+ "kRefreshedView" :"odśwież podgląd",
+ "kReportEvents" :"raportuj zdarzenie",
+ "kReportedVersion" :"Zgłoszona Wersja",
+ "kReset" :"Reset",
+ "kResolution" :"Rozdzielczość",
+ "kRestart" :"Restart",
+ "kResumeDelay" :"opóźnienie wznowienia",
+ "kSave" :"Zapisz",
+ "kSavingSnapshot" :"zapisuję obraz",
+ "kScore" :"punkty",
+ "kScrub" :"Podgląd",
+ "kSearch" :"szukaj",
+ "kSearchCancelled" :"szukaj anulowane",
+ "kSec" :"sek",
+ "kSelect" :"Proszę wybrać",
+ "kSelectDelete" :"Wybrany profil zostanie usunięty",
+ "kSelectSwitch" :"Wybrany profil zostanie załadowany",
+ "kSelectFallback" :"Wybierz alternatywę",
+ "kSelectLanguage" :"Wybierz język",
+ "kSelectRunState" :"Wybierz działający stan",
+ "kSendingPTZ" :"Wysyła PTZ",
+ "kSensitiveBody" :"tworząc finalny log zmodyfikuje jego zawartość, aby usunąć wrażliwe dane takie jak linki czy hasła. Jednak na Tobie spoczywa odpowiedzialność upewnienia się, że wszystkie dane wrażliwe zostały usunięte. Upewnij się, że przeglądnąłeś i edytowałeś log przed jego wysłaniem",
+ "kSensitiveTitle" :"Dane Wrażliwe",
+ "kServerAdd" :"Dodaj",
+ "kServerEmptyError" :"Nazwa serwera nie może być pusta",
+ "kServerName" :"Nazwa serwera",
+ "kServerTimeZone" :"serwer TZ",
+ "kSettings" :"Ustawienia",
+ "kSettingsSaved" :"Ustawienia Zapisane",
+ "kShowAlarmedEvents" :"Pokaż zaalarmowane Zdarzenia",
+ "kShowAllEvents" :"Pokaż wszystkie Zdarzenia",
+ "kShowAllFrames" :"wszystkie",
+ "kShowTimeDiffFrames" :"unikatowe czasy",
+ "kShowTip" :"pokaż podpowiedź",
+ "kShowing" :"Pokazywanie",
+ "kShowingEvent" :"pokazywanie zdarzenia",
+ "kSleep" :"Uśpij",
+ "kSoundOnPush" :"Dźwięk przycisku",
+ "kSpeed" :"prędkość",
+ "kStart" :"Start",
+ "kStateAreYouSure" :"Jesteś pewien, że chcesz ",
+ "kStateHideControls" :"Ukryj Przyciski ZoneMinder",
+ "kStateShowControls" :"Pokaż Przyciski ZoneMinder",
+ "kStatus" :"Stan",
+ "kStop" :"Stop",
+ "kSuccess" :"Sukces",
+ "kSwipeToChangeMon" :"Przesuń, by zmienić Monitory",
+ "kSwitchingEvents" :"przełączam zdarzenia",
+ "kSystemStatus" :"Stan Systemu",
+ "kTapEvents" :"Zdarzenia",
+ "kTapLiveMonitor" :"Podgląd na żywo",
+ "kTapMontage" :"Podgląd",
+ "kThanksForUsing" :"Dziękuję za używanie",
+ "kTime" :"czas",
+ "kTimeZoneNotSupported" :"twoje API tego nie obsługuje",
+ "kTimeline" :"Oś czasu",
+ "kTimelineControlDisplay" :"stuknięcie:podgl.zdarzenia, podw.stuknięcie:podgl.wykresu klatek",
+ "kTimelineMessage" :"Podwójne stuknięcie - wyjście. Dotknięcie i przesuwanie elementów pozwala przeglądać klatki",
+ "kTimelineOnlyDisplaying1" :"wyświetla tylko {{maxItemsVal}} ostatnich zdarzeń",
+ "kTitleNotLoggedIn" :"Nie zalogowany",
+ "kTitleNotLoggedInBody" :"Nie wygląda jakbyś był zalogowany. Żeby wykrywanie działało, musisz wypełnić dane logowania, portal URL i wcisnąć ZAPISZ. Wtedy możesz tu wrócić.",
+ "kTitlePortalNotConfigured" :"Portal nie skonfigurowany",
+ "kTo" :"do",
+ "kToDate" :"Do Daty",
+ "kToTime" :"Do Czasu",
+ "kToastSearchingPage" :"szuka strony ",
+ "kTrying" :"próbuję",
+ "kType" :"typ",
+ "kUnknown" :"(nieznany)",
+ "kUpdateTimeline" :"aktualizacja dynamiczna",
+ "kUseEventServer" :"Użyj serwera Zdarzeń",
+ "kUseSSL" :"Użyj SSL",
+ "kUseVideoControls" :"Użyj przełączników wideo odtwarzacza dla Zdarzeń H264. ZoneMinder jeszcze nie wspiera przełączników zms",
+ "kUseZmAuth" :"Użyj uwierzytelniania ZM",
+ "kUserName" :"nazwa użytkownika",
+ "kValidNameBasicAuth" :"Wprowadź włąściwego użytkownika i hasło dla prostego uwierzytelniania",
+ "kValidNameZMAuth" :"Wprowadź włąściwego użytkownika i hasło dla uwierzytelniania ZM",
+ "kVersion" :"Wersja",
+ "kVersionIncompatible" :"Jestem niekompatybilny z wersją Twojego ZoneMinder'a",
+ "kVibrateOnPush" :"Wibruj przy dotknięciu",
+ "kVideo" :"Wideo",
+ "kVideoError" : "Wideo nie odtwarzalne.",
+ "kVideoErrorMobile" : "Wideo nie odtwarzalne. Spróbuj włączyć 'wymuś ścieżkę obrazu dla zdarzenia' w Ustawieniach Zaawansowanych. Format może być też niekompatybilny z przeglądarką systemu mobilnego",
+ "kVideoLoading" : "Ładuję Wideo",
+ "kVideoMp4Warning" : "Obecnie nie ma możliwości stwierdzenia, czy wideo zostało w pełni ściągnięte. Sprawdź wielkość pliku do ściągnięcia.",
+ "kWake" :"Wybudź",
+ "kWarningLargeTimeline" :"Wysoka wartość może wpłynąć na prędkość osi czasu. Jeśli oś czasu będzie zbyt wolna, spróbuj zredukować wartość do 200 i powoli zwiększaj do pożądanego efektu.",
+ "kWeek" :"Tydzień",
+ "kWelcomeWizard" :"Witamy w Kreatorze",
+ "kWizAuthText1" :"Skołowany? Uwierzytelnianie ZM, to uwierzytelnianie używane kiedy włączysz OPT_USE_AUTH w oknie opcji konsoli ZM.",
+ "kWizAuthText2" :"Uwierzytelnianie prostego używamy wtedy, kiedy skonfigurujesz użytkownika i hasło w przeglądarce internetowej. Jeśli używasz uwierzytelniania LDAP, wtedy raczej jest to uwierzytelnianie proste.",
+ "kWizBasicAuth" :"Używam uwierzytelniania prostego",
+ "kWizConfigPain" :"Konfiguracja ZoneMinder'a może być bolesnym przeżyciem. Sprawdźmy czy zmWizard pomoże.",
+ "kWizGotoLogin" :"Idź do ekranu logowania",
+ "kWizNextStep1" :"Gdy auto-detekcja zostanie zakończona, można albo",
+ "kWizNextStep2" :"Wróć do poprzednich kroków i popraw",
+ "kWizNextStep3" :"Idź do ekranu logowania z tymi automatycznie wprowadzonymi wartościami",
+ "kWizPasswdNote" :"uwaga: jeśli Twoje hasło ma znaki specjalne, takie jak #?@ czy ampersand, kreator może nie wykryć cgi. Najlepiej tymczasowo zmień hasło na jakieś proste, przejdź kreatora, a następnie przywróć swoje poprzednie hasło",
+ "kWizPortalAuth" :"Uwierzytelnianie portalu",
+ "kWizPortalText" :"Pomówmy o tym jak skonfigurowałeś uwierzytelnianie. Jeśli włączyłeś uwierzytelnianie, przełącz ten przycisk",
+ "kWizPortalTip" :"Skołowany? Możesz łatwo znaleźć adres URL portalu notując adres, który widzisz w swojej przeglądarce gdy używasz Konsoli ZoneMinder.",
+ "kWizPortalUrl" :"Jaki jest adres portalu Zoneminder?",
+ "kWizResults" :"Rezultat autodetekcji",
+ "kWizTip" :"Podpowiedź",
+ "kWizUseAuth" :"Używam uwierzytelniania",
+ "kWizZMAuth" :"Używam uwierzytelniania ZM",
+ "kWizard" :"Kreator",
+ "kWorkingOnGraph" :"Pracuję na danych graficznych",
+ "kZMRunning" :"pracuję",
+ "kZMSettingsFor" :"Ustawienia ZoneMinder dla",
+ "kZMStopped" :"zatrzymane",
+ "kZMUndetermined" :"nieokreślone",
+ "kZMUpgradeNeeded" :"Potrzebna aktualizacja ZoneMinder'a"
+}
diff --git a/www/lang/locale-pt.json b/www/lang/locale-pt.json
index 8dd66c47..89dc853d 100644
--- a/www/lang/locale-pt.json
+++ b/www/lang/locale-pt.json
@@ -15,6 +15,7 @@
"kAt" :"em",
"kAuthSuccess" :"autenticação bem sucedida",
"kAuthenticating" :"autenticando",
+ "kAutoSwitchBW" :"comutação automática da largura de banda",
"kAwake1" :"Manter ecrã ligado",
"kAwake2" :"(quando visualizar imagens)",
"kBannerAPICheckFailed" :"verificação da API falhou",
@@ -55,14 +56,18 @@
"kDeletingEvent" :"eliminado evento",
"kDevOptions" :"Configurações de Desenvolvimento",
"kDeveloperOptionsFor" :"Configurações de desenvolvimento para o",
+ "kDisableAlarmMontage" :"Desativar API de alarme na montagem",
+ "kDisableAlarmMontageSub" :"pode ajudar se o servidor ficar em sobrecarga",
"kDisableNative" :"Desativar transições nativas",
"kDisableNativeSub" :"Ativar se o menu estiver a congelar",
"kDisablePush" :"desativar APNS/GCM",
+ "kDisableSamsung" :"Se você estiver a usar um dispositivo Samsung e estiver enfrentando problemas de entrada, desative temporariamente a correção automática",
"kDiscovering" :"descobrindo",
"kDiscoveringAPI" :"descobrindo api",
"kDiscoveringCGI" :"descobrindo cgi",
"kDiscoveringPortal" :"descobrindo portal",
"kDone" :"feito",
+ "kDownload" :"descarregar",
"kEnable24hr" :"Ativar formato 24hr",
"kEnableDebug" :"Ativar logs de depuração",
"kEnableLogs" :"Ativar logs",
@@ -76,6 +81,12 @@
"kErrorRetrievingState" :"erro a obter estado",
"kErrorSave" :"Erro - não pode gravar",
"kEvent" :"evento",
+ "kEventHistFaster" :"mais rápido",
+ "kEventHistHrs" :"horas atrás",
+ "kEventHistPause" :"pausa",
+ "kEventHistPlay" :"tocar",
+ "kEventHistShowFrom" :"Mostrar de",
+ "kEventHistSlower" :"mais lento",
"kEventMontage" :"Montagem de Eventos",
"kEventMontageImageScale" :"Montagem de Eventos com escalamento de imagem",
"kEventNavVidFeeds" :"Navegação de Eventos não está disponivel com feeds de video. O ZoneMinder ainda não os suporta",
@@ -91,8 +102,9 @@
"kEventsCap" :"Eventos",
"kExampleServer" :"ex. Minha Casa",
"kExitAppBackground" :"terminar app em background",
- "kExitFullScreen" :"sair de tela inteira",
- "kExitLiveView" :"sair de visualização ao vivo",
+ "kExitEventView" :"sair da visualização do evento",
+ "kExitFullScreen" :"sair do ecrã completo",
+ "kExitLiveView" :"sair da visualização ao vivo",
"kExpert" :"Especialista",
"kExploreEnjoy" :"Por favor explore o menu e divirta-se",
"kFallback" :"Recuperar configuração anterior",
@@ -117,13 +129,17 @@
"kFrom" :"De",
"kFromDate" :"Da Data",
"kFromTime" :"Da Hora",
+ "kGifWarning" :"A animação GIF será apenas de quadros de alarme e a 1fps",
+ "kGifNoCrosswalk" :"Desculpe, você precisa estar no Android 5.0 (Lollipop) ou superior para que esse recurso funcione.",
"kGlobalConfiguration" :"Configuração Global",
"kGraphAlarmed" :"alarme",
"kGraphAll" :"todos",
"kGraphError" :"houve um erro de renderização de gráficos. Por favor, consulte os logs",
"kH264VideoSupport" :"Suporte de Video H264",
+ "kHelp" :"Ajuda",
"kHideMonsWithoutEvents" :"Esconder monitores sem eventos",
"kHideTip" :"Esconder dica",
+ "kHighBWDisplay" :"largura de banda alta",
"kId" :"Id",
"kImages" :"Imagens",
"kImpMsg1" :"Mensagem Importante",
@@ -139,14 +155,17 @@
"kLiveView" :"Visualização ao Vivo",
"kLoad" :"carga",
"kLoading" :"carregando",
+ "kLoadingEvents" :"Carregando eventos",
"kLoadingGraph" :"carregando gráfico",
"kLoadingMonitors" :"carregando monitores",
+ "kLocalTimeZone" :"usar timezone local",
"kLoginStatusNoCgi" :"Login validado, mas não pôde validar cgi-path. Se as transmissões ao vivo não funcionarem, por favor verifique o seu caminho cgi-bin ou tente usar o recurso descobrir",
"kLoginStatusNoCgiAlt" :"O caminho cgi-bin que introduziu pode estar errado. Eu não posso ter certeza, mas se as suas transmissões ao vivo não funcionam, por favor reveja o seu caminho cgi ou tente usar o recurso descobrir.",
"kLoginValidAPIFailedTitle" :"Login Validado mas API falhou",
"kLoginValidatedTitle" :"Login Validado",
"kLogs" :"Logs",
- "kLowBandwidth" :"modo baixa largura de banda",
+ "kLowBWDisplay" :"largura de banda baixa",
+ "kLowBandwidth" :"modo largura de banda baixa",
"kManageServerGroups" :"Gerenciar Grupos de Servidores",
"kMaxFPS" :"FPS Max",
"kMaxItemsForTimeline" :"Max items na Timeline",
@@ -183,12 +202,13 @@
"kMonitorSingleImageScale" :"Visualição direta de imagem única à escala",
"kMonitors" :"Monitores",
"kMontage" :"Montagem",
- "kMontageImageScale" :"Montagem com escalamento de imagem",
+ "kMontageImageScale" :"Montagem com escalamento da imagem",
"kMonth" :"Mẽs",
"kMore" :"mais",
"kNeedToKnow" :"Eu preciso saber o seu login no ZoneMinder e os detalhes do caminho para começar",
"kNegotiatingStreamAuth" :"negociar autenticação de stream",
"kNews" :"Novidades",
+ "kNewPost" :"nova postagem",
"kNext" :"Seguinte",
"kNextEvent" :"evento seguinte",
"kNextMonitor" :"monitor seguinte",
@@ -196,6 +216,8 @@
"kNoMonitors" :"Não há monitores para mostrar",
"kNoMoreEvents" :"não há mais eventos",
"kNormalPlay" :"reprodução normal",
+ "kNote" :"Nota",
+ "kNow" :"agora",
"kOff" :"desligado",
"kOn" :"ligado",
"kOnTapNavigate" :"ao tocar, navegue até",
@@ -231,6 +253,8 @@
"kPortalLoginUnsuccessful" :"Login no Portal não foi bem sucedido. Por favor reveja as suas configurações",
"kPortalNoMonitorFound" :"Não foi encontrado nenhum monitor configurado/ativado",
"kPortalNoProto" :"Nenhum protocolo especificado",
+ "kPortalNotice" :"Se este ecrã não desaparecer após algum tempo, é possível que as suas APIs não estejam corretamente configuradas",
+ "kPortalNoticeSub" :"(Deslize para a direita para aceder ao menu)",
"kPortalPleaseSelect" :"Por favor selecione",
"kPortalUrl" :"url do portal ZM",
"kPresets" :"predefinições",
@@ -269,6 +293,7 @@
"kServerAdd" :"Adicionar",
"kServerEmptyError" :"O Nome do Servidor tem de estar preenchido",
"kServerName" :"Nome do Servidor",
+ "kServerTimeZone" :"TZ do servidor",
"kSettings" :"Configurações",
"kSettingsSaved" :"Configurações Guardadas",
"kShowAlarmedEvents" :"Mostrar eventos com alarme",
@@ -296,6 +321,7 @@
"kTapMontage" :"Montagem",
"kThanksForUsing" :"Obrigado por usar o",
"kTime" :"tempo",
+ "kTimeZoneNotSupported" :"A sua API não suporta isto",
"kTimeline" :"Timeline",
"kTimelineControlDisplay" :"clique:ver evento, clique-duplo:ver gráfico de frames",
"kTimelineMessage" :"clique-duplo sai. clique/rato-por-cima e arraste por cima dos items para ver frames",
@@ -310,6 +336,7 @@
"kTrying" :"tentando",
"kType" :"digite",
"kUnknown" :"(desconhecido)",
+ "kUpdateTimeline" :"atualizações dinâmicas",
"kUseEventServer" :"Usar servidor de eventos",
"kUseSSL" :"Usar SSL",
"kUseVideoControls" :"Por favor, use os controles do player de vídeo para eventos H264. ZoneMinder ainda não suporta controles ZMS",
@@ -321,6 +348,10 @@
"kVersionIncompatible" :"Sou incompativel com a sua versão do ZoneMinder",
"kVibrateOnPush" :"Vibrar ao premir",
"kVideo" :"Vídeo",
+ "kVideoError" : "Vídeo não reproduzível.",
+ "kVideoErrorMobile" : "Vídeo não reproduzível. Experimente ativar 'forçar o caminho da imagem para eventos' em Configurações Dev. O formato também pode ser incompatível com o sistema de visualização do equipamento móvel",
+ "kVideoLoading" : "Carregando Vídeo",
+ "kVideoMp4Warning" : "Não é possível de momento saber quando o vídeo está totalmente carregado. Por favor, verifique o tamnho do arquivo de download.",
"kWake" :"Acordar",
"kWarningLargeTimeline" :"Um valor elevado pode afetar o desempenho da timeline. Se você achar o desempenho da timeline lento, tente reduzir o valor para 200 e trabalhe a partir daí.",
"kWeek" :"Semana",