diff --git a/app/icons/no-power.svg b/app/icons/no-power.svg new file mode 100644 index 00000000..00f7a9b5 --- /dev/null +++ b/app/icons/no-power.svg @@ -0,0 +1,3 @@ + diff --git a/app/icons/power.svg b/app/icons/power.svg new file mode 100644 index 00000000..08d19243 --- /dev/null +++ b/app/icons/power.svg @@ -0,0 +1,3 @@ + diff --git a/app/js/app.js b/app/js/app.js index a704a99e..b8e2f236 100755 --- a/app/js/app.js +++ b/app/js/app.js @@ -42,8 +42,6 @@ function($rootScope, $location, $window, $doc, $state, $translate, localeFormat, // Global Reference variables $rootScope.insurance = { opts: [{ name: 'standard', pct: 0.05 }, { name: 'alpha', pct: 0.025 }, { name: 'beta', pct: 0.0375 }] }; $rootScope.discounts = { opts: Discounts }; - $rootScope.STATUS = ['', 'disabled', 'off', 'on']; - $rootScope.STATUS_CLASS = ['', 'disabled', 'warning', 'secondary-disabled']; $rootScope.sizeRatio = Persist.getSizeRatio(); $rootScope.title = 'Coriolis'; diff --git a/app/js/controllers/controller-outfit.js b/app/js/controllers/controller-outfit.js index 5f03080a..b7b10da3 100755 --- a/app/js/controllers/controller-outfit.js +++ b/app/js/controllers/controller-outfit.js @@ -100,11 +100,12 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', ' $scope.speedSeries = { xMin: 0, xMax: ship.cargoCapacity, - yMax: calcSpeed(ship.unladenMass, ship.speed, $scope.th.c, ship.pipSpeed)['4 Pips'], + yMax: calcSpeed(ship.unladenMass, ship.speed, ship.boost, $scope.th.c, ship.pipSpeed).boost, yMin: 0, - series: ['4 Pips', '2 Pips', '0 Pips'], + series: ['boost', '4 Pips', '2 Pips', '0 Pips'], + colors: ['#0088d2', '#ff8c0d', '#D26D00', '#c06400'], func: function(cargo) { // X Axis is Cargo - return calcSpeed(ship.unladenMass + $scope.fuel + cargo, ship.speed, $scope.th.c, ship.pipSpeed); + return calcSpeed(ship.unladenMass + $scope.fuel + cargo, ship.speed, ship.boost, $scope.th.c, ship.pipSpeed); } }; $scope.speedChart = { @@ -360,7 +361,7 @@ angular.module('app').controller('OutfitController', ['$window', '$rootScope', ' $scope.speedSeries.xMax = $scope.trSeries.xMax = $scope.jrSeries.xMax = ship.cargoCapacity; $scope.jrSeries.yMax = ship.unladenRange; $scope.trSeries.yMax = ship.unladenTotalRange; - $scope.speedSeries.yMax = calcSpeed(ship.unladenMass, ship.speed, $scope.th.c, ship.pipSpeed)['4 Pips']; + $scope.speedSeries.yMax = calcSpeed(ship.unladenMass, ship.speed, ship.boost, $scope.th.c, ship.pipSpeed).boost; updateRetrofitCosts(); win.triggerHandler('pwrchange'); } diff --git a/app/js/directives/directive-bar-chart.js b/app/js/directives/directive-bar-chart.js index ee9a743b..55e6018e 100755 --- a/app/js/directives/directive-bar-chart.js +++ b/app/js/directives/directive-bar-chart.js @@ -6,12 +6,14 @@ angular.module('app').directive('barChart', ['$window', '$translate', '$rootScop function insertLinebreaks(d) { var el = d3.select(this); - var words = d.split('\n'); + var lines = d.split('\n'); el.text('').attr('y', -6); - for (var i = 0; i < words.length; i++) { - var tspan = el.append('tspan').text(words[i]); + for (var i = 0; i < lines.length; i++) { + var tspan = el.append('tspan').text(lines[i].length > 18 ? lines[i].substring(0, 15) + '...' : lines[i]); if (i > 0) { tspan.attr('x', -9).attr('dy', '1em'); + } else { + tspan.attr('class', 'primary'); } } } diff --git a/app/js/directives/directive-line-chart.js b/app/js/directives/directive-line-chart.js index ecf5b85f..4ef45513 100644 --- a/app/js/directives/directive-line-chart.js +++ b/app/js/directives/directive-line-chart.js @@ -11,7 +11,7 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco link: function(scope, element) { var seriesConfig = scope.series, series = seriesConfig.series, - color = d3.scale.ordinal().range([ '#ff8c0d']), + color = d3.scale.ordinal().range(scope.series.colors ? scope.series.colors : ['#ff8c0d']), config = scope.config, labels = config.labels, margin = { top: 15, right: 15, bottom: 35, left: 60 }, @@ -42,16 +42,18 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco .attr('transform', 'rotate(-90)') .attr('y', -50) .attr('dy', '.1em') - .style('text-anchor', 'middle') - .text($translate.instant(labels.yAxis.title) + ' (' + $translate.instant(labels.yAxis.unit) + ')'); + .style('text-anchor', 'middle'); + // Create X Axis SVG Elements var xLbl = vis.append('g').attr('class', 'x axis'); var xTxt = xLbl.append('text') .attr('class', 'cap') .attr('y', 30) .attr('dy', '.1em') - .style('text-anchor', 'middle') - .text($translate.instant(labels.xAxis.title) + ' (' + $translate.instant(labels.xAxis.unit) + ')'); + .style('text-anchor', 'middle'); + + // xTxt.append('tspan').attr('class', 'metric'); + // yTxt.append('tspan').attr('class', 'metric'); // Create and Add tooltip var tipHeight = 2 + (1.25 * (series ? series.length : 0.75)); @@ -64,9 +66,9 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco .attr('class', 'tip'); tips.append('text') - .attr('class', 'label x') - .attr('dy', (-tipHeight / 2) + 'em') - .attr('y', '1.25em'); + .attr('class', 'label x') + .attr('dy', (-tipHeight / 2) + 'em') + .attr('y', '1.25em'); var background = vis.append('rect') // Background to capture hover/drag .attr('fill-opacity', 0) @@ -203,8 +205,8 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco tips.selectAll('text.label.y').text(function(d, i) { var yVal = series ? y0[series[i]] : y0; yTotal += yVal; - return (series ? series[i] : '') + ' ' + fmtLong(yVal) + ' ' + $translate.instant(labels.yAxis.unit); - }); + return (series ? $translate.instant(series[i]) : '') + ' ' + fmtLong(yVal); + }).append('tspan').attr('class', 'metric').text(' ' + $translate.instant(labels.yAxis.unit)); tips.selectAll('text').each(function() { if (this.getBBox().width > tipWidth) { @@ -215,7 +217,7 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco tipWidth += 8; markers.selectAll('circle.marker').attr('cx', x(x0)).attr('cy', function(d, i) { return y(series ? y0[series[i]] : y0); }); tips.selectAll('text.label').attr('x', flip ? -12 : 12).style('text-anchor', flip ? 'end' : 'start'); - tips.selectAll('text.label.x').text(fmtLong(x0) + ' ' + $translate.instant(labels.xAxis.unit)); + tips.selectAll('text.label.x').text(fmtLong(x0)).append('tspan').attr('class', 'metric').text(' ' + $translate.instant(labels.xAxis.unit)); tips.attr('transform', 'translate(' + x(x0) + ',' + Math.max(minTransY, y(yTotal / (series ? series.length : 1))) + ')'); tips.selectAll('rect') .attr('width', tipWidth + 4) @@ -225,8 +227,8 @@ angular.module('app').directive('lineChart', ['$window', '$translate', '$rootSco } function updateFormats() { - xTxt.text($translate.instant(labels.xAxis.title) + ' (' + $translate.instant(labels.xAxis.unit) + ')'); - yTxt.text($translate.instant(labels.yAxis.title) + ' (' + $translate.instant(labels.yAxis.unit) + ')'); + xTxt.text($translate.instant(labels.xAxis.title)).append('tspan').attr('class', 'metric').text(' (' + $translate.instant(labels.xAxis.unit) + ')'); + yTxt.text($translate.instant(labels.yAxis.title)).append('tspan').attr('class', 'metric').text(' (' + $translate.instant(labels.yAxis.unit) + ')'); fmtLong = $rootScope.localeFormat.numberFormat('.2f'); xAxis.tickFormat($rootScope.localeFormat.numberFormat('.2r')); yAxis.tickFormat($rootScope.localeFormat.numberFormat('.3r')); diff --git a/app/js/i18n/en.js b/app/js/i18n/en.js index f8855e86..c2818eb7 100644 --- a/app/js/i18n/en.js +++ b/app/js/i18n/en.js @@ -1,218 +1,216 @@ angular.module('app').config(['$translateProvider', function($translateProvider) { - - $translateProvider - .translations('en', { - PHRASE_EXPORT_DESC: 'A detailed JSON export of your build for use in other sites and tools', - 'A-Rated': 'A-Rated', - about: 'about', - action: 'action', - added: 'added', - Advanced: 'Advanced', - 'Advanced Discovery Scanner': 'Advanced Discovery Scanner', - agility: 'agility', - alpha: 'alpha', - ammo: 'ammo', - PHRASE_CONFIRMATION: 'Are You Sure?', - armour: 'armour', - am: 'Auto Field-Maintenance Unit', - available: 'available', - backup: 'backup', - 'Basic Discovery Scanner': 'Basic Discovery Scanner', - bl: 'Beam Laser', - beta: 'beta', - bins: 'bins', - boost: 'boost', - build: 'build', - 'build name': 'Build Name', - builds: 'builds', - bh: 'bulkheads', - ul: 'Burst Laser', - buy: 'buy', - cancel: 'cancel', - c: 'Cannon', - capital: 'capital', - cargo: 'cargo', - 'Cargo Hatch': 'Cargo Hatch', - cr: 'Cargo Rack', - cs: 'Cargo Scanner', - cells: 'cells', - 'Chaff Launcher': 'Chaff Launcher', - close: 'close', - cc: 'Collector Limpet Controller', - compare: 'compare', - 'compare all': 'compare all', - comparison: 'comparison', - comparisons: 'comparisons', - component: 'component', - cost: 'cost', - costs: 'costs', - cm: 'Countermeasure', - CR: 'CR', - create: 'create', - 'create new': 'create new', - credits: 'credits', - Cytoscrambler: 'Cytoscrambler', - damage: 'damage', - delete: 'delete', - 'delete all': 'delete all', - dep: 'dep', - deployed: 'deployed', - 'detailed export': 'detailed export', - 'Detailed Surface Scanner': 'Detailed Surface Scanner', - disabled: 'disabled', - discount: 'discount', - Distruptor: 'Distruptor', - dc: 'Docking Computer', - done: 'done', - DPS: 'DPS', - 'edit data': 'edit data', - efficiency: 'efficiency', - 'Electronic Countermeasure': 'Electronic Countermeasure', - empty: 'empty', - Enforcer: 'Enforcer', - ENG: 'ENG', - 'enter name': 'Enter Name', - EPS: 'EPS', - export: 'export', - fixed: 'fixed', - forum: 'forum', - fc: 'Fragment Cannon', - fd: 'Frame Shift Drive', - ws: 'Frame Shift Wake Scanner', - FSD: 'FSD', - fi: 'FSD Interdictor', - fuel: 'fuel', - fs: 'Fuel Scoop', - ft: 'Fuel Tank', - fx: 'Fuel Transfer Limpet Controller', - 'full tank': 'full tank', - Gimballed: 'Gimballed', - H: 'H', - hardpoints: 'hardpoints', - hb: 'Hatch Breaker Limpet Controller', - 'Heat Sink Launcher': 'Heat Sink Launcher', - huge: 'huge', - hull: 'hull', - hr: 'Hull Reinforcement Package', - 'Imperial Hammer': 'Imperial Hammer', - import: 'import', - 'import all': 'import all', - insurance: 'insurance', - 'Intermediate Discovery Scanner': 'Intermediate Discovery Scanner', - 'internal compartments': 'internal compartments', - 'jump range': 'jump range', - jumps: 'jumps', - kw: 'Kill Warrant Scanner', - L: 'L', - laden: 'laden', - language: 'language', - large: 'large', - ls: 'life support', - 'Lightweight Alloy': 'Lightweight Alloy', - 'lock factor': 'lock factor', - LS: 'Ls', - LY: 'LY', - M: 'M', - 'm/s': 'm/s', - mass: 'mass', - max: 'max', - 'max mass': 'max mass', - medium: 'medium', - 'Military Grade Composite': 'Military Grade Composite', - nl: 'Mine Launcher', - 'Mining Lance': 'Mining Lance', - ml: 'Mining Laser', - 'Mirrored Surface Composite': 'Mirrored Surface Composite', - mr: 'Missile Rack', - mc: 'Multi-cannon', - 'net cost': 'net cost', - no: 'no', - PHRASE_NO_BUILDS: 'No builds added to comparison!', - PHRASE_NO_RETROCH: 'No Retrofitting changes', - none: 'none', - 'none created': 'none created', - off: 'off', - on: 'on', - optimal: 'optimal', - 'optimal mass': 'optimal mass', - 'optimize mass': 'optimize mass', - overwrite: 'overwrite', - Pacifier: 'Pacifier', - 'Pack-Hound': 'Pack-Hound', - PHRASE_IMPORT: 'Paste JSON or import here', - pen: 'pen', - penetration: 'penetration', - permalink: 'permalink', - pa: 'Plasma Accelerator', - 'Point Defence': 'Point Defence', - power: 'power', - pd: 'power distributor', - pp: 'power plant', - pri: 'pri', - priority: 'priority', - psg: 'Prismatic Shield Generator', - proceed: 'proceed', - pc: 'Prospector Limpet Controller', - pl: 'Pulse Laser', - PWR: 'PWR', - rg: 'Rail Gun', - range: 'range', - rate: 'rate', - 'Reactive Surface Composite': 'Reactive Surface Composite', - recharge: 'recharge', - rf: 'Refinery', - 'refuel time': 'refuel time', - 'Reinforced Alloy': 'Reinforced Alloy', - reload: 'reload', - rename: 'rename', - repair: 'repair', - reset: 'reset', - ret: 'ret', - retracted: 'retracted', - 'retrofit costs': 'retrofit costs', - 'retrofit from': 'retrofit from', - ROF: 'ROF', - S: 'S', - save: 'save', - sc: 'scanner', - PHRASE_SELECT_BUILDS: 'Select Builds to Compare', - sell: 'sell', - s: 'sensors', - settings: 'settings', - sb: 'Shield Booster', - scb: 'Shield Cell Bank', - sg: 'Shield Generator', - shields: 'shields', - ship: 'ship', - ships: 'ships', - shortened: 'shortened', - size: 'size', - skip: 'skip', - small: 'small', - speed: 'speed', - standard: 'standard', - 'Standard Docking Computer': 'Standard Docking Computer', - Stock: 'Stock', - SYS: 'SYS', - T: 'T', - T_LOAD: 't-load', - 'The Retributor': 'The Retributor', - t: 'thrusters', - time: 'time', - tp: 'Torpedo Pylon', - total: 'total', - 'total range': 'total range', - turret: 'turret', - type: 'type', - U: 'U', - unladen: 'unladen', - PHRASE_UPDATE_RDY: 'Update Available! Click to Refresh', - URL: 'URL', - utility: 'utility', - 'utility mounts': 'utility mounts', - version: 'version', - WEP: 'WEP', - yes: 'yes', - PHRASE_BACKUP_DESC: 'Backup of all Coriolis data to save or transfer to another browser/device' - }); + $translateProvider.translations('en', { + PHRASE_EXPORT_DESC: 'A detailed JSON export of your build for use in other sites and tools', + 'A-Rated': 'A-Rated', + about: 'about', + action: 'action', + added: 'added', + Advanced: 'Advanced', + 'Advanced Discovery Scanner': 'Advanced Discovery Scanner', + agility: 'agility', + alpha: 'alpha', + ammo: 'ammo', + PHRASE_CONFIRMATION: 'Are You Sure?', + armour: 'armour', + am: 'Auto Field-Maintenance Unit', + available: 'available', + backup: 'backup', + 'Basic Discovery Scanner': 'Basic Discovery Scanner', + bl: 'Beam Laser', + beta: 'beta', + bins: 'bins', + boost: 'boost', + build: 'build', + 'build name': 'Build Name', + builds: 'builds', + bh: 'bulkheads', + ul: 'Burst Laser', + buy: 'buy', + cancel: 'cancel', + c: 'Cannon', + capital: 'capital', + cargo: 'cargo', + 'Cargo Hatch': 'Cargo Hatch', + cr: 'Cargo Rack', + cs: 'Cargo Scanner', + cells: 'cells', + 'Chaff Launcher': 'Chaff Launcher', + close: 'close', + cc: 'Collector Limpet Controller', + compare: 'compare', + 'compare all': 'compare all', + comparison: 'comparison', + comparisons: 'comparisons', + component: 'component', + cost: 'cost', + costs: 'costs', + cm: 'Countermeasure', + CR: 'CR', + create: 'create', + 'create new': 'create new', + credits: 'credits', + Cytoscrambler: 'Cytoscrambler', + damage: 'damage', + delete: 'delete', + 'delete all': 'delete all', + dep: 'dep', + deployed: 'deployed', + 'detailed export': 'detailed export', + 'Detailed Surface Scanner': 'Detailed Surface Scanner', + disabled: 'disabled', + discount: 'discount', + Distruptor: 'Distruptor', + dc: 'Docking Computer', + done: 'done', + DPS: 'DPS', + 'edit data': 'edit data', + efficiency: 'efficiency', + 'Electronic Countermeasure': 'Electronic Countermeasure', + empty: 'empty', + Enforcer: 'Enforcer', + ENG: 'ENG', + 'enter name': 'Enter Name', + EPS: 'EPS', + export: 'export', + fixed: 'fixed', + forum: 'forum', + fc: 'Fragment Cannon', + fd: 'Frame Shift Drive', + ws: 'Frame Shift Wake Scanner', + FSD: 'FSD', + fi: 'FSD Interdictor', + fuel: 'fuel', + fs: 'Fuel Scoop', + ft: 'Fuel Tank', + fx: 'Fuel Transfer Limpet Controller', + 'full tank': 'full tank', + Gimballed: 'Gimballed', + H: 'H', + hardpoints: 'hardpoints', + hb: 'Hatch Breaker Limpet Controller', + 'Heat Sink Launcher': 'Heat Sink Launcher', + huge: 'huge', + hull: 'hull', + hr: 'Hull Reinforcement Package', + 'Imperial Hammer': 'Imperial Hammer', + import: 'import', + 'import all': 'import all', + insurance: 'insurance', + 'Intermediate Discovery Scanner': 'Intermediate Discovery Scanner', + 'internal compartments': 'internal compartments', + 'jump range': 'jump range', + jumps: 'jumps', + kw: 'Kill Warrant Scanner', + L: 'L', + laden: 'laden', + language: 'language', + large: 'large', + ls: 'life support', + 'Lightweight Alloy': 'Lightweight Alloy', + 'lock factor': 'lock factor', + LS: 'Ls', + LY: 'LY', + M: 'M', + 'm/s': 'm/s', + mass: 'mass', + max: 'max', + 'max mass': 'max mass', + medium: 'medium', + 'Military Grade Composite': 'Military Grade Composite', + nl: 'Mine Launcher', + 'Mining Lance': 'Mining Lance', + ml: 'Mining Laser', + 'Mirrored Surface Composite': 'Mirrored Surface Composite', + mr: 'Missile Rack', + mc: 'Multi-cannon', + 'net cost': 'net cost', + no: 'no', + PHRASE_NO_BUILDS: 'No builds added to comparison!', + PHRASE_NO_RETROCH: 'No Retrofitting changes', + none: 'none', + 'none created': 'none created', + off: 'off', + on: 'on', + optimal: 'optimal', + 'optimal mass': 'optimal mass', + 'optimize mass': 'optimize mass', + overwrite: 'overwrite', + Pacifier: 'Pacifier', + 'Pack-Hound': 'Pack-Hound', + PHRASE_IMPORT: 'Paste JSON or import here', + pen: 'pen', + penetration: 'penetration', + permalink: 'permalink', + pa: 'Plasma Accelerator', + 'Point Defence': 'Point Defence', + power: 'power', + pd: 'power distributor', + pp: 'power plant', + pri: 'pri', + priority: 'priority', + psg: 'Prismatic Shield Generator', + proceed: 'proceed', + pc: 'Prospector Limpet Controller', + pl: 'Pulse Laser', + PWR: 'PWR', + rg: 'Rail Gun', + range: 'range', + rate: 'rate', + 'Reactive Surface Composite': 'Reactive Surface Composite', + recharge: 'recharge', + rf: 'Refinery', + 'refuel time': 'refuel time', + 'Reinforced Alloy': 'Reinforced Alloy', + reload: 'reload', + rename: 'rename', + repair: 'repair', + reset: 'reset', + ret: 'ret', + retracted: 'retracted', + 'retrofit costs': 'retrofit costs', + 'retrofit from': 'retrofit from', + ROF: 'ROF', + S: 'S', + save: 'save', + sc: 'scanner', + PHRASE_SELECT_BUILDS: 'Select Builds to Compare', + sell: 'sell', + s: 'sensors', + settings: 'settings', + sb: 'Shield Booster', + scb: 'Shield Cell Bank', + sg: 'Shield Generator', + shields: 'shields', + ship: 'ship', + ships: 'ships', + shortened: 'shortened', + size: 'size', + skip: 'skip', + small: 'small', + speed: 'speed', + standard: 'standard', + 'Standard Docking Computer': 'Standard Docking Computer', + Stock: 'Stock', + SYS: 'SYS', + T: 'T', + T_LOAD: 't-load', + 'The Retributor': 'The Retributor', + t: 'thrusters', + time: 'time', + tp: 'Torpedo Pylon', + total: 'total', + 'total range': 'total range', + turret: 'turret', + type: 'type', + U: 'U', + unladen: 'unladen', + PHRASE_UPDATE_RDY: 'Update Available! Click to Refresh', + URL: 'URL', + utility: 'utility', + 'utility mounts': 'utility mounts', + version: 'version', + WEP: 'WEP', + yes: 'yes', + PHRASE_BACKUP_DESC: 'Backup of all Coriolis data to save or transfer to another browser/device' + }); }]); diff --git a/app/js/i18n/es.js b/app/js/i18n/es.js index 3f789e8b..ee174fbc 100644 --- a/app/js/i18n/es.js +++ b/app/js/i18n/es.js @@ -17,247 +17,195 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func }); $translateProvider.translations('es', { - 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', - 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' + 'PHRASE_EXPORT_DESC': 'Una detallada exportaci\u00f3n JSON de tu construcci\u00f3n para usarlo en otros sitios web y herramientas', + 'A-Rated': 'Calidad-A', + 'about': 'Acerca', + 'action': 'Acci\u00f3n', + 'added': 'A\u00f1adido', + 'Advanced Discovery Scanner': 'Esc\u00e1ner de exploraci\u00f3n avanzado', + 'agility': 'Maniobrabilidad', + 'alpha': 'Alfa', + 'ammo': 'Munici\u00f3n', + 'PHRASE_CONFIRMATION': '\u00bfEst\u00e1s seguro?', + 'armour': 'Blindaje', + 'am': 'Unidad de auto-reparaciones', + 'available': 'Disponible', + 'backup': 'Reserva', + 'Basic Discovery Scanner': 'Esc\u00e1ner de exploraci\u00f3n b\u00e1sico', + 'bl': 'L\u00e1ser de haz', + 'bins': 'contenedores', + 'boost': 'incrementar', + 'build': 'Construcci\u00f3n', + 'build name': 'Nombre de la construcci\u00f3n', + 'builds': 'Construcciones', + 'bh': 'mamparos', + 'ul': 'Laser de r\u00e1fagas', + 'buy': 'Comprar', + 'cancel': 'Cancelar', + 'c': 'Ca\u00f1\u00f3n', + 'capital': 'capital', + 'cargo': 'Carga', + 'Cargo Hatch': 'Compuerta de carga', + 'cr': 'Compartimento de carga', + 'cs': 'Esc\u00e1ner de carga', + 'cells': 'celdas', + 'Chaff Launcher': 'Lanzador de birutas', + 'close': 'Cerrar', + 'cc': 'Controlador de Drones de Recogida', + 'compare': 'Comparar', + 'compare all': 'comparar todas', + 'comparison': 'Comparativa', + 'comparisons': 'Comparativas', + 'component': 'Componente', + 'cost': 'Coste', + 'costs': 'Costes', + 'cm': 'Contramedidas', + 'create': 'Crear', + 'create new': 'Crear nuevo', + 'credits': 'Cr\u00e9ditos', + 'damage': 'Da\u00f1o', + 'delete': 'Borrar', + 'delete all': 'Borrar todo', + 'dep': 'desp', + 'deployed': 'Desplegado', + 'detailed export': 'Exportacion detallada', + 'Detailed Surface Scanner': 'Escaner de exploraci\u00f3n detallada', + 'disabled': 'Desactivado', + 'discount': 'Descuento', + 'dc': 'Ordenador de aterrizaje', + 'done': 'Hecho', + 'DPS': 'DPS (Da\u00f1o Por Segundo)', + 'edit data': 'Editar datos', + 'efficiency': 'Eficiencia', + 'Electronic Countermeasure': 'Contramedidas electr\u00f3nicas', + 'empty': 'Vac\u00edo', + 'ENG': 'MOT', + 'enter name': 'Introduce el nombre', + 'export': 'exportar', + 'fixed': 'fijo', + 'forum': 'Foro', + 'fc': 'Ca\u00f1\u00f3n de fragmentaci\u00f3n', + 'fd': 'Motor de salto', + 'ws': 'Esc\u00e1ner de Salto', + 'fi': 'Interdictor FSD', + 'fuel': 'Combustible', + 'fs': 'Recolector de Combustible', + 'ft': 'Tanque de combustible', + 'fx': 'Sistema de Transferencia de Combustilble', + 'full tank': 'Tanque lleno', + 'Gimballed': 'Card\u00e1n', + 'H': 'E', + 'hardpoints': 'Montura de armas', + 'hb': 'Controlador de Apertura de Bah\u00eda de Carga', + 'Heat Sink Launcher': 'Eyector de Acumulador de Calor', + 'huge': 'enorme', + 'hull': 'Casco', + 'hr': 'Sistema de Casco Reforzado', + 'import': 'Importar', + 'import all': 'Importar todo', + 'insurance': 'Seguro', + 'Intermediate Discovery Scanner': 'Esc\u00e1ner de exploraci\u00f3n media', + 'internal compartments': 'Compartimentos internos', + 'jump range': 'Rango de salto', + 'jumps': 'Saltos', + 'kw': 'Esc\u00e1ner Detector de Recompensas', + 'L': 'G', + 'laden': 'Cargada', + 'language': 'Idioma', + 'large': 'Grande', + 'ls': 'Soporte vital', + 'Lightweight Alloy': 'Aleaci\u00f3n ligera', + 'lock factor': 'factor de bloqueo', + 'mass': 'Masa', + 'max': 'm\u00e1x', + 'max mass': 'Masa m\u00e1xima', + 'medium': 'medio', + 'Military Grade Composite': 'Blindaje Militar', + 'nl': 'Lanzaminas', + 'Mining Lance': 'Lanza de miner\u00eda', + 'ml': 'L\u00e1ser de miner\u00eda', + 'Mirrored Surface Composite': 'Blindaje Reflectante', + 'mr': 'Bah\u00eda de Misiles', + 'mc': 'Ca\u00f1\u00f3n m\u00faltiple', + 'net cost': 'Coste neto', + 'PHRASE_NO_BUILDS': '\u00a1No se a\u00f1adieron plantillas para comparaci\u00f3n!', + 'PHRASE_NO_RETROCH': 'No hay cambios en los ajutes', + 'none': 'Nada', + 'none created': 'Nada creado', + 'off': 'apagado', + 'on': 'encendido', + 'optimal': '\u00f3ptimo', + 'optimal mass': 'masa \u00f3ptima', + 'optimize mass': 'optimizar masa', + 'overwrite': 'Sobreescribir', + 'PHRASE_IMPORT': 'Pega el JSON o imp\u00f3rtalo aqu\u00ed', + 'penetration': 'penetraci\u00f3n', + 'permalink': 'enlace permanente', + 'pa': 'Acelerador de Plasma', + 'Point Defence': 'Punto de Defensa', + 'power': 'energ\u00eda', + 'pd': 'distribuidor de energ\u00eda', + 'pp': 'Planta de Energ\u00eda', + 'priority': 'prioridad', + 'proceed': 'Proceder', + 'pc': 'Controlador de drones de prospecci\u00f3n', + 'pl': 'L\u00e1ser de Pulso', + 'PWR': 'POT', + 'rg': 'Ca\u00f1\u00f3n de Riel', + 'range': 'rango', + 'rate': 'ratio', + 'Reactive Surface Composite': 'Blindaje Reactivo', + 'recharge': 'recargar', + 'rf': 'Refineria', + 'refuel time': 'Tiempo para repostar', + 'Reinforced Alloy': 'Armadura reforzada', + 'reload': 'Recargar', + 'rename': 'Renombrar', + 'repair': 'Reparar', + 'reset': 'Reiniciar', + 'ret': 'PLE', + 'retracted': 'plegadas', + 'retrofit costs': 'costes de equipamiento', + 'retrofit from': 'equipamiento desde', + 'ROF': 'RDF', + 'S': 'P', + 'save': 'guardar', + 'sc': 'sc\u00e1ner', + 'PHRASE_SELECT_BUILDS': 'Selecciona equipamientos para comparar', + 'sell': 'Vender', + 's': 'Sensores', + 'settings': 'Configuraci\u00f3n', + 'sb': 'Potenciador de Escudos', + 'scb': 'C\u00e9lula de Energ\u00eda de Escudos', + 'sg': 'Generador de escudos', + 'shields': 'Escudos', + 'ship': 'Nave ', + 'ships': 'Naves', + 'shortened': 'Abreviado', + 'size': 'Tama\u00f1o', + 'skip': 'omitir', + 'small': 'Peque\u00f1o', + 'speed': 'velocidad', + 'standard': 'est\u00e1ndar', + 'Standard Docking Computer': 'Computador de Atraque Est\u00e1ndar', + 'Stock': 'De serie', + 'SYS': 'SIS', + 'T_LOAD': 'c-t\u00e9rmica', + 't': 'Propulsores', + 'time': 'Tiempo', + 'tp': 'Anclaje de torpedo', + 'total': 'Total', + 'total range': 'Rango total', + 'turret': 'torreta', + 'type': 'Tipo', + 'unladen': 'Sin carga', + 'PHRASE_UPDATE_RDY': 'Actualizacion disponible! Haz click para recargar', + 'URL': 'Enlace', + 'utility': 'utilidad', + 'utility mounts': 'monturas de utilidad', + 'version': 'Versi\u00f3n', + 'WEP': 'ARM', + 'yes': 'si', + 'PHRASE_BACKUP_DESC': 'Copia de seguridad de todos los datos de Coriolis para guardarlos o transferirlos a otro navegador\/dispositivo' }); }]); diff --git a/app/js/i18n/fr.js b/app/js/i18n/fr.js index 23260ac7..8bfbf5db 100644 --- a/app/js/i18n/fr.js +++ b/app/js/i18n/fr.js @@ -20,17 +20,17 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func about: 'à propos', added: 'ajouté', Advanced: 'Avancé', - 'Advanced Discovery Scanner': 'Scanner de découverte avancé', + 'Advanced Discovery Scanner': 'Détecteur découverte avancé', agility: 'manœuvrabilité', ammo: 'munitions', PHRASE_CONFIRMATION: 'Êtes-vous sûr ?', armour: 'Armure', - am: 'Unité de réparation automatique', + am: 'Unité de maintenance de terrain auto', available: 'Disponibilité', backup: 'sauvegarde', - 'Basic Discovery Scanner': 'Scanner de découverte simple', + 'Basic Discovery Scanner': 'Détecteur découverte simple', bl: 'Rayon Laser', - bins: 'bacs', + bins: 'bennes', build: 'Configuration', 'build name': 'Nom de la configuration', builds: 'Configurations', @@ -40,9 +40,9 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func cancel: 'Annuler', c: 'Canon', cargo: 'Soute', - 'Cargo Hatch': 'Ecoutille de soute', + 'Cargo Hatch': 'Écoutille de soute', cr: 'Compartiment de soute', - cs: 'Scanner de soute', + cs: 'Détecteur de cargaison', cells: 'Cellules', 'Chaff Launcher': 'Lanceur de paillettes', close: 'fermer', @@ -64,15 +64,15 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func dep: 'depl', deployed: 'déployé', 'detailed export': 'export détaillé', - 'Detailed Surface Scanner': 'Scanner de surface détaillé', + 'Detailed Surface Scanner': 'Détecteur surface détaillé', disabled: 'désactivé', discount: 'réduction', Distruptor: 'Disrupteur', dc: 'Ordinateur d\'appontage', done: 'Valider', 'edit data': 'Editer donnée', - efficiency: 'efficience', - 'Electronic Countermeasure': 'Contre mesure électronique', + efficiency: 'efficacité', + 'Electronic Countermeasure': 'Contre-mesures électroniques', empty: 'Vide', 'enter name': 'Entrer un nom', fixed: 'fixé', @@ -83,28 +83,28 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func fuel: 'carburant', fs: 'Récupérateur de carburant', ft: 'Réservoir de carburant', - fx: 'Drone de ravitaillement', + fx: 'Contrôleur de ravitailleur', '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', + 'Heat Sink Launcher': 'Éjecteur de dissipateur thermique', huge: 'Très grand', hull: 'Coque', - hr: 'Renfort de soute', + hr: 'Ensemble de mesures permettant de', 'Imperial Hammer': 'Marteau impérial', import: 'Importer', 'import all': 'Importer tout', insurance: 'Assurance', - 'Intermediate Discovery Scanner': 'Scanner de découverte intermédiaire', + 'Intermediate Discovery Scanner': 'Détecteur découverte intermédiaire', 'internal compartments': 'compartiments internes', 'jump range': 'Distance de saut', jumps: 'Sauts', kw: 'Détecteur d\'avis de recherche', laden: 'chargé', - language: 'Langage', + language: 'Langue', large: 'large', - ls: 'Support vital', + ls: 'Systèmes de survie', 'Lightweight Alloy': 'alliage léger', 'lock factor': 'facteur inhibition de masse', LS: 'SL', @@ -115,8 +115,8 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func nl: 'Lance-mines', 'Mining Lance': 'Lance de minage', ml: 'Laser minier', - 'Mirrored Surface Composite': 'Composite à surface mirroir', - mr: 'Lance missiles', + 'Mirrored Surface Composite': 'Composite à surface miroir', + mr: 'Batterie de missiles', mc: 'Canon multiple', 'net cost': 'coûts nets', no: 'non', @@ -137,15 +137,15 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func pa: 'accélérateur plasma', 'Point Defence': 'Défense ponctuelle', power: 'énergie', - pd: 'distributeur d\'énérgie', - pp: 'centrale d\'énergie', + pd: 'Répartiteur de puissance', + pp: 'Générateur', priority: 'priorité', psg: 'générateur de bouclier prisme', proceed: 'continuer', - pc: 'Drône de minage', + pc: 'Contrôleur de prospecteur', pl: 'Laser à impulsion', PWR: 'P', - rg: 'Canon électromagnétique', + rg: 'Canon électrique', range: 'portée', rate: 'cadence', 'Reactive Surface Composite': 'Composite à surface réactive', @@ -166,7 +166,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func sc: 'scanner', PHRASE_SELECT_BUILDS: 'Sélectionner les configurations à comparer', sell: 'vendre', - s: 'détecteurs', + s: 'Capteurs', settings: 'paramètres', sb: 'Survolteur de bouclier', scb: 'Réserve de cellules d\'énergie', @@ -179,9 +179,9 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func skip: 'Suivant', small: 'petit', speed: 'vitesse', - 'Standard Docking Computer': 'ordinateur amarrage standard', + 'Standard Docking Computer': 'Ordinateur d\'appontage standard', Stock: 'de base', - T_LOAD: 'degrés', + T_LOAD: 'Charge thermique', 'The Retributor': 'Le Rétributeur', t: 'propulseurs', time: 'temps', @@ -189,7 +189,7 @@ angular.module('app').config(['$translateProvider', 'localeFormatProvider', func 'total range': 'Distance maximale', turret: 'tourelle', unladen: 'Non chargé', - PHRASE_UPDATE_RDY: 'Mise à jour disponible ! Cliquez pour rafraichir', + PHRASE_UPDATE_RDY: 'Mise à jour disponible ! Cliquez ici pour mettre à jour', utility: 'utilitaire', 'utility mounts': 'Support utilitaire', WEP: 'ARM', diff --git a/app/js/i18n/it.js b/app/js/i18n/it.js index 258a322f..38851e72 100644 --- a/app/js/i18n/it.js +++ b/app/js/i18n/it.js @@ -1,218 +1,133 @@ -angular.module('app').config(['$translateProvider', function($translateProvider) { +angular.module('app').config(['$translateProvider', 'localeFormatProvider', function($translateProvider, localeFormatProvider) { - $translateProvider - .translations('it', { - PHRASE_EXPORT_DESC: 'Un export dettagliato in formato JSON della tua configurazione per essere usato in altri siti o tools', - 'A-Rated': 'Classe A', - about: 'Info su Coriolis', - action: 'azione', - added: 'aggiunto', - Advanced: 'Avanzato', - 'Advanced Discovery Scanner': 'Advanced Discovery Scanner', - agility: 'agilità', - alpha: 'alpha', - ammo: 'munizioni', - PHRASE_CONFIRMATION: 'Sei sicuro ?', - armour: 'armatura', - am: 'Auto Field-Maintenance Unit', - available: 'disponibile', - backup: 'backup', - 'Basic Discovery Scanner': 'Basic Discovery Scanner', - bl: 'Beam Laser', - beta: 'beta', - bins: 'contenitore', - boost: 'boost', - build: 'configurazione', - 'build name': 'Nome Configurazione', - builds: 'configurazioni', - bh: 'bulkheads', - ul: 'Burst Laser', - buy: 'compra', - cancel: 'cancella', - c: 'Cannon', - capital: 'capital', - cargo: 'cargo', - 'Cargo Hatch': 'Cargo Hatch', - cr: 'Cargo Rack', - cs: 'Cargo Scanner', - cells: 'celle', - 'Chaff Launcher': 'Chaff Launcher', - close: 'chiudi', - cc: 'Collector Limpet Controller', - compare: 'confronta', - 'compare all': 'confronta tutti', - comparison: 'comparazione', - comparisons: 'comparazioni', - component: 'componente', - cost: 'costo', - costs: 'costi', - cm: 'Contromisure', - CR: 'CR', - create: 'crea', - 'create new': 'crea nuovo', - credits: 'crediti', - Cytoscrambler: 'Cytoscrambler', - damage: 'danno', - delete: 'elimina', - 'delete all': 'elimina tutto', - dep: 'dep', - deployed: 'deployed', - 'detailed export': 'esportazione dettagliata', - 'Detailed Surface Scanner': 'Detailed Surface Scanner', - disabled: 'disabilita', - discount: 'sconto', - Distruptor: 'Distruptor', - dc: 'Docking Computer', - done: 'fatto', - DPS: 'DPS', - 'edit data': 'modifica i dati', - efficiency: 'efficenza', - 'Electronic Countermeasure': 'Electronic Countermeasure', - empty: 'vuoto', - Enforcer: 'Rinforzatore', - ENG: 'ENG', - 'enter name': 'Inserisci un nome', - EPS: 'EPS', - export: 'esporta', - fixed: 'fissi', - forum: 'forum', - fc: 'Fragment Cannon', - fd: 'Frame Shift Drive', - ws: 'Frame Shift Wake Scanner', - FSD: 'FSD', - fi: 'FSD Interdictor', - fuel: 'carburante', - fs: 'Fuel Scoop', - ft: 'Fuel Tank', - fx: 'Fuel Transfer Limpet Controller', - 'full tank': 'Serbatoio Pieno', - Gimballed: 'Gimballed', - H: 'H', - hardpoints: 'hardpoints', - hb: 'Hatch Breaker Limpet Controller', - 'Heat Sink Launcher': 'Heat Sink Launcher', - huge: 'enorme', - hull: 'corazza', - hr: 'Hull Reinforcement Package', - 'Imperial Hammer': 'Imperial Hammer', - import: 'importa', - 'import all': 'importa tutto', - insurance: 'assicurazione', - 'Intermediate Discovery Scanner': 'Intermediate Discovery Scanner', - 'internal compartments': 'compartimenti interni', - 'jump range': 'distanza di salto', - jumps: 'salti', - kw: 'Kill Warrant Scanner', - L: 'L', - laden: 'carico', - language: 'lingua', - large: 'largo', - ls: 'life support', - 'Lightweight Alloy': 'Lightweight Alloy', - 'lock factor': 'lock factor', - LS: 'Ls', - LY: 'LY', - M: 'M', - 'm/s': 'm/s', - mass: 'massa', - max: 'massimo', - 'max mass': 'massa massimale', - medium: 'medio', - 'Military Grade Composite': 'Military Grade Composite', - nl: 'Mine Launcher', - 'Mining Lance': 'Mining Lance', - ml: 'Mining Laser', - 'Mirrored Surface Composite': 'Mirrored Surface Composite', - mr: 'Missile Rack', - mc: 'Multi-cannon', - 'net cost': 'costo netto', - no: 'no', - PHRASE_NO_BUILDS: 'nessuna configurazione è stata aggiunta per la comparazione!', - PHRASE_NO_RETROCH: 'Nessun cambiamento di Retrofitting', - none: 'nessuno', - 'none created': 'nessuno creato', - off: 'off', - on: 'on', - optimal: 'ottimale', - 'optimal mass': 'massa ottimale', - 'optimize mass': 'ottimizza la massa', - overwrite: 'sovrasscrivi', - Pacifier: 'Pacifier', - 'Pack-Hound': 'Pack-Hound', - PHRASE_IMPORT: 'Incolla un JSON o importalo qua', - pen: 'pen', - penetration: 'penetrazione', - permalink: 'permalink', - pa: 'Plasma Accelerator', - 'Point Defence': 'Point Defence', - power: 'potenza', - pd: 'power distributor', - pp: 'power plant', - pri: 'pri', - priority: 'priorità', - psg: 'Prismatic Shield Generator', - proceed: 'procedi', - pc: 'Prospector Limpet Controller', - pl: 'Pulse Laser', - PWR: 'PWR', - rg: 'Rail Gun', - range: 'distanza', - rate: 'rateo', - 'Reactive Surface Composite': 'Reactive Surface Composite', - recharge: 'ricarica', - rf: 'Refinery', - 'refuel time': 'refuel time', - 'Reinforced Alloy': 'Reinforced Alloy', - reload: 'ricarica', - rename: 'rinomina', - repair: 'ripara', - reset: 'resetta', - ret: 'ret', - retracted: 'retratti', - 'retrofit costs': 'costi di retrofit', - 'retrofit from': 'retrofit da', - ROF: 'ROF', - S: 'S', - save: 'salva', - sc: 'scanner', - PHRASE_SELECT_BUILDS: 'Select Builds to Compare', - sell: 'vendi', - s: 'Sensors', - settings: 'impostazioni', - sb: 'Shield Booster', - scb: 'Shield Cell Bank', - sg: 'Shield Generator', - shields: 'scudi', - ship: 'nave', - ships: 'navi', - shortened: 'accorciato', - size: 'grandezza', - skip: 'salta', - small: 'piccolo', - speed: 'velocità', - standard: 'standard', - 'Standard Docking Computer': 'Standard Docking Computer', - Stock: 'appena comprata', - SYS: 'SYS', - T: 'T', - T_LOAD: 't-load', - 'The Retributor': 'The Retributor', - t: 'Motori', - time: 'tempo', - tp: 'Torpedo Pylon', - total: 'totale', - 'total range': 'distanza totale', - turret: 'turrette', - type: 'tipo', - U: 'U', - unladen: 'scarico', - PHRASE_UPDATE_RDY: 'Aggiornamenti disponibili ! Clicca per Aggiornare', - URL: 'URL', - utility: 'supporti', - 'utility mounts': 'supporti di utilità', - version: 'versione', - WEP: 'WEP', - yes: 'sì', - PHRASE_BACKUP_DESC: 'Esportazione di tutti i dati su Coriolis per salvarli o trasferirli in un altro Browser/dispositivo' - }); + // Declare number format settings + localeFormatProvider.addFormat('es', { + decimal: ',', + thousands: '.', + grouping: [3], + currency: ['€', ''], + dateTime: '%A %e %B %Y, %X', + date: '%d/%m/%Y', + time: '%H:%M:%S', + periods: ['AM', 'PM'], // unused + days: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'], + shortDays: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'], + months: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'], + shortMonths: ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'] + }); + + $translateProvider.translations('it', { + PHRASE_EXPORT_DESC: 'Un export dettagliato in formato JSON della tua configurazione per essere usato in altri siti o tools', + 'A-Rated': 'Classe A', + about: 'Info su Coriolis', + action: 'azione', + added: 'aggiunto', + Advanced: 'Avanzato', + agility: 'agilità', + ammo: 'munizioni', + PHRASE_CONFIRMATION: 'Sei sicuro ?', + armour: 'armatura', + available: 'disponibile', + bins: 'contenitore', + build: 'configurazione', + 'build name': 'Nome Configurazione', + builds: 'configurazioni', + buy: 'compra', + cancel: 'cancella', + cells: 'celle', + close: 'chiudi', + compare: 'confronta', + 'compare all': 'confronta tutti', + comparison: 'comparazione', + comparisons: 'comparazioni', + component: 'componente', + cost: 'costo', + costs: 'costi', + cm: 'Contromisure', + create: 'crea', + 'create new': 'crea nuovo', + credits: 'crediti', + damage: 'danno', + delete: 'elimina', + 'delete all': 'elimina tutto', + dep: 'dep', + deployed: 'deployed', + 'detailed export': 'esportazione dettagliata', + disabled: 'disabilita', + discount: 'sconto', + done: 'fatto', + 'edit data': 'modifica i dati', + efficiency: 'efficenza', + empty: 'vuoto', + Enforcer: 'Rinforzatore', + 'enter name': 'Inserisci un nome', + export: 'esporta', + fixed: 'fissi', + fuel: 'carburante', + 'full tank': 'Serbatoio Pieno', + huge: 'enorme', + hull: 'corazza', + import: 'importa', + 'import all': 'importa tutto', + insurance: 'assicurazione', + 'internal compartments': 'compartimenti interni', + 'jump range': 'distanza di salto', + jumps: 'salti', + laden: 'carico', + language: 'lingua', + large: 'largo', + mass: 'massa', + max: 'massimo', + 'max mass': 'massa massimale', + medium: 'medio', + 'net cost': 'costo netto', + PHRASE_NO_BUILDS: 'nessuna configurazione è stata aggiunta per la comparazione!', + PHRASE_NO_RETROCH: 'Nessun cambiamento di Retrofitting', + none: 'nessuno', + 'none created': 'nessuno creato', + optimal: 'ottimale', + 'optimal mass': 'massa ottimale', + 'optimize mass': 'ottimizza la massa', + overwrite: 'sovrasscrivi', + PHRASE_IMPORT: 'Incolla un JSON o importalo qua', + penetration: 'penetrazione', + power: 'potenza', + priority: 'priorità', + proceed: 'procedi', + range: 'distanza', + rate: 'rateo', + recharge: 'ricarica', + reload: 'ricarica', + rename: 'rinomina', + repair: 'ripara', + reset: 'resetta', + retracted: 'retratti', + 'retrofit costs': 'costi di retrofit', + 'retrofit from': 'retrofit da', + save: 'salva', + sell: 'vendi', + settings: 'impostazioni', + shields: 'scudi', + ship: 'nave', + ships: 'navi', + shortened: 'accorciato', + size: 'grandezza', + skip: 'salta', + small: 'piccolo', + speed: 'velocità', + Stock: 'appena comprata', + t: 'Motori', + time: 'tempo', + total: 'totale', + 'total range': 'distanza totale', + turret: 'turrette', + type: 'tipo', + unladen: 'scarico', + PHRASE_UPDATE_RDY: 'Aggiornamenti disponibili ! Clicca per Aggiornare', + utility: 'supporti', + 'utility mounts': 'supporti di utilità', + version: 'versione', + yes: 'sì', + PHRASE_BACKUP_DESC: 'Esportazione di tutti i dati su Coriolis per salvarli o trasferirli in un altro Browser/dispositivo' + }); }]); diff --git a/app/js/i18n/languages.js b/app/js/i18n/languages.js index 91e59fc9..ad57247a 100644 --- a/app/js/i18n/languages.js +++ b/app/js/i18n/languages.js @@ -3,12 +3,12 @@ angular.module('app').config(['$translateProvider', function($translateProvider) .useSanitizeValueStrategy('escapeParameters') .useStorage('Persist') .fallbackLanguage('en') // Use English as default/fallback language - .registerAvailableLanguageKeys(['en', 'de', 'it', 'fr', 'ru'], { // TODO: add 'es' to the array when ready + .registerAvailableLanguageKeys(['en', 'de', 'es', 'fr', 'it', 'ru'], { 'en*': 'en', 'de*': 'de', - 'it*': 'it', - //'es*': 'es', + 'es*': 'es', 'fr*': 'fr', + 'it*': 'it', 'ru*': 'ru' }) .determinePreferredLanguage(); @@ -17,7 +17,7 @@ angular.module('app').config(['$translateProvider', function($translateProvider) en: 'English', de: 'Deutsh', it: 'Italiano', - //es: 'Español', + es: 'Español', fr: 'Français', ru: 'ру́сский' }); diff --git a/app/js/shipyard/factory-ship.js b/app/js/shipyard/factory-ship.js index e89187a4..bae22d2b 100755 --- a/app/js/shipyard/factory-ship.js +++ b/app/js/shipyard/factory-ship.js @@ -398,7 +398,9 @@ angular.module('shipyard').factory('Ship', ['Components', 'calcShieldStrength', }; Ship.prototype.updateTopSpeed = function() { - this.topSpeed = calcSpeed(this.unladenMass + this.fuelCapacity, this.speed, this.common[1].c, this.pipSpeed)['4 Pips']; + var speeds = calcSpeed(this.unladenMass + this.fuelCapacity, this.speed, this.boost, this.common[1].c, this.pipSpeed); + this.topSpeed = speeds['4 Pips']; + this.topBoost = speeds.boost; }; Ship.prototype.updateShieldStrength = function() { diff --git a/app/js/shipyard/module-shipyard.js b/app/js/shipyard/module-shipyard.js index 779c50ad..514acadc 100755 --- a/app/js/shipyard/module-shipyard.js +++ b/app/js/shipyard/module-shipyard.js @@ -33,7 +33,7 @@ angular.module('shipyard', ['ngLodash']) sc: 'Scanner', am: 'Auto Field-Maintenance Unit', cr: 'Cargo Rack', - fi: 'FSD Interdictor', + fi: 'Frame Shift Drive Interdictor', hb: 'Hatch Breaker Limpet Controller', hr: 'Hull Reinforcement Package', rf: 'Refinery', @@ -87,7 +87,7 @@ angular.module('shipyard', ['ngLodash']) }, { // 1 title: 'speed', - props: ['topSpeed', 'boost'], + props: ['topSpeed', 'topBoost'], lbls: ['thrusters', 'boost'], unit: 'm/s', fmt: 'fCrd' @@ -233,16 +233,19 @@ angular.module('shipyard', ['ngLodash']) * * @param {number} mass Current mass of the ship * @param {number} baseSpeed Base speed m/s for ship + * @param {number} baseBoost Base boost speed m/s for ship * @param {object} thrusters The Thrusters used * @param {number} pipSpeed Speed pip multiplier * @return {object} Approximate speed by pips */ - .value('calcSpeed', function(mass, baseSpeed, thrusters, pipSpeed) { - var speed = baseSpeed * ((1 - thrusters.M) + (thrusters.M * Math.pow(3 - (2 * Math.max(0.5, mass / thrusters.optmass)), thrusters.P))); + .value('calcSpeed', function(mass, baseSpeed, baseBoost, thrusters, pipSpeed) { + var multiplier = mass > thrusters.maxmass ? 0 : ((1 - thrusters.M) + (thrusters.M * Math.pow(3 - (2 * Math.max(0.5, mass / thrusters.optmass)), thrusters.P))); + var speed = baseSpeed * multiplier; return { '0 Pips': speed * (1 - (pipSpeed * 4)), '2 Pips': speed * (1 - (pipSpeed * 2)), - '4 Pips': speed + '4 Pips': speed, + 'boost': baseBoost * multiplier }; }); diff --git a/app/less/charts.less b/app/less/charts.less index 814a79ee..13a6be5a 100755 --- a/app/less/charts.less +++ b/app/less/charts.less @@ -39,12 +39,14 @@ svg { fill: @primary-disabled; } - &.y { - text tspan:first-child { - fill: @primary; - } - } + } + .label { + text-transform: capitalize; + } + + .metric { + text-transform: none; } .marker { diff --git a/app/views/_slot-hardpoint.html b/app/views/_slot-hardpoint.html index 4ce689bc..14d211fc 100755 --- a/app/views/_slot-hardpoint.html +++ b/app/views/_slot-hardpoint.html @@ -12,6 +12,6 @@