aboutsummaryrefslogtreecommitdiff
path: root/Map/Business/Stage.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-07-07 17:47:05 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-07-07 17:47:05 +0200
commitea7e94480fbba9114a02a27edacde18a798d7dd8 (patch)
tree5de5cb1d5322a4ff77762719f419a8800f627794 /Map/Business/Stage.swift
parent05b20556e641ca5b5cc824c24025a784042e2d4f (diff)
Localize the stage names
Diffstat (limited to 'Map/Business/Stage.swift')
-rw-r--r--Map/Business/Stage.swift135
1 files changed, 80 insertions, 55 deletions
diff --git a/Map/Business/Stage.swift b/Map/Business/Stage.swift
index 4b98ecc..ebee17f 100644
--- a/Map/Business/Stage.swift
+++ b/Map/Business/Stage.swift
@@ -24,106 +24,131 @@ struct Stage: Codable {
switch type {
case .general:
return Stage(
- i: "Genesis", ii: "Custom", iii: "Product (+rental)", iv: "Commodity (+utility)")
+ i: String(localized: "stage_type.general.stage_i"),
+ ii: String(localized: "stage_type.general.stage_ii"),
+ iii: String(localized: "stage_type.general.stage_iii"),
+ iv: String(localized: "stage_type.general.stage_iv"))
case .practice:
return Stage(
- i: "Novel", ii: "Emerging", iii: "Good", iv: "Best")
+ i: String(localized: "stage_type.practice.stage_i"),
+ ii: String(localized: "stage_type.practice.stage_ii"),
+ iii: String(localized: "stage_type.practice.stage_iii"),
+ iv: String(localized: "stage_type.practice.stage_iv"))
case .data:
return Stage(
- i: "Unmodelled", ii: "Divergent", iii: "Convergent", iv: "Modelled")
+ i: String(localized: "stage_type.data.stage_i"),
+ ii: String(localized: "stage_type.data.stage_ii"),
+ iii: String(localized: "stage_type.data.stage_iii"),
+ iv: String(localized: "stage_type.data.stage_iv"))
case .knowledge:
return Stage(
- i: "Concept", ii: "Hypothesis", iii: "Theory", iv: "Accepted")
+ i: String(localized: "stage_type.knowledge.stage_i"),
+ ii: String(localized: "stage_type.knowledge.stage_ii"),
+ iii: String(localized: "stage_type.knowledge.stage_iii"),
+ iv: String(localized: "stage_type.knowledge.stage_iv"))
case .ubiquity:
return Stage(
- i: "Rare", ii: "Slowly Increasing", iii: "Rapidly Increasing",
- iv: "Widespread in the applicable market / ecosystem")
+ i: String(localized: "stage_type.ubiquity.stage_i"),
+ ii: String(localized: "stage_type.ubiquity.stage_ii"),
+ iii: String(localized: "stage_type.ubiquity.stage_iii"),
+ iv: String(localized: "stage_type.ubiquity.stage_iv"))
case .certainty:
return Stage(
- i: "Poorly Understood / exploring the unknown",
- ii: "Rapid Increase In Learning / discovery becomes refining",
- iii: "Rapid increase in use / increasing fit for purpose",
- iv: "Commonly understood (in terms of use)")
+ i: String(localized: "stage_type.certainty.stage_i"),
+ ii: String(localized: "stage_type.certainty.stage_ii"),
+ iii: String(localized: "stage_type.certainty.stage_iii"),
+ iv: String(localized: "stage_type.certainty.stage_iv"))
case .publicationTypes:
return Stage(
i:
- "Describe the wonder of the thing / the discovery of some marvel / a new land / an unknown frontier",
+ String(localized: "stage_type.publication_types.stage_i"),
ii:
- "Focused on build / construct / awareness and learning / many models of explanation / no accepted forms / a wild west",
+ String(localized: "stage_type.publication_types.stage_ii"),
iii:
- "Maintenance / operations / installation / comparison between competing forms / feature analysis",
- iv: "Focused on use / increasingly an accepted, almost invisible component")
+ String(localized: "stage_type.publication_types.stage_iii"),
+ iv: String(localized: "stage_type.publication_types.stage_iv"))
case .market:
return Stage(
- i: "Undefined Market",
- ii: "Forming Market / an array of competing forms and models of understanding",
- iii: "Growing Market / consolidation to a few competing but more accepted forms",
- iv: "Mature Market / stabilised to an accepted form")
+ i: String(localized: "stage_type.market.stage_i"),
+ ii: String(localized: "stage_type.market.stage_ii"),
+ iii: String(localized: "stage_type.market.stage_iii"),
+ iv: String(localized: "stage_type.market.stage_iv"))
case .knowledgeManagement:
return Stage(
- i: "Uncertain", ii: "Learning on use / focused on testing prediction",
- iii: "Learning on operation / using prediction / verification", iv: "Known / accepted")
+ i: String(localized: "stage_type.knowledge_management.stage_i"),
+ ii: String(localized: "stage_type.knowledge_management.stage_ii"),
+ iii: String(localized: "stage_type.knowledge_management.stage_iii"),
+ iv: String(localized: "stage_type.knowledge_management.stage_iv"))
case .marketPerception:
return Stage(
- i: "Chaotic (non-linear) / domain of the \"crazy\"", ii: "Domain of \"experts\"",
- iii: "Increasing expectation of use / domain of \"professionals\"",
- iv: "Ordered (appearance of being linear) / trivial / formula to be applied")
+ i: String(localized: "stage_type.market_perception.stage_i"),
+ ii: String(localized: "stage_type.market_perception.stage_ii"),
+ iii: String(localized: "stage_type.market_perception.stage_iii"),
+ iv: String(localized: "stage_type.market_perception.stage_iv"))
case .userPerception:
return Stage(
- i: "Different / confusing / exciting / surprising / dangerous",
- ii: "Leading edge / emerging / unceirtanty over results",
- iii: "Increasingly common / disappointed if not used or available / feeling left behind",
- iv: "Standard / expected / feeling of shock if not used")
+ i: String(localized: "stage_type.user_perception.stage_i"),
+ ii: String(localized: "stage_type.user_perception.stage_ii"),
+ iii: String(localized: "stage_type.user_perception.stage_iii"),
+ iv: String(localized: "stage_type.user_perception.stage_iv"))
case .perceptionInIndustry:
return Stage(
- i: "Future source of competitive advantage / unpredictable / unknown",
- ii: "Seen as a scompetitive advantage / a differential / ROI / case examples",
- iii: "Advantage through implementation / features / this model is better than that",
- iv: "Cost of doing business / accepted / specific defined models")
+ i: String(localized: "stage_type.perception_in_industry.stage_i"),
+ ii: String(localized: "stage_type.perception_in_industry.stage_ii"),
+ iii: String(localized: "stage_type.perception_in_industry.stage_iii"),
+ iv: String(localized: "stage_type.perception_in_industry.stage_iv"))
case .focusOfValue:
return Stage(
- i: "High future worth but immediate investment",
- ii: "Seeking ways to profit and a ROI / seeking confirmation of value",
+ i: String(localized: "stage_type.focus_of_value.stage_i"),
+ ii: String(localized: "stage_type.focus_of_value.stage_ii"),
iii:
- "High profitability per unit / a valuable model / a feeling of understanding / focus on exploitation",
+ String(localized: "stage_type.focus_of_value.stage_iii"),
iv:
- "High volume / reducing margin / important but invisible / an essential component of something more complex"
+ String(localized: "stage_type.focus_of_value.stage_iv")
)
case .understanding:
return Stage(
- i: "Poorly Understood / unpredictable",
- ii: "Increasing understanding / development of measures",
- iii: "Increasing education / constant refinement of needs / measures",
- iv: "Believed to be well defined / stable / measurable")
+ i: String(localized: "stage_type.understanding.stage_i"),
+ ii: String(localized: "stage_type.understanding.stage_ii"),
+ iii: String(localized: "stage_type.understanding.stage_iii"),
+ iv: String(localized: "stage_type.understanding.stage_iv"))
case .comparison:
return Stage(
- i: "Constantly changing / a differential / unstable",
- ii: "Learning from others / testing the water / some evidential support",
- iii: "Competing models / feature difference / evidential support",
- iv: "Essential / any advantage is operational / accepted norm")
+ i: String(localized: "stage_type.comparison.stage_i"),
+ ii: String(localized: "stage_type.comparison.stage_ii"),
+ iii: String(localized: "stage_type.comparison.stage_iii"),
+ iv: String(localized: "stage_type.comparison.stage_iv"))
case .failure:
return Stage(
- i: "High / tolerated / assumed to be wrong",
- ii: "Moderate / unsurprising if wrong but disappointed",
+ i: String(localized: "stage_type.failure.stage_i"),
+ ii: String(localized: "stage_type.failure.stage_ii"),
iii:
- "Not tolerated / focus on constant improvement / assumed to be in the right direction / resistance to changing the model",
- iv: "Surprised by failure / focus on operational efficiency")
+ String(localized: "stage_type.failure.stage_iii"),
+ iv: String(localized: "stage_type.failure.stage_iv"))
case .marketAction:
return Stage(
- i: "Gambling / driven by gut", ii: "Exploring a \"found\" value",
- iii: "Market analysis / listening to customers", iv: "Metric driven / build what is needed")
+ i: String(localized: "stage_type.market_action.stage_i"),
+ ii: String(localized: "stage_type.market_action.stage_ii"),
+ iii: String(localized: "stage_type.market_action.stage_iii"),
+ iv: String(localized: "stage_type.market_action.stage_iv"))
case .efficiency:
return Stage(
- i: "Reducing the cost of change (experimentation)", ii: "Reducing cost of waste (Learning)",
- iii: "Reducing cost of waste (Learning)", iv: "Reducing cost of deviation (Volume)")
+ i: String(localized: "stage_type.efficiency.stage_i"),
+ ii: String(localized: "stage_type.efficiency.stage_ii"),
+ iii: String(localized: "stage_type.efficiency.stage_iii"),
+ iv: String(localized: "stage_type.efficiency.stage_iv"))
case .decisionDrivers:
return Stage(
- i: "Heritage / culture", ii: "Analyses & synthesis", iii: "Analyses & synthesis",
- iv: "Previous Experience")
+ i: String(localized: "stage_type.decision_drivers.stage_i"),
+ ii: String(localized: "stage_type.decision_drivers.stage_ii"),
+ iii: String(localized: "stage_type.decision_drivers.stage_iii"),
+ iv: String(localized: "stage_type.decision_drivers.stage_iv"))
case .behavior:
return Stage(
- i: "Uncertain when to use", ii: "Learning when to use", iii: "Learning through use",
- iv: "Known / common usage")
+ i: String(localized: "stage_type.behavior.stage_i"),
+ ii: String(localized: "stage_type.behavior.stage_ii"),
+ iii: String(localized: "stage_type.behavior.stage_iii"),
+ iv: String(localized: "stage_type.behavior.stage_iv"))
case .custom(let uuid):
if let customStagesData = UserDefaults.standard.data(forKey: "customStages"),
let customStagesList = try? JSONDecoder().decode(