From 8fa06f829da722782ae1c506bc42c48a9787ecdd Mon Sep 17 00:00:00 2001 From: Sarah Moliner-Roy Date: Thu, 14 Mar 2019 20:02:38 -0700 Subject: [PATCH 1/2] VIV-25729 Use .locale --- code/book/FindPods.js | 5 +- code/find/FindSpaceResorts.js | 4 +- code/find/SelectResort.js | 4 +- code/find/lib/main.js | 15 +- code/find/lib/spaceResorts.js | 499 +++++++++++++++-------------- resources/base/book.endpoints.bxb | 2 +- resources/base/find.endpoints.bxb | 4 +- resources/en/capsule.properties | 1 - resources/ko-KR/capsule.properties | 1 - 9 files changed, 266 insertions(+), 269 deletions(-) delete mode 100644 resources/en/capsule.properties delete mode 100644 resources/ko-KR/capsule.properties diff --git a/code/book/FindPods.js b/code/book/FindPods.js index 3a3d1da..b3d09e5 100644 --- a/code/book/FindPods.js +++ b/code/book/FindPods.js @@ -1,6 +1,5 @@ -var config = require('config') -module.exports.function = function (spaceResort, numberOfAstronauts, dateInterval) { - switch (config.get("locale")) { +module.exports.function = function (spaceResort, numberOfAstronauts, dateInterval, $vivContext) { + switch ($vivContext.locale.split('-')[0]) { case "ko" : return [{ name: "허니문", diff --git a/code/find/FindSpaceResorts.js b/code/find/FindSpaceResorts.js index 2b41a88..3565d85 100644 --- a/code/find/FindSpaceResorts.js +++ b/code/find/FindSpaceResorts.js @@ -1,5 +1,5 @@ const main = require("./lib/main.js") -module.exports.function = function findSpaceResorts (name, planet, searchCriteria) { - return main.findSpaceResorts(name, planet, searchCriteria); +module.exports.function = function findSpaceResorts (name, planet, searchCriteria, $vivContext) { + return main.findSpaceResorts(name, planet, searchCriteria, $vivContext); } diff --git a/code/find/SelectResort.js b/code/find/SelectResort.js index e94d778..4ea2a48 100644 --- a/code/find/SelectResort.js +++ b/code/find/SelectResort.js @@ -1,5 +1,5 @@ const main = require("./lib/main.js") -module.exports.function = function (resorts, name, planet, searchCriteria) { - return main.selectSpaceResorts(resorts, name, planet, searchCriteria); +module.exports.function = function (resorts, name, planet, searchCriteria, $vivContext) { + return main.selectSpaceResorts(resorts, name, planet, searchCriteria, $vivContext); } \ No newline at end of file diff --git a/code/find/lib/main.js b/code/find/lib/main.js index d15b41f..65a9292 100644 --- a/code/find/lib/main.js +++ b/code/find/lib/main.js @@ -1,6 +1,5 @@ const data = require("./spaceResorts.js") const sorts = require("./sorts.js") -var config = require('config') var textLib = require('textLib') module.exports = { @@ -8,12 +7,12 @@ module.exports = { "selectSpaceResorts": selectSpaceResorts } -function findSpaceResorts(name, planet, searchCriteria) { - return filterSpaceResorts(data, name, planet, searchCriteria) +function findSpaceResorts(name, planet, searchCriteria, $vivContext) { + return filterSpaceResorts(data($vivContext.locale), name, planet, searchCriteria, $vivContext) } -function selectSpaceResorts(resorts, name, planet, searchCriteria) { - var candidates = data; +function selectSpaceResorts(resorts, name, planet, searchCriteria, $vivContext) { + var candidates = data($vivContext.locale); if (resorts) { //keep candidates that are in resorts (not a efficient!) candidates = candidates.filter(function(candidate) { @@ -24,11 +23,11 @@ function selectSpaceResorts(resorts, name, planet, searchCriteria) { }) }) } - candidates = filterSpaceResorts(candidates, name, planet, searchCriteria) + candidates = filterSpaceResorts(candidates, name, planet, searchCriteria, $vivContext) return candidates } -function filterSpaceResorts(candidates, name, planet, searchCriteria) { +function filterSpaceResorts(candidates, name, planet, searchCriteria, $vivContext) { if (name) { candidates = candidates.filter(function(candidate){ @@ -50,7 +49,7 @@ function filterSpaceResorts(candidates, name, planet, searchCriteria) { return amenity.keywords.find(function(keyword) { keyword = keyword.toLowerCase() - if (config.get("locale") == "ko") { + if ($vivContext.locale.split('-')[0] === "ko") { return textLib.levenshteinDistance(keyword, searchCriterion) < 1 } else { diff --git a/code/find/lib/spaceResorts.js b/code/find/lib/spaceResorts.js index c1126dc..0f41c5c 100644 --- a/code/find/lib/spaceResorts.js +++ b/code/find/lib/spaceResorts.js @@ -5,253 +5,254 @@ const images = require("./images.js") const names = require("./names.js") const planets = require("./planets.js") -// Extract the right locale translation -function loc (data) { - if (data) { - return data[config.get("locale")] +module.exports = function(locale) { + // Generate the right locale translation + var language = locale.split('-')[0]; + function loc (data) { + if (data) { + return data[language] + } } -} - -module.exports = [ - { - name: loc(names.Mercurial), - planet: planets.Mercury, - gravity: 0.38, - description: loc(descriptions.Mercurial), - amenities: [loc(amenities.CraterCanyoneering), loc(amenities.PetFriendly), loc(amenities.RoverRentals)], - highlight: loc(highlights.Mercurial), - images: images.Mercurial, - all: true - }, - { - name: loc(names.Icarus), - planet: planets.Mercury, - gravity: 0.38, - description: loc(descriptions.Icarus), - amenities: [loc(amenities.SpaceshipRentals), loc(amenities.Refueling), loc(amenities.QuantumBungee), loc(amenities.LaserTag), loc(amenities.ExoskeletonDemos), loc(amenities.Cantina), loc(amenities.CraterCanyoneering), loc(amenities.PetFriendly), loc(amenities.RoverRentals)], - highlight: loc(highlights.Icarus), - images: images.Icarus, - all: true - }, - { - name: loc(names.VenusSpaceSpa), - planet: planets.Venus, - gravity: 0.904, - description: loc(descriptions.VenusSpaceSpa), - amenities: [loc(amenities.CryoSpa), loc(amenities.SwimmingPool), loc(amenities.SubAtomicMagic), loc(amenities.OxygenBar), loc(amenities.ExtracontinentalBreakfast)], - highlight: loc(highlights.VenusSpaceSpa), - images: images.VenusSpaceSpa, - all: true - }, - { - name: loc(names.HoneyMoon), - planet: planets.Earth, - gravity: 0.1654, - description: loc(descriptions.HoneyMoon), - amenities: [loc(amenities.ARSafari), loc(amenities.RoverRentals), loc(amenities.CryoSpa), loc(amenities.SwimmingPool), loc(amenities.OxygenBar), loc(amenities.HydroponicGardens), loc(amenities.ContinentalBreakfast)], - highlight: loc(highlights.HoneyMoon), - images: images.HoneyMoon, - all: true - }, - { - name: loc(names.MartianOasis), - planet: planets.Mars, - gravity: 0.376, - description: loc(descriptions.MartianOasis), - amenities: [loc(amenities.ExtracontinentalBreakfast), loc(amenities.HydroponicGardens), loc(amenities.RoverRentals), loc(amenities.TerraformingMuseum), loc(amenities.SwimmingPool), loc(amenities.CryoSpa), loc(amenities.Cantina)], - highlight: loc(highlights.MartianOasis), - images: images.MartianOasis, - all: true - }, - { - name: loc(names.SpaceY), - planet: planets.Mars, - gravity: 0.376, - description: loc(descriptions.SpaceY), - amenities: [loc(amenities.TerraformingMuseum), loc(amenities.RoverRentals), loc(amenities.RobotRepairs), loc(amenities.QuantumBungee), loc(amenities.ExoskeletonDemos), loc(amenities.CaveDiving), loc(amenities.BuildABot)], - highlight: loc(highlights.SpaceY), - images: images.SpaceY, - all: true - }, - { - name: loc(names.IoTel), - planet: planets.Jupiter, - gravity: 0.183, - description: loc(descriptions.IoTel), - amenities: [loc(amenities.VolcanicSpelunking), loc(amenities.OrbitalZiplining), loc(amenities.CraterCanyoneering), loc(amenities.ScienceBase), loc(amenities.PrimordialOozeSampling), loc(amenities.RoverRentals), loc(amenities.ExoskeletonDemos), loc(amenities.Refueling)], - highlight: loc(highlights.IoTel), - images: images.IoTel, - all: true - }, - { - name: loc(names.EuropaJewel), - planet: planets.Jupiter, - gravity: 0.134, - description: loc(descriptions.EuropaJewel), - amenities: [loc(amenities.TerraformingMuseum), loc(amenities.ContinentalBreakfast), loc(amenities.SubAtomicMagic), loc(amenities.GrowAClone), loc(amenities.KidFriendly), loc(amenities.OrbitalZiplining), loc(amenities.Cantina)], - highlight: loc(highlights.EuropaJewel), - images: images.EuropaJewel, - all: true - }, - { - name: loc(names.GanymedeMoonMotel), - planet: planets.Jupiter, - gravity: 0.146, - description: loc(descriptions.GanymedeMoonMotel), - amenities: [loc(amenities.OrbitalZiplining), loc(amenities.Refueling), loc(amenities.SpaceshipRentals), loc(amenities.RobotRepairs), loc(amenities.PetFriendly), loc(amenities.Cantina)], - highlight: loc(highlights.GanymedeMoonMotel), - images: images.GanymedeMoonMotel, - all: true - }, - { - name: loc(names.CallistoCamping), - planet: planets.Jupiter, - gravity: 0.126, - description: loc(descriptions.CallistoCamping), - amenities: [loc(amenities.ARSafari), loc(amenities.CraterCanyoneering), loc(amenities.ScienceBase), loc(amenities.OrbitalZiplining), loc(amenities.RoverRentals), loc(amenities.PrimordialOozeSampling), loc(amenities.SwimmingPool), loc(amenities.KidFriendly), loc(amenities.PetFriendly)], - highlight: loc(highlights.CallistoCamping), - images: images.CallistoCamping, - all: true - }, - { - name: loc(names.AirBB), - planet: planets.Jupiter, - gravity: 0.000001, - description: loc(descriptions.AirBB), - amenities: [loc(amenities.ZeroGravity), loc(amenities.VRBattleArena), loc(amenities.SpaceshipRentals), loc(amenities.Refueling), loc(amenities.QuantumBungee), loc(amenities.OrbitalZiplining), loc(amenities.LaserTag), loc(amenities.HologramTeleconferencing), loc(amenities.ExoskeletonDemos), loc(amenities.CentrifugeGym), loc(amenities.BuildABot), loc(amenities.AsteroidTrapeze)], - highlight: loc(highlights.AirBB), - images: images.AirBB, - all: true - }, - { - name: loc(names.Babylon), - planet: planets.Jupiter, - gravity: 0.000001, - description: loc(descriptions.Babylon), - amenities: [loc(amenities.ARSafari), loc(amenities.AsteroidTrapeze), loc(amenities.CentrifugeGym), loc(amenities.ContinentalBreakfast), loc(amenities.DeepSpaceMassage), loc(amenities.ExoskeletonDemos), loc(amenities.GeneTherapy), loc(amenities.HydroponicGardens), loc(amenities.KidFriendly), loc(amenities.OxygenBar), loc(amenities.ScienceBase), loc(amenities.ZeroGravity)], - highlight: loc(highlights.Babylon), - images: images.Babylon, - all: true - }, - { - name: loc(names.GrandTitan), - planet: planets.Saturn, - gravity: 0.14, - description: loc(descriptions.GrandTitan), - amenities: [loc(amenities.Casino), loc(amenities.HologramTeleconferencing), loc(amenities.VRBattleArena), loc(amenities.SwimmingPool), loc(amenities.CryoSpa), loc(amenities.BuildABot), loc(amenities.SubAtomicMagic), loc(amenities.Refueling), loc(amenities.ExoskeletonDemos), loc(amenities.SpaceshipRentals), loc(amenities.PetFriendly), loc(amenities.ExtracontinentalBreakfast)], - highlight: loc(highlights.GrandTitan), - images: images.GrandTitan, - all: true - }, - { - name: loc(names.HerschelHotel), - planet: planets.Saturn, - gravity: 0.00648, - description: loc(descriptions.HerschelHotel), - amenities: [loc(amenities.QuantumBungee), loc(amenities.OxygenBar), loc(amenities.HologramTeleconferencing), loc(amenities.AsteroidTrapeze), loc(amenities.ExtracontinentalBreakfast)], - highlight: loc(highlights.HerschelHotel), - images: images.HerschelHotel, - all: true - }, - { - name: loc(names.Robotel), - planet: planets.Saturn, - gravity: 0.000001, - description: loc(descriptions.Robotel), - amenities: [loc(amenities.ExoskeletonDemos), loc(amenities.SpaceshipRentals), loc(amenities.BuildABot), loc(amenities.Cantina), loc(amenities.VRBattleArena), loc(amenities.RobotRepairs), loc(amenities.QuantumBungee), loc(amenities.LaserTag), loc(amenities.ZeroGravity), loc(amenities.CentrifugeGym)], - highlight: loc(highlights.Robotel), - images: images.Robotel, - all: true - }, - { - name: loc(names.CassiniCruise), - planet: planets.Saturn, - gravity: 0.000001, - description: loc(descriptions.CassiniCruise), - amenities: [loc(amenities.CryoSpa), loc(amenities.DeepSpaceMassage), loc(amenities.ZeroGravity), loc(amenities.OxygenBar), loc(amenities.AsteroidTrapeze), loc(amenities.CentrifugeGym), loc(amenities.SubAtomicMagic), loc(amenities.Casino), loc(amenities.HologramTeleconferencing)], - highlight: loc(highlights.CassiniCruise), - images: images.CassiniCruise, - all: true - }, - { - name: loc(names.RheaRnDBnB), - planet: planets.Saturn, - gravity: 0.02692051, - description: loc(descriptions.RheaRnDBnB), - amenities: [loc(amenities.ScienceBase), loc(amenities.HydroponicGardens), loc(amenities.ARSafari), loc(amenities.PrimordialOozeSampling), loc(amenities.RoverRentals), loc(amenities.KidFriendly), loc(amenities.ExtracontinentalBreakfast)], - highlight: loc(highlights.RheaRnDBnB), - images: images.RheaRnDBnB, - all: true - }, - { - name: loc(names.SkyResort), - planet: planets.Saturn, - gravity: 0.02692051, - description: loc(descriptions.SkyResort), - amenities: [loc(amenities.RobotRepairs), loc(amenities.RoverRentals), loc(amenities.QuantumBungee), loc(amenities.ExoskeletonDemos), loc(amenities.CryoSpa), loc(amenities.KidFriendly), loc(amenities.ExtracontinentalBreakfast)], - highlight: loc(highlights.SkyResort), - images: images.SkyResort, - all: true - }, - { - name: loc(names.BellaTitania), - planet: planets.Uranus, - gravity: 0.03864724, - description: loc(descriptions.BellaTitania), - amenities: [loc(amenities.GeneTherapy), loc(amenities.GrowAClone), loc(amenities.ExoskeletonDemos), loc(amenities.Casino), loc(amenities.SwimmingPool), loc(amenities.CryoSpa), loc(amenities.DeepSpaceMassage), loc(amenities.OxygenBar), loc(amenities.CentrifugeGym), loc(amenities.ExtracontinentalBreakfast)], - highlight: loc(highlights.BellaTitania), - images: images.BellaTitania, - all: true - }, - { - name: loc(names.UpsideDownSpaceStation), - planet: planets.Uranus, - gravity: 0.000001, - description: loc(descriptions.UpsideDownSpaceStation), - amenities: [loc(amenities.ScienceBase), loc(amenities.CryoSpa), loc(amenities.DeepSpaceMassage), loc(amenities.ZeroGravity), loc(amenities.OxygenBar), loc(amenities.AsteroidTrapeze), loc(amenities.CentrifugeGym)], - highlight: loc(highlights.UpsideDownSpaceStation), - images: images.UpsideDownSpaceStation, - all: true - }, - { - name: loc(names.TritonWaterPark), - planet: planets.Neptune, - gravity: 0.0794, - description: loc(descriptions.TritonWaterPark), - amenities: [loc(amenities.SwimmingPool), loc(amenities.KidFriendly),loc(amenities.ARSafari), loc(amenities.BuildABot), loc(amenities.PrimordialOozeSampling), loc(amenities.CaveDiving), loc(amenities.DeepSeaExploration)], - highlight: loc(highlights.TritonWaterPark), - images: images.TritonWaterPark, - all: true - }, - { - name: loc(names.NeptuneSpaceStation), - planet: planets.Neptune, - gravity: 0.000001, - description: loc(descriptions.NeptuneSpaceStation), - amenities: [loc(amenities.ZeroGravity), loc(amenities.VRBattleArena), loc(amenities.DeepSpaceMassage), loc(amenities.KidFriendly), loc(amenities.HologramTeleconferencing)], - highlight: loc(highlights.NeptuneSpaceStation), - images: images.NeptuneSpaceStation, - all: true - }, - { - name: loc(names.PlutoWinterLodge), - planet: planets.Pluto, - gravity: 0.063, - description: loc(descriptions.PlutoWinterLodge), - amenities: [loc(amenities.CryoSpa), loc(amenities.Refueling), loc(amenities.PetFriendly), loc(amenities.Cantina)], - highlight: loc(highlights.PlutoWinterLodge), - images: images.PlutoWinterLodge, - all: true - }, - { - name: loc(names.CharonsGrotto), - planet: planets.Pluto, - gravity: 0.02936783, - description: loc(descriptions.CharonsGrotto), - amenities: [loc(amenities.Casino), loc(amenities.GeneTherapy), loc(amenities.GrowAClone), loc(amenities.Cantina)], - highlight: undefined, - images: images.CharonsGrotto, - all: true - } -] -var config = require('config') \ No newline at end of file + return [ + { + name: loc(names.Mercurial), + planet: planets.Mercury, + gravity: 0.38, + description: loc(descriptions.Mercurial), + amenities: [loc(amenities.CraterCanyoneering), loc(amenities.PetFriendly), loc(amenities.RoverRentals)], + highlight: loc(highlights.Mercurial), + images: images.Mercurial, + all: true + }, + { + name: loc(names.Icarus), + planet: planets.Mercury, + gravity: 0.38, + description: loc(descriptions.Icarus), + amenities: [loc(amenities.SpaceshipRentals), loc(amenities.Refueling), loc(amenities.QuantumBungee), loc(amenities.LaserTag), loc(amenities.ExoskeletonDemos), loc(amenities.Cantina), loc(amenities.CraterCanyoneering), loc(amenities.PetFriendly), loc(amenities.RoverRentals)], + highlight: loc(highlights.Icarus), + images: images.Icarus, + all: true + }, + { + name: loc(names.VenusSpaceSpa), + planet: planets.Venus, + gravity: 0.904, + description: loc(descriptions.VenusSpaceSpa), + amenities: [loc(amenities.CryoSpa), loc(amenities.SwimmingPool), loc(amenities.SubAtomicMagic), loc(amenities.OxygenBar), loc(amenities.ExtracontinentalBreakfast)], + highlight: loc(highlights.VenusSpaceSpa), + images: images.VenusSpaceSpa, + all: true + }, + { + name: loc(names.HoneyMoon), + planet: planets.Earth, + gravity: 0.1654, + description: loc(descriptions.HoneyMoon), + amenities: [loc(amenities.ARSafari), loc(amenities.RoverRentals), loc(amenities.CryoSpa), loc(amenities.SwimmingPool), loc(amenities.OxygenBar), loc(amenities.HydroponicGardens), loc(amenities.ContinentalBreakfast)], + highlight: loc(highlights.HoneyMoon), + images: images.HoneyMoon, + all: true + }, + { + name: loc(names.MartianOasis), + planet: planets.Mars, + gravity: 0.376, + description: loc(descriptions.MartianOasis), + amenities: [loc(amenities.ExtracontinentalBreakfast), loc(amenities.HydroponicGardens), loc(amenities.RoverRentals), loc(amenities.TerraformingMuseum), loc(amenities.SwimmingPool), loc(amenities.CryoSpa), loc(amenities.Cantina)], + highlight: loc(highlights.MartianOasis), + images: images.MartianOasis, + all: true + }, + { + name: loc(names.SpaceY), + planet: planets.Mars, + gravity: 0.376, + description: loc(descriptions.SpaceY), + amenities: [loc(amenities.TerraformingMuseum), loc(amenities.RoverRentals), loc(amenities.RobotRepairs), loc(amenities.QuantumBungee), loc(amenities.ExoskeletonDemos), loc(amenities.CaveDiving), loc(amenities.BuildABot)], + highlight: loc(highlights.SpaceY), + images: images.SpaceY, + all: true + }, + { + name: loc(names.IoTel), + planet: planets.Jupiter, + gravity: 0.183, + description: loc(descriptions.IoTel), + amenities: [loc(amenities.VolcanicSpelunking), loc(amenities.OrbitalZiplining), loc(amenities.CraterCanyoneering), loc(amenities.ScienceBase), loc(amenities.PrimordialOozeSampling), loc(amenities.RoverRentals), loc(amenities.ExoskeletonDemos), loc(amenities.Refueling)], + highlight: loc(highlights.IoTel), + images: images.IoTel, + all: true + }, + { + name: loc(names.EuropaJewel), + planet: planets.Jupiter, + gravity: 0.134, + description: loc(descriptions.EuropaJewel), + amenities: [loc(amenities.TerraformingMuseum), loc(amenities.ContinentalBreakfast), loc(amenities.SubAtomicMagic), loc(amenities.GrowAClone), loc(amenities.KidFriendly), loc(amenities.OrbitalZiplining), loc(amenities.Cantina)], + highlight: loc(highlights.EuropaJewel), + images: images.EuropaJewel, + all: true + }, + { + name: loc(names.GanymedeMoonMotel), + planet: planets.Jupiter, + gravity: 0.146, + description: loc(descriptions.GanymedeMoonMotel), + amenities: [loc(amenities.OrbitalZiplining), loc(amenities.Refueling), loc(amenities.SpaceshipRentals), loc(amenities.RobotRepairs), loc(amenities.PetFriendly), loc(amenities.Cantina)], + highlight: loc(highlights.GanymedeMoonMotel), + images: images.GanymedeMoonMotel, + all: true + }, + { + name: loc(names.CallistoCamping), + planet: planets.Jupiter, + gravity: 0.126, + description: loc(descriptions.CallistoCamping), + amenities: [loc(amenities.ARSafari), loc(amenities.CraterCanyoneering), loc(amenities.ScienceBase), loc(amenities.OrbitalZiplining), loc(amenities.RoverRentals), loc(amenities.PrimordialOozeSampling), loc(amenities.SwimmingPool), loc(amenities.KidFriendly), loc(amenities.PetFriendly)], + highlight: loc(highlights.CallistoCamping), + images: images.CallistoCamping, + all: true + }, + { + name: loc(names.AirBB), + planet: planets.Jupiter, + gravity: 0.000001, + description: loc(descriptions.AirBB), + amenities: [loc(amenities.ZeroGravity), loc(amenities.VRBattleArena), loc(amenities.SpaceshipRentals), loc(amenities.Refueling), loc(amenities.QuantumBungee), loc(amenities.OrbitalZiplining), loc(amenities.LaserTag), loc(amenities.HologramTeleconferencing), loc(amenities.ExoskeletonDemos), loc(amenities.CentrifugeGym), loc(amenities.BuildABot), loc(amenities.AsteroidTrapeze)], + highlight: loc(highlights.AirBB), + images: images.AirBB, + all: true + }, + { + name: loc(names.Babylon), + planet: planets.Jupiter, + gravity: 0.000001, + description: loc(descriptions.Babylon), + amenities: [loc(amenities.ARSafari), loc(amenities.AsteroidTrapeze), loc(amenities.CentrifugeGym), loc(amenities.ContinentalBreakfast), loc(amenities.DeepSpaceMassage), loc(amenities.ExoskeletonDemos), loc(amenities.GeneTherapy), loc(amenities.HydroponicGardens), loc(amenities.KidFriendly), loc(amenities.OxygenBar), loc(amenities.ScienceBase), loc(amenities.ZeroGravity)], + highlight: loc(highlights.Babylon), + images: images.Babylon, + all: true + }, + { + name: loc(names.GrandTitan), + planet: planets.Saturn, + gravity: 0.14, + description: loc(descriptions.GrandTitan), + amenities: [loc(amenities.Casino), loc(amenities.HologramTeleconferencing), loc(amenities.VRBattleArena), loc(amenities.SwimmingPool), loc(amenities.CryoSpa), loc(amenities.BuildABot), loc(amenities.SubAtomicMagic), loc(amenities.Refueling), loc(amenities.ExoskeletonDemos), loc(amenities.SpaceshipRentals), loc(amenities.PetFriendly), loc(amenities.ExtracontinentalBreakfast)], + highlight: loc(highlights.GrandTitan), + images: images.GrandTitan, + all: true + }, + { + name: loc(names.HerschelHotel), + planet: planets.Saturn, + gravity: 0.00648, + description: loc(descriptions.HerschelHotel), + amenities: [loc(amenities.QuantumBungee), loc(amenities.OxygenBar), loc(amenities.HologramTeleconferencing), loc(amenities.AsteroidTrapeze), loc(amenities.ExtracontinentalBreakfast)], + highlight: loc(highlights.HerschelHotel), + images: images.HerschelHotel, + all: true + }, + { + name: loc(names.Robotel), + planet: planets.Saturn, + gravity: 0.000001, + description: loc(descriptions.Robotel), + amenities: [loc(amenities.ExoskeletonDemos), loc(amenities.SpaceshipRentals), loc(amenities.BuildABot), loc(amenities.Cantina), loc(amenities.VRBattleArena), loc(amenities.RobotRepairs), loc(amenities.QuantumBungee), loc(amenities.LaserTag), loc(amenities.ZeroGravity), loc(amenities.CentrifugeGym)], + highlight: loc(highlights.Robotel), + images: images.Robotel, + all: true + }, + { + name: loc(names.CassiniCruise), + planet: planets.Saturn, + gravity: 0.000001, + description: loc(descriptions.CassiniCruise), + amenities: [loc(amenities.CryoSpa), loc(amenities.DeepSpaceMassage), loc(amenities.ZeroGravity), loc(amenities.OxygenBar), loc(amenities.AsteroidTrapeze), loc(amenities.CentrifugeGym), loc(amenities.SubAtomicMagic), loc(amenities.Casino), loc(amenities.HologramTeleconferencing)], + highlight: loc(highlights.CassiniCruise), + images: images.CassiniCruise, + all: true + }, + { + name: loc(names.RheaRnDBnB), + planet: planets.Saturn, + gravity: 0.02692051, + description: loc(descriptions.RheaRnDBnB), + amenities: [loc(amenities.ScienceBase), loc(amenities.HydroponicGardens), loc(amenities.ARSafari), loc(amenities.PrimordialOozeSampling), loc(amenities.RoverRentals), loc(amenities.KidFriendly), loc(amenities.ExtracontinentalBreakfast)], + highlight: loc(highlights.RheaRnDBnB), + images: images.RheaRnDBnB, + all: true + }, + { + name: loc(names.SkyResort), + planet: planets.Saturn, + gravity: 0.02692051, + description: loc(descriptions.SkyResort), + amenities: [loc(amenities.RobotRepairs), loc(amenities.RoverRentals), loc(amenities.QuantumBungee), loc(amenities.ExoskeletonDemos), loc(amenities.CryoSpa), loc(amenities.KidFriendly), loc(amenities.ExtracontinentalBreakfast)], + highlight: loc(highlights.SkyResort), + images: images.SkyResort, + all: true + }, + { + name: loc(names.BellaTitania), + planet: planets.Uranus, + gravity: 0.03864724, + description: loc(descriptions.BellaTitania), + amenities: [loc(amenities.GeneTherapy), loc(amenities.GrowAClone), loc(amenities.ExoskeletonDemos), loc(amenities.Casino), loc(amenities.SwimmingPool), loc(amenities.CryoSpa), loc(amenities.DeepSpaceMassage), loc(amenities.OxygenBar), loc(amenities.CentrifugeGym), loc(amenities.ExtracontinentalBreakfast)], + highlight: loc(highlights.BellaTitania), + images: images.BellaTitania, + all: true + }, + { + name: loc(names.UpsideDownSpaceStation), + planet: planets.Uranus, + gravity: 0.000001, + description: loc(descriptions.UpsideDownSpaceStation), + amenities: [loc(amenities.ScienceBase), loc(amenities.CryoSpa), loc(amenities.DeepSpaceMassage), loc(amenities.ZeroGravity), loc(amenities.OxygenBar), loc(amenities.AsteroidTrapeze), loc(amenities.CentrifugeGym)], + highlight: loc(highlights.UpsideDownSpaceStation), + images: images.UpsideDownSpaceStation, + all: true + }, + { + name: loc(names.TritonWaterPark), + planet: planets.Neptune, + gravity: 0.0794, + description: loc(descriptions.TritonWaterPark), + amenities: [loc(amenities.SwimmingPool), loc(amenities.KidFriendly),loc(amenities.ARSafari), loc(amenities.BuildABot), loc(amenities.PrimordialOozeSampling), loc(amenities.CaveDiving), loc(amenities.DeepSeaExploration)], + highlight: loc(highlights.TritonWaterPark), + images: images.TritonWaterPark, + all: true + }, + { + name: loc(names.NeptuneSpaceStation), + planet: planets.Neptune, + gravity: 0.000001, + description: loc(descriptions.NeptuneSpaceStation), + amenities: [loc(amenities.ZeroGravity), loc(amenities.VRBattleArena), loc(amenities.DeepSpaceMassage), loc(amenities.KidFriendly), loc(amenities.HologramTeleconferencing)], + highlight: loc(highlights.NeptuneSpaceStation), + images: images.NeptuneSpaceStation, + all: true + }, + { + name: loc(names.PlutoWinterLodge), + planet: planets.Pluto, + gravity: 0.063, + description: loc(descriptions.PlutoWinterLodge), + amenities: [loc(amenities.CryoSpa), loc(amenities.Refueling), loc(amenities.PetFriendly), loc(amenities.Cantina)], + highlight: loc(highlights.PlutoWinterLodge), + images: images.PlutoWinterLodge, + all: true + }, + { + name: loc(names.CharonsGrotto), + planet: planets.Pluto, + gravity: 0.02936783, + description: loc(descriptions.CharonsGrotto), + amenities: [loc(amenities.Casino), loc(amenities.GeneTherapy), loc(amenities.GrowAClone), loc(amenities.Cantina)], + highlight: undefined, + images: images.CharonsGrotto, + all: true + } + ] +} \ No newline at end of file diff --git a/resources/base/book.endpoints.bxb b/resources/base/book.endpoints.bxb index 3fd5ad9..0ec37dd 100644 --- a/resources/base/book.endpoints.bxb +++ b/resources/base/book.endpoints.bxb @@ -27,7 +27,7 @@ endpoints { } action-endpoint (FindPods) { - accepted-inputs (spaceResort, numberOfAstronauts, dateInterval) + accepted-inputs (spaceResort, numberOfAstronauts, dateInterval, $vivContext) local-endpoint (book/FindPods.js) } diff --git a/resources/base/find.endpoints.bxb b/resources/base/find.endpoints.bxb index d78ce17..02b754b 100644 --- a/resources/base/find.endpoints.bxb +++ b/resources/base/find.endpoints.bxb @@ -2,12 +2,12 @@ endpoints { action-endpoints { action-endpoint (FindSpaceResorts) { - accepted-inputs (name, planet, searchCriteria) + accepted-inputs (name, planet, searchCriteria, $vivContext) local-endpoint (find/FindSpaceResorts.js) } action-endpoint (SelectResort) { - accepted-inputs (resorts, name, planet, searchCriteria) + accepted-inputs (resorts, name, planet, searchCriteria, $vivContext) local-endpoint (find/SelectResort.js) } diff --git a/resources/en/capsule.properties b/resources/en/capsule.properties deleted file mode 100644 index 606380f..0000000 --- a/resources/en/capsule.properties +++ /dev/null @@ -1 +0,0 @@ -config.default.locale=en \ No newline at end of file diff --git a/resources/ko-KR/capsule.properties b/resources/ko-KR/capsule.properties deleted file mode 100644 index 78132a1..0000000 --- a/resources/ko-KR/capsule.properties +++ /dev/null @@ -1 +0,0 @@ -config.default.locale=ko \ No newline at end of file From e623153c51d9e59fdf29b6d79e42073c8c50a01c Mon Sep 17 00:00:00 2001 From: Sarah Moliner-Roy Date: Thu, 14 Mar 2019 20:43:09 -0700 Subject: [PATCH 2/2] [VIV-25729] localized config example --- code/book/CommitOrder.js | 16 ++++++++++++++-- resources/base/book.endpoints.bxb | 2 +- resources/base/capsule.properties | 10 +++++++--- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/code/book/CommitOrder.js b/code/book/CommitOrder.js index 0478e48..75576fe 100644 --- a/code/book/CommitOrder.js +++ b/code/book/CommitOrder.js @@ -1,10 +1,22 @@ var dates = require('dates') var config = require('config') -module.exports.function = function (order) { +var console = require('console') +module.exports.function = function (order, $vivContext) { + var relevantHours = getLocalizedRelevantHours($vivContext) + console.info($vivContext.locale, "relevant hours", relevantHours) return { $id: "" + Math.floor(Math.random() * 10000000), item: order.item, buyer: order.buyer, - relevantDateTime: dates.ZonedDateTime.fromDate(order.item.dateInterval.start).minusHours(config.get("relevantHours")).getDateTime() + relevantDateTime: dates.ZonedDateTime.fromDate(order.item.dateInterval.start).minusHours(relevantHours).getDateTime() } } + +function getLocalizedRelevantHours($vivContext) { + switch($vivContext.locale.split('-')[0]) { + case "ko": + return config.get('ko.relevantHours') + default: + return config.get('base.relevantHours') + } +} \ No newline at end of file diff --git a/resources/base/book.endpoints.bxb b/resources/base/book.endpoints.bxb index 0ec37dd..09617a4 100644 --- a/resources/base/book.endpoints.bxb +++ b/resources/base/book.endpoints.bxb @@ -2,7 +2,7 @@ endpoints { action-endpoints { action-endpoint (CommitOrder) { - accepted-inputs (order) + accepted-inputs (order, $vivContext) local-endpoint (book/CommitOrder.js) } diff --git a/resources/base/capsule.properties b/resources/base/capsule.properties index 5f2b05b..bb3086e 100644 --- a/resources/base/capsule.properties +++ b/resources/base/capsule.properties @@ -1,5 +1,9 @@ ## Set the config mode of this capsule -capsule.config.mode=test +capsule.config.mode=default -# hold time in seconds -config.test.relevantHours=36 \ No newline at end of file +# Hold time in seconds +# Try different config modes and target locales to see different values be employed (see the CommitOrder.js Function logs) +config.default.base.relevantHours=34 +config.default.ko.relevantHours=35 +config.test.base.relevantHours=36 +config.test.ko.relevantHours=37 \ No newline at end of file