From 09dc6e60914c5630079ca68fcdef719c95fe1a4d Mon Sep 17 00:00:00 2001 From: Christopher Cook Date: Sat, 2 Jul 2016 17:09:53 +0800 Subject: [PATCH] Work in progress apply UI translation --- App/Ionic2/ocm-app/app/app.ts | 26 +- .../app/core/ocm/model/SearchSettings.ts | 1 + .../core/ocm/pipes/NullableTranslatePipe.ts | 14 + .../app/core/ocm/services/AppManager.ts | 28 +- .../app/pages/poi-details/poi-details.html | 4 +- .../app/pages/poi-details/poi-details.ts | 3 +- .../ocm-app/app/pages/profile/profile.html | 6 +- .../ocm-app/app/pages/profile/profile.ts | 6 +- .../ocm-app/app/pages/search/search.html | 2 +- .../ocm-app/app/pages/settings/settings.html | 23 +- .../ocm-app/app/pages/settings/settings.ts | 11 +- .../ocm-app/app/pages/signin/signin.html | 4 +- App/Ionic2/ocm-app/app/pages/signin/signin.ts | 8 +- App/Ionic2/ocm-app/app/pages/tabs/tabs.html | 9 +- App/Ionic2/ocm-app/app/pages/tabs/tabs.ts | 15 +- App/Ionic2/ocm-app/config.xml | 2 +- App/Ionic2/ocm-app/config.xml.bak | 81 +++ App/Ionic2/ocm-app/package.json | 10 +- App/Ionic2/ocm-app/package.json.bak | 60 ++ App/Ionic2/ocm-app/tsconfig.json | 4 +- App/Ionic2/ocm-app/tsconfig.json.bak | 28 + App/Ionic2/ocm-app/typings.json | 4 +- App/Ionic2/ocm-app/typings.json.bak | 7 + App/Ionic2/ocm-app/typings/browser.d.ts | 1 - .../es6-shim/index.d.ts} | 14 +- .../typings/globals/es6-shim/typings.json | 8 + App/Ionic2/ocm-app/typings/index.d.ts | 1 + App/Ionic2/ocm-app/typings/main.d.ts | 1 - .../main/ambient/es6-shim/es6-shim.d.ts | 670 ------------------ App/Ionic2/ocm-app/www/index.html | 10 +- App/Ionic2/ocm-app/www/lang/sk.json | 259 +++++++ 31 files changed, 573 insertions(+), 747 deletions(-) create mode 100644 App/Ionic2/ocm-app/app/core/ocm/pipes/NullableTranslatePipe.ts create mode 100644 App/Ionic2/ocm-app/config.xml.bak create mode 100644 App/Ionic2/ocm-app/package.json.bak create mode 100644 App/Ionic2/ocm-app/tsconfig.json.bak create mode 100644 App/Ionic2/ocm-app/typings.json.bak delete mode 100644 App/Ionic2/ocm-app/typings/browser.d.ts rename App/Ionic2/ocm-app/typings/{browser/ambient/es6-shim/es6-shim.d.ts => globals/es6-shim/index.d.ts} (98%) create mode 100644 App/Ionic2/ocm-app/typings/globals/es6-shim/typings.json create mode 100644 App/Ionic2/ocm-app/typings/index.d.ts delete mode 100644 App/Ionic2/ocm-app/typings/main.d.ts delete mode 100644 App/Ionic2/ocm-app/typings/main/ambient/es6-shim/es6-shim.d.ts create mode 100644 App/Ionic2/ocm-app/www/lang/sk.json diff --git a/App/Ionic2/ocm-app/app/app.ts b/App/Ionic2/ocm-app/app/app.ts index bc366be..98572ee 100644 --- a/App/Ionic2/ocm-app/app/app.ts +++ b/App/Ionic2/ocm-app/app/app.ts @@ -92,21 +92,25 @@ export class OpenChargeMapApp extends Base implements OnInit { initTranslation() { //init translation //this.translate.useStaticFilesLoader('lang', '.json'); - + var defaultLang = "it"; var userLang = navigator.language.split('-')[0]; // use navigator lang if available - userLang = /(it|en)/gi.test(userLang) ? userLang : 'en'; - + userLang = /(it|en)/gi.test(userLang) ? userLang : defaultLang; +userLang="sk"; // optional, default is "en" - this.translate.setDefaultLang('en'); + this.translate.setDefaultLang(defaultLang); // the lang to use, if the lang isn't available, it will use the current loader to get them - this.translate.use(userLang); - - var test = this.translate.get("ocm.general.shortDescription"); - test.subscribe(data => { - this.log("Translation test:" + data); + this.log("[translate] "+ navigator.language+ ":: using language:" + userLang); + this.translate.use(userLang).subscribe(() => { + var test = this.translate.get("ocm.general.shortDescription"); + test.subscribe(data => { + this.log("Translation test:" + data); + }); }); + + + /* var test2 = this.translate.get("ocm.general.shortDescription"); test2.subscribe(data => { @@ -166,6 +170,6 @@ ionicBootstrap(OpenChargeMapApp, [ ReferenceDataManager ], { //config - prodMode:true, - mode:"ios" + prodMode: true, + mode: "ios" }); \ No newline at end of file diff --git a/App/Ionic2/ocm-app/app/core/ocm/model/SearchSettings.ts b/App/Ionic2/ocm-app/app/core/ocm/model/SearchSettings.ts index 4674895..5abaf89 100644 --- a/App/Ionic2/ocm-app/app/core/ocm/model/SearchSettings.ts +++ b/App/Ionic2/ocm-app/app/core/ocm/model/SearchSettings.ts @@ -12,6 +12,7 @@ export class SearchSettings { UseDistanceInKM: boolean; HasActiveFilters: boolean; LastSearchPosition: GeoLatLng; + Language:string; constructor() { this.OperatorList = []; diff --git a/App/Ionic2/ocm-app/app/core/ocm/pipes/NullableTranslatePipe.ts b/App/Ionic2/ocm-app/app/core/ocm/pipes/NullableTranslatePipe.ts new file mode 100644 index 0000000..7820083 --- /dev/null +++ b/App/Ionic2/ocm-app/app/core/ocm/pipes/NullableTranslatePipe.ts @@ -0,0 +1,14 @@ +import { Pipe, PipeTransform, ChangeDetectorRef } from '@angular/core'; +import { TranslatePipe, TranslateService} from 'ng2-translate/ng2-translate'; + +@Pipe({name: 'nullableTranslate'}) +export class NullableTranslatePipe extends TranslatePipe { + constructor(translate: TranslateService, _ref: ChangeDetectorRef) { + super(translate,_ref); + + } + transform(query: string, ...args: any[]): any { + return super.transform(query, ...args); + // if (result==null) return "..no value.."; + } +} \ No newline at end of file diff --git a/App/Ionic2/ocm-app/app/core/ocm/services/AppManager.ts b/App/Ionic2/ocm-app/app/core/ocm/services/AppManager.ts index 09ccfeb..a19d4b7 100644 --- a/App/Ionic2/ocm-app/app/core/ocm/services/AppManager.ts +++ b/App/Ionic2/ocm-app/app/core/ocm/services/AppManager.ts @@ -6,6 +6,7 @@ import {APIClient} from './APIClient'; import {Http} from '@angular/http'; import {Injectable} from '@angular/core'; import {Events, NavController, Platform, Toast, Loading} from 'ionic-angular'; +import {TranslateService} from 'ng2-translate/ng2-translate'; import {Base, LogLevel} from '../Base'; import {JwtHelper} from 'angular2-jwt'; import {UserProfile, SubmissionType, SearchSettings, Journey, WayPoint, GeoLatLng} from '../model/AppModels' @@ -30,7 +31,7 @@ export class AppManager extends Base { public isRequestInProgress: boolean = false; - constructor(public http: Http, public events: Events, public api: APIClient, public submissionQueue: SubmissionQueue, private platform: Platform, public referenceDataManager: ReferenceDataManager, public journeyManager: JourneyManager) { + constructor(public http: Http, public events: Events, public api: APIClient, public submissionQueue: SubmissionQueue, private platform: Platform, public referenceDataManager: ReferenceDataManager, public journeyManager: JourneyManager, public translateService: TranslateService) { super(); this.api.clientName = "ocm.app.ionic.v6_0_0"; this.isDebugMode = false; @@ -43,9 +44,9 @@ export class AppManager extends Base { this.platformMode = "web"; } - // this.referenceDataManager = new ReferenceDataManager(http); - - // this.poiManager = new POIManager(this); + // this.referenceDataManager = new ReferenceDataManager(http); + + // this.poiManager = new POIManager(this); this.searchSettings = new SearchSettings(); @@ -62,9 +63,9 @@ export class AppManager extends Base { public loadSearchSettings() { if (localStorage.getItem('searchSettings') != null) { try { - this.searchSettings = JSON.parse(localStorage.getItem('searchSettings')); - } catch(ex){ - this.searchSettings=new SearchSettings(); + this.searchSettings = JSON.parse(localStorage.getItem('searchSettings')); + } catch (ex) { + this.searchSettings = new SearchSettings(); } } } @@ -76,7 +77,12 @@ export class AppManager extends Base { this.searchSettings.CheckForActiveFilters(); localStorage.setItem('searchSettings', JSON.stringify(this.searchSettings)); } - + public getLanguages(): Array { + return this.translateService.getLangs(); + } + public setLanguage(languageCode: string) { + this.translateService.use(languageCode); + } public initAppManager() { this.initAuthFromStorage(); @@ -191,7 +197,7 @@ export class AppManager extends Base { nav.present(this.loading); } - public dismissLoadingProgress(): Promise{ + public dismissLoadingProgress(): Promise { return this.loading.dismiss(); } @@ -214,8 +220,8 @@ export class AppManager extends Base { public launchWebPage(url: string) { window.open(url, '_system'); } - - public isPlatform(platformName:string){ + + public isPlatform(platformName: string) { return this.platform.is(platformName); } } \ No newline at end of file diff --git a/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.html b/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.html index 50e15fb..080c713 100644 --- a/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.html +++ b/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.html @@ -223,7 +223,7 @@

{{item.ConnectionType?.Title}} {{item.User.Username}}
{{item.Username}}
-

{{item.DateCreated}}

+

{{item.DateCreated | date }}

{{item.Comment}}

{{item.CommentType?.Title}} @@ -254,7 +254,7 @@

{{item.User.Username}}

-

{{item.DateCreated}}

+

{{item.DateCreated | date}}

diff --git a/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.ts b/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.ts index cf9d6f1..88dc203 100644 --- a/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.ts +++ b/App/Ionic2/ocm-app/app/pages/poi-details/poi-details.ts @@ -1,4 +1,5 @@ import {Component} from '@angular/core'; +import {DatePipe} from '@angular/common'; import {NavController, NavParams, ViewController, Modal, ActionSheet} from 'ionic-angular'; import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate'; import {AppManager} from '../../core/ocm/services/AppManager'; @@ -8,7 +9,7 @@ import {FavouriteEditorPage} from '../journeys/favourite-editor'; @Component({ templateUrl: 'build/pages/poi-details/poi-details.html', - pipes: [TranslatePipe] + pipes: [TranslatePipe, DatePipe] }) export class POIDetailsPage { diff --git a/App/Ionic2/ocm-app/app/pages/profile/profile.html b/App/Ionic2/ocm-app/app/pages/profile/profile.html index dfe973d..f06de46 100644 --- a/App/Ionic2/ocm-app/app/pages/profile/profile.html +++ b/App/Ionic2/ocm-app/app/pages/profile/profile.html @@ -1,17 +1,17 @@ - My Profile + {{'ocm.navigation.profile.sectionTitle' | translate}} -

My Profile

+

{{'ocm.navigation.profile.sectionTitle' | translate}}

- You are not signed in. + You are not signed in.
diff --git a/App/Ionic2/ocm-app/app/pages/profile/profile.ts b/App/Ionic2/ocm-app/app/pages/profile/profile.ts index fb27f16..1b92351 100644 --- a/App/Ionic2/ocm-app/app/pages/profile/profile.ts +++ b/App/Ionic2/ocm-app/app/pages/profile/profile.ts @@ -1,17 +1,19 @@ import {Component} from '@angular/core'; import {NavController, Modal, Alert} from 'ionic-angular'; +import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate'; import {AppManager} from '../../core/ocm/services/AppManager'; import {SignInPage} from '../signin/signin'; import {MediaUploadPage} from '../mediaupload/mediaupload'; import {CommentPage} from '../comment/comment'; @Component({ - templateUrl: 'build/pages/profile/profile.html' + templateUrl: 'build/pages/profile/profile.html', + pipes:[TranslatePipe] }) export class ProfilePage { userProfile: any; - constructor(public appManager: AppManager, public nav: NavController) { + constructor(public appManager: AppManager, public nav: NavController, private translate:TranslateService) { } diff --git a/App/Ionic2/ocm-app/app/pages/search/search.html b/App/Ionic2/ocm-app/app/pages/search/search.html index 40918ba..63f0380 100644 --- a/App/Ionic2/ocm-app/app/pages/search/search.html +++ b/App/Ionic2/ocm-app/app/pages/search/search.html @@ -8,7 +8,7 @@ - + [debounce]="500"> + diff --git a/App/Ionic2/ocm-app/app/pages/signin/signin.ts b/App/Ionic2/ocm-app/app/pages/signin/signin.ts index 95f832f..aaff6bd 100644 --- a/App/Ionic2/ocm-app/app/pages/signin/signin.ts +++ b/App/Ionic2/ocm-app/app/pages/signin/signin.ts @@ -1,21 +1,21 @@ import {Component, NgZone} from '@angular/core'; import {NavController, NavParams, Alert, Loading, ViewController} from 'ionic-angular'; +import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate'; import {AppManager} from '../../core/ocm/services/AppManager'; import {UserProfile, AsyncResult} from '../../core/ocm/model/AppModels'; @Component({ - templateUrl: 'build/pages/signin/signin.html' + templateUrl: 'build/pages/signin/signin.html', + pipes:[TranslatePipe] }) export class SignInPage { email: string; password: string; - constructor(private appManager: AppManager, private nav: NavController, private viewController: ViewController, params: NavParams, private zone: NgZone) { + constructor(private appManager: AppManager, private nav: NavController, private viewController: ViewController, params: NavParams, private zone: NgZone, public translate:TranslateService) { this.email = ""; - //TODO:load/save username? - var currentProfile = params.get("Profile"); if (currentProfile != null) { this.email = currentProfile.EmailAddress; diff --git a/App/Ionic2/ocm-app/app/pages/tabs/tabs.html b/App/Ionic2/ocm-app/app/pages/tabs/tabs.html index d1192a9..b8b771e 100644 --- a/App/Ionic2/ocm-app/app/pages/tabs/tabs.html +++ b/App/Ionic2/ocm-app/app/pages/tabs/tabs.html @@ -1,6 +1,7 @@ - - - - + + + + \ No newline at end of file diff --git a/App/Ionic2/ocm-app/app/pages/tabs/tabs.ts b/App/Ionic2/ocm-app/app/pages/tabs/tabs.ts index efecae4..8c6b642 100644 --- a/App/Ionic2/ocm-app/app/pages/tabs/tabs.ts +++ b/App/Ionic2/ocm-app/app/pages/tabs/tabs.ts @@ -1,4 +1,5 @@ import {Component} from '@angular/core'; +import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate'; import {SearchPage} from '../search/search'; import {JourneysPage} from '../journeys/journeys'; import {SettingsPage} from '../settings/settings'; @@ -6,7 +7,8 @@ import {ProfilePage} from '../profile/profile'; import {AppManager} from '../../core/ocm/services/AppManager'; @Component({ - templateUrl: 'build/pages/tabs/tabs.html' + templateUrl: 'build/pages/tabs/tabs.html', + pipes: [TranslatePipe] }) export class TabsPage { tabSearch: any; @@ -14,8 +16,9 @@ export class TabsPage { tabSettings: any; tabProfile: any; - - constructor(private appManager: AppManager) { + tabJourneysTitle: string = "Journeys"; + + constructor(private appManager: AppManager, public translate: TranslateService) { // this tells the tabs component which Pages // should be each tab's root Page this.tabSearch = SearchPage; @@ -23,7 +26,13 @@ export class TabsPage { this.tabSettings = SettingsPage; this.tabProfile = ProfilePage; + this.translate.get("ocm.journeys.sectionTitle").subscribe((val) => { + if (val == "ocm.journeys.sectionTitle") val = "Journeys"; + this.tabJourneysTitle = val; + }); + } + get settingsTabBadge(): string { if (this.appManager != null && this.appManager.searchSettings != null) { if (this.appManager.searchSettings.HasActiveFilters) { diff --git a/App/Ionic2/ocm-app/config.xml b/App/Ionic2/ocm-app/config.xml index e960b66..87b367a 100644 --- a/App/Ionic2/ocm-app/config.xml +++ b/App/Ionic2/ocm-app/config.xml @@ -77,5 +77,5 @@ - + diff --git a/App/Ionic2/ocm-app/config.xml.bak b/App/Ionic2/ocm-app/config.xml.bak new file mode 100644 index 0000000..e960b66 --- /dev/null +++ b/App/Ionic2/ocm-app/config.xml.bak @@ -0,0 +1,81 @@ + + + Open Charge Map + EV Charging Locations + Webprofusion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/App/Ionic2/ocm-app/package.json b/App/Ionic2/ocm-app/package.json index 9540e6b..3f12edc 100644 --- a/App/Ionic2/ocm-app/package.json +++ b/App/Ionic2/ocm-app/package.json @@ -6,19 +6,23 @@ "@angular/http": "^2.0.0-rc.3", "@angular/platform-browser": "^2.0.0-rc.3", "@angular/platform-browser-dynamic": "^2.0.0-rc.3", - "@angular/router": "^2.0.0-rc.2", "angular2-jwt": "^0.1.16", "awesome-typescript-loader": "^1.1.1", "cordova-plugin-camera": "^2.2.0", "cordova-plugin-file": "^4.2.0", + "del": "^2.2.1", "es6-shim": "^0.35.0", "gulp-sass": "^2.3.2", + "gulp-watch": "^4.3.8", "ionic-angular": "^2.0.0-beta.10", - "ionic-native": "^1.3.0", + "ionic-gulp-browserify-typescript": "^2.0.0", + "ionic-gulp-scripts-copy": "^2.0.1", + "ionic-native": "^1.3.2", "ionicons": "", - "linq-ts": "^1.0.3", + "linq-ts": "^1.8.7", "ng2-translate": "^2.2.2", "reflect-metadata": "^0.1.3", + "run-sequence": "^1.2.2", "rxjs": "^5.0.0-beta.6", "typescript-collections": "", "zone.js": "^0.6.12" diff --git a/App/Ionic2/ocm-app/package.json.bak b/App/Ionic2/ocm-app/package.json.bak new file mode 100644 index 0000000..4f6f0e0 --- /dev/null +++ b/App/Ionic2/ocm-app/package.json.bak @@ -0,0 +1,60 @@ +{ + "dependencies": { + "@angular/common": "^2.0.0-rc.3", + "@angular/compiler": "^2.0.0-rc.3", + "@angular/core": "^2.0.0-rc.3", + "@angular/http": "^2.0.0-rc.3", + "@angular/platform-browser": "^2.0.0-rc.3", + "@angular/platform-browser-dynamic": "^2.0.0-rc.3", + "@angular/router": "^2.0.0-rc.2", + "angular2-jwt": "^0.1.16", + "awesome-typescript-loader": "^1.1.1", + "cordova-plugin-camera": "^2.2.0", + "cordova-plugin-file": "^4.2.0", + "del": "^2.2.1", + "es6-shim": "^0.35.0", + "gulp-sass": "^2.3.2", + "gulp-watch": "^4.3.8", + "ionic-angular": "^2.0.0-beta.10", + "ionic-gulp-browserify-typescript": "^2.0.0", + "ionic-gulp-scripts-copy": "^2.0.1", + "ionic-native": "^1.3.2", + "ionicons": "", + "linq-ts": "^1.8.7", + "ng2-translate": "^2.2.2", + "reflect-metadata": "^0.1.3", + "run-sequence": "^1.2.2", + "rxjs": "^5.0.0-beta.6", + "typescript-collections": "", + "zone.js": "^0.6.12" + }, + "devDependencies": { + "awesome-typescript-loader": "", + "del": "", + "gulp": "", + "gulp-autoprefixer": "", + "gulp-sass": "", + "gulp-watch": "", + "ionic-gulp-browserify-typescript": "", + "ionic-gulp-fonts-copy": "", + "ionic-gulp-html-copy": "", + "ionic-gulp-sass-build": "", + "ionic-gulp-scripts-copy": "^2.0.0", + "run-sequence": "", + "strip-sourcemap-loader": "", + "typescript": "" + }, + "name": "io.openchargemap.app", + "description": "The Open Data registry of EV charging locations", + "cordovaPlugins": [ + "cordova-plugin-device", + "cordova-plugin-geolocation", + "cordova-plugin-whitelist", + "ionic-plugin-keyboard", + "cordova-plugin-splashscreen", + "cordova-plugin-inappbrowser" + ], + "cordovaPlatforms": [ + "ios" + ] +} diff --git a/App/Ionic2/ocm-app/tsconfig.json b/App/Ionic2/ocm-app/tsconfig.json index fd5ea94..99cc507 100644 --- a/App/Ionic2/ocm-app/tsconfig.json +++ b/App/Ionic2/ocm-app/tsconfig.json @@ -18,8 +18,8 @@ ], "exclude": [ "node_modules", - "typings/main", - "typings/main.d.ts" + "typings/global", + "typings/global.d.ts" ], "compileOnSave": false, "atom": { diff --git a/App/Ionic2/ocm-app/tsconfig.json.bak b/App/Ionic2/ocm-app/tsconfig.json.bak new file mode 100644 index 0000000..2131059 --- /dev/null +++ b/App/Ionic2/ocm-app/tsconfig.json.bak @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "commonjs", + "noEmitOnError": false, + "rootDir": ".", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "removeComments": false, + "sourceMap": true, + "sourceRoot": "", + "inlineSourceMap": true, + "inlineSources": false + }, + "filesGlob": [ + "**/*.ts", + "!node_modules/**/*" + ], + "exclude": [ + "node_modules", + "typings/global", + "typings/global.d.ts" + ], + "compileOnSave": false, + "atom": { + "rewriteTsconfig": false + } +} diff --git a/App/Ionic2/ocm-app/typings.json b/App/Ionic2/ocm-app/typings.json index fbba3c0..c44aff9 100644 --- a/App/Ionic2/ocm-app/typings.json +++ b/App/Ionic2/ocm-app/typings.json @@ -1,7 +1,7 @@ { "dependencies": {}, "devDependencies": {}, - "ambientDependencies": { - "es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654" + "globalDependencies": { + "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504" } } diff --git a/App/Ionic2/ocm-app/typings.json.bak b/App/Ionic2/ocm-app/typings.json.bak new file mode 100644 index 0000000..fbba3c0 --- /dev/null +++ b/App/Ionic2/ocm-app/typings.json.bak @@ -0,0 +1,7 @@ +{ + "dependencies": {}, + "devDependencies": {}, + "ambientDependencies": { + "es6-shim": "registry:dt/es6-shim#0.31.2+20160317120654" + } +} diff --git a/App/Ionic2/ocm-app/typings/browser.d.ts b/App/Ionic2/ocm-app/typings/browser.d.ts deleted file mode 100644 index 3362b43..0000000 --- a/App/Ionic2/ocm-app/typings/browser.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/App/Ionic2/ocm-app/typings/browser/ambient/es6-shim/es6-shim.d.ts b/App/Ionic2/ocm-app/typings/globals/es6-shim/index.d.ts similarity index 98% rename from App/Ionic2/ocm-app/typings/browser/ambient/es6-shim/es6-shim.d.ts rename to App/Ionic2/ocm-app/typings/globals/es6-shim/index.d.ts index 0a24d85..1be23ee 100644 --- a/App/Ionic2/ocm-app/typings/browser/ambient/es6-shim/es6-shim.d.ts +++ b/App/Ionic2/ocm-app/typings/globals/es6-shim/index.d.ts @@ -1,10 +1,5 @@ -// Compiled using typings@0.6.8 -// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/4de74cb527395c13ba20b438c3a7a419ad931f1c/es6-shim/es6-shim.d.ts -// Type definitions for es6-shim v0.31.2 -// Project: https://github.com/paulmillr/es6-shim -// Definitions by: Ron Buckton -// Definitions: https://github.com/borisyankov/DefinitelyTyped - +// Generated by typings +// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/9807d9b701f58be068cb07833d2b24235351d052/es6-shim/es6-shim.d.ts declare type PropertyKey = string | number | symbol; interface IteratorResult { @@ -584,6 +579,7 @@ interface Set { entries(): IterableIteratorShim<[T, T]>; keys(): IterableIteratorShim; values(): IterableIteratorShim; + '_es6-shim iterator_'(): IterableIteratorShim; } interface SetConstructor { @@ -623,7 +619,7 @@ interface WeakSetConstructor { declare var WeakSet: WeakSetConstructor; -declare module Reflect { +declare namespace Reflect { function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; function construct(target: Function, argumentsList: ArrayLike): any; function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; @@ -651,7 +647,7 @@ declare module "es6-shim" { var WeakMap: WeakMapConstructor; var WeakSet: WeakSetConstructor; var Promise: PromiseConstructor; - module Reflect { + namespace Reflect { function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; function construct(target: Function, argumentsList: ArrayLike): any; function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; diff --git a/App/Ionic2/ocm-app/typings/globals/es6-shim/typings.json b/App/Ionic2/ocm-app/typings/globals/es6-shim/typings.json new file mode 100644 index 0000000..9a84847 --- /dev/null +++ b/App/Ionic2/ocm-app/typings/globals/es6-shim/typings.json @@ -0,0 +1,8 @@ +{ + "resolution": "main", + "tree": { + "src": "https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/9807d9b701f58be068cb07833d2b24235351d052/es6-shim/es6-shim.d.ts", + "raw": "registry:dt/es6-shim#0.31.2+20160602141504", + "typings": "https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/9807d9b701f58be068cb07833d2b24235351d052/es6-shim/es6-shim.d.ts" + } +} diff --git a/App/Ionic2/ocm-app/typings/index.d.ts b/App/Ionic2/ocm-app/typings/index.d.ts new file mode 100644 index 0000000..841268a --- /dev/null +++ b/App/Ionic2/ocm-app/typings/index.d.ts @@ -0,0 +1 @@ +/// diff --git a/App/Ionic2/ocm-app/typings/main.d.ts b/App/Ionic2/ocm-app/typings/main.d.ts deleted file mode 100644 index f308211..0000000 --- a/App/Ionic2/ocm-app/typings/main.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/App/Ionic2/ocm-app/typings/main/ambient/es6-shim/es6-shim.d.ts b/App/Ionic2/ocm-app/typings/main/ambient/es6-shim/es6-shim.d.ts deleted file mode 100644 index 0a24d85..0000000 --- a/App/Ionic2/ocm-app/typings/main/ambient/es6-shim/es6-shim.d.ts +++ /dev/null @@ -1,670 +0,0 @@ -// Compiled using typings@0.6.8 -// Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/4de74cb527395c13ba20b438c3a7a419ad931f1c/es6-shim/es6-shim.d.ts -// Type definitions for es6-shim v0.31.2 -// Project: https://github.com/paulmillr/es6-shim -// Definitions by: Ron Buckton -// Definitions: https://github.com/borisyankov/DefinitelyTyped - -declare type PropertyKey = string | number | symbol; - -interface IteratorResult { - done: boolean; - value?: T; -} - -interface IterableShim { - /** - * Shim for an ES6 iterable. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): Iterator; -} - -interface Iterator { - next(value?: any): IteratorResult; - return?(value?: any): IteratorResult; - throw?(e?: any): IteratorResult; -} - -interface IterableIteratorShim extends IterableShim, Iterator { - /** - * Shim for an ES6 iterable iterator. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): IterableIteratorShim; -} - -interface StringConstructor { - /** - * Return the String value whose elements are, in order, the elements in the List elements. - * If length is 0, the empty string is returned. - */ - fromCodePoint(...codePoints: number[]): string; - - /** - * String.raw is intended for use as a tag function of a Tagged Template String. When called - * as such the first argument will be a well formed template call site object and the rest - * parameter will contain the substitution values. - * @param template A well-formed template string call site representation. - * @param substitutions A set of substitution values. - */ - raw(template: TemplateStringsArray, ...substitutions: any[]): string; -} - -interface String { - /** - * Returns a nonnegative integer Number less than 1114112 (0x110000) that is the code point - * value of the UTF-16 encoded code point starting at the string element at position pos in - * the String resulting from converting this object to a String. - * If there is no element at that position, the result is undefined. - * If a valid UTF-16 surrogate pair does not begin at pos, the result is the code unit at pos. - */ - codePointAt(pos: number): number; - - /** - * Returns true if searchString appears as a substring of the result of converting this - * object to a String, at one or more positions that are - * greater than or equal to position; otherwise, returns false. - * @param searchString search string - * @param position If position is undefined, 0 is assumed, so as to search all of the String. - */ - includes(searchString: string, position?: number): boolean; - - /** - * Returns true if the sequence of elements of searchString converted to a String is the - * same as the corresponding elements of this object (converted to a String) starting at - * endPosition – length(this). Otherwise returns false. - */ - endsWith(searchString: string, endPosition?: number): boolean; - - /** - * Returns a String value that is made from count copies appended together. If count is 0, - * T is the empty String is returned. - * @param count number of copies to append - */ - repeat(count: number): string; - - /** - * Returns true if the sequence of elements of searchString converted to a String is the - * same as the corresponding elements of this object (converted to a String) starting at - * position. Otherwise returns false. - */ - startsWith(searchString: string, position?: number): boolean; - - /** - * Returns an HTML anchor element and sets the name attribute to the text value - * @param name - */ - anchor(name: string): string; - - /** Returns a HTML element */ - big(): string; - - /** Returns a HTML element */ - blink(): string; - - /** Returns a HTML element */ - bold(): string; - - /** Returns a HTML element */ - fixed(): string - - /** Returns a HTML element and sets the color attribute value */ - fontcolor(color: string): string - - /** Returns a HTML element and sets the size attribute value */ - fontsize(size: number): string; - - /** Returns a HTML element and sets the size attribute value */ - fontsize(size: string): string; - - /** Returns an HTML element */ - italics(): string; - - /** Returns an HTML element and sets the href attribute value */ - link(url: string): string; - - /** Returns a HTML element */ - small(): string; - - /** Returns a HTML element */ - strike(): string; - - /** Returns a HTML element */ - sub(): string; - - /** Returns a HTML element */ - sup(): string; - - /** - * Shim for an ES6 iterable. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): IterableIteratorShim; -} - -interface ArrayConstructor { - /** - * Creates an array from an array-like object. - * @param arrayLike An array-like object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): Array; - - /** - * Creates an array from an iterable object. - * @param iterable An iterable object to convert to an array. - * @param mapfn A mapping function to call on every element of the array. - * @param thisArg Value of 'this' used to invoke the mapfn. - */ - from(iterable: IterableShim, mapfn: (v: T, k: number) => U, thisArg?: any): Array; - - /** - * Creates an array from an array-like object. - * @param arrayLike An array-like object to convert to an array. - */ - from(arrayLike: ArrayLike): Array; - - /** - * Creates an array from an iterable object. - * @param iterable An iterable object to convert to an array. - */ - from(iterable: IterableShim): Array; - - /** - * Returns a new array from a set of elements. - * @param items A set of elements to include in the new array object. - */ - of(...items: T[]): Array; -} - -interface Array { - /** - * Returns the value of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - find(predicate: (value: T, index: number, obj: Array) => boolean, thisArg?: any): T; - - /** - * Returns the index of the first element in the array where predicate is true, and undefined - * otherwise. - * @param predicate find calls predicate once for each element of the array, in ascending - * order, until it finds one where predicate returns true. If such an element is found, find - * immediately returns that element value. Otherwise, find returns undefined. - * @param thisArg If provided, it will be used as the this value for each invocation of - * predicate. If it is not provided, undefined is used instead. - */ - findIndex(predicate: (value: T) => boolean, thisArg?: any): number; - - /** - * Returns the this object after filling the section identified by start and end with value - * @param value value to fill array section with - * @param start index to start filling the array at. If start is negative, it is treated as - * length+start where length is the length of the array. - * @param end index to stop filling the array at. If end is negative, it is treated as - * length+end. - */ - fill(value: T, start?: number, end?: number): T[]; - - /** - * Returns the this object after copying a section of the array identified by start and end - * to the same array starting at position target - * @param target If target is negative, it is treated as length+target where length is the - * length of the array. - * @param start If start is negative, it is treated as length+start. If end is negative, it - * is treated as length+end. - * @param end If not specified, length of the this object is used as its default value. - */ - copyWithin(target: number, start: number, end?: number): T[]; - - /** - * Returns an array of key, value pairs for every entry in the array - */ - entries(): IterableIteratorShim<[number, T]>; - - /** - * Returns an list of keys in the array - */ - keys(): IterableIteratorShim; - - /** - * Returns an list of values in the array - */ - values(): IterableIteratorShim; - - /** - * Shim for an ES6 iterable. Not intended for direct use by user code. - */ - "_es6-shim iterator_"(): IterableIteratorShim; -} - -interface NumberConstructor { - /** - * The value of Number.EPSILON is the difference between 1 and the smallest value greater than 1 - * that is representable as a Number value, which is approximately: - * 2.2204460492503130808472633361816 x 10‍−‍16. - */ - EPSILON: number; - - /** - * Returns true if passed value is finite. - * Unlike the global isFininte, Number.isFinite doesn't forcibly convert the parameter to a - * number. Only finite values of the type number, result in true. - * @param number A numeric value. - */ - isFinite(number: number): boolean; - - /** - * Returns true if the value passed is an integer, false otherwise. - * @param number A numeric value. - */ - isInteger(number: number): boolean; - - /** - * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a - * number). Unlike the global isNaN(), Number.isNaN() doesn't forcefully convert the parameter - * to a number. Only values of the type number, that are also NaN, result in true. - * @param number A numeric value. - */ - isNaN(number: number): boolean; - - /** - * Returns true if the value passed is a safe integer. - * @param number A numeric value. - */ - isSafeInteger(number: number): boolean; - - /** - * The value of the largest integer n such that n and n + 1 are both exactly representable as - * a Number value. - * The value of Number.MIN_SAFE_INTEGER is 9007199254740991 2^53 − 1. - */ - MAX_SAFE_INTEGER: number; - - /** - * The value of the smallest integer n such that n and n − 1 are both exactly representable as - * a Number value. - * The value of Number.MIN_SAFE_INTEGER is −9007199254740991 (−(2^53 − 1)). - */ - MIN_SAFE_INTEGER: number; - - /** - * Converts a string to a floating-point number. - * @param string A string that contains a floating-point number. - */ - parseFloat(string: string): number; - - /** - * Converts A string to an integer. - * @param s A string to convert into a number. - * @param radix A value between 2 and 36 that specifies the base of the number in numString. - * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. - * All other strings are considered decimal. - */ - parseInt(string: string, radix?: number): number; -} - -interface ObjectConstructor { - /** - * Copy the values of all of the enumerable own properties from one or more source objects to a - * target object. Returns the target object. - * @param target The target object to copy to. - * @param sources One or more source objects to copy properties from. - */ - assign(target: any, ...sources: any[]): any; - - /** - * Returns true if the values are the same value, false otherwise. - * @param value1 The first value. - * @param value2 The second value. - */ - is(value1: any, value2: any): boolean; - - /** - * Sets the prototype of a specified object o to object proto or null. Returns the object o. - * @param o The object to change its prototype. - * @param proto The value of the new prototype or null. - * @remarks Requires `__proto__` support. - */ - setPrototypeOf(o: any, proto: any): any; -} - -interface RegExp { - /** - * Returns a string indicating the flags of the regular expression in question. This field is read-only. - * The characters in this string are sequenced and concatenated in the following order: - * - * - "g" for global - * - "i" for ignoreCase - * - "m" for multiline - * - "u" for unicode - * - "y" for sticky - * - * If no flags are set, the value is the empty string. - */ - flags: string; -} - -interface Math { - /** - * Returns the number of leading zero bits in the 32-bit binary representation of a number. - * @param x A numeric expression. - */ - clz32(x: number): number; - - /** - * Returns the result of 32-bit multiplication of two numbers. - * @param x First number - * @param y Second number - */ - imul(x: number, y: number): number; - - /** - * Returns the sign of the x, indicating whether x is positive, negative or zero. - * @param x The numeric expression to test - */ - sign(x: number): number; - - /** - * Returns the base 10 logarithm of a number. - * @param x A numeric expression. - */ - log10(x: number): number; - - /** - * Returns the base 2 logarithm of a number. - * @param x A numeric expression. - */ - log2(x: number): number; - - /** - * Returns the natural logarithm of 1 + x. - * @param x A numeric expression. - */ - log1p(x: number): number; - - /** - * Returns the result of (e^x - 1) of x (e raised to the power of x, where e is the base of - * the natural logarithms). - * @param x A numeric expression. - */ - expm1(x: number): number; - - /** - * Returns the hyperbolic cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - cosh(x: number): number; - - /** - * Returns the hyperbolic sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - sinh(x: number): number; - - /** - * Returns the hyperbolic tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - tanh(x: number): number; - - /** - * Returns the inverse hyperbolic cosine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - acosh(x: number): number; - - /** - * Returns the inverse hyperbolic sine of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - asinh(x: number): number; - - /** - * Returns the inverse hyperbolic tangent of a number. - * @param x A numeric expression that contains an angle measured in radians. - */ - atanh(x: number): number; - - /** - * Returns the square root of the sum of squares of its arguments. - * @param values Values to compute the square root for. - * If no arguments are passed, the result is +0. - * If there is only one argument, the result is the absolute value. - * If any argument is +Infinity or -Infinity, the result is +Infinity. - * If any argument is NaN, the result is NaN. - * If all arguments are either +0 or −0, the result is +0. - */ - hypot(...values: number[]): number; - - /** - * Returns the integral part of the a numeric expression, x, removing any fractional digits. - * If x is already an integer, the result is x. - * @param x A numeric expression. - */ - trunc(x: number): number; - - /** - * Returns the nearest single precision float representation of a number. - * @param x A numeric expression. - */ - fround(x: number): number; - - /** - * Returns an implementation-dependent approximation to the cube root of number. - * @param x A numeric expression. - */ - cbrt(x: number): number; -} - -interface PromiseLike { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): PromiseLike; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): PromiseLike; -} - -/** - * Represents the completion of an asynchronous operation - */ -interface Promise { - /** - * Attaches callbacks for the resolution and/or rejection of the Promise. - * @param onfulfilled The callback to execute when the Promise is resolved. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of which ever callback is executed. - */ - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => TResult | PromiseLike): Promise; - then(onfulfilled?: (value: T) => TResult | PromiseLike, onrejected?: (reason: any) => void): Promise; - - /** - * Attaches a callback for only the rejection of the Promise. - * @param onrejected The callback to execute when the Promise is rejected. - * @returns A Promise for the completion of the callback. - */ - catch(onrejected?: (reason: any) => T | PromiseLike): Promise; - catch(onrejected?: (reason: any) => void): Promise; -} - -interface PromiseConstructor { - /** - * A reference to the prototype. - */ - prototype: Promise; - - /** - * Creates a new Promise. - * @param executor A callback used to initialize the promise. This callback is passed two arguments: - * a resolve callback used resolve the promise with a value or the result of another promise, - * and a reject callback used to reject the promise with a provided reason or error. - */ - new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void): Promise; - - /** - * Creates a Promise that is resolved with an array of results when all of the provided Promises - * resolve, or rejected when any Promise is rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - all(values: IterableShim>): Promise; - - /** - * Creates a Promise that is resolved or rejected when any of the provided Promises are resolved - * or rejected. - * @param values An array of Promises. - * @returns A new Promise. - */ - race(values: IterableShim>): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new rejected promise for the provided reason. - * @param reason The reason the promise was rejected. - * @returns A new rejected Promise. - */ - reject(reason: any): Promise; - - /** - * Creates a new resolved promise for the provided value. - * @param value A promise. - * @returns A promise whose internal state matches the provided promise. - */ - resolve(value: T | PromiseLike): Promise; - - /** - * Creates a new resolved promise . - * @returns A resolved promise. - */ - resolve(): Promise; -} - -declare var Promise: PromiseConstructor; - -interface Map { - clear(): void; - delete(key: K): boolean; - forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; - get(key: K): V; - has(key: K): boolean; - set(key: K, value?: V): Map; - size: number; - entries(): IterableIteratorShim<[K, V]>; - keys(): IterableIteratorShim; - values(): IterableIteratorShim; -} - -interface MapConstructor { - new (): Map; - new (iterable: IterableShim<[K, V]>): Map; - prototype: Map; -} - -declare var Map: MapConstructor; - -interface Set { - add(value: T): Set; - clear(): void; - delete(value: T): boolean; - forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; - has(value: T): boolean; - size: number; - entries(): IterableIteratorShim<[T, T]>; - keys(): IterableIteratorShim; - values(): IterableIteratorShim; -} - -interface SetConstructor { - new (): Set; - new (iterable: IterableShim): Set; - prototype: Set; -} - -declare var Set: SetConstructor; - -interface WeakMap { - delete(key: K): boolean; - get(key: K): V; - has(key: K): boolean; - set(key: K, value?: V): WeakMap; -} - -interface WeakMapConstructor { - new (): WeakMap; - new (iterable: IterableShim<[K, V]>): WeakMap; - prototype: WeakMap; -} - -declare var WeakMap: WeakMapConstructor; - -interface WeakSet { - add(value: T): WeakSet; - delete(value: T): boolean; - has(value: T): boolean; -} - -interface WeakSetConstructor { - new (): WeakSet; - new (iterable: IterableShim): WeakSet; - prototype: WeakSet; -} - -declare var WeakSet: WeakSetConstructor; - -declare module Reflect { - function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; - function construct(target: Function, argumentsList: ArrayLike): any; - function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; - function deleteProperty(target: any, propertyKey: PropertyKey): boolean; - function enumerate(target: any): IterableIteratorShim; - function get(target: any, propertyKey: PropertyKey, receiver?: any): any; - function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor; - function getPrototypeOf(target: any): any; - function has(target: any, propertyKey: PropertyKey): boolean; - function isExtensible(target: any): boolean; - function ownKeys(target: any): Array; - function preventExtensions(target: any): boolean; - function set(target: any, propertyKey: PropertyKey, value: any, receiver?: any): boolean; - function setPrototypeOf(target: any, proto: any): boolean; -} - -declare module "es6-shim" { - var String: StringConstructor; - var Array: ArrayConstructor; - var Number: NumberConstructor; - var Math: Math; - var Object: ObjectConstructor; - var Map: MapConstructor; - var Set: SetConstructor; - var WeakMap: WeakMapConstructor; - var WeakSet: WeakSetConstructor; - var Promise: PromiseConstructor; - module Reflect { - function apply(target: Function, thisArgument: any, argumentsList: ArrayLike): any; - function construct(target: Function, argumentsList: ArrayLike): any; - function defineProperty(target: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): boolean; - function deleteProperty(target: any, propertyKey: PropertyKey): boolean; - function enumerate(target: any): Iterator; - function get(target: any, propertyKey: PropertyKey, receiver?: any): any; - function getOwnPropertyDescriptor(target: any, propertyKey: PropertyKey): PropertyDescriptor; - function getPrototypeOf(target: any): any; - function has(target: any, propertyKey: PropertyKey): boolean; - function isExtensible(target: any): boolean; - function ownKeys(target: any): Array; - function preventExtensions(target: any): boolean; - function set(target: any, propertyKey: PropertyKey, value: any, receiver?: any): boolean; - function setPrototypeOf(target: any, proto: any): boolean; - } -} \ No newline at end of file diff --git a/App/Ionic2/ocm-app/www/index.html b/App/Ionic2/ocm-app/www/index.html index 89482e5..59964f0 100644 --- a/App/Ionic2/ocm-app/www/index.html +++ b/App/Ionic2/ocm-app/www/index.html @@ -60,12 +60,12 @@
- + - + - + @@ -73,8 +73,8 @@ - - + + diff --git a/App/Ionic2/ocm-app/www/lang/sk.json b/App/Ionic2/ocm-app/www/lang/sk.json new file mode 100644 index 0000000..652507f --- /dev/null +++ b/App/Ionic2/ocm-app/www/lang/sk.json @@ -0,0 +1,259 @@ +{ + "_langTitle": "Slovak/Slovenčina", + "_langCode": "sk", + "ocm": { + "general": { + "shortDescription": "Globálny register nabíjacích staníc pre elektromobily", + "linkWebApp": "Hľadania umiestnenia pomocou našej Web App", + "linkBrowsePOI": "Zobraziť všetky umiestnenia", + "browsePOI": "Prezerať umiestnenia nabíjacích staníc", + "loadingProgress": "Načítavam...", + "addLocation": "Pridať umiestnenie", + "addItem": "Pridať", + "favourites": "Obľúbené", + "settings": "Nastavenia", + "about": "O nás", + "signIn": "Prihlásiť sa", + "signOut": "Odhlásiť sa" + }, + "details": { + "sectionTitle": "Poloha nabíjacej stanice", + "location": { + "sectionTitle": "Detaily umiestnenia", + "title": "Názov umiestnenia", + "address": "Najbližšia adresa", + "addressLine1": "Adresa, 1. riadok", + "addressLine2": "Adresa, druhý riadok", + "town": "Mesto", + "stateOrProvince": "Štát", + "postcode": "PSČ", + "country": "Krajina", + "latitude": "Zemepisná šírka", + "longitude": "Zemepisná dĺžka", + "contactTelephone1": "Primárny telefónny kontakt", + "contactTelephone2": "Sekundárny telefónny kontakt", + "contactEmail": "Emailový kontakt", + "map": "Mapa", + "streetView": "Street View", + "addressRelatedURL": "Webová stránka" + }, + "generalComments": "Všeobecné informácie", + "accessComments": "Prístupové informácie", + "advancedDetails": "Dodatočné informácie", + "numberOfPoints": "Počet staníc", + "usageType": "Využitie", + "usageCost": "Cena za použitie", + "operationalStatus": "Stav funkčnosti", + "datePlanned": "Plánovaný dátum", + "dateLastConfirmed": "Dátum posledného potvrdenia (údajov)", + "lastUpdated": "Posledná aktualizácia", + "refNumber": "Referenčné číslo OpenChargeMap", + "dataQualityLevel": "Úroveň kvality dát", + "importedDataNotice": "Poznámka: Tieto údaje sa získavajú automaticky, zmeny by mali byť predložené priamo poskytovateľovi údajov.", + "submissionStatus": "Stav položky", + "placesNearby": { + "sectionTitle": "Miesta v blízskosti" + }, + "mediaItems": { + "sectionTitle": "Fotografie", + "addPrompt": "Nahrať vlastné fotografie pre toto umiestnenie" + }, + "metadataValues": { + "sectionTitle": "Dodatočné značky" + }, + "commentsAndRatings": { + "sectionTitle": "Komentáre a hodnotenia", + "zeroComments": "Zatiaľ neboli pridané žiadne užívateľské komentáre", + "addPrompt": "Pridať komentár alebo rýchlu aktualizáciu stavu" + }, + "equipment": { + "sectionTitle": "Detaily zariadenia", + "connectionType": "Typ konektora", + "powerKW": "Maximálny výkon (kW)", + "powerLevel": "Úroveň", + "quantity": "Množstvo", + "supplyType": "Typ napájania", + "voltage": "Napätie", + "current": "Maximálny prúd", + "comment": "Komentáre", + "reference": "Odkaz" + }, + "dataProvider": { + "sectionTitle": "Poskytovateľ dát", + "website": "Webová stránka", + "providersReference": "Referenčné číslo poskytovateľa" + }, + "operator": { + "sectionTitle": "Sieť-Operátor", + "operatorsReference": "Referenčné číslo operátora" + } + }, + "search": { + "sectionTitle": "Hľadať", + "locationInput": "Umiestnenie", + "useMyLocation": "Hľadať v mojej blízkosti", + "distance": "Vzdialenosť", + "chargingLevels": "Úroveň nabíjania", + "minPowerKW": "Minimálny výkon v kW", + "connectionTypes": "Typy konektorov", + "networkOperators": "Sieť/Prevádzkovateľ", + "countries": "Krajina", + "submissionStatus": "Stav záznamu", + "usageTypes": "Využitie", + "operationalStatusTypes": "Stav", + "performSearch": "Hľadať", + "progress": "Hľadám..." + }, + "navigation": { + "home": "Domov", + "browse": { + "sectionTitle": "Prezerať", + "allLocations": "Všetky umiestnenia", + "byCountry": "Podľa krajiny", + "avaitingReview": "Nepotvrdené umiestnenia", + "recentActivity": "Nedávnu činnosť", + "webApp": "Mobilnú aplikáciu", + "statistics": "Štatistiky", + "awaitingReviewImported": "Importované umiestnenia čakajúce na schválenie", + "editqueue": "Úpravy čakajúce na schválenie" + }, + "develop": { + "sectionTitle": "Vývoj", + "api": "API", + "htmlWidgets": "HTML Widgety", + "examples": "Príklady", + "getInvolved": "Zapoj sa", + "code": "Kódu (na GitHube)", + "translate": "Pomôž s prekladom" + }, + "discuss": "Diskutuj", + "about": { + "termsPrivacy": "Podmienky a ochrana súkromia", + "contact": "Kontakt", + "guidance": "Rady pre prispievateľov" + }, + "profile": { + "sectionTitle": "Môj Profil", + "subscriptions": "Moje Predplatné", + "comments": "Moje Komentáre", + "uploads": "Nahraté fotky" + } + }, + "infoText": { + "getInvolved": { + "youCan": "Môžeš", + "browseLocations": "prezerať stanice blízko Teba", + "commentsPhotos": "a pridať svoje vlastné komentáre a fotky", + "dontSeePOI": "Nevidíš nabíjaciu stanicu o ktorej vieš, že existuje?" + }, + "getStations": { + "sectionTitle": "Stiahni si dáta o nabíjacích staniciach", + "who": "Výrobcovia áut, predajcovia navigácií, vývojári aplikácií, vlastníci webov:", + "what": "Môžete si stiahnuť alebo pristupovať k naším najnovším dátam o nabíjacích staniciach vďaka nášmu", + "websiteOperators": "Ak prevádzkujete webovú stránku a chcete do nej pridať mapu nabíjacích staníc, môžete", + "embedMap": "vložiť mapu na Vašu vlastnú stránku" + }, + "supplyData": { + "sectionTitle": "Operátori a poskytovatelia dát", + "who": "Dodávatelia nabíjacích staníc, operátori, národné registre, lokálne stránky a aplikácie o nabíjacích staniciach:", + "needData": "Potrebujeme Vaše dáta.", + "what": "Môžete nám dodať vaše najnovšie informácie o nabíjacích staniciach bez ohľadu na to, či Vaša organizácia vlastní, prevádzkuje alebo kataloguje dostupné nabíjacie stanice. Prosíme", + "contactUs": "kontaktujte nás", + "getStarted": "pre pokračovanie" + }, + "stats": { + "locations": "Umiestnení", + "locationSummary": "{totalStations} nabíjacích staníc na {totalLocations} miestach." + }, + "shortProjectSummary": "Open Charge Map je nekomerčná a nezisková služba udržovaná a podporovaná komunitou firiem, charít, vývojárov a záujmových skupín z celého sveta.", + "getApp": "Stiahni si aplikáciu", + "tip": "Tip:", + "searching": { + "quickWay": "Ak iba potrebujete rýchly spôsob, ako nájsť najbližšiu nabíjaciu stanicu, môžete tiež vyskúšať našu", + "webApp": "webovú aplikáciu", + "searchAppStore": "hlavne na mobilných zariadeniach. V obchode s aplikáciami na Vašom zariadení nájdete aj verziu, ktorú môžete mať stále so sebou." + }, + "sponsors": "Hľadáme sponzorov. Vieš s tým pomôcť? {link:Zisti viac}.", + "termsNotice": "Používaním našich služieb alebo pridaním informácii do databázy Open Charge Map súhlasíte s našimi {link:všeobecnými podmienkami, politikou ochrany súkromia a licencovaním}.", + "about": { + "ourService": "Naša služba", + "aim": { + "title": "Naše ciele", + "p1": "Chceme spolupracovať s komunitou na vytváraní a poskytovaní vysoko kvalitnej, otvorenej, verejnej a bezplatnej databáze nabíjacích zariadení po celom svete.", + "p2": "Naším cieľom je tiež zabrániť potrebe šírenia nezávislých konfliktných máp/stránok/aplikácii poskytovaním jedného spoľahlivého (v maximálnej možnej miere) zdroja informácií o nabíjacích staniciach. Namiesto súťaženia s inými poskytovateľmi dát sa snažíme s nimi spolupracovať a ponúkať im služby výmenou za zdieľanie ich dát a snahu o neduplikovanie informácií." + }, + "whyOCM": { + "title": "Prečo používať Open Charge Map?", + "content": "Používaním Open Charge Map (OCM) a príslušných aplikácii môžete pomôcť vylepšiť informácie v databáze recenziami, zmenami a pridávaním informácií, komentárov a fotiek a odporúčaním služby ostatným užívateľom. Výhodou OCM oproti ostatným poskytovateľom podobných dát je, že cieľom OCM je otvorené zdieľanie informácií, kým komerční poskytovatelia si musia ponechávať informácie pre seba (alebo len vrámci svojej aplikácie), aby si mohli udržovať komerčne speňažiteľné množstvo dát." + }, + "funding": { + "title": "Financovanie", + "p1": "Open Charge Map je vyvinutá a udržovaná dobrovoľníkmi. Ak môžete ponúknuť financovanie na podporu projektu alebo podporiť konkrétnu pracovnú činnosť prosím {link-contact:kontaktujte nás}. Viac informácií ohľadom financovania a projektových nákladov {link-funding:je k dispozícií}." + }, + "developersContributors": { + "sectionTitle": "Vývojári a prispievatelia", + "p1": "Náš projekt na {link_github:GitHube} poskytuje zázemie, ktoré umožnuje externým technickým prispievateľom diskutovať a ovlpyvniť náš systém a plány do budúcnosti. Naša komunita na {link_google_plus:Google+} je hlavný spôsob výmeny nápadov a získavania spätnej väzby od zainteresovaných strán.", + "p2": "Môžete si prezrieť zoznamy našich najvačších prispievateľov {link_code:kódu}, {link_translations:prekladov} a {link_data:dát}." + }, + "projectStats": { + "sectionTitle": "Projektové štatistiky", + "general": "Máme k dispozícií všeobecné štatistiky ohľadom {link:dát a používanosti} Open Charge Map." + }, + "dataSources": { + "title": "Zdroje dát", + "p1": "Dáta, ktoré sú k dispozícií prostredníctvom systému Open Charge Map a príslušných služieb sa získavajú z mnohých zdrojov a sú často získavané priamo prostredníctvom \"crowdsourcingu\", teda pridané našimi užívateľmi a aplikáciami používajúcimi naše služby.", + "p2": "Uznanie a vďaka patrí nasledujúcim hlavným zdrojom dát, ktoré sú v súčasnosti zahrnuté v našej databáze:" + } + } + }, + "reference": { + "statusType": { + "value_minus1": "(Nezvolený)", + "value_0": "Neznámy", + "value_10": "Práve voľná (automaticky aktualizované)", + "value_20": "Práve obsadená (automaticky aktualizované)", + "value_30": "Dočasne nedostupná/nefunkčná", + "value_50": "Funkčná", + "value_75": "Čiastočne funkčná", + "value_100": "Nefunkčná", + "value_150": "Plánované spustenie v budúcnosti", + "value_200": "Odstránená (vyradená z prevádzky)" + }, + "operatorInfo": { + "value_minus1": "(Nezvolená)", + "value_1": "(Neznámy prevádzkovateľ)", + "value_44": "(Súkromná osoba)", + "value_45": "(Firma na danom mieste)" + }, + "usageType": { + "value_minus1": "(Nezvolené)", + "value_0": "(Neznáme)", + "value_1": "Verejné", + "value_2": "Súkromné - obmedzený prístup", + "value_3": "Súkromné - vyžadované oznámenie", + "value_4": "Verejné - vyžadované členstvo", + "value_5": "Verejné - platba na mieste", + "value_6": "Súkromné - pre zamestnancov a návštevníkov", + "value_7": "Verejné - vyžadované oznámenie" + }, + "connectionType": { + "value_minus1": "(Nezvolené)", + "value_0": "(Neznáme)" + }, + "levelType": { + "value_minus1": "(Nezvolená)", + "value_0": "(Neznáma)", + "value_1": "Úroveň 1: Nízka (pod 2kW)", + "value_2": "Úroveň 2: Stredná (nad 2kW)", + "value_3": "Úroveň 3: Vysoká (nad 40 kW)" + }, + "supplyType": { + "value_minus1": "(Nezvolený)", + "value_0": "(Neznámy)", + "value_10": "Striedavé (jednofázové)", + "value_20": "Striedavé (trojfázové)", + "value_30": "Jednosmerné" + } + } + } +} \ No newline at end of file