mirror of
https://github.com/EDCD/coriolis.git
synced 2025-12-08 22:33:24 +00:00
Fixes for language and scaling
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
angular.module('app', ['ui.router', 'ct.ui.router.extras.sticky', 'ui.sortable', 'shipyard', 'ngLodash', 'app.templates', 'pascalprecht.translate'])
|
||||
.run(['$rootScope', '$location', '$window', '$document', '$state', '$translate', 'localeFormat', 'Persist', 'Discounts',
|
||||
function($rootScope, $location, $window, $doc, $state, $translate, localeFormat, Persist, Discounts) {
|
||||
.run(['$rootScope', '$location', '$window', '$document', '$state', '$translate', 'localeFormat', 'Persist', 'Discounts', 'Languages',
|
||||
function($rootScope, $location, $window, $doc, $state, $translate, localeFormat, Persist, Discounts, Languages) {
|
||||
// App is running as a standalone web app on tablet/mobile
|
||||
var isStandAlone;
|
||||
// This was causing issues on Windows phones ($window.external was causing Angular js to throw an exception). Backup is to try this and set isStandAlone to false if this fails.
|
||||
@@ -33,16 +33,9 @@ function($rootScope, $location, $window, $doc, $state, $translate, localeFormat,
|
||||
});
|
||||
|
||||
$rootScope.language = {
|
||||
opts: {
|
||||
en: 'English',
|
||||
de: 'Deutsh',
|
||||
es: 'Español',
|
||||
fr: 'Français',
|
||||
ru: 'ру́сский язы́к'
|
||||
},
|
||||
current: Persist.getLangCode()
|
||||
opts: Languages,
|
||||
current: Languages[Persist.getLangCode()] ? Persist.getLangCode() : 'en'
|
||||
};
|
||||
|
||||
$rootScope.localeFormat = d3.locale(localeFormat.get($rootScope.language.current));
|
||||
updateNumberFormat();
|
||||
|
||||
|
||||
@@ -1,17 +1,10 @@
|
||||
/**
|
||||
* Sets up the routes and handlers before the Angular app is kicked off.
|
||||
*/
|
||||
angular.module('app').config(['$provide', '$stateProvider', '$urlRouterProvider', '$locationProvider', '$translateProvider', 'ShipsDB', function($provide, $stateProvider, $urlRouterProvider, $locationProvider, $translateProvider, ships) {
|
||||
angular.module('app').config(['$provide', '$stateProvider', '$urlRouterProvider', '$locationProvider', 'ShipsDB', function($provide, $stateProvider, $urlRouterProvider, $locationProvider, ships) {
|
||||
// Use HTML5 push and replace state if possible
|
||||
$locationProvider.html5Mode({ enabled: true, requireBase: false });
|
||||
|
||||
// Use English as default/fallback language
|
||||
$translateProvider
|
||||
.useSanitizeValueStrategy('escapeParameters')
|
||||
.useStorage('Persist')
|
||||
.fallbackLanguage('en')
|
||||
.determinePreferredLanguage();
|
||||
|
||||
/**
|
||||
* Set up all states and their routes.
|
||||
*/
|
||||
|
||||
@@ -28,7 +28,7 @@ angular.module('app').directive('barChart', ['$window', '$translate', '$rootScop
|
||||
fmt = null,
|
||||
unit = null,
|
||||
properties = scope.facet.props,
|
||||
margin = { top: 10, right: 20, bottom: 35, left: 150 },
|
||||
margin = { top: 10, right: 20, bottom: 40, left: 150 },
|
||||
y0 = d3.scale.ordinal(),
|
||||
y1 = d3.scale.ordinal(),
|
||||
x = d3.scale.linear(),
|
||||
@@ -55,18 +55,12 @@ angular.module('app').directive('barChart', ['$window', '$translate', '$rootScop
|
||||
var xAxisLbl = vis.append('g')
|
||||
.attr('class', 'x axis cap')
|
||||
.append('text')
|
||||
.attr('y', 30)
|
||||
.attr('y', 33)
|
||||
.attr('dy', '.1em')
|
||||
.style('text-anchor', 'middle');
|
||||
|
||||
updateFormats();
|
||||
|
||||
/**
|
||||
* Watch for changes in the comparison array (ships added/removed, sorting)
|
||||
*/
|
||||
scope.$watchCollection('data', render);
|
||||
angular.element($window).bind('orientationchange resize render', render);
|
||||
|
||||
function render() {
|
||||
var data = scope.data,
|
||||
width = element[0].offsetWidth,
|
||||
@@ -125,8 +119,9 @@ angular.module('app').directive('barChart', ['$window', '$translate', '$rootScop
|
||||
render();
|
||||
}
|
||||
|
||||
angular.element($window).bind('orientationchange resize render', render);
|
||||
scope.$watchCollection('data', render); // Watch for changes in the comparison array
|
||||
scope.$on('languageChanged', updateFormats);
|
||||
|
||||
scope.$on('$destroy', function() {
|
||||
angular.element($window).unbind('orientationchange resize render', render);
|
||||
tip.destroy(); // Remove the tooltip from the DOM
|
||||
|
||||
@@ -82,10 +82,19 @@ angular.module('app').directive('shipyardHeader', ['lodash', '$window', '$rootSc
|
||||
});
|
||||
|
||||
scope.textSizeChange = function(size) {
|
||||
$rootScope.sizeRatio = size;
|
||||
document.getElementById('main').style.fontSize = size + 'em';
|
||||
Persist.setSizeRatio(size);
|
||||
win.triggerHandler('resize');
|
||||
if (size != $rootScope.sizeRatio) {
|
||||
$rootScope.sizeRatio = size;
|
||||
document.getElementById('main').style.fontSize = size + 'em';
|
||||
Persist.setSizeRatio(size);
|
||||
win.triggerHandler('resize');
|
||||
}
|
||||
};
|
||||
|
||||
scope.resetTextSize = function() {
|
||||
if ($rootScope.sizeRatio != 1) {
|
||||
scope.textSizeChange(1);
|
||||
scope.$broadcast('reset');
|
||||
}
|
||||
};
|
||||
|
||||
scope.$watchCollection('allBuilds', function() {
|
||||
|
||||
@@ -75,12 +75,6 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
|
||||
updateFormats();
|
||||
|
||||
/**
|
||||
* Watch for changes in the series data (mass changes, etc)
|
||||
*/
|
||||
scope.$watchCollection('series', render);
|
||||
angular.element($window).bind('orientationchange resize render', render);
|
||||
|
||||
function render() {
|
||||
var width = element[0].parentElement.offsetWidth,
|
||||
height = width * 0.5 * $rootScope.sizeRatio,
|
||||
@@ -193,8 +187,9 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco
|
||||
render();
|
||||
}
|
||||
|
||||
angular.element($window).bind('orientationchange resize render', render);
|
||||
scope.$watchCollection('series', render); // Watch for changes in the series data
|
||||
scope.$on('languageChanged', updateFormats);
|
||||
|
||||
scope.$on('$destroy', function() {
|
||||
angular.element($window).unbind('orientationchange resize render', render);
|
||||
});
|
||||
|
||||
@@ -16,10 +16,10 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
depBandsSelected = false,
|
||||
wattScale = d3.scale.linear(),
|
||||
pctScale = d3.scale.linear().domain([0, 1]),
|
||||
wattFmt = d3.format('.2f'),
|
||||
pctFmt = d3.format('.1%'),
|
||||
wattAxis = d3.svg.axis().scale(wattScale).outerTickSize(0).orient('top').tickFormat(d3.format('.2r')),
|
||||
pctAxis = d3.svg.axis().scale(pctScale).outerTickSize(0).orient('bottom').tickFormat(d3.format('%')),
|
||||
wattFmt,
|
||||
pctFmt,
|
||||
wattAxis = d3.svg.axis().scale(wattScale).outerTickSize(0).orient('top'),
|
||||
pctAxis = d3.svg.axis().scale(pctScale).outerTickSize(0).orient('bottom'),
|
||||
// Create chart
|
||||
svg = d3.select(element[0]).append('svg'),
|
||||
vis = svg.append('g'),
|
||||
@@ -40,20 +40,14 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
// Create Y Axis SVG Elements
|
||||
vis.append('g').attr('class', 'watt axis');
|
||||
vis.append('g').attr('class', 'pct axis');
|
||||
var retText = vis.append('text').attr('x', -3).style('text-anchor', 'end').attr('dy', '0.5em').attr('class', 'primary upp');
|
||||
var depText = vis.append('text').attr('x', -3).style('text-anchor', 'end').attr('dy', '0.5em').attr('class', 'primary upp');
|
||||
var retLbl = vis.append('text').attr('dy', '0.5em');
|
||||
var depLbl = vis.append('text').attr('dy', '0.5em');
|
||||
|
||||
var retLbl = vis.append('text').attr('x', -35).attr('y', 16).attr('class', 'primary upp');
|
||||
var depLbl = vis.append('text').attr('x', -35).attr('y', barHeight + 18).attr('class', 'primary upp');
|
||||
var retVal = vis.append('text').attr('y', 16);
|
||||
var depVal = vis.append('text').attr('y', barHeight + 18);
|
||||
updateFormats(true);
|
||||
|
||||
// Watch for changes to data and events
|
||||
scope.$watchCollection('available', dataChange);
|
||||
angular.element($window).bind('pwrchange', dataChange);
|
||||
angular.element($window).bind('orientationchange resize', render);
|
||||
|
||||
updateFormats();
|
||||
|
||||
function render() {
|
||||
function dataChange() {
|
||||
bands = scope.bands;
|
||||
available = scope.available;
|
||||
maxBand = bands[bands.length - 1];
|
||||
@@ -82,7 +76,7 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
mTop = Math.round(25 * size),
|
||||
mRight = Math.round(130 * size),
|
||||
mBottom = Math.round(25 * size),
|
||||
mLeft = Math.round(40 * size),
|
||||
mLeft = Math.round(45 * size),
|
||||
barHeight = Math.round(20 * size),
|
||||
width = element[0].offsetWidth,
|
||||
innerHeight = (barHeight * 2) + 2,
|
||||
@@ -107,19 +101,10 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
vis.selectAll('.watt.axis').call(wattAxis);
|
||||
vis.selectAll('.pct.axis').attr('transform', 'translate(0,' + innerHeight + ')').call(pctAxis);
|
||||
|
||||
for (var b = 0, l = bands.length; b < l; b++) {
|
||||
if (bands[b].retSelected) {
|
||||
retractedSum += bands[b].retracted + bands[b].retOnly;
|
||||
retBandsSelected = true;
|
||||
}
|
||||
if (bands[b].depSelected) {
|
||||
deployedSum += bands[b].deployed + bands[b].retracted;
|
||||
depBandsSelected = true;
|
||||
}
|
||||
}
|
||||
|
||||
updateLabel(retVal, w, retBandsSelected, retBandsSelected ? retractedSum : maxBand.retractedSum, available);
|
||||
updateLabel(depVal, w, depBandsSelected, depBandsSelected ? deployedSum : maxBand.deployedSum, available);
|
||||
retText.attr('y', repY);
|
||||
depText.attr('y', depY);
|
||||
updateLabel(retLbl, w, repY, retBandsSelected, retBandsSelected ? retractedSum : maxBand.retractedSum, available);
|
||||
updateLabel(depLbl, w, depY, depBandsSelected, depBandsSelected ? deployedSum : maxBand.deployedSum, available);
|
||||
|
||||
retracted.selectAll('rect').data(bands).enter().append('rect')
|
||||
.attr('height', barHeight)
|
||||
@@ -166,7 +151,6 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
dataChange();
|
||||
})
|
||||
.text(function(d, i) { return bandText(d.deployed + d.retracted, i); });
|
||||
|
||||
}
|
||||
|
||||
function updateLabel(lbl, width, y, selected, sum, avail) {
|
||||
@@ -188,18 +172,23 @@ angular.module('app').directive('powerBands', ['$window', '$translate', '$rootSc
|
||||
return '';
|
||||
}
|
||||
|
||||
function updateFormats() {
|
||||
retLbl.text($translate.instant('ret'));
|
||||
depLbl.text($translate.instant('dep'));
|
||||
function updateFormats(preventRender) {
|
||||
retText.text($translate.instant('ret'));
|
||||
depText.text($translate.instant('dep'));
|
||||
wattFmt = $rootScope.localeFormat.numberFormat('.2f');
|
||||
pctFmt = $rootScope.localeFormat.numberFormat('.1%');
|
||||
wattAxis.tickFormat($rootScope.localeFormat.numberFormat('.2r'));
|
||||
pctAxis.tickFormat($rootScope.localeFormat.numberFormat('%'));
|
||||
render();
|
||||
if (!preventRender) {
|
||||
render();
|
||||
}
|
||||
}
|
||||
|
||||
// Watch for changes to data and events
|
||||
angular.element($window).bind('pwrchange', dataChange);
|
||||
angular.element($window).bind('orientationchange resize', render);
|
||||
scope.$watchCollection('available', dataChange);
|
||||
scope.$on('languageChanged', updateFormats);
|
||||
|
||||
scope.$on('$destroy', function() {
|
||||
angular.element($window).unbind('orientationchange resize pwrchange', render);
|
||||
});
|
||||
|
||||
@@ -7,7 +7,8 @@ angular.module('app').directive('slider', ['$window', function($window) {
|
||||
def: '=',
|
||||
max: '=',
|
||||
unit: '=',
|
||||
change: '&onChange'
|
||||
change: '&onChange',
|
||||
ignoreResize: '='
|
||||
},
|
||||
link: function(scope, element) {
|
||||
var unit = scope.unit,
|
||||
@@ -16,7 +17,8 @@ angular.module('app').directive('slider', ['$window', function($window) {
|
||||
h = height - margin.top,
|
||||
fmt = d3.format('.2f'),
|
||||
pct = d3.format('.1%'),
|
||||
val = scope.def !== undefined ? scope.def : scope.max,
|
||||
def = scope.def !== undefined ? scope.def : scope.max,
|
||||
val = def,
|
||||
svg = d3.select(element[0]).append('svg'),
|
||||
vis = svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'),
|
||||
xAxisContainer = vis.append('g').attr('class', 'x slider-axis').attr('transform', 'translate(0,' + h / 2 + ')'),
|
||||
@@ -32,16 +34,6 @@ angular.module('app').directive('slider', ['$window', function($window) {
|
||||
slider.select('.background').attr('height', h);
|
||||
handle.attr('transform', 'translate(0,' + h / 2 + ')');
|
||||
|
||||
/**
|
||||
* Watch for changes in the max, window size
|
||||
*/
|
||||
scope.$watch('max', function(newMax, oldMax) {
|
||||
val = newMax * (val / oldMax); // Retain percentage filled
|
||||
render();
|
||||
});
|
||||
|
||||
//angular.element($window).bind('orientationchange resize', render);
|
||||
|
||||
function render() {
|
||||
var width = element[0].offsetWidth, w = width - margin.left - margin.right;
|
||||
svg.attr('width', width).attr('height', height);
|
||||
@@ -51,16 +43,18 @@ angular.module('app').directive('slider', ['$window', function($window) {
|
||||
xAxisContainer.call(xAxis.tickValues([0, scope.max / 4, scope.max / 2, (3 * scope.max) / 4, scope.max]));
|
||||
lbl.attr('x', w + 20);
|
||||
}
|
||||
slider.call(brush.extent([val, val])).call(brush.event);
|
||||
slider.call(brush.extent([val, val]));
|
||||
drawBrush();
|
||||
slider.selectAll('.extent,.resize').remove();
|
||||
}
|
||||
|
||||
function brushed() {
|
||||
val = brush.extent()[0];
|
||||
if (d3.event.sourceEvent) { // not a programmatic event
|
||||
val = x.invert(d3.mouse(this)[0]);
|
||||
brush.extent([val, val]);
|
||||
}
|
||||
val = x.invert(d3.mouse(this)[0]);
|
||||
brush.extent([val, val]);
|
||||
drawBrush();
|
||||
}
|
||||
|
||||
function drawBrush() {
|
||||
if (unit) {
|
||||
lbl.text(fmt(val) + ' ' + unit + ' ' + pct(val / scope.max));
|
||||
}
|
||||
@@ -69,6 +63,23 @@ angular.module('app').directive('slider', ['$window', function($window) {
|
||||
filled.attr('d', 'M0,0V0H' + x(val) + 'V0');
|
||||
}
|
||||
|
||||
/**
|
||||
* Watch for changes in the max, window size
|
||||
*/
|
||||
scope.$watch('max', function(newMax, oldMax) {
|
||||
val = newMax * (val / oldMax); // Retain percentage filled
|
||||
render();
|
||||
});
|
||||
|
||||
if (!scope.ignoreResize) {
|
||||
angular.element($window).bind('orientationchange resize', render);
|
||||
}
|
||||
|
||||
scope.$on('reset', function() {
|
||||
val = def;
|
||||
render();
|
||||
});
|
||||
|
||||
scope.$on('$destroy', function() {
|
||||
angular.element($window).unbind('orientationchange resize render', render);
|
||||
});
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
angular.module('app').config(['$translateProvider', 'localeFormatProvider', function($translateProvider, localeFormatProvider) {
|
||||
|
||||
// Declare number format settings
|
||||
localeFormatProvider.addFormat('de', {
|
||||
decimal: ',',
|
||||
@@ -15,7 +14,6 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
|
||||
shortMonths: ['Jan', 'Feb', 'Mrz', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez']
|
||||
});
|
||||
|
||||
$translateProvider.translations('de', {
|
||||
PHRASE_EXPORT_DESC: 'Ein detaillierter JSON-Export Ihrer Konfiguration für die Verwendung in anderen Websites und Tools',
|
||||
'A-Rated': 'A-Klasse',
|
||||
@@ -24,7 +22,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
added: 'Hinzugefügt',
|
||||
Advanced: 'Verbessert',
|
||||
'Advanced Discovery Scanner': 'Fortgeschrittener Aufklärungsscanner',
|
||||
agility: 'Beweglichkeit',
|
||||
agility: 'Manövrierbarkeit',
|
||||
ammo: 'Munition',
|
||||
PHRASE_CONFIRMATION: 'Sind Sie sicher?',
|
||||
armour: 'Panzerung',
|
||||
@@ -44,7 +42,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
buy: 'Kaufen',
|
||||
cancel: 'Abbrechen',
|
||||
c: 'Kanone',
|
||||
capital: 'kapital',
|
||||
capital: 'Kapital',
|
||||
cargo: 'Fracht',
|
||||
'Cargo Hatch': 'Frachtluke',
|
||||
cr: 'Frachtgestell',
|
||||
@@ -61,16 +59,15 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
cost: 'Preis',
|
||||
costs: 'Kosten',
|
||||
cm: 'Gegenmaßnahme',
|
||||
CR: 'CR',
|
||||
create: 'Erstellen',
|
||||
'create new': 'Neu Erstellen',
|
||||
Cytoscrambler: 'Zytostreuer',
|
||||
damage: 'Schaden',
|
||||
delete: 'Löschen',
|
||||
'delete all': 'Alles Löschen',
|
||||
dep: 'ausg',
|
||||
dep: 'Ausg',
|
||||
deployed: 'Ausgefahren',
|
||||
'detailed export': 'Detailiertes Exportieren',
|
||||
'detailed export': 'Detailierter Export',
|
||||
'Detailed Surface Scanner': 'Detailoberflächenscanner',
|
||||
disabled: 'Deaktiviert',
|
||||
discount: 'Rabatt',
|
||||
@@ -84,7 +81,8 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
Enforcer: 'Vollstrecker',
|
||||
ENG: 'ANT',
|
||||
'enter name': 'Namen eingeben',
|
||||
export: 'exportieren',
|
||||
export: 'Export',
|
||||
fixed: 'Fixiert',
|
||||
forum: 'Forum',
|
||||
fc: 'Splitterkanone',
|
||||
fd: 'Frameshiftantrieb',
|
||||
@@ -108,11 +106,11 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
import: 'Importieren',
|
||||
'import all': 'Alles Importieren',
|
||||
insurance: 'Versicherung',
|
||||
'Intermediate Discover Scanner': 'Mittlerer Aufklärungsscanner',
|
||||
'internal compartments': 'Innenbereichkabine',
|
||||
'Intermediate Discovery Scanner': 'Mittlerer Aufklärungsscanner',
|
||||
'internal compartments': 'Innenbereichskabine',
|
||||
'jump range': 'Sprungreichweite',
|
||||
jumps: 'Sprünge',
|
||||
kw: 'Tötungsbefehlscanner',
|
||||
kw: 'Tötungsbefehl-Scanner',
|
||||
L: 'G',
|
||||
laden: 'Beladen',
|
||||
language: 'Sprache',
|
||||
@@ -120,12 +118,9 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
ls: 'Lebenserhaltung',
|
||||
'Lightweight Alloy': 'Leichte Legierung',
|
||||
'lock factor': 'Massensperrefaktor',
|
||||
LS: 'LS',
|
||||
LY: 'LJ',
|
||||
M: 'M',
|
||||
'm/s': 'M/Sec.',
|
||||
LS: 'Ls',
|
||||
LY: 'Lj',
|
||||
mass: 'Masse',
|
||||
max: 'max',
|
||||
'max mass': 'maximale Masse',
|
||||
medium: 'Mittel',
|
||||
'Military Grade Composite': 'Militär-Komposit',
|
||||
@@ -140,10 +135,9 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
PHRASE_NO_BUILDS: 'Keine Konfigurationen zum Vergleich ausgewählt!',
|
||||
PHRASE_NO_RETROCH: 'Keine Umrüständerungen',
|
||||
none: 'Nichts',
|
||||
'none created': 'Nichts erstellt',
|
||||
'none created': 'Leer',
|
||||
off: 'Aus',
|
||||
on: 'An',
|
||||
optimal: 'optimal',
|
||||
'optimal mass': 'optimale Masse',
|
||||
'optimize mass': 'Masse optimieren',
|
||||
overwrite: 'Überschreiben',
|
||||
@@ -164,7 +158,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
proceed: 'Fortfahren',
|
||||
pc: 'Krallensteuerung: Erzsucher',
|
||||
pl: 'Impulslaser',
|
||||
PWR: 'En.',
|
||||
PWR: 'En',
|
||||
rg: 'Schienenkanone',
|
||||
range: 'Reichweite',
|
||||
rate: 'Rate',
|
||||
@@ -179,17 +173,17 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
reset: 'Zurücksetzen',
|
||||
ret: 'Eing',
|
||||
retracted: 'Eingefahren',
|
||||
'retrofit costs': 'Nachrüstkosten',
|
||||
'retrofit costs': 'Änderungskosten',
|
||||
'retrofit from': 'Nachrüsten von',
|
||||
ROF: 'Kad',
|
||||
S: 'K',
|
||||
save: 'Speichern',
|
||||
sc: 'Scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Wähle Konfigurationen zum Vergleichen',
|
||||
PHRASE_SELECT_BUILDS: 'Ausstattung zum Vergleich auswählen',
|
||||
sell: 'Verkaufen',
|
||||
s: 'Sensoren',
|
||||
settings: 'Konfigurationen',
|
||||
sb: 'Schildverstärker',
|
||||
settings: 'Einstellungen',
|
||||
sb: 'Schild-Booster',
|
||||
scb: 'Schildzellenbank',
|
||||
sg: 'Schildgenerator',
|
||||
shields: 'Schilde',
|
||||
@@ -203,8 +197,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
standard: 'Standard',
|
||||
'Standard Docking Computer': 'Standard-Landecomputer',
|
||||
Stock: 'Standard',
|
||||
SYS: 'SYS',
|
||||
T: 'T',
|
||||
T: 't',
|
||||
T_LOAD: 'T-Lad',
|
||||
'The Retributor': 'Retributor',
|
||||
t: 'Schubdüsen',
|
||||
@@ -217,14 +210,10 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
U: 'W',
|
||||
unladen: 'Unbeladen',
|
||||
PHRASE_UPDATE_RDY: 'Update verfügbar! Klicken zum Aktualisieren',
|
||||
URL: 'URL',
|
||||
utility: 'Werkzeug',
|
||||
'utility mounts': 'Werkzeug-Steckplätze',
|
||||
version: 'Version',
|
||||
WEP: 'WAF',
|
||||
yes: 'Ja',
|
||||
PHRASE_BACKUP_DESC: 'Sicherung aller Coriolis Daten zu speichern oder auf einen anderen Browser / Gerät'
|
||||
})
|
||||
.registerAvailableLanguageKeys(['de'], { 'de_DE': 'de' });
|
||||
|
||||
PHRASE_BACKUP_DESC: 'Export aller Coriolis-Daten, um sie zu sichern oder oder um sie zu einem anderen Browser/Gerät zu übertragen.'
|
||||
});
|
||||
}]);
|
||||
|
||||
@@ -51,7 +51,5 @@ angular.module('app').config(['$translateProvider', function($translateProvider)
|
||||
PHRASE_CONFIRMATION: 'Are You Sure?',
|
||||
PHRASE_UPDATE_RDY: 'Update Available! Click to Refresh',
|
||||
PHRASE_BACKUP_DESC: 'Backup of all Coriolis data to save or transfer to another browser/device'
|
||||
})
|
||||
.registerAvailableLanguageKeys(['en'], { 'en_US': 'en', 'en_UK': 'en', 'en_GB': 'en', 'en_CA': 'en' });
|
||||
|
||||
});
|
||||
}]);
|
||||
|
||||
@@ -259,7 +259,5 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
VULTURE: 'Vulture',
|
||||
WEP: 'WAF',
|
||||
YES: 'Ja'
|
||||
})
|
||||
.registerAvailableLanguageKeys(['es'], { 'es_ES': 'es' });
|
||||
|
||||
});
|
||||
}]);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
angular.module('app').config(['$translateProvider', 'localeFormatProvider', function($translateProvider, localeFormatProvider) {
|
||||
|
||||
// Declare number format settings
|
||||
localeFormatProvider.addFormat('fr', {
|
||||
decimal: ',',
|
||||
@@ -15,250 +14,187 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
|
||||
shortMonths: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.']
|
||||
});
|
||||
|
||||
$translateProvider.translations('fr', {
|
||||
PHRASE_EXPORT_DESC: 'Ein detaillierter JSON-Export Ihrer Konfiguration für die Verwendung in anderen Websites und Tools',
|
||||
A_RATED: 'A-Klasse',
|
||||
ABOUT: 'Über',
|
||||
ACTION: 'Aktion',
|
||||
ADDED: 'Hinzugefügt',
|
||||
ADDER: 'Adder',
|
||||
ADVANCED: 'Fortgeschritten',
|
||||
'Advanced Discovery Scanner': 'Fortgeschrittener Aufklärungsscanner',
|
||||
'Advanced Plasma Laser': 'Fortgeschrittener Plasma-Laser',
|
||||
AGILITY: 'Beweglichkeit',
|
||||
ALPHA: 'Alpha',
|
||||
AMMO: 'Munition',
|
||||
ANACONDA: 'Anaconda',
|
||||
PHRASE_CONFIRMATION: 'Sind Sie sicher?',
|
||||
ARMOUR: 'Panzerung',
|
||||
ASP_EXPLORER: 'Asp Explorer',
|
||||
am: 'Automatische Feldwartungseinheit',
|
||||
AVAILABLE: 'Verfügbar',
|
||||
BACKUP: 'Sicherungsdatei',
|
||||
'Basic Discovery Scanner': 'Einfacher Aufklärungsscanner',
|
||||
bl: 'Strahlenlaser',
|
||||
BELUGA_LINER: 'Beluga Liner',
|
||||
BETA: 'beta',
|
||||
BINS: 'Behälter',
|
||||
BOOST: 'Boost',
|
||||
BUILD: 'Konfiguration',
|
||||
BUILD_NAME: 'Konfigurationsname',
|
||||
BUILDS: 'Konfigurationen',
|
||||
BULKHEADS: 'Rumpfhüllenverstärkung',
|
||||
ul: 'Salvenlaser',
|
||||
BUY: 'Kaufen',
|
||||
CANCEL: 'Abbrechen',
|
||||
c: 'Kanone',
|
||||
CAPITAL: 'kapital',
|
||||
CARGO: 'Fracht',
|
||||
CARGO_HATCH: 'Frachtluke',
|
||||
cr: 'Frachtgestell',
|
||||
cs: 'Frachtscanner',
|
||||
CELLS: 'Zellen',
|
||||
CHAFF_LAUNCHER: 'Düppel-Werfer',
|
||||
CLOSE: 'Schließen',
|
||||
COBRA_MK_III: 'Cobra MK III',
|
||||
COBRA_MK_IV: 'Cobra MK IV',
|
||||
cc: 'Krallensteuerung: Sammler',
|
||||
COMPARE: 'Vergleichen',
|
||||
COMPARE_ALL: 'Alles Vergleichen',
|
||||
COMPARISON: 'Vergleich',
|
||||
COMPARISONS: 'Vergleiche',
|
||||
COMPONENT: 'Komponente',
|
||||
COST: 'Kostet',
|
||||
COSTS: 'Kosten',
|
||||
cm: 'Gegenmaßnahme',
|
||||
CR: 'CR',
|
||||
CREATE: 'Erstellen',
|
||||
CREATE_NEW: 'Neu Erstellen',
|
||||
CREDITS: 'Credits',
|
||||
Cytoscrambler: 'Zytostreuer',
|
||||
DAMAGE: 'Schaden',
|
||||
DELETE: 'Löschen',
|
||||
DELETE_ALL: 'Alles Löschen',
|
||||
DEP: 'Ausg',
|
||||
DEPLOYED: 'Ausgefahren',
|
||||
DETAILED_EXPORT: 'Detailiertes Exportieren',
|
||||
'Detailed Surface Scanner': 'Detailoberflächenscanner',
|
||||
DIAMONDBACK_EXPLORER: 'Diamondback-Erkunder',
|
||||
DIAMONDBACK_SCOUT: 'Diamondback-Aufklärer',
|
||||
DISABLED: 'Deaktiviert',
|
||||
DISCOUNT: 'Rabatt',
|
||||
Distruptor: 'Disruptor',
|
||||
dc: 'Standard-Landecomputer',
|
||||
DOLPHIN: 'Dolphin',
|
||||
DONE: 'Fertig',
|
||||
DPS: 'DPS',
|
||||
EAGLE: 'Eagle',
|
||||
EDIT_DATA: 'Bearbeiten',
|
||||
EFFICIENCY: 'Effizienz',
|
||||
'Electronic Countermeasure': 'Elektronische Gegenmaßnahme',
|
||||
EMPTY: 'leer',
|
||||
ENFORCER: 'Vollstrecker',
|
||||
ENG: 'FAH',
|
||||
PHRASE_ENTER_BUILD_NAME: '',
|
||||
EPS: 'en/s',
|
||||
EXPORT: 'Exportieren',
|
||||
FEDERAL_CORVETTE: 'Föderale Korvette',
|
||||
FEDERAL_DROPSHIP: 'Föderales Abwurfschiff',
|
||||
FEDERAL_DROPSHIP_MK_II: 'Föderales Abwurfschiff Mk II',
|
||||
FEDERAL_GUNSHIP: 'Föderales Kanonenschiff',
|
||||
FER_DE_LANCE: 'Fer-de-Lance',
|
||||
FIXED: '',
|
||||
FORUM: 'Forum',
|
||||
fc: 'Splitterkanone',
|
||||
fd: 'Frameshift-Antrieb',
|
||||
ws: 'Sogwolkenscanner',
|
||||
FSD: 'FSA',
|
||||
fi: 'FSA-Unterbrecher',
|
||||
FUEL: 'Treibstoff',
|
||||
fs: 'Treibstoffsammler',
|
||||
ft: 'Treibstofftank',
|
||||
fx: 'Krallensteuerung Treibstoffstransfer',
|
||||
FULL_TANK: 'Tank voll',
|
||||
GIMBALLED: 'Kardianisch',
|
||||
H: 'H',
|
||||
HARDPOINTS: 'Waffenaufhängungen',
|
||||
hb: 'Krallen-Steuereinheit (Ladelukenöffner)',
|
||||
HAULER: 'Hauler',
|
||||
'Heat Sink Launcher': 'Kühlkörperwerfer',
|
||||
HUGE: 'Riesig',
|
||||
HULL: 'Hülle',
|
||||
hr: 'Rumpfhüllenverstärkung (Paket)',
|
||||
IMPERIAL_CLIPPER: 'Imperialer Clipper',
|
||||
IMPERIAL_COURIER: 'Imperialer Kurier',
|
||||
IMPERIAL_CUTTER: 'Imperialer Cutter',
|
||||
IMPERIAL_EAGLE: 'Imperialer Eagle',
|
||||
IMPERIAL_HAMMER: 'Imperialer Hammer',
|
||||
IMPORT: 'Importieren',
|
||||
IMPORT_ALL: 'Alles Importieren',
|
||||
INSURANCE: 'Versicherung',
|
||||
'Intermediate Discover Scanner': 'Mittlerer Aufklärungsscanner',
|
||||
INTERNAL_COMPARTMENTS: 'Innenbereichkabine',
|
||||
JUMP_RANGE: 'Sprungreichweite',
|
||||
JUMPS: 'Sprünge',
|
||||
kw: 'Tötungsbefehlscanner',
|
||||
KRAIT: 'Krait',
|
||||
L: 'L',
|
||||
LADEN: 'Beladen',
|
||||
LANGUAGE: 'Sprache',
|
||||
LARGE: 'Groß',
|
||||
ls: 'Lebenserhaltung',
|
||||
'Lightweight Alloy': 'Leichte Legierung',
|
||||
LOCK_FACTOR: 'Massensperrefaktor',
|
||||
LS: 'LS',
|
||||
LY: 'LJ',
|
||||
M: 'M',
|
||||
'm/s': 'M/Sec.',
|
||||
MASS: 'Masse',
|
||||
MAX: 'max',
|
||||
MAX_MASS: 'maximale Masse',
|
||||
MEDIUM: 'Mittel',
|
||||
'Military Grade Composite': 'Militär-Komposit',
|
||||
nl: 'Minenwerfer',
|
||||
'Mining Lance': 'Lanzenabbaulaser',
|
||||
ml: 'Abbaulaser',
|
||||
'Mirrored Surface Composite': 'Gespiegelte-Oberfläche-Komposit',
|
||||
mr: 'Raketenbatterie',
|
||||
mc: 'Mehrfachgeschütz',
|
||||
NET_COST: 'Nettokosten',
|
||||
NO: 'Nein',
|
||||
NO_RETROFITTING_CHANGES: 'Keine Umrüständerungen',
|
||||
NONE: 'Nichts',
|
||||
NONE_CREATED: 'Nichts erstellt',
|
||||
OFF: 'Aus',
|
||||
ON: 'An',
|
||||
OPTIMAL: 'optimal',
|
||||
OPTIMAL_MASS: 'optimale Masse',
|
||||
OPTIMIZE_MASS: 'Masse optimieren',
|
||||
ORCA: 'Orca',
|
||||
OVERWRITE: 'Überschreiben',
|
||||
Pacifier: 'Friedensstifter',
|
||||
'Pack-Hound': 'Schwarmwerfer',
|
||||
PANTHER_CLIPPER: 'Panter Clipper',
|
||||
PHRASE_IMPORT: 'JSON hier einfügen oder hier importieren',
|
||||
PEN: 'Durchdr',
|
||||
PENETRATION: 'Durchdringung',
|
||||
PERMALINK: 'Permalink',
|
||||
pa: 'Plasmabeschleuniger',
|
||||
POINT_DEFENCE: 'Punktverteidigung',
|
||||
POWER: 'Energie',
|
||||
pd: 'Energieverteiler',
|
||||
pp: 'Kraftwerk',
|
||||
PRI: 'Prio',
|
||||
PRIORITY: 'Priorität',
|
||||
psg: 'Prismaschildgenerator',
|
||||
PROCEED: 'Fortfahren',
|
||||
pc: 'Krallensteuerung: Erzsucher',
|
||||
pl: 'Impulslaser',
|
||||
PWR: 'En',
|
||||
PYTHON: 'Python',
|
||||
rg: 'Schienenkanone',
|
||||
RANGE: 'Reichweite',
|
||||
RATE: 'Rate',
|
||||
'Reactive Surface Composite': 'Reaktive-Oberfläche-Komposit',
|
||||
RECHARGE: 'Aufladen',
|
||||
PHRASE_EXPORT_DESC: 'Un export détaillé en JSON de votre configuration pour l\'utilisation dans d\'autres sites et outils',
|
||||
'A-Rated': 'Classe-A ',
|
||||
about: 'à propos',
|
||||
added: 'ajouté',
|
||||
Advanced: 'Avancé',
|
||||
'Advanced Discovery Scanner': 'Scanner de découverte avancé',
|
||||
agility: 'agilité',
|
||||
ammo: 'munition',
|
||||
PHRASE_CONFIRMATION: 'Êtes-vous sûr?',
|
||||
armour: 'Armure',
|
||||
am: 'Unité de réparation automatique',
|
||||
available: 'Disponibilité',
|
||||
backup: 'sauvegarde',
|
||||
'Basic Discovery Scanner': 'Scanner de découverte de base',
|
||||
bl: 'Laser rayon',
|
||||
bins: 'bacs',
|
||||
build: 'Configuration',
|
||||
'build name': 'Nom de la configuration',
|
||||
builds: 'Configurations',
|
||||
bh: 'Coque',
|
||||
ul: 'Laser salves',
|
||||
buy: 'Acheter',
|
||||
cancel: 'Annuler',
|
||||
c: 'Canon',
|
||||
cargo: 'Soute',
|
||||
'Cargo Hatch': 'hublot de chargement',
|
||||
cr: 'Compartiment de soute',
|
||||
cs: 'Scanner de soute',
|
||||
cells: 'Cellule',
|
||||
'Chaff Launcher': 'Lanceur de paillettes',
|
||||
close: 'fermer',
|
||||
cc: 'Contrôleur de prospecteur',
|
||||
compare: 'comparer',
|
||||
'compare all': 'tout comparer',
|
||||
comparison: 'comparaison',
|
||||
comparisons: 'comparaisons',
|
||||
component: 'composant',
|
||||
cost: 'coût',
|
||||
costs: 'coûts',
|
||||
cm: 'Contre-mesure',
|
||||
create: 'Créer',
|
||||
'create new': 'Créer nouveau',
|
||||
credits: 'crédits',
|
||||
damage: 'Dégâts',
|
||||
delete: 'supprimer',
|
||||
'delete all': 'tout supprimer',
|
||||
dep: 'depl',
|
||||
deployed: 'déployé',
|
||||
'detailed export': 'export détaillé',
|
||||
'Detailed Surface Scanner': 'Scanner de surface détaillé',
|
||||
disabled: 'désactivé',
|
||||
discount: 'ristourne',
|
||||
Distruptor: 'Disrupteur',
|
||||
dc: 'Ordinateur d\'appontage',
|
||||
done: 'Fait',
|
||||
'edit data': 'Editer donnée',
|
||||
efficiency: 'efficience',
|
||||
'Electronic Countermeasure': 'Contre mesure électronique',
|
||||
empty: 'Vide',
|
||||
'enter name': 'Entrer nom',
|
||||
fixed: 'fixé',
|
||||
fc: 'Canon à fragmentation',
|
||||
fd: 'Réacteur FSD',
|
||||
ws: 'Détecteur de sillage FSD',
|
||||
fi: 'Intercepteur de réacteur FSD',
|
||||
fuel: 'carburant',
|
||||
fs: 'Récupérateur de carburant',
|
||||
ft: 'Réservoir de carburant',
|
||||
fx: 'Drone de ravitaillement',
|
||||
'full tank': 'Réservoir plein',
|
||||
Gimballed: 'Point',
|
||||
hardpoints: 'Points d\'emport',
|
||||
hb: 'Contrôle de patelle perce-soute',
|
||||
'Heat Sink Launcher': 'Ejecteur de dissipateur thermique',
|
||||
huge: 'Très grand',
|
||||
hull: 'Coque',
|
||||
hr: 'Renfort de soute',
|
||||
'Imperial Hammer': 'Marteau impérial',
|
||||
import: 'Importer',
|
||||
'import all': 'Importer tout',
|
||||
insurance: 'Assurance',
|
||||
'Intermediate Discovery Scanner': 'Scanner de découverte de portée intermédiaire',
|
||||
'internal compartments': 'compartiments internes',
|
||||
'jump range': 'Distance de saut',
|
||||
jumps: 'Sauts',
|
||||
kw: 'Détecteur d\'avis de recherche',
|
||||
L: 'Langage',
|
||||
laden: 'chargé',
|
||||
language: 'Langage',
|
||||
large: 'grand',
|
||||
ls: 'Support vital',
|
||||
'Lightweight Alloy': 'alliage léger',
|
||||
'lock factor': 'facteur inhibition de masse',
|
||||
LS: 'SL',
|
||||
LY: 'AL',
|
||||
mass: 'Masse',
|
||||
'max mass': 'masse max',
|
||||
'Military Grade Composite': 'Composite militaire',
|
||||
nl: 'Lance-mines',
|
||||
'Mining Lance': 'Lance de minage',
|
||||
ml: 'Laser minier',
|
||||
'Mirrored Surface Composite': 'Composite à surface mirroir',
|
||||
mr: 'Lance missiles',
|
||||
mc: 'Canon multiple',
|
||||
'net cost': 'coûts nets',
|
||||
no: 'non',
|
||||
PHRASE_NO_BUILDS: 'Défaut de configuration pour comparaison',
|
||||
PHRASE_NO_RETROCH: 'configuration non modifiée',
|
||||
none: 'aucun',
|
||||
'none created': 'Rien de créé',
|
||||
off: 'éteint',
|
||||
on: 'allumé',
|
||||
'optimal mass': 'masse optimale',
|
||||
'optimize mass': 'optimiser masse',
|
||||
overwrite: 'écraser',
|
||||
Pacifier: 'Pacificateur',
|
||||
PHRASE_IMPORT: 'Coller JSON ou importer ici',
|
||||
pen: 'pén.',
|
||||
penetration: 'pénétration',
|
||||
permalink: 'lien durable',
|
||||
pa: 'accélérateur plasma',
|
||||
'Point Defence': 'Défense ponctuelle',
|
||||
power: 'énergie',
|
||||
pd: 'distributeur d\'énérgie',
|
||||
pp: 'centrale d\'énergie',
|
||||
priority: 'priorité',
|
||||
psg: 'générateur de bouclier prisme',
|
||||
proceed: 'continuer',
|
||||
pc: 'Drône de minage',
|
||||
pl: 'Laser à impulsion',
|
||||
PWR: 'Puissance',
|
||||
rg: 'Canon électromagnétique',
|
||||
range: 'portée',
|
||||
rate: 'cadence',
|
||||
'Reactive Surface Composite': 'Composite à surface réactive',
|
||||
recharge: 'recharger',
|
||||
rf: 'Raffinerie',
|
||||
REFUEL_TIME: 'Auftankzeit',
|
||||
'Reinforced Alloy': 'Verstärkte Legierungen',
|
||||
RELOAD: 'Aktualisieren',
|
||||
RENAME: 'Umbenennen',
|
||||
REPAIR: 'Reparieren',
|
||||
RESET: 'Zurücksetzen',
|
||||
RET: 'eing',
|
||||
RETRACTED: 'Eingefahren',
|
||||
RETROFIT_COSTS: 'Nachrüstkosten',
|
||||
RETROFIT_FROM: 'Nachrüsten von',
|
||||
ROF: 'Kad',
|
||||
S: 'S',
|
||||
SAVE: 'Speichern',
|
||||
sc: 'Scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Wähle Konfigurationen zum Vergleichen',
|
||||
SELL: 'Verkaufen',
|
||||
s: 'Sensoren',
|
||||
SETTINGS: 'Konfiguration',
|
||||
sb: 'Schildverstärker',
|
||||
scb: 'Schildzellenbank',
|
||||
sg: 'Schildgenerator',
|
||||
SHIELDS: 'Schilde',
|
||||
SHIP: 'Schiff',
|
||||
SHIPS: 'Schiffe',
|
||||
SHORTENED: 'Gekürzt',
|
||||
SIDEWINDER: 'Sidewinder',
|
||||
SIZE: 'Größe',
|
||||
SKIP: 'Überspringen',
|
||||
SMALL: 'S',
|
||||
SPEED: 'Geschwindigkeit',
|
||||
STANDARD: 'Standard',
|
||||
STANDARD_DOCKING_COMPUTER: 'Landecomputer',
|
||||
STOCK: 'Standard',
|
||||
SYS: 'SYS',
|
||||
T: 'T',
|
||||
T_LOAD: 'T-Lad',
|
||||
THE_HUNTER: 'The Hunter',
|
||||
'The Retributor': 'Retributor',
|
||||
t: 'Schubdüsen',
|
||||
TIME: 'Dauer',
|
||||
tp: 'Torpedoaufhängung',
|
||||
TOTAL: 'Gesamt',
|
||||
TOTAL_RANGE: 'Maximale Reichweite',
|
||||
TURRET: 'Geschützturm',
|
||||
TYPE: 'Typ',
|
||||
TYPE_6_TRANSPORTER: 'Typ-6 Transporter',
|
||||
TYPE_7_TRANSPORTER: 'Typ-7 Transporter',
|
||||
TYPE_9_HEAVY: 'Typ-9 Transporter (schwer)',
|
||||
U: 'U',
|
||||
UNLADEN: 'Unbeladen',
|
||||
UPDATE_NOTIFICATION: 'Update verfügbar! Klicken zum Aktualisieren',
|
||||
URL: 'URL',
|
||||
UTILITY: 'Werkzeug',
|
||||
UTILITY_MOUNTS: 'Werkzeug-Steckplatz',
|
||||
VERSION: 'Version',
|
||||
VIPER: 'Viper',
|
||||
VULTURE: 'Vulture',
|
||||
WEP: 'WAF',
|
||||
YES: 'Ja'
|
||||
})
|
||||
.registerAvailableLanguageKeys(['fr'], { 'fr_FR': 'fr', 'fr_CA': 'fr' });
|
||||
'refuel time': 'Temps de remplissage',
|
||||
'Reinforced Alloy': 'alliage renforcé',
|
||||
reload: 'recharger',
|
||||
rename: 'renommer',
|
||||
repair: 'réparer',
|
||||
reset: 'Réinitialisation',
|
||||
ret: 'esc',
|
||||
retracted: 'escamoté',
|
||||
'retrofit costs': 'Valeur de rachat',
|
||||
'retrofit from': 'Racheter de',
|
||||
ROF: 'cadence',
|
||||
save: 'sauvegarder',
|
||||
sc: 'scanner',
|
||||
PHRASE_SELECT_BUILDS: 'Sélectionner configurations à comparer',
|
||||
sell: 'vendre',
|
||||
s: 'détecteurs',
|
||||
settings: 'paramètres',
|
||||
sb: 'Survolteur de bouclier',
|
||||
scb: 'Réserve de cellules d\'énergie',
|
||||
sg: 'Générateur de bouclier',
|
||||
shields: 'boucliers',
|
||||
ship: 'vaisseau',
|
||||
ships: 'vaisseaux',
|
||||
shortened: 'raccourci',
|
||||
size: 'taille',
|
||||
skip: 'Suivant',
|
||||
small: 'petit',
|
||||
speed: 'vitesse',
|
||||
'Standard Docking Computer': 'ordinateur amarrage standard',
|
||||
Stock: 'de base',
|
||||
T_LOAD: 'degrés',
|
||||
'The Retributor': 'Le Rétributeur',
|
||||
t: 'propulseurs',
|
||||
time: 'temps',
|
||||
tp: 'Tube lance-torpille',
|
||||
'total range': 'Distance maximale',
|
||||
turret: 'tourelle',
|
||||
unladen: 'Non chargé',
|
||||
PHRASE_UPDATE_RDY: 'Mise à jour disponible ! Cliquez pour rafraichir',
|
||||
utility: 'utilitaire',
|
||||
'utility mounts': 'Support utilitaire',
|
||||
WEP: 'ARM',
|
||||
yes: 'oui',
|
||||
PHRASE_BACKUP_DESC: 'Exportation détaillée des données Coriolis pour l\'utilisation dans d\'autres sites et outils'
|
||||
});
|
||||
}]);
|
||||
|
||||
21
app/js/i18n/languages.js
Normal file
21
app/js/i18n/languages.js
Normal file
@@ -0,0 +1,21 @@
|
||||
angular.module('app').config(['$translateProvider', function($translateProvider) {
|
||||
$translateProvider
|
||||
.useSanitizeValueStrategy('escapeParameters')
|
||||
.useStorage('Persist')
|
||||
.fallbackLanguage('en') // Use English as default/fallback language
|
||||
.registerAvailableLanguageKeys(['en', 'de', 'fr', 'ru'], { // TODO: add 'es' to the array when ready
|
||||
'en*': 'en',
|
||||
'de*': 'de',
|
||||
//'es*': 'es',
|
||||
'fr*': 'fr',
|
||||
'ru*': 'ru'
|
||||
})
|
||||
.determinePreferredLanguage();
|
||||
}])
|
||||
.value('Languages', {
|
||||
en: 'English',
|
||||
de: 'Deutsh',
|
||||
//es: 'Español',
|
||||
fr: 'Français',
|
||||
ru: 'ру́сский язы́к'
|
||||
});
|
||||
@@ -17,241 +17,217 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func
|
||||
});
|
||||
|
||||
$translateProvider.translations('ru', {
|
||||
PHRASE_EXPORT_DESC: '',
|
||||
A_RATED: 'А-Класса',
|
||||
ABOUT: 'О сайте',
|
||||
ACTION: 'Действие',
|
||||
ADDED: 'Добавлено',
|
||||
ADVANCED: 'Продвинутый',
|
||||
'Advanced Discovery Scanner': 'Продвинутый исследовательский сканер',
|
||||
'Advanced Plasma Laser': 'Продвинутый плазменный лазер',
|
||||
AGILITY: 'Маневренность',
|
||||
ALPHA: 'Альфа',
|
||||
AMMO: 'Боекомплект',
|
||||
ANACONDA: 'Анаконда',
|
||||
PHRASE_EXPORT_DESC: 'Подробный экспорта JSON вашего телосложения для использования в других местах и инструментов',
|
||||
'A-Rated': 'А-Класса',
|
||||
about: 'О сайте',
|
||||
action: 'Действие',
|
||||
added: 'Добавлено',
|
||||
Advanced: 'Продвинутый',
|
||||
'Advanced Discovery Scanner': 'Продвинутый астросканер',
|
||||
agility: 'Маневренность',
|
||||
alpha: 'Альфа',
|
||||
ammo: 'Боекомплект',
|
||||
PHRASE_CONFIRMATION: 'Вы уверены?',
|
||||
ARMOUR: 'Броня',
|
||||
ASP_EXPLORER: 'Асп Эксплорер',
|
||||
am: 'Устройство авторемонта',
|
||||
AVAILABLE: 'доступно',
|
||||
BACKUP: 'Поддержка / запас / бэкап',
|
||||
'Basic Discovery Scanner': 'Базовый исследовательский сканер',
|
||||
armour: 'Броня',
|
||||
am: 'Ремонтный модуль',
|
||||
available: 'доступно',
|
||||
backup: 'бэкап',
|
||||
'Basic Discovery Scanner': 'Стандартный исследовательский сканер',
|
||||
bl: 'Лучевой лазер',
|
||||
BELUGA_LINER: 'Лайнер Белуга',
|
||||
BETA: 'Бета',
|
||||
BINS: '',
|
||||
BOOST: 'форсаж',
|
||||
BUILD: 'cборка',
|
||||
BUILD_NAME: 'название сборки',
|
||||
BUILDS: 'cборки',
|
||||
BULKHEADS: 'Переборки',
|
||||
ul: 'пульс-лазер',
|
||||
BUY: 'купить',
|
||||
CANCEL: 'отменить',
|
||||
c: 'Пушка',
|
||||
CAPITAL: 'Крупный',
|
||||
CARGO: 'Груз',
|
||||
CARGO_HATCH: 'Грузовой трюм',
|
||||
cr: 'Грузовой модуль',
|
||||
beta: 'Бета',
|
||||
bins: 'контейнеры',
|
||||
boost: 'форсаж',
|
||||
build: 'cборка',
|
||||
'build name': 'название сборки',
|
||||
builds: 'cборки',
|
||||
bh: 'Переборки',
|
||||
ul: 'Мультиимпульсный лазер',
|
||||
buy: 'купить',
|
||||
cancel: 'отменить',
|
||||
c: 'Крупнокалиберное орудие',
|
||||
capital: 'Крупный',
|
||||
cargo: 'Груз',
|
||||
'Cargo Hatch': 'Грузовой люк',
|
||||
cr: 'Грузовой отсек',
|
||||
cs: 'Сканер груза',
|
||||
CELLS: 'Ячейки',
|
||||
cells: 'Ячейки',
|
||||
'Chaff Launcher': 'Постановщик помех',
|
||||
CLOSE: 'закрыть',
|
||||
COBRA_MK_III: 'Кобра МК-III',
|
||||
COBRA_MK_IV: 'Кобра МК-IV',
|
||||
close: 'закрыть',
|
||||
cc: 'Контроллер "дрон-сборщик"',
|
||||
COMPARE: 'сравнить ',
|
||||
COMPARE_ALL: 'сравнить все',
|
||||
COMPARISON: 'сравнение',
|
||||
COMPARISONS: 'сравнения',
|
||||
COMPONENT: 'Компонент',
|
||||
COST: 'Стоимость/Цена',
|
||||
COSTS: 'Расходы',
|
||||
compare: 'сравнить ',
|
||||
'compare all': 'сравнить все',
|
||||
comparison: 'сравнение',
|
||||
comparisons: 'сравнения',
|
||||
component: 'Компонент',
|
||||
cost: 'Стоимость',
|
||||
costs: 'Расходы',
|
||||
cm: 'Контрмеры',
|
||||
CR: 'кр.',
|
||||
CREATE: 'создать',
|
||||
CREATE_NEW: 'Создать снова',
|
||||
CREDITS: 'Кредиты',
|
||||
Cytoscrambler: 'Weapon PP - In game name',
|
||||
DAMAGE: 'Урон',
|
||||
DELETE: 'Удалить',
|
||||
DELETE_ALL: 'Удалить все',
|
||||
DEP: 'Вып.',
|
||||
DEPLOYED: 'Готово',
|
||||
DETAILED_EXPORT: 'Подробный экспорт',
|
||||
create: 'создать',
|
||||
'create new': 'Создать новый',
|
||||
credits: 'Кредиты',
|
||||
Cytoscrambler: 'сайтоскрамблер',
|
||||
damage: 'Урон',
|
||||
delete: 'Удалить',
|
||||
'delete all': 'Удалить все',
|
||||
dep: 'Вып',
|
||||
deployed: 'Готово',
|
||||
'detailed export': 'Подробный экспорт',
|
||||
'Detailed Surface Scanner': 'Подробный сканер поверхности',
|
||||
DIAMONDBACK_EXPLORER: 'Даймондбэк Эксплорер',
|
||||
DIAMONDBACK_SCOUT: 'Даймондбэк Скаут',
|
||||
DISABLED: 'Отключено',
|
||||
DISCOUNT: 'Скидка',
|
||||
disabled: 'Отключено',
|
||||
discount: 'Скидка',
|
||||
Distruptor: 'Дисраптор',
|
||||
dc: 'Стыковочный компьютер',
|
||||
DOLPHIN: 'Дельфин',
|
||||
DONE: 'готово',
|
||||
DPS: 'Урон в секунду',
|
||||
EAGLE: 'Орел',
|
||||
EDIT_DATA: 'Редактирование',
|
||||
EFFICIENCY: 'Эффективность',
|
||||
done: 'готово',
|
||||
DPS: 'ПВС',
|
||||
'edit data': 'Редактирование',
|
||||
efficiency: 'Эффективность',
|
||||
'Electronic Countermeasure': 'Электронное противодействие',
|
||||
EMPTY: 'пусто',
|
||||
ENFORCER: 'Weapon PP - In game name',
|
||||
empty: 'пусто',
|
||||
Enforcer: 'Энфорсер',
|
||||
ENG: 'ДВГ',
|
||||
PHRASE_ENTER_NAME: '',
|
||||
'enter name': 'Введите имя',
|
||||
EPS: 'э/с',
|
||||
EXPORT: 'Экспорт',
|
||||
FEDERAL_CORVETTE: 'Федеральный Корвет',
|
||||
FEDERAL_DROPSHIP: 'Федеральный Десантный Корабль',
|
||||
FEDERAL_DROPSHIP_MK_II: 'Федеральный Десантный Корабль мод.II',
|
||||
FEDERAL_GUNSHIP: 'Федеральный Боевой Корабль',
|
||||
FER_DE_LANCE: 'Фер-де-Ланс',
|
||||
FIXED: 'Фиксированое',
|
||||
FORUM: 'Форум',
|
||||
export: 'Экспорт',
|
||||
fixed: 'Фиксированое',
|
||||
forum: 'Форум',
|
||||
fc: 'Осколочное Орудие',
|
||||
fd: 'ФСД',
|
||||
ws: 'Сканер следа',
|
||||
FSD: 'ФСД',
|
||||
fi: 'ФСД Перехватчик',
|
||||
FUEL: 'Топливо',
|
||||
fd: 'Двигатель FSD',
|
||||
ws: 'FSD Сканнер',
|
||||
|
||||
fi: 'Перехватчик FSD',
|
||||
fuel: 'Топливо',
|
||||
fs: 'Топливозаборник',
|
||||
ft: 'Топливный бак',
|
||||
fx: 'Устройство передачи топлива',
|
||||
FULL_TANK: 'Полный бак',
|
||||
GIMBALLED: 'Доводимое',
|
||||
HARDPOINTS: 'точки установки вооружения',
|
||||
fx: 'Контроллер Дрона-заправщика',
|
||||
'full tank': 'Полный бак',
|
||||
Gimballed: 'Доводимое',
|
||||
H: 'O',
|
||||
hardpoints: 'Орудийные порты',
|
||||
hb: 'Контроллер "дрон-взломщик"',
|
||||
HAULER: 'Хаулер',
|
||||
'Heat Sink Launcher': 'Охладитель',
|
||||
HULL: 'Корпус',
|
||||
'Heat Sink Launcher': 'Теплоотводная ПУ',
|
||||
huge: 'огромный',
|
||||
hull: 'Корпус',
|
||||
hr: 'Набор усиления корпуса',
|
||||
IMPERIAL_CLIPPER: 'Имперский Клипер',
|
||||
IMPERIAL_COURIER: 'Имперский Курьер',
|
||||
IMPERIAL_CUTTER: 'Имперский Куттер',
|
||||
IMPERIAL_EAGLE: 'Имперский Орёл',
|
||||
IMPERIAL_HAMMER: 'Имперский Молот',
|
||||
IMPORT: 'импортировать ',
|
||||
IMPORT_ALL: 'импортировать все',
|
||||
INSURANCE: 'Страховка',
|
||||
'Intermediate Discover Scanner': 'Средний Исследовательский Сканер',
|
||||
INTERNAL_COMPARTMENTS: 'внутренние отсеки',
|
||||
JUMP_RANGE: 'Дальность прыжка',
|
||||
JUMPS: 'Прыжки',
|
||||
kw: 'Сканер преступников',
|
||||
KRAIT: 'Крэйт',
|
||||
LADEN: 'Груженый',
|
||||
LANGUAGE: 'Язык',
|
||||
'Imperial Hammer': 'Имперский Молот',
|
||||
import: 'импортировать ',
|
||||
'import all': 'импортировать все',
|
||||
insurance: 'Страховка',
|
||||
'Intermediate Discovery Scanner': 'Средний исследовательский сканер',
|
||||
'internal compartments': 'внутренние отсеки',
|
||||
'jump range': 'Дальность прыжка',
|
||||
jumps: 'Прыжков',
|
||||
kw: 'Полицейский сканер',
|
||||
L: 'б',
|
||||
laden: 'Груженый',
|
||||
language: 'Язык',
|
||||
large: 'большой',
|
||||
ls: 'Система жизнеобеспечения',
|
||||
'Lightweight Alloy': 'Легкий сплав',
|
||||
LOCK_FACTOR: 'Блокирующий Фактор (Фактор массы)',
|
||||
'lock factor': 'Масс. блок',
|
||||
LS: 'Св.сек',
|
||||
LY: 'Св.лет',
|
||||
M: 'С',
|
||||
'm/s': 'м/с',
|
||||
MASS: 'Масса',
|
||||
MAX: 'Макс',
|
||||
MAX_MASS: 'Максимальная масса',
|
||||
MEDIUM: 'Средний',
|
||||
'Military Grade Composite': 'Композит боевого класса',
|
||||
nl: 'Миномет',
|
||||
mass: 'Масса',
|
||||
max: 'Макс',
|
||||
'max mass': 'Максимальная масса',
|
||||
medium: 'Средний',
|
||||
'Military Grade Composite': 'Композит военного класса',
|
||||
nl: 'Минный аппарат',
|
||||
'Mining Lance': 'Бурильная сулица',
|
||||
ml: 'Шахтерский лазер',
|
||||
ml: 'Горный лазер',
|
||||
'Mirrored Surface Composite': 'Композит с зеркальной поверхностью',
|
||||
mr: 'Ракетная установка',
|
||||
mc: 'Многоствольная пушка',
|
||||
NET_COST: 'разница в цене',
|
||||
NO: 'Нет',
|
||||
PHRASE_NO_BUILDS: '',
|
||||
NO_RETROFITTING_CHANGES: 'нет ранних версий сборки\конфигурации',
|
||||
NONE: 'ни один',
|
||||
NONE_CREATED: 'не создано',
|
||||
OFF: 'выкл.',
|
||||
ON: 'вкл.',
|
||||
OPTIMAL: 'Оптимальный',
|
||||
OPTIMAL_MASS: 'Оптимальная масса',
|
||||
OPTIMIZE_MASS: 'Оптимизировать массу',
|
||||
ORCA: 'Орка',
|
||||
OVERWRITE: 'перезаписать',
|
||||
mc: 'Скорострельное орудие',
|
||||
'net cost': 'разница в цене',
|
||||
no: 'Нет',
|
||||
PHRASE_NO_BUILDS: 'Нечего сравнивать',
|
||||
PHRASE_NO_RETROCH: 'нет ранних версий сборки\конфигурации',
|
||||
none: 'ни один',
|
||||
'none created': 'не создано',
|
||||
off: 'выкл',
|
||||
on: 'вкл',
|
||||
optimal: 'Оптимальный',
|
||||
'optimal mass': 'Оптимальная масса',
|
||||
'optimize mass': 'Оптимизировать массу',
|
||||
overwrite: 'перезаписать',
|
||||
Pacifier: 'Миротворец',
|
||||
'Pack-Hound': 'Ракеты "Собачья стая" or original name(eng)',
|
||||
PANTHER_CLIPPER: 'Клипер Пантера',
|
||||
PHRASE_IMPORT: 'Для импорта вставьте код в эту форму',
|
||||
PEN: 'Класс бронепробития. short - "прбт."',
|
||||
PENETRATION: 'Пробитие',
|
||||
PERMALINK: 'Постоянная ссылка',
|
||||
pen: 'ПБ',
|
||||
penetration: 'Пробитие',
|
||||
permalink: 'Постоянная ссылка',
|
||||
pa: 'Ускоритель плазмы',
|
||||
'Point Defence': 'Противоракетная защита',
|
||||
POWER: 'Мощность/сила/энергия',
|
||||
power: 'Мощность',
|
||||
pd: 'Распределитель энергии',
|
||||
pp: 'Силовая установка / реактор',
|
||||
PRI: 'Осн',
|
||||
PRIORITY: 'Приоритет',
|
||||
pp: 'Реактор',
|
||||
pri: 'Осн',
|
||||
priority: 'Приоритет',
|
||||
psg: 'Генератор призматического щита',
|
||||
PROCEED: 'продолжить',
|
||||
proceed: 'продолжить',
|
||||
pc: 'Контроллер "Дрон-исследователь"',
|
||||
pl: 'Импульсный лазер',
|
||||
PWR: 'Е',
|
||||
PYTHON: 'Питон',
|
||||
PWR: 'Эн',
|
||||
rg: 'Рельсовая пушка',
|
||||
RANGE: 'Дальность',
|
||||
RATE: 'скорость',
|
||||
range: 'Дальность',
|
||||
rate: 'скорость',
|
||||
'Reactive Surface Composite': 'Композитно-реактивная поверхность',
|
||||
RECHARGE: 'Перезарядка',
|
||||
recharge: 'Перезарядка',
|
||||
rf: 'Переработка',
|
||||
REFUEL_TIME: 'Время дозаправки',
|
||||
'refuel time': 'Время дозаправки',
|
||||
'Reinforced Alloy': 'Усиленный сплав',
|
||||
RELOAD: 'Перезарядить',
|
||||
RENAME: 'Переименовать',
|
||||
REPAIR: 'Починка',
|
||||
RESET: 'Сброс',
|
||||
RET: 'сокр',
|
||||
RETRACTED: 'Убрано',
|
||||
RETROFIT_COSTS: 'цена модификации',
|
||||
RETROFIT_FROM: 'модификация от',
|
||||
ROF: 'скорость стрельбы',
|
||||
SAVE: 'Сохранить',
|
||||
reload: 'Перезарядить',
|
||||
rename: 'Переименовать',
|
||||
repair: 'Починка',
|
||||
reset: 'Сброс',
|
||||
ret: 'Убр.',
|
||||
retracted: 'Убрано',
|
||||
'retrofit costs': 'цена модификации',
|
||||
'retrofit from': 'модификация от',
|
||||
ROF: 'В/сек',
|
||||
S: 'М',
|
||||
save: 'Сохранить',
|
||||
sc: 'Сканер',
|
||||
PHRASE_SELECT_BUILDS: 'Выберите конфигурацию для сравнения',
|
||||
SELL: 'Продать',
|
||||
sell: 'Продать',
|
||||
s: 'Сенсоры',
|
||||
SETTINGS: 'Настройки',
|
||||
settings: 'Настройки',
|
||||
sb: 'Усилитель щита',
|
||||
scb: 'Батареи перезарядки щита',
|
||||
sg: 'Генератор щита',
|
||||
SHIELDS: 'Щиты',
|
||||
SHIP: 'Корабль',
|
||||
SHIPS: 'Корабли',
|
||||
SHORTENED: 'Укороченный',
|
||||
SIDEWINDER: 'Сайдвиндер',
|
||||
SIZE: 'размер',
|
||||
SKIP: 'пропустить',
|
||||
SMALL: 'Малый',
|
||||
SPEED: 'скорость',
|
||||
STANDARD: 'Стандартный',
|
||||
shields: 'Щиты',
|
||||
ship: 'Корабль',
|
||||
ships: 'Корабли',
|
||||
shortened: 'Укороченный',
|
||||
size: 'размер',
|
||||
skip: 'пропустить',
|
||||
small: 'Малый',
|
||||
speed: 'скорость',
|
||||
standard: 'Стандартный',
|
||||
'Standard Docking Computer': 'Стандартный стыковочный компьютер',
|
||||
STOCK: 'Стандартная комплектация',
|
||||
SYS: 'Сис',
|
||||
Stock: 'Стандартная комплектация',
|
||||
SYS: 'СИС',
|
||||
T: 'Т',
|
||||
T_LOAD: 'Тепловая нагрузка',
|
||||
THE_HUNTER: 'Охотник',
|
||||
T_LOAD: 'Тепл.',
|
||||
'The Retributor': 'Орудие Возмездия',
|
||||
t: 'Ускорители',
|
||||
TIME: 'Время',
|
||||
tp: 'Торпедная установка',
|
||||
TOTAL: 'Всего',
|
||||
TOTAL_RANGE: 'Полный радиус',
|
||||
TURRET: 'Туррель',
|
||||
TYPE: 'Тип',
|
||||
TYPE_6_TRANSPORTER: 'Перевозчик Тип-6',
|
||||
TYPE_7_TRANSPORTER: 'Перевозчик Тип-7',
|
||||
TYPE_9_HEAVY: 'Перевозчик Тип-9 Тяжелый',
|
||||
UNLADEN: 'Пустой',
|
||||
UPDATE_NOTIFICATION: 'Доступно обновление. Нажмите для обновления.',
|
||||
time: 'Время',
|
||||
tp: 'Торпедный аппарат',
|
||||
total: 'Всего',
|
||||
'total range': 'Общий радиус',
|
||||
turret: 'Туррель',
|
||||
type: 'Тип',
|
||||
U: 'В',
|
||||
unladen: 'Пустой',
|
||||
PHRASE_UPDATE_RDY: 'Доступно обновление. Нажмите для обновления.',
|
||||
URL: 'Ссылка',
|
||||
UTILITY: '',
|
||||
UTILITY_MOUNTS: 'Вспомогательное оборудование',
|
||||
VERSION: 'Версия',
|
||||
VIPER: 'Вайпер',
|
||||
VULTURE: 'Вультура',
|
||||
YES: 'Да'
|
||||
})
|
||||
.registerAvailableLanguageKeys(['ru'], { 'ru_RU': 'ru' });
|
||||
|
||||
utility: 'Вспомогательное',
|
||||
'utility mounts': 'Вспомогательное оборудование',
|
||||
version: 'Версия',
|
||||
WEP: 'ОРУ',
|
||||
yes: 'Да',
|
||||
PHRASE_BACKUP_DESC: 'Сохраните все данные перед переносом в другой браузер или устройство'
|
||||
});
|
||||
}]);
|
||||
|
||||
@@ -45,7 +45,7 @@ angular.module('app').service('Persist', ['$window', 'lodash', function($window,
|
||||
};
|
||||
|
||||
this.getLangCode = function() {
|
||||
return this.lsEnabled ? localStorage.getItem(LS_KEY_LANG) : 'en';
|
||||
return this.lsEnabled ? localStorage.getItem(LS_KEY_LANG) : null;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -287,7 +287,7 @@ angular.module('app').service('Persist', ['$window', 'lodash', function($window,
|
||||
if (this.lsEnabled) {
|
||||
var ratio = localStorage.getItem('sizeRatio');
|
||||
if (!isNaN(ratio) && ratio > 0.6) {
|
||||
return ratio
|
||||
return ratio;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
||||
@@ -65,7 +65,7 @@ header {
|
||||
.menu-item-label {
|
||||
margin-left: 1em;
|
||||
|
||||
.largePhone({
|
||||
.smallTablet({
|
||||
display: none;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -63,6 +63,8 @@ select {
|
||||
padding-left: 5px;
|
||||
border-top: 1px solid @primary-disabled;
|
||||
border-bottom: 1px solid @primary-disabled;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@optionSpacing: 2em;
|
||||
@@ -114,6 +116,7 @@ select {
|
||||
}
|
||||
|
||||
.lc {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@@ -130,6 +133,7 @@ select {
|
||||
display: inline-block;
|
||||
text-align: left;
|
||||
min-width: 16em;
|
||||
max-width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
border-right: 1px solid @primary-disabled;
|
||||
box-sizing: border-box;
|
||||
padding-top: 0.2em;
|
||||
padding-left: 0.1em;
|
||||
padding-left: 0.05em;
|
||||
}
|
||||
|
||||
.empty {
|
||||
|
||||
@@ -76,11 +76,12 @@
|
||||
<table style="width: 300px;background-color:transparent">
|
||||
<tr>
|
||||
<td style="width: 20px"><u>A</u></td>
|
||||
<td slider min="0.65" def="sizeRatio" max="1.2" on-change="textSizeChange(val)"></td>
|
||||
<td slider min="0.65" def="sizeRatio" max="1.2" on-change="textSizeChange(val)" ignore-resize="true"></td>
|
||||
<!-- <td slider min="0.65" max="1.2" def="1" init="sizeRatio" on-change="textSizeChange(val)" reset="'resetSize'" ignore-events="true"></td> -->
|
||||
<td style="width: 20px"><span style="font-size: 30px">A</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td><td style="text-align:center" class="primary-disabled" ng-click="textSizeChange(1)">Reset</td><td></td>
|
||||
<td></td><td style="text-align:center" class="primary-disabled cap" ng-click="resetTextSize()" translate="reset"></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
|
||||
220
test/fixtures/anaconda-test-detailed-export-v1.json
vendored
Normal file
220
test/fixtures/anaconda-test-detailed-export-v1.json
vendored
Normal file
@@ -0,0 +1,220 @@
|
||||
{
|
||||
"$schema": "http://cdn.coriolis.io/schemas/ship-loadout/1.json#",
|
||||
"name": "Test",
|
||||
"ship": "Anaconda",
|
||||
"references": [
|
||||
{
|
||||
"name": "Coriolis.io",
|
||||
"url": "http://localhost:3300/outfit/anaconda/48A6A6A5A8A8A5C2c0o0o0o1m1m0q0q0404-0l0b0100034k5n052d04--0303326b?bn=Test",
|
||||
"code": "48A6A6A5A8A8A5C2c0o0o0o1m1m0q0q0404-0l0b0100034k5n052d04--0303326b",
|
||||
"shipId": "anaconda"
|
||||
}
|
||||
],
|
||||
"components": {
|
||||
"standard": {
|
||||
"bulkheads": "Reactive Surface Composite",
|
||||
"powerPlant": {
|
||||
"class": 8,
|
||||
"rating": "A"
|
||||
},
|
||||
"thrusters": {
|
||||
"class": 6,
|
||||
"rating": "A"
|
||||
},
|
||||
"frameShiftDrive": {
|
||||
"class": 6,
|
||||
"rating": "A"
|
||||
},
|
||||
"lifeSupport": {
|
||||
"class": 5,
|
||||
"rating": "A"
|
||||
},
|
||||
"powerDistributor": {
|
||||
"class": 8,
|
||||
"rating": "A"
|
||||
},
|
||||
"sensors": {
|
||||
"class": 8,
|
||||
"rating": "A"
|
||||
},
|
||||
"fuelTank": {
|
||||
"class": 5,
|
||||
"rating": "C"
|
||||
}
|
||||
},
|
||||
"hardpoints": [
|
||||
{
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"group": "Plasma Accelerator",
|
||||
"mount": "Fixed"
|
||||
},
|
||||
{
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"group": "Beam Laser",
|
||||
"mount": "Turret"
|
||||
},
|
||||
{
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"group": "Beam Laser",
|
||||
"mount": "Turret"
|
||||
},
|
||||
{
|
||||
"class": 3,
|
||||
"rating": "D",
|
||||
"group": "Beam Laser",
|
||||
"mount": "Turret"
|
||||
},
|
||||
{
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"group": "Cannon",
|
||||
"mount": "Turret"
|
||||
},
|
||||
{
|
||||
"class": 2,
|
||||
"rating": "E",
|
||||
"group": "Cannon",
|
||||
"mount": "Turret"
|
||||
},
|
||||
{
|
||||
"class": 1,
|
||||
"rating": "F",
|
||||
"group": "Beam Laser",
|
||||
"mount": "Turret"
|
||||
},
|
||||
{
|
||||
"class": 1,
|
||||
"rating": "F",
|
||||
"group": "Beam Laser",
|
||||
"mount": "Turret"
|
||||
}
|
||||
],
|
||||
"utility": [
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "A",
|
||||
"group": "Shield Booster"
|
||||
},
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "A",
|
||||
"group": "Shield Booster"
|
||||
},
|
||||
null,
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "C",
|
||||
"group": "Kill Warrant Scanner"
|
||||
},
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "C",
|
||||
"group": "Cargo Scanner"
|
||||
},
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "F",
|
||||
"group": "Countermeasure",
|
||||
"name": "Electronic Countermeasure"
|
||||
},
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "I",
|
||||
"group": "Countermeasure",
|
||||
"name": "Chaff Launcher"
|
||||
},
|
||||
{
|
||||
"class": 0,
|
||||
"rating": "I",
|
||||
"group": "Countermeasure",
|
||||
"name": "Point Defence"
|
||||
}
|
||||
],
|
||||
"internal": [
|
||||
{
|
||||
"class": 7,
|
||||
"rating": "A",
|
||||
"group": "Shield Generator"
|
||||
},
|
||||
{
|
||||
"class": 6,
|
||||
"rating": "A",
|
||||
"group": "Shield Cell Bank"
|
||||
},
|
||||
{
|
||||
"class": 6,
|
||||
"rating": "E",
|
||||
"group": "Cargo Rack"
|
||||
},
|
||||
{
|
||||
"class": 5,
|
||||
"rating": "D",
|
||||
"group": "Hull Reinforcement Package"
|
||||
},
|
||||
{
|
||||
"class": 5,
|
||||
"rating": "E",
|
||||
"group": "Cargo Rack"
|
||||
},
|
||||
null,
|
||||
null,
|
||||
{
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"group": "Cargo Rack"
|
||||
},
|
||||
{
|
||||
"class": 4,
|
||||
"rating": "E",
|
||||
"group": "Cargo Rack"
|
||||
},
|
||||
{
|
||||
"class": 4,
|
||||
"rating": "A",
|
||||
"group": "Fuel Scoop"
|
||||
},
|
||||
{
|
||||
"class": 2,
|
||||
"rating": "A",
|
||||
"group": "FSD Interdictor"
|
||||
}
|
||||
]
|
||||
},
|
||||
"stats": {
|
||||
"class": 3,
|
||||
"hullCost": 141889932,
|
||||
"speed": 180,
|
||||
"boost": 240,
|
||||
"boostEnergy": 29,
|
||||
"agility": 2,
|
||||
"baseShieldStrength": 350,
|
||||
"baseArmour": 945,
|
||||
"hullMass": 400,
|
||||
"masslock": 23,
|
||||
"shipCostMultiplier": 1,
|
||||
"componentCostMultiplier": 1,
|
||||
"fuelCapacity": 32,
|
||||
"cargoCapacity": 128,
|
||||
"ladenMass": 1339.2,
|
||||
"armour": 2078,
|
||||
"armourAdded": 240,
|
||||
"armourMultiplier": 1.95,
|
||||
"shieldMultiplier": 1.4,
|
||||
"totalCost": 882362049,
|
||||
"unladenMass": 1179.2,
|
||||
"totalDps": 29,
|
||||
"powerAvailable": 36,
|
||||
"powerRetracted": 23.93,
|
||||
"powerDeployed": 35.56,
|
||||
"unladenRange": 18.49,
|
||||
"fullTankRange": 18.12,
|
||||
"ladenRange": 16.39,
|
||||
"unladenTotalRange": 73.21,
|
||||
"ladenTotalRange": 66.15,
|
||||
"maxJumpCount": 4,
|
||||
"shieldStrength": 833
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user