From 5430d51b092a4a1cdf7f32233e38e5350995956c Mon Sep 17 00:00:00 2001 From: pliablepixels Date: Wed, 25 May 2016 15:17:48 -0400 Subject: #261 - more intl Former-commit-id: 0976517fc45eff4876eba6fd945cccea15b69f42 --- www/index.html | 28 ++-- www/js/DataModel.js | 4 +- www/js/DevOptionsCtrl.js | 6 +- www/js/EventCtrl.js | 2 +- www/js/LogCtrl.js | 8 +- www/js/LoginCtrl.js | 2 +- www/js/TimelineCtrl.js | 4 + www/js/app.js | 26 ++-- www/lang/README.TXT | 4 + www/lang/locale-en.json | 210 ++++++++++++++++++++++++----- www/templates/devoptions.html | 40 +++--- www/templates/events-date-time-filter.html | 14 +- www/templates/events-graphs.html | 3 + www/templates/events-modal.html | 6 +- www/templates/events-popover.html | 8 +- www/templates/eventserversettings.html | 35 ++--- www/templates/first-use.html | 12 +- www/templates/help.html | 6 +- www/templates/help/montage-help.html | 2 + www/templates/important_message.html | 14 +- www/templates/log.html | 4 +- www/templates/login.html | 30 ++--- www/templates/lowversion.html | 12 +- www/templates/monitors-modal.html | 2 +- www/templates/monitors.html | 24 ++-- www/templates/montage-history.html | 24 ++-- www/templates/montage.html | 2 +- www/templates/news.html | 4 +- www/templates/state.html | 16 +-- www/templates/timeline-modal.html | 6 +- www/templates/timeline-popover.html | 12 +- www/templates/timeline.html | 8 +- www/templates/wizard.html | 58 ++++---- www/templates/zm-portal-login.html | 6 +- 34 files changed, 392 insertions(+), 250 deletions(-) create mode 100644 www/lang/README.TXT (limited to 'www') diff --git a/www/index.html b/www/index.html index de0c9157..c376c1f1 100644 --- a/www/index.html +++ b/www/index.html @@ -177,7 +177,7 @@ -

Options

+

{{'kMenuOptions'|translate}}

@@ -185,38 +185,38 @@ - Montage + {{'kMenuMontage'|translate}} - Event Montage + {{'kMenuEventMontage'|translate}} - Timeline + {{'kMenuTimeline'|translate}} - Events + {{'kMenuEvents'|translate}} - Monitors + {{'kMenuMonitors'|translate}} - System Status + {{'kMenuSystemStatus'|translate}} @@ -226,40 +226,40 @@ - ZM Settings + {{'kMenuZMSettings'|translate}} - Developer Settings + {{'kMenuDevSettings'|translate}} - Help + {{'kMenuHelp'|translate}} - wizard + {{'kMenuWizard'|translate}}
- news {{$root.newBlogPost}} + {{'kMenuNews'|translate}} {{$root.newBlogPost}}
- Logs + {{'kMenuLogs'|translate}} @@ -278,7 +278,7 @@ - Exit + {{'kMenuExit'|translate}} diff --git a/www/js/DataModel.js b/www/js/DataModel.js index b02f0bfb..be96cb5f 100644 --- a/www/js/DataModel.js +++ b/www/js/DataModel.js @@ -49,7 +49,7 @@ angular.module('zmApp.controllers') 'disablePush':false, // true if only websocket mode is desired 'eventServerMonitors':'', // list of monitors to notify from ES 'eventServerInterval':'', // list of intervals for all monitors - 'refreshSec':'2', // timer value for frame change in sec + 'refreshSec':'2', // timer value for frame change in sec 'enableLogs':true, 'enableDebug':false, // if enabled with log messages with "debug" 'usePin':false, @@ -733,7 +733,7 @@ angular.module('zmApp.controllers') { // recaptcha enable. zmNinja won't work zmLog ("ZM has recaptcha enabled", "error"); - displayBanner ('error', ['Recaptcha must be disabled in Zoneminder', 'zmNinja will not work with recaptcha'],"",8000); + displayBanner ('error', ['Recaptcha must be disabled in Zoneminder', $rootScope.appName+' will not work with recaptcha'],"",8000); d.resolve(true); return (d.promise); diff --git a/www/js/DevOptionsCtrl.js b/www/js/DevOptionsCtrl.js index a85322cd..ecaf9b69 100644 --- a/www/js/DevOptionsCtrl.js +++ b/www/js/DevOptionsCtrl.js @@ -2,7 +2,7 @@ /* jslint browser: true*/ /* global cordova,StatusBar,angular,console */ -angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope', '$rootScope', '$ionicModal', 'zm', 'ZMDataModel', '$ionicSideMenuDelegate', '$ionicPopup', '$http', '$q', '$ionicLoading', '$ionicHistory','$state', 'SecuredPopups', function ($scope, $rootScope, $ionicModal, zm, ZMDataModel, $ionicSideMenuDelegate, $ionicPopup, $http, $q, $ionicLoading, $ionicHistory, $state, SecuredPopups) { +angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope', '$rootScope', '$ionicModal', 'zm', 'ZMDataModel', '$ionicSideMenuDelegate', '$ionicPopup', '$http', '$q', '$ionicLoading', '$ionicHistory','$state', 'SecuredPopups', 'translate', function ($scope, $rootScope, $ionicModal, zm, ZMDataModel, $ionicSideMenuDelegate, $ionicPopup, $http, $q, $ionicLoading, $ionicHistory, $state, SecuredPopups, $translate) { $scope.openMenu = function () { @@ -103,8 +103,8 @@ angular.module('zmApp.controllers').controller('zmApp.DevOptionsCtrl', ['$scope' saveDevOptions(); // $rootScope.zmPopup.close(); $rootScope.zmPopup= SecuredPopups.show('alert',{ - title: 'Settings Saved', - template: 'Please explore the menu and enjoy zmNinja!' + title: $translate.instant('kSettingsSaved'), + template: "{{'kExploreEnjoy' | translate }} {{$root.appName}}" }).then(function (res) { $ionicSideMenuDelegate.toggleLeft(); }); diff --git a/www/js/EventCtrl.js b/www/js/EventCtrl.js index 68e27b08..94a471ab 100644 --- a/www/js/EventCtrl.js +++ b/www/js/EventCtrl.js @@ -1050,7 +1050,7 @@ angular.module('zmApp.controllers') $cordovaBadge.set(0).then(function () { // You have permission, badge set. }, function (err) { - ZMDataModel.zmDebug("zmNinja does not have badge permissions. Please check your phone notification settings"); + ZMDataModel.zmDebug("app does not have badge permissions. Please check your phone notification settings"); // You do not have permission. }); diff --git a/www/js/LogCtrl.js b/www/js/LogCtrl.js index 2fde7129..84ab820c 100644 --- a/www/js/LogCtrl.js +++ b/www/js/LogCtrl.js @@ -75,7 +75,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo $scope.sendEmail = function (logstring) { $ionicPopup.confirm({ title: 'Sensitive Information', - template: 'zmNinja will modify the logs when creating the final output to remove sensitive data like urls and passwords. However it is eventually your responsibility to make sure there is no sensitive data in the logs. Please make sure you review and edit the logs before you send it out.' + template: $rootScope.appName+' will modify the logs when creating the final output to remove sensitive data like urls and passwords. However it is eventually your responsibility to make sure there is no sensitive data in the logs. Please make sure you review and edit the logs before you send it out.' }) .then(function (res) { if (res) sendEmailReally(logstring); @@ -124,7 +124,7 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo var email = { to: zm.authoremail, - subject: 'zmNinja Logs', + subject: $rootScope.appName + ' Logs', body: logstring, isHtml: false }; @@ -137,8 +137,8 @@ angular.module('zmApp.controllers').controller('zmApp.LogCtrl', ['$scope', '$roo }); } else { console.log("Using default email client to send data"); - //window.open('mailto:'+encodeURIComponent(zm.authoremail)+'?subject=zmNinja%20Logs&body='+encodeURIComponent(logstring)); - var fname = "zmNinja-logs-" + + + var fname = $rootScope.appName+"-logs-" + moment().format('MMM-DD-YY_HH-mm-ss') + ".txt"; var dlogstring = "version:"+$scope.zmAppVersion + "\n" + logstring; diff --git a/www/js/LoginCtrl.js b/www/js/LoginCtrl.js index 72fca590..d551743e 100644 --- a/www/js/LoginCtrl.js +++ b/www/js/LoginCtrl.js @@ -659,7 +659,7 @@ angular.module('zmApp.controllers').controller('zmApp.LoginCtrl', ['$scope', '$r $http.get(apiurl) .success(function (data) { - var loginStatus = "Please explore the menu and enjoy zmNinja!"; + var loginStatus = "Please explore the menu and enjoy "+$rootScope.appName+"!"; EventServer.refresh(); diff --git a/www/js/TimelineCtrl.js b/www/js/TimelineCtrl.js index c3015202..337b611b 100644 --- a/www/js/TimelineCtrl.js +++ b/www/js/TimelineCtrl.js @@ -289,6 +289,10 @@ angular.module('zmApp.controllers').controller('zmApp.TimelineCtrl', ['$ionicPla maxItems = ld.graphSize || maxItemsConf; ZMDataModel.zmLog("Graph items to draw is " + maxItems); $scope.maxItems = maxItems; + $scope.translationData = { + maxItemsVal: maxItems + }; + $scope.graphLoaded = false; ZMDataModel.zmDebug("TimelineCtrl/drawGraph: graphLoaded is " + $scope.graphLoaded); }); diff --git a/www/js/app.js b/www/js/app.js index 8d720505..e13bc233 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -864,7 +864,7 @@ angular.module('zmApp', [ ], "", 8000); var alertPopup = $ionicPopup.alert({ title: 'reCaptcha enabled', - template: 'Looks like you have enabled reCaptcha. It needs to be turned off for zmNinja to work' + template: 'Looks like you have enabled reCaptcha. It needs to be turned off for '+$rootScope.appName+' to work' }); @@ -1028,6 +1028,7 @@ angular.module('zmApp', [ + $rootScope.appName = "zmNinja"; $rootScope.zmGlobalCookie = ""; $rootScope.isEventFilterOn = false; $rootScope.fromDate = ""; @@ -1055,6 +1056,7 @@ angular.module('zmApp', [ // only for android $rootScope.exitApp = function () { + ZMDataModel.zmLog("user exited app"); ZMDataModel.zmLog("user exited app"); ionic.Platform.exitApp(); }; @@ -1183,9 +1185,9 @@ angular.module('zmApp', [ $ionicNativeTransitions.enable(true, false); + - - + if(typeof navigator.globalization !== "undefined") { navigator.globalization.getPreferredLanguage(function(language) { $translate.use((language.value).split("-")[0]).then(function(data) { @@ -1271,7 +1273,7 @@ angular.module('zmApp', [ cordova.getAppVersion(function (version) { appVersion = version; - ZMDataModel.zmLog("zmNinja Version: " + appVersion); + ZMDataModel.zmLog("App Version: " + appVersion); ZMDataModel.setAppVersion(appVersion); }); @@ -1458,20 +1460,20 @@ angular.module('zmApp', [ $translateProvider.registerAvailableLanguageKeys(['en', 'de','es', 'fr', 'it', 'ja', 'ko', 'zh', 'zh_CN', 'zh_TW'], { - 'en*': 'en', - 'de*': 'de', - 'es*': 'es', - 'fr*': 'fr', - 'it*': 'it', - 'ja*': 'ja', - 'ko*': 'ko', + 'en_*': 'en', + 'de_*': 'de', + 'es_*': 'es', + 'fr_*': 'fr', + 'it_*': 'it', + 'ja_*': 'ja', + 'ko_*': 'ko', '*': 'en' // must be last }); $translateProvider.determinePreferredLanguage(); - $translateProvider.preferredLanguage("en"); + //$translateProvider.preferredLanguage("en"); $translateProvider.fallbackLanguage("en"); $translateProvider.useSanitizeValueStrategy('sanitize'); diff --git a/www/lang/README.TXT b/www/lang/README.TXT new file mode 100644 index 00000000..3add37e7 --- /dev/null +++ b/www/lang/README.TXT @@ -0,0 +1,4 @@ +* Make sure there is no comma after the last element +* Comments are not allowed +* Prettify and sort using http://www.uize.com/examples/json-prettifier.html +** Preset:Padded and Sorted/Key Padding:on, Key Quoting: always, Key Sorting: On diff --git a/www/lang/locale-en.json b/www/lang/locale-en.json index c8c8b212..bbf8fa7f 100644 --- a/www/lang/locale-en.json +++ b/www/lang/locale-en.json @@ -1,34 +1,178 @@ { - - "kEvents": "events", - "kEvent": "event", - "kSearch": "search", - "kAnalyze": "Analyze", - "kScrub": "Scrub", - "kAlarms": "Alarms", - "kFootage": "Footage", - "kRecordingProgress": "recording in progress", - "kFrame": "frame", - "kScore": "score", - "kType": "type", - "kNoEvents": "No events to display", - "kFilterOn": "Filter On", - "kLatestEvents": "Latest Events", - "k1HourSummary": "1 hour summary", - "k1DaySummary": "1 day summary", - "k1WeekSummary": "1 week summary", - "k1MonthSummary": "1 month summary", - "kNoMonitors": "No Monitors found", - "kCheckCredentials": "Please check your credentials", - "kDeletingEvent": "deleting event", - "kDeleteEventSuccess": "deleted event", - "kDeleteEventError1": "could not delete event", - "kDeleteEventError2": "please check logs", - "kFilterSettings": "Filter Settings", - "kFilterEventsBetween1": "You are viewing events between", - "kTo": "to", - "kFilterEventsBetween2": "Do you want to delete this filter?" - - - -} + "k1DaySummary" : "1 day summary", + "k1HourSummary" : "1 hour summary", + "k1MonthSummary" : "1 month summary", + "k1WeekSummary" : "1 week summary", + "kAlarmFrameCount" : "Alarm Frame Count", + "kAlarmMaxFPS" : "Alarm Max FPS", + "kAlarms" : "Alarms", + "kAnalyze" : "Analyze", + "kApiUrl" : "ZM api url", + "kAt" : "at", + "kAwake1" : "Keep display on", + "kAwake2" : "(when viewing footage)", + "kChangeState" : "Change State", + "kCheckCredentials" : "Please check your credentials", + "kChromeMax" : "max of 5 monitors - chrome limit", + "kConfiguration" : "Configuration", + "kCustomRange" : "Custom Range", + "kDay" : "Day", + "kDeleteEventError1" : "could not delete event", + "kDeleteEventError2" : "please check logs", + "kDeleteEventSuccess" : "deleted event", + "kDeletingEvent" : "deleting event", + "kDevOptions" : "Dev. Settings", + "kDeveloperOptionsFor" : "Developer Options for", + "kDisablePush" : "disable APNS/GCM", + "kEnable24hr" : "enable 24hr time format", + "kEnableDebug" : "Enable debug logs", + "kEnableLogs" : "Enable logs", + "kEnableNewsUpdates" : "enable news updates", + "kEnterPin" : "Enter PIN", + "kEvent" : "event", + "kEventMontage" : "Event Montage", + "kEventMontageImageScale" : "Event Montage image scale", + "kEventServer" : "Event Server", + "kEventServerConfig1" : "Please make sure your ZM settings are configured and saved before you configure the event server", + "kEventSingleImageScale" : "Event single image scale", + "kEvents" : "events", + "kExampleServer" : "eg. My House", + "kExitAppBackground" : "exit app in background", + "kExpert" : "Expert", + "kExploreEnjoy" : "Please explore the menu and enjoy zmNinja!'", + "kFallback" : "Fallback configuration", + "kFilterByDateTime" : "Filter by Date/Time", + "kFilterEvents" : "Filter Events", + "kFilterEventsBetween1" : "You are viewing events between", + "kFilterEventsBetween2" : "Do you want to delete this filter?", + "kFilterOn" : "Filter On", + "kFilterSettings" : "Filter Settings", + "kFootage" : "Footage", + "kFrame" : "frame", + "kFrameUpdate" : "Frame update", + "kFrames" : "frames", + "kFrom" : "From", + "kFromDate" : "From Date", + "kFromTime" : "From Time", + "kH264VideoSupport" : "H264 Video support", + "kHideMonsWithoutEvents" : "Hide monitors without events", + "kId" : "Id", + "kImpMsg1" : "Important Message", + "kImpMsg2" : "I'd appreciate if you upgraded ZoneMinder", + "kImpMsg3" : "You are running", + "kImpMsg4" : "has some important fixes that enhance the API amongst other things. This is required to avail of the new alarm APIs and other new features.", + "kImpMsg5" : "Reported Version", + "kImpMsg6" : "Recommended Version", + "kImpMsg7" : "Ok, got it", + "kLatestEvents" : "Latest Events", + "kLiveView" : "Live View", + "kLoad" : "load", + "kLoading" : "Loading", + "kLogs" : "Logs", + "kMaxFPS" : "Max FPS", + "kMaxItemsForTimeline" : "Max. items for Timeline", + "kMaxMonitorsMontage" : "Max monitors in montage", + "kMenuDevSettings" : "Developer Settings", + "kMenuEventMontage" : "EventMontage", + "kMenuEvents" : "Events", + "kMenuExit" : "Exit", + "kMenuHelp" : "Help", + "kMenuLogs" : "Logs", + "kMenuMonitors" : "Monitors", + "kMenuMontage" : "Montage", + "kMenuNews" : "News", + "kMenuSystemStatus" : "System Status", + "kMenuTimeline" : "Timeline", + "kMenuTitle" : "Options", + "kMenuWizard" : "Wizard", + "kMenuZMSettings" : "Settings", + "kMinAlarmCount" : "Minimum alarm count", + "kMinVersion" : "Minimum Required Version", + "kMinimumIntervals" : "minimum interval", + "kMode" : "Mode", + "kMonitors" : "Monitors", + "kMontage" : "Montage", + "kMontageImageScale" : "Montage image scale", + "kMonth" : "Month", + "kNeedToKnow" : "I need to know your ZoneMinder login and path details to get started", + "kNews" : "News", + "kNext" : "Next", + "kNoEvents" : "No events to display", + "kNoMonitors" : "No monitors to display", + "kOnTapNavigate" : "on tap, navigate to", + "kOnlyUseWebSocket" : "only use websockets", + "kPassword" : "password", + "kPathToCgi" : "path to cgi-bin", + "kPaused" : "paused", + "kPersistHidden" : "Persist hidden monitors", + "kPortalUrl" : "ZM portal url", + "kPresets" : "presets", + "kPrev" : "Prev", + "kProtect" : "protect", + "kPullToReload" : "pull to reload data", + "kRecordingProgress" : "recording in progress", + "kRefresh" : "Refresh", + "kReportEvents" : "report events", + "kReportedVersion" : "Reported Version", + "kReset" : "Reset", + "kResolution" : "Resolution", + "kRestart" : "Restart", + "kResumeDelay" : "resume delay", + "kSave" : "Save", + "kScore" : "score", + "kScrub" : "Scrub", + "kSearch" : "search", + "kSec" : "sec", + "kServerName" : "Server Name", + "kSettings" : "Settings", + "kSettingsSaved" : "Settings Saved", + "kShowAlarmedEvents" : "Show alarmed events", + "kShowAllEvents" : "Show all events", + "kShowing" : "Showing", + "kShowingEvent" : "showing event", + "kSpeed" : "speed", + "kStart" : "Start", + "kStatus" : "Status", + "kStop" : "Stop", + "kSwipeToChangeMon" : "Swipe to change monitors", + "kSystemStatus" : "System Status", + "kThanksForUsing" : "Thanks for using", + "kTimeline" : "Timeline", + "kTimelineControlDisplay" : "tap:view event, double-tap:view frame graph", + "kTimelineMessage" : "double-tap exits. touch/mouse-over and drag over items to see frames", + "kTimelineOnlyDisplaying1" : "only displaying last {{maxItemsVal}} events", + "kTo" : "to", + "kToDate" : "To Date", + "kToTime" : "To Time", + "kType" : "type", + "kUnknown" : "(unknown)", + "kUseSSL" : "Use SSL", + "kUseZmAuth" : "use ZM authentication", + "kUserName" : "user name", + "kVersion" : "Version", + "kVersionIncompatible" : "I am incompatible with your ZoneMinder version", + "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", + "kWelcomeWizard" : "Welcome to zmWizard", + "kWizAuthText1" : "Confused? ZM Auth is the authentication used when you enable OPT_USE_AUTH in the ZM console options screen.", + "kWizAuthText2" : "Basic Auth is when you configure a username and password in your webserver. If you are using LDAP authentication, its likely basic auth.", + "kWizBasicAuth" : "I use basic authentication", + "kWizConfigPain" : "Configuring ZoneMinder can be a pain. Let's see if zmWizard can help.", + "kWizGotoLogin" : "Go to Login Screen", + "kWizNextStep1" : "Once auto-detection is over, you could either", + "kWizNextStep2" : "Go back to previous steps and re-do", + "kWizNextStep3" : "Go to the login screen with these findings auto filled in", + "kWizPasswdNote" : "note: if your password has #?@& in it, the wizard will fail cgi detection. Its best if you temporarily change the password to a simple one, run the wizard and then change it back later", + "kWizPortalAuth" : "Portal Authentication", + "kWizPortalText" : "Lets talk about how you have configured authentication If you have enabled authentication, toggle this button", + "kWizPortalTip" : "Confused? You can easily find out your portal URL by noting down the url you see on your browser when accessing the ZoneMinder Console.", + "kWizPortalUrl" : "What is your Zoneminder portal url?", + "kWizResults" : "Results of auto-detection", + "kWizTip" : "Tip", + "kWizUseAuth" : "I use authentication", + "kWizZMAuth" : "I use ZM authentication", + "kWizard" : "Wizard", + "kWorkingOnGraph" : "working on graph data", + "kZMSettingsFor" : "ZoneMinder settings for", + "kZMUpgradeNeeded" : "ZoneMinder upgrade needed" +} \ No newline at end of file diff --git a/www/templates/devoptions.html b/www/templates/devoptions.html index bec45385..c9544fbf 100644 --- a/www/templates/devoptions.html +++ b/www/templates/devoptions.html @@ -1,4 +1,4 @@ - + @@ -14,11 +14,11 @@
- Developer Options for {{loginData.serverName}} + {{'kDeveloperOptionsFor'|translate}} {{loginData.serverName}}
- Frame update (sec.)  + {{'kFrameUpdate'|translate}} ({{'kSec'|translate}}.)  @@ -26,12 +26,12 @@
@@ -50,7 +50,7 @@ -->
- Max monitors in montage  + {{'kMaxMonitorsMontage' | translate }}  @@ -66,21 +66,21 @@ -->
- Montage image scale(%)  + {{'kMontageImageScale' | translate}}(%) 
- Event single image scale(%)  + {{'kEventSingleImageScale' | translate}}(%) 
- resume delay(ms)  + {{'kResumeDelay' | translate}}(ms) 
- Event Montage image scale(%)  + {{'kEventMontageImageScale'|translate}}(%) 
- Max. items for Timeline  + {{'kMaxItemsForTimeline' | translate}} 
- +
- Minimum Alarm Count  + {{'kMinAlarmCount' | translate}} 
@@ -70,7 +70,7 @@
- @{{currentRate}}x at:{{currentProgress.progress}}s + @{{currentRate}}x {{'kAt' | translate}}:{{currentProgress.progress}}s
@@ -104,7 +104,7 @@ -
showing event: {{d_eventId}}
+
{{'kShowingEvent' | translate}}: {{d_eventId}}
    diff --git a/www/templates/events-popover.html b/www/templates/events-popover.html index eec4f52d..e48b290e 100644 --- a/www/templates/events-popover.html +++ b/www/templates/events-popover.html @@ -1,17 +1,17 @@ diff --git a/www/templates/eventserversettings.html b/www/templates/eventserversettings.html index de6f43ce..58c4777c 100644 --- a/www/templates/eventserversettings.html +++ b/www/templates/eventserversettings.html @@ -1,4 +1,4 @@ - + @@ -13,22 +13,22 @@
    - Please make sure your ZM settings are configured and saved before you configure the event server + {{'kEventServerConfig1' | translate }}
    use event server - on tap, navigate to: {{defScreen}} + {{'kOnTapNavigate' | translate}}: {{defScreen}} - only use websockets

    disables APNS/GCM

    + {{'kOnlyUseWebSocket'| translate }}

    {{'kDisablePush' | translate }}

    +
    - \ No newline at end of file diff --git a/www/templates/first-use.html b/www/templates/first-use.html index f9fb050c..c0553333 100644 --- a/www/templates/first-use.html +++ b/www/templates/first-use.html @@ -1,4 +1,4 @@ - +
    @@ -13,8 +13,9 @@

    Hi There!


    -

    Thanks for using zmNinja.

    - I need to know your ZoneMinder login and path details to get started.

    +

    {{'kThanksForUsing' | translate}} {{$root.appName}}.

    + {{'kNeedToKnow' | translate}} +


    @@ -23,11 +24,12 @@
    diff --git a/www/templates/help.html b/www/templates/help.html index ef4ddd83..8d9c7c04 100644 --- a/www/templates/help.html +++ b/www/templates/help.html @@ -10,7 +10,7 @@ -

    zmNinja v{{zmAppVersion}}

    +

    {{$root.appName}} v{{zmAppVersion}}

    @@ -20,7 +20,7 @@

    What do I enter for ZM Portal URL, Base path to cgi-bin and ZM API URL?

      - zmNinja now has a wizard that tries to detect your settings. This may fail if you have a custom install with non standard paths. + {{$root.appName}} now has a wizard that tries to detect your settings. This may fail if you have a custom install with non standard paths.
    • ZM Portal URL: The URL using which you can access ZM

      (example http://myserver.ddns.net/zm)

    • @@ -44,7 +44,7 @@ -

      Everything works! but live streaming does not

      Check if streaming works in the web interface. If it does not work, zmNinja won't work either. Fix ZM first. If streaming in ZM works, go to zmNinja settings and fix your cgi-bin path. the automatic path that is filled in won't work. Here is a hint, go to zoneminder->options->paths and check the value of the cgi-bin path - your zmNinja path will be "base path of your server" + cgi-bin path. +

      Everything works! but live streaming does not

      Check if streaming works in the web interface. If it does not work, {{$root.appName}} won't work either. Fix ZM first. If streaming in ZM works, go to {{$root.appName}} settings and fix your cgi-bin path. the automatic path that is filled in won't work. Here is a hint, go to zoneminder->options->paths and check the value of the cgi-bin path - your {{$root.appName}} path will be "base path of your server" + cgi-bin path.
      diff --git a/www/templates/help/montage-help.html b/www/templates/help/montage-help.html index f9d6955f..4a01153e 100644 --- a/www/templates/help/montage-help.html +++ b/www/templates/help/montage-help.html @@ -1,3 +1,5 @@ + + Montage Help diff --git a/www/templates/important_message.html b/www/templates/important_message.html index a97f1ada..bd3274f5 100644 --- a/www/templates/important_message.html +++ b/www/templates/important_message.html @@ -1,4 +1,4 @@ - + @@ -15,17 +15,17 @@
      -

      Important Message

      +

      {{'kImpMsg1' | translate}}


      -

      I'd appreciate if you upgraded ZoneMinder

      +

      {{'kImpMsg2' | translate}}


      - You are running v{{currentVersion}}.
      v{{recommendedVersion}} has some important fixes that enhance the API amongst other things. This is required to avail of the new alarm APIs and other new features. + {{'kImpMsg3' | translate}} v{{currentVersion}}.
      v{{recommendedVersion}} {{'kImpMsg4' | translate}}
      - Reported Version: v{{currentVersion}}
      - Recommended Version:v{{recommendedVersion}}

      + {{'kImpMsg5' | translate}}: v{{currentVersion}}
      + {{'kImpMsg6' | translate}}:v{{recommendedVersion}}

      diff --git a/www/templates/log.html b/www/templates/log.html index 37b85d1b..1a2d8053 100644 --- a/www/templates/log.html +++ b/www/templates/log.html @@ -1,4 +1,4 @@ - + @@ -23,7 +23,7 @@ - zmNinja Version: {{zmAppVersion}}
      + {{$root.appName}} {{'kVersion'|translate}}: {{zmAppVersion}}
      {{zmLog.logString}}
      diff --git a/www/templates/login.html b/www/templates/login.html index fac74dbd..56f0c945 100644 --- a/www/templates/login.html +++ b/www/templates/login.html @@ -1,4 +1,4 @@ - + @@ -16,25 +16,25 @@
      - Server Name:  + {{'kServerName' | translate }}: 
      - ZoneMinder Settings for {{loginData.serverName || "(unknown)"}} + {{'kZMSettingsFor' | translate}} {{loginData.serverName || ('kUnknown' | translate)}}
      - use ZM authentication + {{'kUseZmAuth' | translate }}
      @@ -118,7 +118,7 @@ Keep display on

      (When viewing footage)

      + toggle-class="toggle-calm">{{'kAwake1'|translate}}

      {{'kAwake2'| translate}}

      diff --git a/www/templates/lowversion.html b/www/templates/lowversion.html index 3b50683b..d9a50986 100644 --- a/www/templates/lowversion.html +++ b/www/templates/lowversion.html @@ -1,5 +1,5 @@ - - + +
      @@ -12,12 +12,12 @@
      -

      ZoneMinder upgrade needed

      +

      {{'kZMUpgradeNeeded' | translate}}


      -

      I am incompatible with your ZoneMinder version

      +

      {{'kVersionIncompatible' | translate }}


      - Reported Version: {{currentVersion}}
      - Minimum Required Version:{{requiredVersion}}
      + {{'kReportedVersion' | translate}}: {{currentVersion}}
      + {{'kMinVersion' | translate}}:{{requiredVersion}}
      diff --git a/www/templates/monitors-modal.html b/www/templates/monitors-modal.html index f1032907..527b6307 100644 --- a/www/templates/monitors-modal.html +++ b/www/templates/monitors-modal.html @@ -59,7 +59,7 @@

      - presets + {{'kPresets' | translate}}
    diff --git a/www/templates/monitors.html b/www/templates/monitors.html index a7a5a25f..8cf41df1 100644 --- a/www/templates/monitors.html +++ b/www/templates/monitors.html @@ -1,4 +1,4 @@ - + @@ -30,28 +30,28 @@
-

Mode :{{monitor.Monitor.Function}}
- Resolution: {{monitor.Monitor.Width}}*{{monitor.Monitor.Height}}
- Max FPS: {{monitor.Monitor.MaxFPS}} -
Alarm Max FPS:{{monitor.Monitor.AlarmMaxFPS}} -
Alarm Frame Count: {{monitor.Monitor.AlarmFrameCount}} -
Status: {{monitor.Monitor.isRunningText}} -
Id: {{monitor.Monitor.Id}} +

{{'kMode' | translate}} :{{monitor.Monitor.Function}}
+ {{'kResolution' | translate}}: {{monitor.Monitor.Width}}*{{monitor.Monitor.Height}}
+ {{'kMaxFPS' | translate}}: {{monitor.Monitor.MaxFPS}} +
{{'kAlarmMaxFPS' | translate}}:{{monitor.Monitor.AlarmMaxFPS}} +
{{'kAlarmFrameCount' |translate}}: {{monitor.Monitor.AlarmFrameCount}} +
{{'kStatus' | translate}}: {{monitor.Monitor.isRunningText}} +
{{'kId' | translate}}: {{monitor.Monitor.Id}}

Configuration - Events - Live View + href="" ng-click="changeConfig(monitor.Monitor.Name, monitor.Monitor.Id,monitor.Monitor.Enabled,monitor.Monitor.Function);">{{'kConfiguration' | translate}} + {{'kEvents'|translate}} + {{'kLiveView' | translate}}
- No monitors to display + {{'kNoMonitors' | translate}}
diff --git a/www/templates/montage-history.html b/www/templates/montage-history.html index aed56100..d495b482 100644 --- a/www/templates/montage-history.html +++ b/www/templates/montage-history.html @@ -1,4 +1,4 @@ - + @@ -26,12 +26,12 @@
- From: {{datetimeValueFrom.value | date: timeFormat}} + {{'kFrom' | translate}} : {{datetimeValueFrom.value | date: timeFormat}}
- To: {{datetimeValueTo.value | date: timeFormat}} @ {{sliderVal.rate}}x -
(max of 5 monitors - chrome limit)
+ {{'kTo' | translate}}: {{datetimeValueTo.value | date: timeFormat}} @ {{sliderVal.rate}}x +
({{'kChromeMax' | translate}})
@@ -89,7 +89,7 @@
  - paused  + {{'kPaused' | translate}} 
-

Welcome to zmWizard

+

{{'kWelcomeWizard' | translate}}

-

Configuring ZoneMinder can be a pain. Let's see if zmWizard can help.

+

{{'kWizConfigPain' | translate}}

-

What is your Zoneminder portal url?

+

{{'kWizPortalUrl' | translate}}

@@ -25,13 +25,13 @@
- Tip: Confused? You can easily find out your portal URL by noting down the url you see on your browser when accessing the ZoneMinder Console.
+ {{'kWizTip' | translate}}: {{'kWizPortalTip' | translate}}

- +
@@ -39,34 +39,34 @@ -

Portal Authentication

+

{{'kWizPortalAuth' | translate}}

-

Lets talk about how you have configured authentication If you have enabled authentication, toggle this button

- I use authentication +

{{'kWizPortalText' | translate}}

+ {{'kWizUseAuth' | translate}} - I use ZM authentication + {{'kWizZMAuth' | translate}}
-
- I use Basic authentication + {{'kWizBasicAuth' | translate}} -
-

Results of auto-detection

+

{{'kWizResults' | translate}}

 {{wizard.portalValidText}}
@@ -96,15 +96,15 @@
- Once auto-detection is over, you could either: + {{'kWizNextStep1' | translate}}:
    -
  • Go back to previous steps and re-do
  • -
  • Go to the login screen with these findings auto filled in
  • +
  • {{'kWizNextStep2' | translate}}
  • +
  • {{'kWizNextStep3' | translate}}


- - + +
diff --git a/www/templates/zm-portal-login.html b/www/templates/zm-portal-login.html index 67927269..1844a01a 100644 --- a/www/templates/zm-portal-login.html +++ b/www/templates/zm-portal-login.html @@ -1,6 +1,6 @@ - - + +
@@ -12,7 +12,7 @@
- Enter PIN + {{'kEnterPIN' | translate}}
-- cgit v1.2.3