|
- {{ capitalizeString(workforce.name) }}
+ {{
+ capitalizeString(
+ $t(`game.workforce_type.${workforce.name}`)
+ )
+ }}
|
{{ formatAmount(workforce.required) }}
diff --git a/src/features/planning/components/tools/PlanCOGM.vue b/src/features/planning/components/tools/PlanCOGM.vue
index 5774d82e..eafe33dc 100644
--- a/src/features/planning/components/tools/PlanCOGM.vue
+++ b/src/features/planning/components/tools/PlanCOGM.vue
@@ -169,39 +169,41 @@
">
- The cost of goods manufactured is calculated using plan settings
- that factor in production efficiency, recipe runtime, building
- degradation, input material costs, labor requirements, and
- associated labor costs. The final cost is shown per unit of
- output, based on quantity or full cost allocation.
+ {{ $t("plan.tools.cogm.info") }}
- Exchange Preferences
+
+ {{ $t("plan.tools.cogm.cx_preferences") }}
+
- Save
+ {{ $t("common.buttons.save") }}
- Reload
+ {{ $t("common.buttons.reload") }}
- Empire Ticker
+
+ {{ $t("plan.tools.cogm.empire_ticker") }}
+
- Planet Ticker
+
+ {{ $t("plan.tools.cogm.planet_ticker") }}
+
diff --git a/src/features/planning/components/tools/PlanCOGMTable.vue b/src/features/planning/components/tools/PlanCOGMTable.vue
index e5272bfb..60b4026c 100644
--- a/src/features/planning/components/tools/PlanCOGMTable.vue
+++ b/src/features/planning/components/tools/PlanCOGMTable.vue
@@ -25,24 +25,33 @@
- | Parameters |
+
+ {{ $t("plan.tools.cogm.table.parameters") }}
+ |
- | Recipe Runtime |
+
+ {{ $t("plan.tools.cogm.table.recipe_runtime") }}
+ |
{{ humanizeTimeMs(data.runtime) }} |
- {{ formatNumber(data.runtimeShare * 100) }} % / day
+ {{ formatNumber(data.runtimeShare * 100) }}
+ {{ $t("plan.tools.cogm.table.percent_day") }}
|
- | Efficiency |
+
+ {{ $t("plan.tools.cogm.table.efficiency") }}
+ |
{{ formatNumber(data.efficiency * 100) }} % |
- | Cost |
+ {{ $t("plan.tools.cogm.table.cost") }} |
- | Degradation |
+
+ {{ $t("plan.tools.cogm.table.degradation") }}
+ |
{{ formatNumber(data.degradationShare) }}
ȼ
@@ -56,18 +65,20 @@
|
- Materials
+ {{ $t("plan.tools.cogm.table.materials") }}
|
- Input Total |
+ {{ $t("plan.tools.cogm.table.input_total") }} |
{{ formatNumber(data.inputTotal) }}
ȼ
|
- | Material |
- ȼ / Unit |
- ȼ Total |
+ {{ $t("plan.tools.cogm.table.material") }} |
+ {{ $t("plan.tools.cogm.table.cost_unit") }} |
+
+ {{ $t("plan.tools.cogm.table.cost_total_unit") }}
+ |
- | Workforce |
+
+ {{ $t("plan.tools.cogm.table.workforce") }}
+ |
{{ formatNumber(data.workforceCost) }}
ȼ
@@ -101,31 +114,37 @@
|
- | Total Cost |
+
+ {{ $t("plan.tools.cogm.table.total_cost") }}
+ |
{{ formatNumber(data.totalCost) }}
ȼ
|
- | Recipe Profit |
+
+ {{ $t("plan.tools.cogm.table.recipe_profit") }}
+ |
{{ formatNumber(data.totalProfit) }}
ȼ
|
- | Cost of Goods Manufactured |
+ {{ $t("plan.tools.cogm.title") }} |
|
- COGM
+ {{ $t("plan.tools.cogm.cogm") }}
+ |
+ {{ $t("plan.tools.cogm.table.material") }} |
+ {{ $t("plan.tools.cogm.table.cost_split") }} |
+
+ {{ $t("plan.tools.cogm.table.cost_total") }}
|
- Material |
- Cost Split |
- Cost Total |
- Construction Cart
+ {{ $t("plan.tools.construction_cart.title") }}
- Base has unplanned {{ unplannedBuildings.join("+") }} (FIO:
- {{ fioUpdated }})
-
- Demolish to ensure area, habitation and materials are accurate
+ {{
+ $t("plan.tools.construction_cart.unplanned_info", {
+ buildings: unplannedBuildings.join("+"),
+ fio_updated: fioUpdated,
+ })
+ }}
@@ -352,20 +354,35 @@
- | Building |
- Built |
-
- Amount
-
-
-
-
-
-
- Insufficient habitation will reduce production efficiency
-
+ |
+ {{ $t("plan.tools.construction_cart.table.building") }}
+ |
+
+ {{ $t("plan.tools.construction_cart.table.built") }}
+ |
+
+
+ {{
+ $t("plan.tools.construction_cart.table.amount")
+ }}
+
+
+
+
+
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.habitation_info"
+ )
+ }}
+
+
+ |
+
+ {{ $t("plan.tools.construction_cart.table.planned") }}
|
- Planned |
|
- | Materials Sum |
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.materials_sum"
+ )
+ }}
+ |
- Total Cost
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.total_cost"
+ )
+ }}
+
{{ formatNumber(totalInformation.price) }}
@@ -450,14 +479,26 @@
- Total Weight
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.total_weight"
+ )
+ }}
+
{{ formatNumber(totalInformation.weight) }}
t
- Total Volume
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.total_volume"
+ )
+ }}
+
{{ formatNumber(totalInformation.volume) }}
@@ -474,11 +515,15 @@
- Material
+ {{ $t("plan.tools.construction_cart.table.material") }}
- Storage
+
+ {{
+ $t("plan.tools.construction_cart.table.storage")
+ }}
+
- | Material |
- Amount |
- Stock |
- Stock Override |
- Need |
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.material"
+ )
+ }}
+ |
+
+ {{
+ $t("plan.tools.construction_cart.table.amount")
+ }}
+ |
+
+ {{ $t("plan.tools.construction_cart.table.stock") }}
+ |
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.stock_override"
+ )
+ }}
+ |
+
+ {{ $t("plan.tools.construction_cart.table.need") }}
+ |
@@ -539,7 +604,13 @@
class="flex flex-row justify-between child:my-auto">
- Total Cost
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.total_cost"
+ )
+ }}
+
{{
formatNumber(
@@ -554,7 +625,13 @@
- Total Weight
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.total_weight"
+ )
+ }}
+
{{
formatNumber(
@@ -566,7 +643,13 @@
t
- Total Volume
+
+ {{
+ $t(
+ "plan.tools.construction_cart.table.total_volume"
+ )
+ }}
+
{{
formatNumber(
diff --git a/src/features/planning/components/tools/PlanPOPR.vue b/src/features/planning/components/tools/PlanPOPR.vue
index 89db2c21..ffceb99d 100644
--- a/src/features/planning/components/tools/PlanPOPR.vue
+++ b/src/features/planning/components/tools/PlanPOPR.vue
@@ -48,16 +48,15 @@
- Latest Population Report
+ {{ $t("plan.tools.popr.title") }}
- Error loading latest population report. The planet might not have
- population.
+ {{ $t("plan.tools.popr.error") }}
- Loading Population Report
+ {{ $t("plan.tools.popr.loading") }}
import { computed, ComputedRef, PropType, Ref, ref, watch } from "vue";
+ import { useI18n } from "vue-i18n";
+ const { t } = useI18n();
+
// Composables
import { usePrice } from "@/features/cx/usePrice";
import { useRepairAnalysis } from "@/features/repair_analysis/useRepairAnalysis";
@@ -201,13 +204,18 @@
- Repair Analysis
+
+ {{ $t("plan.tools.repair_analysis.title") }}
+
- Plan
+
+ {{ $t("plan.tools.repair_analysis.plan") }}
+
-
+
- Individual Building
+
+ {{ $t("plan.tools.repair_analysis.graph.individual_building") }}
+
-
+
- Repair Cost Breakdown
+
+ {{
+ $t(
+ "plan.tools.repair_analysis.graph.repair_cost_breakdown"
+ )
+ }}
+
= ref(20);
const refSelectedStorage: Ref = ref(
@@ -171,24 +172,22 @@
- Supply Cart
-
- The Supply Cart provides updates on your plans needs combined with
- existing inventory sourced from FIO. You have the flexibility to opt for
- alternative storage locations to replenish your base. Tailor your
- selection based on whether you wish to restock workforce and production
- supplies or focus on a specific category, and specify the duration for
- which the supplied stock should sustain.
-
- Use the
-
+ {{ $t("plan.tools.supply_cart.title") }}
+
+
+
+
+
- FIO Burn
-
- tool for more advanced supply cart options.
+ {{ $t("plan.tools.supply_cart.info.link") }}
+
-
+
@@ -197,33 +196,37 @@
- All
+ {{ $t("plan.tools.supply_cart.buttons.all") }}
- Workforce
+ {{ $t("plan.tools.supply_cart.buttons.workforce") }}
- Production
+ {{ $t("plan.tools.supply_cart.buttons.production") }}
- Stock Duration (days)
+
+ {{ $t("plan.tools.supply_cart.table.stock_duration") }}
+
- Storage
+
+ {{ $t("plan.tools.supply_cart.table.storage") }}
+
+ :transfer-name="t('plan.tools.supply_cart.table.xit_name')" />
-
+
-
+
{{ formatNumber(rowData.delta * -1) }}
-
+
{{ formatNumber(rowData.price * -1) }}
@@ -257,18 +269,24 @@
{{ formatAmount(rowData.stock) }}
-
+
{{ formatAmount(rowData.stockNeed) }}
-
+
{{ formatAmount(rowData.needLeft) }}
@@ -283,7 +301,10 @@
{{ formatNumber(rowData.needVolume) }}
-
+
-
+
- Daily Cost
+
+ {{
+ $t(
+ "plan.tools.supply_cart.table.daily_cost"
+ )
+ }}
+
{{ formatNumber(dailyCost) }}
ȼ
- Total Cost
+
+ {{
+ $t(
+ "plan.tools.supply_cart.table.total_cost"
+ )
+ }}
+
{{ formatNumber(totalCost) }}
@@ -339,14 +375,26 @@
- Total Weight
+
+ {{
+ $t(
+ "plan.tools.supply_cart.table.total_weight"
+ )
+ }}
+
{{ formatNumber(totalWeight) }}
t
- Total Volume
+
+ {{
+ $t(
+ "plan.tools.supply_cart.table.total_volume"
+ )
+ }}
+
{{ formatNumber(totalVolume) }}
diff --git a/src/features/planning/components/tools/PlanVisitationFrequency.vue b/src/features/planning/components/tools/PlanVisitationFrequency.vue
index 1db89c07..d9c21c07 100644
--- a/src/features/planning/components/tools/PlanVisitationFrequency.vue
+++ b/src/features/planning/components/tools/PlanVisitationFrequency.vue
@@ -222,15 +222,22 @@
- Visitation Frequency
+
+ {{ $t("plan.tools.visitation_frequency.title") }}
+
- Storage
-
-
-
- Your plan involves adding
+
+ {{ $t("plan.tools.visitation_frequency.storage.label") }}
+
+
+
+
@@ -244,55 +251,106 @@
}}
- , giving you a total storage capacity of
- {{ formatAmount(totalWeight) }} t and
- {{ formatAmount(totalVolume) }} m³.
-
-
- Your plan has a storage capacity of
- {{ formatAmount(totalWeight) }} t and
- {{ formatAmount(totalVolume) }}
- m³.
-
+ {{
+ formatAmount(totalWeight)
+ }}
+ {{
+ formatAmount(totalVolume)
+ }}
+
+
+
+ {{
+ formatAmount(totalWeight)
+ }}
+ {{
+ formatAmount(totalVolume)
+ }}
+
|
- t |
- m³ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.weight"
+ )
+ }}
+ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.volume"
+ )
+ }}
+ |
- | Import |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.import"
+ )
+ }}
+ |
{{ formatNumber(dailyData.dailyWeightImport) }} |
{{ formatNumber(dailyData.dailyVolumeImport) }} |
- | Export |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.export"
+ )
+ }}
+ |
{{ formatNumber(dailyData.dailyWeightExport) }} |
{{ formatNumber(dailyData.dailyVolumeExport) }} |
- | ∑ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.sum"
+ )
+ }}
+ |
{{ formatNumber(dailyData.dailyWeight) }} |
{{ formatNumber(dailyData.dailyVolume) }} |
- | Storage Filled |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.storage_filled"
+ )
+ }}
+ |
- {{ formatNumber(dailyData.storageFilled) }} days
+ {{ formatNumber(dailyData.storageFilled) }}
+ {{
+ $t(
+ "plan.tools.visitation_frequency.storage.table.filled_unit"
+ )
+ }}
|
- Exclude local materials from visitation frequency calculation
- for items handled exclusively planet-side, like local market
- sales, purchases or contracts.
+ {{
+ $t("plan.tools.visitation_frequency.storage.exclusion_info")
+ }}
- Shipping
+
+ {{ $t("plan.tools.visitation_frequency.shipping.label") }}
+
- | Ship t |
- Ship m³ |
- Visitation (days) |
- Limit |
- Visitation (days) |
- Limit |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.ship_weight"
+ )
+ }}
+ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.ship_volume"
+ )
+ }}
+ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.visitation_days"
+ )
+ }}
+ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.limit"
+ )
+ }}
+ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.visitation_days"
+ )
+ }}
+ |
+
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.limit"
+ )
+ }}
+ |
|
- Export Frequency
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.export_frequency"
+ )
+ }}
|
- Import Frequency
+ {{
+ $t(
+ "plan.tools.visitation_frequency.shipping.table.import_frequency"
+ )
+ }}
|
diff --git a/src/features/repair_analysis/components/DayRepairMaterialTable.vue b/src/features/repair_analysis/components/DayRepairMaterialTable.vue
index 8d8b43e0..dec34bcf 100644
--- a/src/features/repair_analysis/components/DayRepairMaterialTable.vue
+++ b/src/features/repair_analysis/components/DayRepairMaterialTable.vue
@@ -34,9 +34,11 @@
- | Material |
- Amount |
- Cost |
+ {{ $t("plan.tools.repair_analysis.table.material") }} |
+ {{ $t("plan.tools.repair_analysis.table.amount") }} |
+
+ {{ $t("plan.tools.repair_analysis.table.cost") }}
+ |
@@ -62,21 +64,39 @@
- Total Cost
+
+ {{
+ $t(
+ "plan.tools.repair_analysis.table.total_cost"
+ )
+ }}
+
{{ formatNumber(totalData.cost) }}
ȼ
- Total Weight
+
+ {{
+ $t(
+ "plan.tools.repair_analysis.table.total_weight"
+ )
+ }}
+
{{ formatNumber(totalData.weight) }}
t
- Total Volume
+
+ {{
+ $t(
+ "plan.tools.repair_analysis.table.total_volume"
+ )
+ }}
+
{{ formatNumber(totalData.volume) }}
diff --git a/src/locales/en_US/common.json b/src/locales/en_US/common.json
index e80606df..b7436a4e 100644
--- a/src/locales/en_US/common.json
+++ b/src/locales/en_US/common.json
@@ -33,6 +33,7 @@
"buttons": {
"create": "Create",
"save": "Save",
+ "save_as": "Save As",
"reload": "Reload",
"show": "Show",
"hide": "Hide",
@@ -43,6 +44,8 @@
"yes": "Yes",
"no": "No",
"delete": "Delete",
- "cancel": "Cancel"
+ "cancel": "Cancel",
+ "clone_plan": "Clone Plan",
+ "clone_complete": "Cloning Complete"
}
}
diff --git a/src/locales/en_US/game.json b/src/locales/en_US/game.json
index 8351bc83..b602cdb7 100644
--- a/src/locales/en_US/game.json
+++ b/src/locales/en_US/game.json
@@ -4,6 +4,21 @@
"PLANETARY": "Planetary",
"PRODUCTION": "Production"
},
+ "workforce_type": {
+ "pioneer": "Pioneer",
+ "settler": "Settler",
+ "technician": "Technician",
+ "engineer": "Engineer",
+ "scientist": "Scientist"
+ },
+ "efficiency_type": {
+ "WORKFORCE": "Workforce",
+ "HQ": "HQ",
+ "EXPERT": "Experts",
+ "COGC": "COGC",
+ "FERTILITY": "Fertility",
+ "FACTION": "Faction"
+ },
"expertise": {
"AGRICULTURE": "Agriculture",
"CHEMISTRY": "Chemistry",
diff --git a/src/locales/en_US/government.json b/src/locales/en_US/government.json
new file mode 100644
index 00000000..2a00d90b
--- /dev/null
+++ b/src/locales/en_US/government.json
@@ -0,0 +1,16 @@
+{
+ "popr_button": {
+ "no_data": "Planet {planet_id} has no population data",
+ "buttons": {
+ "no_popr": "No POPR"
+ },
+ "table": {
+ "total_population": "Total Population",
+ "free_population": "Free Population",
+ "free_population_pct": "Free Population %",
+ "unfilled_jobs": "Unfilled Jobs",
+ "plan_need": "@:terms.plan Need",
+ "plan_check": "@:terms.plan Check"
+ }
+ }
+}
diff --git a/src/locales/en_US/plan.json b/src/locales/en_US/plan.json
new file mode 100644
index 00000000..c45b530b
--- /dev/null
+++ b/src/locales/en_US/plan.json
@@ -0,0 +1,289 @@
+{
+ "notifications": {
+ "must_have_name": "Must set a plan name in Configuration to save"
+ },
+ "tools": {
+ "labels": {
+ "popr": "POPR",
+ "visitation_frequency": "Visitation Frequency",
+ "construction_cart": "Construction Cart",
+ "supply_cart": "Supply Cart",
+ "repair_analysis": "Repair Analysis",
+ "workforce": "Workforce"
+ },
+ "popr": {
+ "title": "Latest Population Report",
+ "error": "Error loading latest population report. The planet might not have population.",
+ "loading": "Loading Population Report"
+ },
+ "visitation_frequency": {
+ "title": "Visitation Frequency",
+ "storage": {
+ "label": "Storage",
+ "info": "Your plan involves adding {storages} giving you a total storage capacity of {total_weight} t and {total_volume} m³.",
+ "info_no_storage": "Your plan has a total storage capacity of {total_weight} t and {total_volume} m³.",
+ "table": {
+ "weight": "t",
+ "volume": "m³",
+ "import": "@:terms.import",
+ "export": "@:terms.export",
+ "sum": "@:terms.sum",
+ "storage_filled": "Storage Filled",
+ "filled_unit": "days"
+ },
+ "exclusion_info": "Exclude local materials from visitation frequency calculation for items handled exclusively planet-side, like local market sales, purchases or contracts."
+ },
+ "shipping": {
+ "label": "Shipping",
+ "table": {
+ "ship_weight": "Ship t",
+ "ship_volume": "Ship m³",
+ "visitation_days": "Visitation (days)",
+ "limit": "Limit",
+ "export_frequency": "@:terms.export Frequency",
+ "import_frequency": "@:terms.import Frequency"
+ }
+ }
+ },
+ "construction_cart": {
+ "title": "Construction Cart",
+ "unplanned_info": "Base has unplanned {buildings} (FIO: {fio_updated}). Demolish to ensure area, habitation and materials are accurate.",
+ "table": {
+ "building": "@:terms.buildings",
+ "built": "Built",
+ "amount": "Amount",
+ "habitation_info": "Insufficient habitation will reduce production efficiency.",
+ "planned": "Planned",
+ "materials_sum": "Materials Sum",
+ "total_cost": "Total Cost",
+ "total_weight": "@:terms.total_weight",
+ "total_volume": "@:terms.total_volume",
+ "material": "Material",
+ "storage": "Storage",
+ "stock": "Stock",
+ "stock_override": "Stock Override",
+ "need": "Need"
+ }
+ },
+ "supply_cart": {
+ "title": "Supply Cart",
+ "info": {
+ "p": "The Supply Cart provides updates on your plans needs combined with existing inventory sourced from FIO. You have the flexibility to opt for alternative storage locations to replenish your base. Tailor your selection based on whether you wish to restock workforce and production supplies or focus on a specific category, and specify the duration for which the supplied stock should sustain. Use the {link} tool for more advanced supply cart options.",
+ "link": "FIO Burn"
+ },
+ "buttons": {
+ "all": "All",
+ "workforce": "Workforce",
+ "production": "Production"
+ },
+ "table": {
+ "stock_duration": "Stock Duration (days)",
+ "storage": "Storage",
+ "xit_name": "Supply Cart",
+ "ticker": "Ticker",
+ "daily_need": "Daily Need",
+ "daily_cost": "Daily Cost",
+ "stock": "Stock",
+ "full_need": "Full Need",
+ "final_need": "Final Need",
+ "weight": "t",
+ "volume": "m³",
+ "workforce": "Workforce",
+ "production": "Production",
+ "total_cost": "Total Cost",
+ "total_weight": "@:terms.total_weight",
+ "total_volume": "@:terms.total_volume"
+ }
+ },
+ "repair_analysis": {
+ "title": "Repair Analysis",
+ "plan": "@:terms.plan",
+ "table": {
+ "select_day": "Select Day",
+ "material": "Material",
+ "amount": "Amount",
+ "cost": "Cost",
+ "total_cost": "Total Cost",
+ "total_weight": "@:terms.total_weight",
+ "total_volume": "@:terms.total_volume"
+ },
+ "graph": {
+ "select_building": "Select @:terms.buildings",
+ "individual_building": "Individual @:terms.buildings",
+ "repair_cost_breakdown": "Repair Cost Breakdown"
+ }
+ },
+ "cogm": {
+ "title": "Cost of Goods Manufactured",
+ "cogm": "@:terms.cogm",
+ "info": "The cost of goods manufactured is calculated using plan settings that factor in production efficiency, recipe runtime, building degradation, input material costs, labor requirements, and associated labor costs. The final cost is shown per unit of output, based on quantity or full cost allocation.",
+ "cx_preferences": "@:terms.cx_plural Preferences",
+ "empire_ticker": "@:terms.empire Ticker",
+ "planet_ticker": "@:terms.planet Ticker",
+ "table": {
+ "parameters": "Parameters",
+ "recipe_runtime": "@:terms.recipes Runtime",
+ "percent_day": "% / day",
+ "efficiency": "Efficiency",
+ "degradation": "Degradation",
+ "cost": "@:terms.cost",
+ "materials": "@:terms.materials_plural",
+ "input_total": "Input Total",
+ "material": "@:terms.materials",
+ "cost_unit": "ȼ / Unit",
+ "cost_total": "Cost Total",
+ "cost_total_unit": "ȼ Total",
+ "workforce": "Workforce",
+ "total_cost": "Total Cost",
+ "recipe_profit": "@:terms.recipes Profit",
+ "cost_split": "Cost Split"
+ }
+ }
+ },
+ "components": {
+ "status": {
+ "hq": "HQ",
+ "cogc": "@:{'terms.cogc'}:",
+ "area": "@:{'terms.area'}:",
+ "profit": "@:{'terms.profit'}:",
+ "experts": "@:{'terms.experts_plural'}:"
+ },
+ "configuration": {
+ "label": "Configuration",
+ "name": "Name",
+ "empire": "@:terms.empire"
+ },
+ "area": {
+ "permits": "@:terms.permits_plural",
+ "area": "@:terms.area",
+ "free": "Free"
+ },
+ "bonuses": {
+ "corp_hq": "Corp. HQ",
+ "corp_hq_tooltip": "The corporation you belong to has its headquarters on this planet (not your individual company).",
+ "cogc": "@:terms.cogc"
+ },
+ "infrastructure": {
+ "label": "Infrastructure",
+ "auto_optimize": "Auto-Optimize Habs",
+ "auto_optimize_tooltip": "Automatically optimize habitations to meet workforce needs as buildings are added.",
+ "buttons": {
+ "optimize_cost": "Optimize Cost",
+ "optimize_area": "Optimize Area"
+ }
+ },
+ "experts": {
+ "label": "Experts",
+ "warning": "Maximum number of experts on a base is 6. You currently have {expert_number} experts assigned."
+ },
+ "workforce": {
+ "label": "Workforce",
+ "table": {
+ "type": "Type",
+ "need": "Need",
+ "supply": "Supply",
+ "open": "Open",
+ "luxuries": "Luxuries",
+ "pct_eff": "Eff. %"
+ }
+ },
+ "overview": {
+ "label": "Overview",
+ "table": {
+ "daily_cost": "Daily Cost",
+ "degradation": "Degradation",
+ "plan_cost": "Plan Cost",
+ "daily_profit": "Daily Profit",
+ "roi": "ROI",
+ "profit_area": "@:terms.profit_per_area"
+ }
+ },
+ "storage": {
+ "label": "Storage",
+ "table": {
+ "weight": "t",
+ "volume": "m³",
+ "import": "@:terms.import",
+ "export": "@:terms.export",
+ "sum": "@:terms.sum",
+ "filled": "Filled"
+ }
+ },
+ "materialio": {
+ "label": "Material I/O",
+ "label_production": "Production",
+ "label_workforce": "Workforce",
+ "buttons": {
+ "toggle_weight_volume": "Toggle Weight & Volume",
+ "toggle_production_workforce": "Toggle Production & Workforce Split"
+ },
+ "table": {
+ "input": "In",
+ "output": "Out",
+ "delta": "Δ",
+ "cost_day": "ȼ / day",
+ "total_weight": "Δ t",
+ "total_volume": "Δ m³"
+ }
+ },
+ "save_as": {
+ "title": "Save As",
+ "form": {
+ "plan_name": "Name",
+ "plan_name_placeholder": "New @:terms.plan Name",
+ "empire": "@:terms.empire"
+ }
+ },
+ "production": {
+ "label": "Production",
+ "planet_resources": "@:terms.planets @:terms.resources_plural",
+ "form": {
+ "match_cogc": "Match @:terms.cogc",
+ "select_placeholder": "Select @:terms.buildings & Add to @:terms.plan"
+ },
+ "table": {
+ "building_recipe": "@:terms.buildings / @:terms.recipes",
+ "runtime": "Runtime",
+ "share": "Share",
+ "tools": "Tools"
+ }
+ },
+ "production_building": {
+ "no_recipe": "No Active @:terms.recipes_plural",
+ "qty": "Qty",
+ "buttons": {
+ "add_recipe": "@:terms.recipes"
+ },
+ "table": {
+ "expertise": "Expertise",
+ "efficiency": "Efficiency",
+ "revenue": "@:terms.revenue",
+ "area": "@:terms.area",
+ "construction": "Construction"
+ }
+ },
+ "production_recipe": {
+ "cogm_title": "Cost Of Goods Manufactured",
+ "cogm_error": "COGM Calculation not possible. Check your Management View if your Empire has a CX assigned.",
+ "buttons": {
+ "cogm": "@:terms.cogm"
+ },
+ "table": {
+ "input": "Input",
+ "time": "Time",
+ "output": "Output",
+ "daily_revenue": "ȼ / Day",
+ "profit_area": "ȼ / Area",
+ "roi": "ROI"
+ },
+ "info": {
+ "p1_strong": "Revenue / Day",
+ "p1": "is calculated by taking the daily income generated from a recipe and subtracting both the daily workforce cost (all luxuries provided) and the daily building degradation cost (1/180th of the construction cost). The income from the recipe is based on the difference between the input material costs and the output material values.",
+ "p2_strong": "ȼ / Area",
+ "p2": "is the daily revenue divided by the area for one production building and its proportionate share of the area for a CM and habs required for an optimal base of such buildings in Recipe ROI.",
+ "p3_strong": "ROI",
+ "p3": "is the time required for a continuously operating recipe to generate enough revenue to offset the building's construction cost. This considers daily degradation and workforce costs as well."
+ }
+ }
+ }
+}
diff --git a/src/locales/en_US/terms.json b/src/locales/en_US/terms.json
index b7ead843..5ee0ed83 100644
--- a/src/locales/en_US/terms.json
+++ b/src/locales/en_US/terms.json
@@ -1,7 +1,9 @@
{
"30d": "30D",
"7d": "7D",
+ "amount": "Amount",
"api_key": "API Key",
+ "area": "Area",
"ask": "Ask",
"bid": "Bid",
"buffer": "Buffer",
@@ -17,6 +19,8 @@
"demand": "Demand",
"empire": "Empire | Empires",
"exchanges": "Exchange | Exchanges",
+ "experts_plural": "Experts",
+ "experts": "Expert | Experts",
"faction": "Faction",
"fertility": "Fertility",
"filter": "Filter",
@@ -40,19 +44,24 @@
"production": "Production",
"profit_per_area": "Profit / Area",
"profit": "Profit",
+ "recipes_plural": "Recipes",
"recipes": "Recipe | Recipes",
"resources_plural": "Resources",
"resources": "Resource | Resources",
"revenue": "Revenue",
"rocky": "Rocky",
"spread": "Spread",
+ "storage": "Storage",
"supply": "Supply",
"surface": "Surface",
"temperature": "Temperature",
+ "total_volume": "Total Volume",
+ "total_weight": "Total Weight",
"trend": "Trend",
"volume": "Volume",
"vwap": "VWAP",
"weight": "Weight",
- "amount": "Amount",
- "storage": "Storage"
+ "import": "Import",
+ "export": "Export",
+ "sum": "∑"
}
diff --git a/src/views/PlanView.vue b/src/views/PlanView.vue
index 4d6511a7..4a917ef2 100644
--- a/src/views/PlanView.vue
+++ b/src/views/PlanView.vue
@@ -10,6 +10,9 @@
watch,
} from "vue";
+ import { useI18n } from "vue-i18n";
+ const { t } = useI18n();
+
// Naive UI
import { NModal } from "naive-ui";
@@ -602,8 +605,12 @@
- Clone Plan
- Cloning Complete
+
+ {{ $t("common.buttons.clone_plan") }}
+
+
+ {{ $t("common.buttons.clone_complete") }}
+
@@ -620,10 +627,14 @@
- {{ existing ? "Save" : "Create" }}
+ {{
+ existing
+ ? t("common.buttons.save")
+ : t("common.buttons.create")
+ }}
- Must set a plan name in Configuration to save
+ {{ $t("plan.notifications.must_have_name") }}
- Save As
+ {{ $t("common.buttons.save_as") }}
- Reload
+ {{ $t("common.buttons.reload") }}
+ class="flex flex-wrap grow @3xl:justify-end border-y border-white/10 gap-3 py-3 child:my-auto px-3">
- POPR
+ {{ $t("plan.tools.labels.popr") }}
- Visitation Frequency
+ {{ $t("plan.tools.labels.visitation_frequency") }}
- Construction Cart
+ {{ $t("plan.tools.labels.construction_cart") }}
- Supply Cart
+ {{ $t("plan.tools.labels.supply_cart") }}
- Repair Analysis
+ {{ $t("plan.tools.labels.repair_analysis") }}
@@ -724,7 +735,7 @@
class="flex flex-wrap sm:justify-center-safe gap-6">
- Configuration
+ {{ $t("plan.components.configuration.label") }}
- Infrastructure
+ {{ $t("plan.components.infrastructure.label") }}
@@ -795,7 +806,7 @@
- Experts
+ {{ $t("plan.components.experts.label") }}
@@ -832,7 +843,7 @@
class="flex flex-row flex-wrap sm:justify-center-safe gap-6">
- Workforce
+ {{ $t("plan.components.workforce.label") }}
- Material I/O
+
+ {{ $t("plan.components.materialio.label") }}
+
@@ -904,7 +917,11 @@
- Toggle Weight & Volume
+ {{
+ $t(
+ "plan.components.materialio.buttons.toggle_weight_volume"
+ )
+ }}
@@ -925,7 +942,11 @@
- Toggle Production & Workforce Split
+ {{
+ $t(
+ "plan.components.materialio.buttons.toggle_production_workforce"
+ )
+ }}
@@ -935,11 +956,23 @@
:show-basked="refMaterialIOShowBasked" />
- Production
+
+ {{
+ $t(
+ "plan.components.materialio.label_production"
+ )
+ }}
+
- Workforce
+
+ {{
+ $t(
+ "plan.components.materialio.label_workforce"
+ )
+ }}
+
@@ -955,15 +988,19 @@
v-model:show="refShowSaveAsModal"
class="w-120! max-w-[90vw]!"
preset="card"
- title="Save As">
+ :title="t('plan.components.save_as.title')">
-
+
+ :placeholder="
+ t('plan.components.save_as.form.plan_name_placeholder')
+ " />
-
+
- Cancel
+ {{ $t("common.buttons.cancel") }}
- Create
+ {{ $t("common.buttons.create") }}
| | | |