From 2180c36978b7a9e5bfd2456da22657200241e82e Mon Sep 17 00:00:00 2001 From: Ski90Moo Date: Mon, 4 May 2026 15:21:57 +0200 Subject: [PATCH 1/4] i18n: wrap ~76 user-facing strings with tr() across Schedules tab Wraps all user-facing string literals in the three Schedules sub-tabs (Schedule Sets, Schedules, Other Schedules) with Qt tr() calls to enable multi-language support, addressing issue #680. Files modified: - ScheduleSetInspectorView: 12 section/field labels - SchedulesView: 23 strings across ScheduleTabContent, ScheduleTabDefault, NewProfileView, DefaultScheduleDayView, SpecialScheduleDayView, ScheduleRuleView, ScheduleRulesetNameWidget, MonthView - ScheduleFileInspectorView: 15 field labels and combo box items - ScheduleDialog: 10 strings including runtime-appended values - ScheduleDayView + .hpp: 6 button/label strings; adds Q_DECLARE_TR_FUNCTIONS to 3 QGraphicsItem subclasses for tooltip tr() - ScheduleCompactInspectorView: 2 labels - ScheduleConstantInspectorView: 2 labels - ScheduleOthersController: 1 error message - ScheduleOthersView: 3 sidebar type names via QCoreApplication::translate() - MainRightColumnController: 9 sidebar nav strings via tr().toStdString() Adds Spanish translations for all new strings to OpenStudioApp_es.ts. Day-of-week single-letter buttons S/T marked unfinished pending source-level disambiguation (tr("S", "Sunday") etc.). Co-Authored-By: Claude Sonnet 4.6 --- .../MainRightColumnController.cpp | 62 +- .../ScheduleCompactInspectorView.cpp | 4 +- .../ScheduleConstantInspectorView.cpp | 4 +- src/openstudio_lib/ScheduleDayView.cpp | 18 +- src/openstudio_lib/ScheduleDayView.hpp | 4 + src/openstudio_lib/ScheduleDialog.cpp | 20 +- .../ScheduleFileInspectorView.cpp | 34 +- .../ScheduleOthersController.cpp | 2 +- src/openstudio_lib/ScheduleOthersView.cpp | 7 +- .../ScheduleSetInspectorView.cpp | 24 +- src/openstudio_lib/SchedulesView.cpp | 72 +-- translations/OpenStudioApp_es.ts | 553 ++++++++++++++++++ 12 files changed, 681 insertions(+), 123 deletions(-) diff --git a/src/openstudio_lib/MainRightColumnController.cpp b/src/openstudio_lib/MainRightColumnController.cpp index f19e3b4d1..a3f0df424 100644 --- a/src/openstudio_lib/MainRightColumnController.cpp +++ b/src/openstudio_lib/MainRightColumnController.cpp @@ -229,13 +229,13 @@ void MainRightColumnController::configureForSiteSubTab(int subTabID) { myModelList->setItemsDraggable(true); myModelList->setItemsRemoveable(false); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); myModelList->addModelObjectCategoryPlaceholder("Schedules"); setMyModelView(myModelList); @@ -246,13 +246,13 @@ void MainRightColumnController::configureForSiteSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); setLibraryView(myLibraryList); @@ -283,13 +283,13 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myModelList->setItemsDraggable(true); myModelList->setItemsRemoveable(false); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); myModelList->addModelObjectCategoryPlaceholder("Schedules"); setMyModelView(myModelList); @@ -300,15 +300,15 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); myLibraryList->addModelObjectCategoryPlaceholder("Schedule Sets"); setLibraryView(myLibraryList); @@ -326,7 +326,7 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Schedule Rulesets"); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Schedule Rulesets").toStdString()); myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); setLibraryView(myLibraryList); @@ -344,7 +344,7 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); // myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); diff --git a/src/openstudio_lib/ScheduleCompactInspectorView.cpp b/src/openstudio_lib/ScheduleCompactInspectorView.cpp index a5c2baf8e..39f0dc77a 100644 --- a/src/openstudio_lib/ScheduleCompactInspectorView.cpp +++ b/src/openstudio_lib/ScheduleCompactInspectorView.cpp @@ -48,7 +48,7 @@ void ScheduleCompactInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -61,7 +61,7 @@ void ScheduleCompactInspectorView::createLayout() { // Value - label = new QLabel("Content: "); + label = new QLabel(tr("Content: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/ScheduleConstantInspectorView.cpp b/src/openstudio_lib/ScheduleConstantInspectorView.cpp index 8f97db9b8..2a8c4d8f6 100644 --- a/src/openstudio_lib/ScheduleConstantInspectorView.cpp +++ b/src/openstudio_lib/ScheduleConstantInspectorView.cpp @@ -44,7 +44,7 @@ void ScheduleConstantInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -57,7 +57,7 @@ void ScheduleConstantInspectorView::createLayout() { // Value - label = new QLabel(" Value: "); + label = new QLabel(tr(" Value: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/ScheduleDayView.cpp b/src/openstudio_lib/ScheduleDayView.cpp index 94702e9bc..92f648c06 100644 --- a/src/openstudio_lib/ScheduleDayView.cpp +++ b/src/openstudio_lib/ScheduleDayView.cpp @@ -111,7 +111,7 @@ ScheduleDayView::ScheduleDayView(bool isIP, const model::ScheduleDay& scheduleDa hLayout->setContentsMargins(MARGINLEFT, 0, 0, 0); hLayout->setSpacing(10); - auto* label = new QLabel("Schedule Day Name:"); + auto* label = new QLabel(tr("Schedule Day Name:")); hLayout->addWidget(label); auto* lineEdit = new OSLineEdit2(); @@ -155,7 +155,7 @@ ScheduleDayView::ScheduleDayView(bool isIP, const model::ScheduleDay& scheduleDa zoomButtonGroup->addButton(hourlyZoomButton); - hourlyZoomButton->setText("Hourly"); + hourlyZoomButton->setText(tr("Hourly")); connect(hourlyZoomButton, &QPushButton::clicked, this, &ScheduleDayView::setHourlyZoom); zoomButtonLayout->addWidget(hourlyZoomButton); @@ -168,7 +168,7 @@ ScheduleDayView::ScheduleDayView(bool isIP, const model::ScheduleDay& scheduleDa zoomButtonGroup->addButton(quarterHourlyZoomButton); - quarterHourlyZoomButton->setText("15 Minutes"); + quarterHourlyZoomButton->setText(tr("15 Minutes")); connect(quarterHourlyZoomButton, &QPushButton::clicked, this, &ScheduleDayView::setQuarterHourlyZoom); zoomButtonLayout->addWidget(quarterHourlyZoomButton); @@ -181,7 +181,7 @@ ScheduleDayView::ScheduleDayView(bool isIP, const model::ScheduleDay& scheduleDa zoomButtonGroup->addButton(oneMinuteZommButton); - oneMinuteZommButton->setText("1 Minute"); + oneMinuteZommButton->setText(tr("1 Minute")); connect(oneMinuteZommButton, &QPushButton::clicked, this, &ScheduleDayView::setOneMinuteZoom); zoomButtonLayout->addWidget(oneMinuteZommButton); @@ -419,7 +419,7 @@ ScheduleLimitsView::ScheduleLimitsView(bool isIP, const boost::optional(&QDoubleSpinBox::valueChanged), scheduleDayView, &ScheduleDayView::onLowerViewLimitChanged); - label = new QLabel("Lower Limit: "); + label = new QLabel(tr("Lower Limit: ")); mainHLayout->addWidget(label); mainHLayout->addWidget(m_lowerViewLimitSpinBox); @@ -432,7 +432,7 @@ ScheduleLimitsView::ScheduleLimitsView(bool isIP, const boost::optional(&QDoubleSpinBox::valueChanged), scheduleDayView, &ScheduleDayView::onUpperViewLimitChanged); - label = new QLabel("Upper Limit: "); + label = new QLabel(tr("Upper Limit: ")); mainHLayout->addWidget(label); mainHLayout->addWidget(m_upperViewLimitSpinBox); @@ -771,7 +771,7 @@ CalendarSegmentItem::CalendarSegmentItem(QGraphicsItem* parent) m_isOutOfTypeLimits(false) { setAcceptHoverEvents(true); - setToolTip("Double click to cut segment"); + setToolTip(tr("Double click to cut segment")); setZValue(100); } @@ -973,7 +973,7 @@ void CalendarSegmentItem::setValue(double value) { VCalendarSegmentItem::VCalendarSegmentItem(QGraphicsItem* parent) : QGraphicsItem(parent), m_isHovering(false) { setAcceptHoverEvents(true); - setToolTip("Double click to delete segment"); + setToolTip(tr("Double click to delete segment")); setLength(LINEWIDTH * 3.0); } @@ -1147,7 +1147,7 @@ void VCalendarSegmentItem::setTime(double time) { ScheduleTypeLimitItem::ScheduleTypeLimitItem(bool isUpperLimit, QGraphicsItem* parent) : QGraphicsItem(parent), m_isUpperLimit(isUpperLimit) { setAcceptHoverEvents(true); - setToolTip("Schedule Type Limit"); + setToolTip(tr("Schedule Type Limit")); setZValue(90); } diff --git a/src/openstudio_lib/ScheduleDayView.hpp b/src/openstudio_lib/ScheduleDayView.hpp index 4d8997444..5b0747bd3 100644 --- a/src/openstudio_lib/ScheduleDayView.hpp +++ b/src/openstudio_lib/ScheduleDayView.hpp @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -415,6 +416,7 @@ class DayScheduleOverview : public QWidget class VCalendarSegmentItem : public QGraphicsItem { + Q_DECLARE_TR_FUNCTIONS(VCalendarSegmentItem) public: explicit VCalendarSegmentItem(QGraphicsItem* parent = nullptr); @@ -473,6 +475,7 @@ class VCalendarSegmentItem : public QGraphicsItem class CalendarSegmentItem : public QGraphicsItem { + Q_DECLARE_TR_FUNCTIONS(CalendarSegmentItem) public: explicit CalendarSegmentItem(QGraphicsItem* parent = nullptr); @@ -543,6 +546,7 @@ class CalendarSegmentItem : public QGraphicsItem class ScheduleTypeLimitItem : public QGraphicsItem { + Q_DECLARE_TR_FUNCTIONS(ScheduleTypeLimitItem) public: explicit ScheduleTypeLimitItem(bool isUpperLimit, QGraphicsItem* parent = nullptr); diff --git a/src/openstudio_lib/ScheduleDialog.cpp b/src/openstudio_lib/ScheduleDialog.cpp index 4f1faa273..f435577e7 100644 --- a/src/openstudio_lib/ScheduleDialog.cpp +++ b/src/openstudio_lib/ScheduleDialog.cpp @@ -91,7 +91,7 @@ void ScheduleDialog::createLayout() { } void ScheduleDialog::createLayoutInternal() { - okButton()->setText("Apply"); + okButton()->setText(tr("Apply")); // make all possible schedule type limits std::set scheduleTypes; @@ -118,7 +118,7 @@ void ScheduleDialog::createLayoutInternal() { QLabel* label = nullptr; - label = new QLabel("Define New Schedule", this); + label = new QLabel(tr("Define New Schedule"), this); label->setObjectName("H1"); upperLayout()->addWidget(label); @@ -136,7 +136,7 @@ void ScheduleDialog::createLayoutInternal() { vLayout = new QVBoxLayout(); vLayout->setSpacing(5); - label = new QLabel("Schedule Type", this); + label = new QLabel(tr("Schedule Type"), this); label->setObjectName("H2"); vLayout->addWidget(label); @@ -168,7 +168,7 @@ void ScheduleDialog::createLayoutInternal() { hLayout->setContentsMargins(0, 0, 10, 0); hLayout->setSpacing(5); - label = new QLabel("Numeric Type: ", this); + label = new QLabel(tr("Numeric Type: "), this); label->setObjectName("H2"); hLayout->addWidget(label); @@ -186,7 +186,7 @@ void ScheduleDialog::createLayoutInternal() { hLayout->setContentsMargins(0, 0, 10, 0); hLayout->setSpacing(5); - label = new QLabel("Lower Limit: ", this); + label = new QLabel(tr("Lower Limit: "), this); label->setObjectName("H2"); hLayout->addWidget(label); @@ -204,7 +204,7 @@ void ScheduleDialog::createLayoutInternal() { hLayout->setContentsMargins(0, 0, 10, 0); hLayout->setSpacing(5); - label = new QLabel("Upper Limit: ", this); + label = new QLabel(tr("Upper Limit: "), this); label->setObjectName("H2"); hLayout->addWidget(label); @@ -248,7 +248,7 @@ void ScheduleDialog::onCurrentIndexChanged(int index) { if (temp.isEmpty()) { unitsLabel.append(" ("); - unitsLabel.append("unitless"); + unitsLabel.append(tr("unitless")); unitsLabel.append(")"); } else { unitsLabel.append(" ("); @@ -264,7 +264,7 @@ void ScheduleDialog::onCurrentIndexChanged(int index) { if (numericType) { numericTypeLabel.append(toQString(*numericType)); } else { - numericTypeLabel.append("None"); + numericTypeLabel.append(tr("None")); } numericTypeLabel.append(unitsLabel); m_numericTypeLabel->setText(numericTypeLabel); @@ -288,7 +288,7 @@ void ScheduleDialog::onCurrentIndexChanged(int index) { lowerLimitLabel.append(unitsLabel); } else { - lowerLimitLabel.append("None"); + lowerLimitLabel.append(tr("None")); } m_lowerLimitLabel->setText(lowerLimitLabel); @@ -310,7 +310,7 @@ void ScheduleDialog::onCurrentIndexChanged(int index) { upperLimitLabel.append(unitsLabel); } else { - upperLimitLabel.append("None"); + upperLimitLabel.append(tr("None")); } m_upperLimitLabel->setText(upperLimitLabel); } diff --git a/src/openstudio_lib/ScheduleFileInspectorView.cpp b/src/openstudio_lib/ScheduleFileInspectorView.cpp index 746d5d236..42a80580a 100644 --- a/src/openstudio_lib/ScheduleFileInspectorView.cpp +++ b/src/openstudio_lib/ScheduleFileInspectorView.cpp @@ -56,7 +56,7 @@ void ScheduleFileInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -68,7 +68,7 @@ void ScheduleFileInspectorView::createLayout() { // FilePath ++row; - label = new QLabel("FilePath: "); + label = new QLabel(tr("FilePath: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -85,7 +85,7 @@ void ScheduleFileInspectorView::createLayout() { // Column Number vLayout = new QVBoxLayout(); - label = new QLabel("Column Number: "); + label = new QLabel(tr("Column Number: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -97,7 +97,7 @@ void ScheduleFileInspectorView::createLayout() { // Rows to Skip vLayout = new QVBoxLayout(); - label = new QLabel("Rows to Skip at Top: "); + label = new QLabel(tr("Rows to Skip at Top: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -114,7 +114,7 @@ void ScheduleFileInspectorView::createLayout() { // Number of Hours of Data vLayout = new QVBoxLayout(); - label = new QLabel("Number of Hours of Data: "); + label = new QLabel(tr("Number of Hours of Data: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -126,15 +126,15 @@ void ScheduleFileInspectorView::createLayout() { // Column Separator vLayout = new QVBoxLayout(); - label = new QLabel("Column Separator: "); + label = new QLabel(tr("Column Separator: ")); label->setObjectName("H2"); vLayout->addWidget(label); m_columnSeparator = new OSComboBox2(); - m_columnSeparator->addItem("Comma"); - m_columnSeparator->addItem("Tab"); - m_columnSeparator->addItem("Space"); - m_columnSeparator->addItem("Semicolon"); + m_columnSeparator->addItem(tr("Comma")); + m_columnSeparator->addItem(tr("Tab")); + m_columnSeparator->addItem(tr("Space")); + m_columnSeparator->addItem(tr("Semicolon")); m_columnSeparator->setEnabled(true); vLayout->addWidget(m_columnSeparator); @@ -145,7 +145,7 @@ void ScheduleFileInspectorView::createLayout() { // Interpolate vLayout = new QVBoxLayout(); - label = new QLabel("Interpolate to Timestep: "); + label = new QLabel(tr("Interpolate to Timestep: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -157,7 +157,7 @@ void ScheduleFileInspectorView::createLayout() { // Minutes per Item vLayout = new QVBoxLayout(); - label = new QLabel("Minutes per Item: "); + label = new QLabel(tr("Minutes per Item: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -175,7 +175,7 @@ void ScheduleFileInspectorView::createLayout() { // Adjust Schedule for Daylight Savings vLayout = new QVBoxLayout(); - label = new QLabel("Adjust Schedule for Daylight Savings: "); + label = new QLabel(tr("Adjust Schedule for Daylight Savings: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -187,7 +187,7 @@ void ScheduleFileInspectorView::createLayout() { // Translate File With Relative Path vLayout = new QVBoxLayout(); - label = new QLabel("Translate File With Relative Path: "); + label = new QLabel(tr("Translate File With Relative Path: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -204,13 +204,13 @@ void ScheduleFileInspectorView::createLayout() { mainGridLayout->addWidget(line, row, 0, 1, -1); row++; - label = new QLabel("Content: "); + label = new QLabel(tr("Content: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); ++row; - label = new QLabel("Number of Lines in file: "); + label = new QLabel(tr("Number of Lines in file: ")); label->setObjectName("H3"); mainGridLayout->addWidget(label, row, 0); @@ -225,7 +225,7 @@ void ScheduleFileInspectorView::createLayout() { ++row; - label = new QLabel("Display All File Content: "); + label = new QLabel(tr("Display All File Content: ")); label->setObjectName("H3"); mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/ScheduleOthersController.cpp b/src/openstudio_lib/ScheduleOthersController.cpp index f1f3b75ea..a3bb90ba3 100644 --- a/src/openstudio_lib/ScheduleOthersController.cpp +++ b/src/openstudio_lib/ScheduleOthersController.cpp @@ -32,7 +32,7 @@ void ScheduleOthersController::onAddObject(const openstudio::IddObjectType& iddO } case IddObjectType::OS_Schedule_Compact: { QMessageBox message(subTabView()); - message.setText("Creation of Schedule:Compact is not supported, you should use a ScheduleRuleset instead"); + message.setText(tr("Creation of Schedule:Compact is not supported, you should use a ScheduleRuleset instead")); message.exec(); return; } diff --git a/src/openstudio_lib/ScheduleOthersView.cpp b/src/openstudio_lib/ScheduleOthersView.cpp index 33c449133..16b20276a 100644 --- a/src/openstudio_lib/ScheduleOthersView.cpp +++ b/src/openstudio_lib/ScheduleOthersView.cpp @@ -15,6 +15,7 @@ #include #include +#include #include namespace openstudio { @@ -26,9 +27,9 @@ ScheduleOthersView::ScheduleOthersView(const openstudio::model::Model& model, QW std::vector> ScheduleOthersView::modelObjectTypesAndNames() { return {{ - {IddObjectType::OS_Schedule_Constant, "Schedule Constant"}, - {IddObjectType::OS_Schedule_Compact, "Schedule Compact"}, - {IddObjectType::OS_Schedule_File, "Schedule File"}, + {IddObjectType::OS_Schedule_Constant, QCoreApplication::translate("ScheduleOthersView", "Schedule Constant").toStdString()}, + {IddObjectType::OS_Schedule_Compact, QCoreApplication::translate("ScheduleOthersView", "Schedule Compact").toStdString()}, + {IddObjectType::OS_Schedule_File, QCoreApplication::translate("ScheduleOthersView", "Schedule File").toStdString()}, }}; } diff --git a/src/openstudio_lib/ScheduleSetInspectorView.cpp b/src/openstudio_lib/ScheduleSetInspectorView.cpp index 801d55c12..1c92770df 100644 --- a/src/openstudio_lib/ScheduleSetInspectorView.cpp +++ b/src/openstudio_lib/ScheduleSetInspectorView.cpp @@ -532,7 +532,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); label->setWordWrap(true); - label->setText("Name"); + label->setText(tr("Name")); m_nameEdit = new OSLineEdit2(); @@ -561,7 +561,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW row++; label = new QLabel(); - label->setText("Default Schedules"); + label->setText(tr("Default Schedules")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, 0, 1, 2); @@ -569,7 +569,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Hours of Operation"); + label->setText(tr("Hours of Operation")); m_hoursOfOperationVC = new HoursOfOperationVC(); m_vectorControllers.push_back(m_hoursOfOperationVC); m_hoursOfOperationDZ = new OSDropZone(m_hoursOfOperationVC); @@ -579,7 +579,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Number of People"); + label->setText(tr("Number of People")); m_numberOfPeopleVC = new NumberOfPeopleVC(); m_vectorControllers.push_back(m_numberOfPeopleVC); m_numberOfPeopleDZ = new OSDropZone(m_numberOfPeopleVC); @@ -591,7 +591,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("People Activity"); + label->setText(tr("People Activity")); m_peopleActivityScheduleVC = new PeopleActivityScheduleVC(); m_vectorControllers.push_back(m_peopleActivityScheduleVC); m_peopleActivityScheduleDZ = new OSDropZone(m_peopleActivityScheduleVC); @@ -601,7 +601,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Lighting"); + label->setText(tr("Lighting")); m_lightingScheduleVC = new LightingScheduleVC(); m_vectorControllers.push_back(m_lightingScheduleVC); m_lightingScheduleDZ = new OSDropZone(m_lightingScheduleVC); @@ -613,7 +613,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Electric Equipment"); + label->setText(tr("Electric Equipment")); m_electricEquipmentScheduleVC = new ElectricEquipmentScheduleVC(); m_vectorControllers.push_back(m_electricEquipmentScheduleVC); m_electricEquipmentScheduleDZ = new OSDropZone(m_electricEquipmentScheduleVC); @@ -623,7 +623,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Gas Equipment"); + label->setText(tr("Gas Equipment")); m_gasEquipmentScheduleVC = new GasEquipmentScheduleVC(); m_vectorControllers.push_back(m_gasEquipmentScheduleVC); m_gasEquipmentScheduleDZ = new OSDropZone(m_gasEquipmentScheduleVC); @@ -635,7 +635,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Hot Water Equipment"); + label->setText(tr("Hot Water Equipment")); m_hotWaterEquipmentScheduleVC = new HotWaterEquipmentScheduleVC(); m_vectorControllers.push_back(m_hotWaterEquipmentScheduleVC); m_hotWaterEquipmentScheduleDZ = new OSDropZone(m_hotWaterEquipmentScheduleVC); @@ -645,7 +645,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Steam Equipment"); + label->setText(tr("Steam Equipment")); m_steamEquipmentScheduleVC = new SteamEquipmentScheduleVC(); m_vectorControllers.push_back(m_steamEquipmentScheduleVC); m_ventilationPerPersonScheduleDZ = new OSDropZone(m_steamEquipmentScheduleVC); @@ -657,7 +657,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Other Equipment"); + label->setText(tr("Other Equipment")); m_otherEquipmentScheduleVC = new OtherEquipmentScheduleVC(); m_vectorControllers.push_back(m_otherEquipmentScheduleVC); m_ventilationPerFloorAreaScheduleDZ = new OSDropZone(m_otherEquipmentScheduleVC); @@ -667,7 +667,7 @@ ScheduleSetInspectorView::ScheduleSetInspectorView(const model::Model& model, QW label = new QLabel(); label->setObjectName("H2"); - label->setText("Infiltration"); + label->setText(tr("Infiltration")); m_infiltrationScheduleVC = new InfiltrationScheduleVC(); m_vectorControllers.push_back(m_infiltrationScheduleVC); m_infiltrationScheduleDZ = new OSDropZone(m_infiltrationScheduleVC); diff --git a/src/openstudio_lib/SchedulesView.cpp b/src/openstudio_lib/SchedulesView.cpp index 13c4ff4b2..123b86273 100644 --- a/src/openstudio_lib/SchedulesView.cpp +++ b/src/openstudio_lib/SchedulesView.cpp @@ -834,7 +834,7 @@ ScheduleTabContent::ScheduleTabContent(ScheduleTab* scheduleTab, QWidget* parent mainVLayout->setSpacing(5); setLayout(mainVLayout); - auto* specialDayLabel = new QLabel("Special Day Profiles"); + auto* specialDayLabel = new QLabel(tr("Special Day Profiles")); mainVLayout->addWidget(specialDayLabel); auto* summerDesignDayLayout = new QHBoxLayout(); @@ -862,7 +862,7 @@ ScheduleTabContent::ScheduleTabContent(ScheduleTab* scheduleTab, QWidget* parent runPeriodLayout->setContentsMargins(0, 0, 0, 0); mainVLayout->addLayout(runPeriodLayout); auto* runPeriodButton = new QPushButton(); - runPeriodButton->setText("Run Period Profiles"); + runPeriodButton->setText(tr("Run Period Profiles")); runPeriodButton->setObjectName("Button"); QString style; style.append("QWidget#Button { "); @@ -872,7 +872,7 @@ ScheduleTabContent::ScheduleTabContent(ScheduleTab* scheduleTab, QWidget* parent style.append("color: #2C3233;"); style.append("}"); runPeriodButton->setStyleSheet(style); - runPeriodButton->setToolTip("Click to add new run period profile"); + runPeriodButton->setToolTip(tr("Click to add new run period profile")); runPeriodLayout->addWidget(runPeriodButton); runPeriodLayout->addStretch(); connect(runPeriodButton, &QPushButton::clicked, this, &ScheduleTabContent::onScheduleRuleClicked); @@ -1083,20 +1083,20 @@ ScheduleTabDefault::ScheduleTabDefault(ScheduleTab* scheduleTab, ScheduleTabDefa switch (m_type) { case SUMMER: - m_label = new QLabel("Summer Design Day"); - setToolTip("Click to edit summer design day profile"); + m_label = new QLabel(tr("Summer Design Day")); + setToolTip(tr("Click to edit summer design day profile")); break; case WINTER: - m_label = new QLabel("Winter Design Day"); - setToolTip("Click to edit winter design day profile"); + m_label = new QLabel(tr("Winter Design Day")); + setToolTip(tr("Click to edit winter design day profile")); break; case HOLIDAY: - m_label = new QLabel("Holiday"); - setToolTip("Click to edit holiday profile"); + m_label = new QLabel(tr("Holiday")); + setToolTip(tr("Click to edit holiday profile")); break; default: - m_label = new QLabel("Default"); - setToolTip("Click to edit default profile"); + m_label = new QLabel(tr("Default")); + setToolTip(tr("Click to edit default profile")); } m_label->setMouseTracking(true); @@ -1249,14 +1249,14 @@ NewProfileView::NewProfileView(const model::ScheduleRuleset& scheduleRuleset, Sc if (m_type == SCHEDULERULE) { auto* selectLabel = new QLabel(); - selectLabel->setText("Create a new profile."); + selectLabel->setText(tr("Create a new profile.")); innerVLayout->addWidget(selectLabel); } auto* gridLayout = new QGridLayout(); gridLayout->setContentsMargins(0, 0, 0, 0); - auto* label = new QLabel("Make a New Profile Based on:"); + auto* label = new QLabel(tr("Make a New Profile Based on:")); gridLayout->addWidget(label, 0, 0); m_scheduleRuleComboBox = new QComboBox(); @@ -1264,7 +1264,7 @@ NewProfileView::NewProfileView(const model::ScheduleRuleset& scheduleRuleset, Sc gridLayout->addWidget(m_scheduleRuleComboBox, 0, 1); auto* addButton = new QPushButton(); - addButton->setText("Add"); + addButton->setText(tr("Add")); addButton->setObjectName("StandardBlueButton"); gridLayout->addWidget(addButton, 1, 1); @@ -1303,20 +1303,20 @@ void NewProfileView::onAddClicked() { void NewProfileView::populateComboBox(const model::ScheduleRuleset& scheduleRuleset) { - m_scheduleRuleComboBox->addItem("", toQString(UUID())); + m_scheduleRuleComboBox->addItem(tr(""), toQString(UUID())); - m_scheduleRuleComboBox->addItem("Default Day Schedule", toQString(scheduleRuleset.defaultDaySchedule().handle())); + m_scheduleRuleComboBox->addItem(tr("Default Day Schedule"), toQString(scheduleRuleset.defaultDaySchedule().handle())); if (!scheduleRuleset.isSummerDesignDayScheduleDefaulted()) { - m_scheduleRuleComboBox->addItem("Summer Design Day Schedule", toQString(scheduleRuleset.summerDesignDaySchedule().handle())); + m_scheduleRuleComboBox->addItem(tr("Summer Design Day Schedule"), toQString(scheduleRuleset.summerDesignDaySchedule().handle())); } if (!scheduleRuleset.isWinterDesignDayScheduleDefaulted()) { - m_scheduleRuleComboBox->addItem("Winter Design Day Schedule", toQString(scheduleRuleset.winterDesignDaySchedule().handle())); + m_scheduleRuleComboBox->addItem(tr("Winter Design Day Schedule"), toQString(scheduleRuleset.winterDesignDaySchedule().handle())); } if (!scheduleRuleset.isHolidayScheduleDefaulted()) { - m_scheduleRuleComboBox->addItem("Holiday Design Day Schedule", toQString(scheduleRuleset.holidaySchedule().handle())); + m_scheduleRuleComboBox->addItem(tr("Holiday Design Day Schedule"), toQString(scheduleRuleset.holidaySchedule().handle())); } for (const auto& rule : scheduleRuleset.scheduleRules()) { @@ -1366,7 +1366,7 @@ DefaultScheduleDayView::DefaultScheduleDayView(bool isIP, const model::ScheduleR auto* scheduleRulesetNameWidget = new ScheduleRulesetNameWidget(scheduleRuleset); mainVLayout->addWidget(scheduleRulesetNameWidget); - auto* label = new QLabel("Default day profile."); + auto* label = new QLabel(tr("Default day profile.")); label->setObjectName("H2"); auto* hLayout = new QHBoxLayout(); @@ -1422,7 +1422,7 @@ SpecialScheduleDayView::SpecialScheduleDayView(bool isIP, const model::ScheduleR if (m_type == SUMMER) { if (!m_scheduleRuleset.isSummerDesignDayScheduleDefaulted()) { - auto* label = new QLabel("Summer design day profile."); + auto* label = new QLabel(tr("Summer design day profile.")); label->setObjectName("H2"); auto* hLayout = new QHBoxLayout(); @@ -1440,7 +1440,7 @@ SpecialScheduleDayView::SpecialScheduleDayView(bool isIP, const model::ScheduleR } } else if (m_type == WINTER) { if (!scheduleRuleset.isWinterDesignDayScheduleDefaulted()) { - auto* label = new QLabel("Winter design day profile."); + auto* label = new QLabel(tr("Winter design day profile.")); label->setObjectName("H2"); auto* hLayout = new QHBoxLayout(); @@ -1458,7 +1458,7 @@ SpecialScheduleDayView::SpecialScheduleDayView(bool isIP, const model::ScheduleR } } else if (m_type == HOLIDAY) { if (!m_scheduleRuleset.isHolidayScheduleDefaulted()) { - auto* label = new QLabel("Holiday profile."); + auto* label = new QLabel(tr("Holiday profile.")); label->setObjectName("H2"); auto* hLayout = new QHBoxLayout(); @@ -1555,7 +1555,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul nameHLayout->addSpacing(10); - auto* label = new QLabel("Schedule Rule Name:"); + auto* label = new QLabel(tr("Schedule Rule Name:")); nameHLayout->addWidget(label); m_nameEditField = new OSLineEdit2(); @@ -1570,7 +1570,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul auto* dateHLayout = new QHBoxLayout(); - auto* dateRangeLabel = new QLabel("Date Range:"); + auto* dateRangeLabel = new QLabel(tr("Date Range:")); dateHLayout->addWidget(dateRangeLabel); m_startDateEdit = new QDateTimeEdit(); @@ -1588,13 +1588,13 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul ruleVLayout->addLayout(dateHLayout); auto* weekHLayout = new QHBoxLayout(); - auto* applyToLabel = new QLabel("Apply to:"); + auto* applyToLabel = new QLabel(tr("Apply to:")); weekHLayout->addWidget(applyToLabel); weekHLayout->addStretch(); m_sundayButton = new OSGreyCheckBox2(); - m_sundayButton->setText("S"); + m_sundayButton->setText(tr("S")); m_sundayButton->bind(m_scheduleRule, std::bind(&model::ScheduleRule::applySunday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplySundayNoFail, &m_scheduleRule, std::placeholders::_1))); weekHLayout->addWidget(m_sundayButton); @@ -1602,7 +1602,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul weekHLayout->addSpacing(10); m_mondayButton = new OSGreyCheckBox2(); - m_mondayButton->setText("M"); + m_mondayButton->setText(tr("M")); m_mondayButton->bind(m_scheduleRule, std::bind(&model::ScheduleRule::applyMonday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplyMondayNoFail, &m_scheduleRule, std::placeholders::_1))); weekHLayout->addWidget(m_mondayButton); @@ -1610,7 +1610,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul weekHLayout->addSpacing(10); m_tuesdayButton = new OSGreyCheckBox2(); - m_tuesdayButton->setText("T"); + m_tuesdayButton->setText(tr("T")); m_tuesdayButton->bind(m_scheduleRule, std::bind(&model::ScheduleRule::applyTuesday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplyTuesdayNoFail, &m_scheduleRule, std::placeholders::_1))); weekHLayout->addWidget(m_tuesdayButton); @@ -1618,7 +1618,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul weekHLayout->addSpacing(10); m_wednesdayButton = new OSGreyCheckBox2(); - m_wednesdayButton->setText("W"); + m_wednesdayButton->setText(tr("W")); m_wednesdayButton->bind( m_scheduleRule, std::bind(&model::ScheduleRule::applyWednesday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplyWednesdayNoFail, &m_scheduleRule, std::placeholders::_1))); @@ -1627,7 +1627,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul weekHLayout->addSpacing(10); m_thursdayButton = new OSGreyCheckBox2(); - m_thursdayButton->setText("T"); + m_thursdayButton->setText(tr("T")); m_thursdayButton->bind( m_scheduleRule, std::bind(&model::ScheduleRule::applyThursday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplyThursdayNoFail, &m_scheduleRule, std::placeholders::_1))); @@ -1636,7 +1636,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul weekHLayout->addSpacing(10); m_fridayButton = new OSGreyCheckBox2(); - m_fridayButton->setText("F"); + m_fridayButton->setText(tr("F")); m_fridayButton->bind(m_scheduleRule, std::bind(&model::ScheduleRule::applyFriday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplyFridayNoFail, &m_scheduleRule, std::placeholders::_1))); weekHLayout->addWidget(m_fridayButton); @@ -1644,7 +1644,7 @@ ScheduleRuleView::ScheduleRuleView(bool isIP, const model::ScheduleRule& schedul weekHLayout->addSpacing(10); m_saturdayButton = new OSGreyCheckBox2(); - m_saturdayButton->setText("S"); + m_saturdayButton->setText(tr("S")); m_saturdayButton->bind( m_scheduleRule, std::bind(&model::ScheduleRule::applySaturday, &m_scheduleRule), boost::optional(std::bind(&model::ScheduleRule::setApplySaturdayNoFail, &m_scheduleRule, std::placeholders::_1))); @@ -1771,7 +1771,7 @@ ScheduleRulesetNameWidget::ScheduleRulesetNameWidget(const model::ScheduleRulese hLayout->setSpacing(10); mainVLayout->addLayout(hLayout); - auto* label = new QLabel("Schedule Name:"); + auto* label = new QLabel(tr("Schedule Name:")); label->setObjectName("H2"); hLayout->addWidget(label); @@ -1785,7 +1785,7 @@ ScheduleRulesetNameWidget::ScheduleRulesetNameWidget(const model::ScheduleRulese hLayout->addWidget(lineEdit); // Schedule Type - label = new QLabel("Schedule Type:"); + label = new QLabel(tr("Schedule Type:")); label->setObjectName("H2"); hLayout->addWidget(label); @@ -1989,7 +1989,7 @@ MonthView::MonthView(YearOverview* yearOverview) mainVLayout->setContentsMargins(0, 0, 0, 0); mainVLayout->setSpacing(0); - m_monthLabel = new QLabel("January"); + m_monthLabel = new QLabel(tr("January")); mainVLayout->addWidget(m_monthLabel, 0, Qt::AlignCenter); diff --git a/translations/OpenStudioApp_es.ts b/translations/OpenStudioApp_es.ts index 4dd761b6d..61bbe69ec 100644 --- a/translations/OpenStudioApp_es.ts +++ b/translations/OpenStudioApp_es.ts @@ -2084,4 +2084,557 @@ Outdoor Air Temperatures + + CalendarSegmentItem + + + Double click to cut segment + Doble clic para cortar segmento + + + + DefaultScheduleDayView + + + Default day profile. + Perfil del día predeterminado. + + + + MainRightColumnController + + + Schedule File + Archivo de horario + + + + Variable Interval Schedules + Horarios de intervalo variable + + + + Fixed Interval Schedules + Horarios de intervalo fijo + + + + Year Schedules + Horarios anuales + + + + Constant Schedules + Horarios constantes + + + + Compact Schedules + Horarios compactos + + + + Ruleset Schedules + Horarios de conjunto de reglas + + + + Schedule Sets + Conjuntos de horarios + + + + Schedule Rulesets + Conjuntos de reglas de horario + + + + MonthView + + + January + Enero + + + + NewProfileView + + + Create a new profile. + Crear un nuevo perfil. + + + + Make a New Profile Based on: + Crear un nuevo perfil basado en: + + + + Add + Agregar + + + + <New Profile> + <Nuevo perfil> + + + + Default Day Schedule + Horario del día predeterminado + + + + Summer Design Day Schedule + Horario del día de diseño de verano + + + + Winter Design Day Schedule + Horario del día de diseño de invierno + + + + Holiday Design Day Schedule + Horario del día de diseño festivo + + + + ScheduleCompactInspectorView + + + Name: + Nombre: + + + + Content: + Contenido: + + + + ScheduleConstantInspectorView + + + Name: + Nombre: + + + + Value: + Valor: + + + + ScheduleDayView + + + Schedule Day Name: + Nombre del día de horario: + + + + Hourly + Por hora + + + + 15 Minutes + 15 minutos + + + + 1 Minute + 1 minuto + + + + ScheduleDialog + + + Apply + Aplicar + + + + Define New Schedule + Definir nuevo horario + + + + Schedule Type + Tipo de horario + + + + Numeric Type: + Tipo numérico: + + + + Lower Limit: + Límite inferior: + + + + Upper Limit: + Límite superior: + + + + unitless + sin unidades + + + + None + Ninguno + + + + ScheduleFileInspectorView + + + Name: + Nombre: + + + + FilePath: + Ruta de archivo: + + + + Column Number: + Número de columna: + + + + Rows to Skip at Top: + Filas a omitir al inicio: + + + + Number of Hours of Data: + Número de horas de datos: + + + + Column Separator: + Separador de columnas: + + + + Comma + Coma + + + + Tab + Tabulador + + + + Space + Espacio + + + + Semicolon + Punto y coma + + + + Interpolate to Timestep: + Interpolar al paso de tiempo: + + + + Minutes per Item: + Minutos por elemento: + + + + Adjust Schedule for Daylight Savings: + Ajustar horario para horario de verano: + + + + Translate File With Relative Path: + Usar ruta relativa para el archivo: + + + + Content: + Contenido: + + + + Number of Lines in file: + Número de líneas en el archivo: + + + + Display All File Content: + Mostrar todo el contenido del archivo: + + + + ScheduleLimitsView + + + Lower Limit: + Límite inferior: + + + + Upper Limit: + Límite superior: + + + + ScheduleOthersController + + + Creation of Schedule:Compact is not supported, you should use a ScheduleRuleset instead + La creación de Schedule:Compact no está soportada, se recomienda usar un ScheduleRuleset en su lugar + + + + ScheduleOthersView + + + Schedule Constant + Horario constante + + + + Schedule Compact + Horario compacto + + + + Schedule File + Archivo de horario + + + + ScheduleRuleView + + + Schedule Rule Name: + Nombre de la regla de horario: + + + + Date Range: + Rango de fechas: + + + + Apply to: + Aplicar a: + + + + S + Domingo (Sunday) / Sábado (Saturday) — needs disambiguation in source code + + + + + M + Lunes (Monday) + L + + + + T + Martes (Tuesday) / Jueves (Thursday) — needs disambiguation in source code + + + + + W + Miércoles (Wednesday) + X + + + + F + Viernes (Friday) + V + + + + ScheduleRulesetNameWidget + + + Schedule Name: + Nombre del horario: + + + + Schedule Type: + Tipo de horario: + + + + ScheduleSetInspectorView + + + Name + Nombre + + + + Default Schedules + Horarios predeterminados + + + + Hours of Operation + Horas de operación + + + + Number of People + Número de personas + + + + People Activity + Actividad de personas + + + + Lighting + Iluminación + + + + Electric Equipment + Equipo eléctrico + + + + Gas Equipment + Equipo de gas + + + + Hot Water Equipment + Equipo de agua caliente + + + + Steam Equipment + Equipo de vapor + + + + Other Equipment + Otros equipos + + + + Infiltration + Infiltración + + + + ScheduleTabContent + + + Special Day Profiles + Perfiles de días especiales + + + + Run Period Profiles + Perfiles del período de ejecución + + + + Click to add new run period profile + Clic para agregar nuevo perfil de período de ejecución + + + + ScheduleTabDefault + + + Summer Design Day + Día de diseño de verano + + + + Click to edit summer design day profile + Clic para editar el perfil del día de diseño de verano + + + + Winter Design Day + Día de diseño de invierno + + + + Click to edit winter design day profile + Clic para editar el perfil del día de diseño de invierno + + + + Holiday + Festivo + + + + Click to edit holiday profile + Clic para editar el perfil de días festivos + + + + Default + Predeterminado + + + + Click to edit default profile + Clic para editar el perfil predeterminado + + + + ScheduleTypeLimitItem + + + Schedule Type Limit + Límite de tipo de horario + + + + SpecialScheduleDayView + + + Summer design day profile. + Perfil del día de diseño de verano. + + + + Winter design day profile. + Perfil del día de diseño de invierno. + + + + Holiday profile. + Perfil de días festivos. + + + + VCalendarSegmentItem + + + Double click to delete segment + Doble clic para eliminar segmento + + From aff35f271186968300096d4a39b9557919dd57c7 Mon Sep 17 00:00:00 2001 From: Ski90Moo Date: Mon, 4 May 2026 19:37:24 +0200 Subject: [PATCH 2/4] ci: trigger build From b1c573389b0fb50db3282c1493c6dc8876dddd23 Mon Sep 17 00:00:00 2001 From: Ski90Moo Date: Sat, 9 May 2026 13:17:28 +0200 Subject: [PATCH 3/4] i18n: add comprehensive Spanish translation proof-of-concept (issue #680) Wraps user-facing string literals with tr() across all major tabs and adds a complete Spanish (es) translation file as proof of concept for multi-language support, addressing issue #680. Tabs covered: Site/Weather Data, Construction Sets, Materials, Schedules, Thermal Zones, Space Types, Loads, Facility, HVAC Systems, Inspector panel IDD fields, Output Variables (1051 names), Simulation Settings, Measures, Run Simulation, and Results Summary. Key patterns established: - tr() for compile-time strings in Q_OBJECT classes - QCoreApplication::translate(IDD/OutputVariables/TaxonomyCategories) for runtime strings from the OpenStudio SDK and taxonomy.xml - addItem(tr(Display), EnglishData) + currentData() for model-bound combo boxes where SDK values must stay in English - Bilingual display format for IDD fields and output variable names so engineers can cross-reference EnergyPlus documentation without switching the application language translations/OpenStudioApp_es.ts grows from ~200 to 3017 entries. New languages only require a new .ts file with no further C++ changes. Co-Authored-By: Claude Sonnet 4.6 --- src/model_editor/InspectorGadget.cpp | 30 +- src/openstudio_lib/BuildingInspectorView.cpp | 32 +- .../ConstructionAirBoundaryInspectorView.cpp | 10 +- ...ionCfactorUndergroundWallInspectorView.cpp | 8 +- ...ructionFfactorGroundFloorInspectorView.cpp | 10 +- .../ConstructionInspectorView.cpp | 10 +- ...onstructionInternalSourceInspectorView.cpp | 20 +- .../ConstructionsTabController.cpp | 8 +- src/openstudio_lib/ConstructionsView.cpp | 12 +- .../DefaultConstructionSetInspectorView.cpp | 64 +- .../ElectricEquipmentInspectorView.cpp | 16 +- .../FacilityExteriorEquipmentGridView.cpp | 49 +- .../FacilityShadingGridView.cpp | 51 +- .../FacilityStoriesGridView.cpp | 35 +- src/openstudio_lib/FacilityTabController.cpp | 8 +- src/openstudio_lib/FacilityTabView.cpp | 2 +- .../GasEquipmentInspectorView.cpp | 18 +- src/openstudio_lib/GeometryEditorView.cpp | 66 +- src/openstudio_lib/GeometryPreviewView.cpp | 18 +- src/openstudio_lib/GeometryTabController.cpp | 6 +- src/openstudio_lib/GridItem.cpp | 8 +- src/openstudio_lib/HVACSystemsController.cpp | 30 +- src/openstudio_lib/HVACSystemsTabView.cpp | 2 +- src/openstudio_lib/HVACSystemsView.cpp | 98 +- .../HotWaterEquipmentInspectorView.cpp | 16 +- .../InternalMassInspectorView.cpp | 12 +- src/openstudio_lib/LightsInspectorView.cpp | 16 +- src/openstudio_lib/LoadsView.cpp | 23 +- src/openstudio_lib/LoopLibraryDialog.cpp | 30 +- src/openstudio_lib/LuminaireInspectorView.cpp | 12 +- .../MainRightColumnController.cpp | 1206 +- .../MaterialAirGapInspectorView.cpp | 6 +- src/openstudio_lib/MaterialInspectorView.cpp | 20 +- .../MaterialNoMassInspectorView.cpp | 14 +- .../MaterialRoofVegetationInspectorView.cpp | 40 +- src/openstudio_lib/MaterialsView.cpp | 30 +- src/openstudio_lib/OSDocument.cpp | 30 +- src/openstudio_lib/OSDropZone.cpp | 2 +- src/openstudio_lib/OSDropZone.hpp | 2 +- src/openstudio_lib/OSItemSelectorButtons.cpp | 8 +- .../OtherEquipmentInspectorView.cpp | 16 +- src/openstudio_lib/PeopleInspectorView.cpp | 20 +- .../RefrigerationGraphicsItems.cpp | 2 +- src/openstudio_lib/RefrigerationGridView.cpp | 59 +- src/openstudio_lib/ResultsTabController.cpp | 2 +- src/openstudio_lib/ResultsTabView.cpp | 14 +- src/openstudio_lib/RunTabView.cpp | 40 +- src/openstudio_lib/ScheduleDayView.cpp | 4 +- src/openstudio_lib/SchedulesTabController.cpp | 6 +- src/openstudio_lib/SchedulesTabView.cpp | 2 +- src/openstudio_lib/SchedulesView.cpp | 25 +- src/openstudio_lib/ScriptsTabView.cpp | 6 +- src/openstudio_lib/ServiceWaterGridItems.cpp | 10 +- .../SimSettingsTabController.cpp | 2 +- src/openstudio_lib/SimSettingsView.cpp | 190 +- src/openstudio_lib/SpaceTypesGridView.cpp | 80 +- src/openstudio_lib/SpaceTypesTabView.cpp | 2 +- .../SpacesInteriorPartitionsGridView.cpp | 29 +- src/openstudio_lib/SpacesLoadsGridView.cpp | 27 +- src/openstudio_lib/SpacesShadingGridView.cpp | 27 +- src/openstudio_lib/SpacesSpacesGridView.cpp | 37 +- .../SpacesSubsurfacesGridView.cpp | 123 +- src/openstudio_lib/SpacesSubtabGridView.cpp | 118 +- src/openstudio_lib/SpacesSurfacesGridView.cpp | 33 +- src/openstudio_lib/SpacesTabController.cpp | 12 +- ...StandardsInformationConstructionWidget.cpp | 26 +- .../StandardsInformationMaterialWidget.cpp | 20 +- .../SteamEquipmentInspectorView.cpp | 16 +- src/openstudio_lib/ThermalZonesGridView.cpp | 75 +- src/openstudio_lib/ThermalZonesTabView.cpp | 2 +- src/openstudio_lib/VRFGraphicsItems.cpp | 6 +- src/openstudio_lib/VariablesTabView.cpp | 67 +- .../WaterUseEquipmentInspectorView.cpp | 14 +- .../WindowMaterialBlindInspectorView.cpp | 60 +- ...DaylightRedirectionDeviceInspectorView.cpp | 6 +- .../WindowMaterialGasInspectorView.cpp | 22 +- .../WindowMaterialGasMixtureInspectorView.cpp | 24 +- .../WindowMaterialGlazingInspectorView.cpp | 34 +- ...efractionExtinctionMethodInspectorView.cpp | 24 +- .../WindowMaterialScreenInspectorView.cpp | 30 +- .../WindowMaterialShadeInspectorView.cpp | 32 +- ...terialSimpleGlazingSystemInspectorView.cpp | 10 +- .../library/geometry_editor_start.html | 84 +- .../library/geometry_preview.html | 183 +- .../LocalLibraryController.cpp | 6 +- .../LocalLibraryView.cpp | 12 +- .../OSGridController.cpp | 12 +- .../WorkflowController.cpp | 6 +- src/shared_gui_components/WorkflowView.cpp | 2 +- translations/OpenStudioApp_es.ts | 12524 +++++++++++++++- 90 files changed, 14152 insertions(+), 2109 deletions(-) diff --git a/src/model_editor/InspectorGadget.cpp b/src/model_editor/InspectorGadget.cpp index aae9a1d08..b94ae70e4 100644 --- a/src/model_editor/InspectorGadget.cpp +++ b/src/model_editor/InspectorGadget.cpp @@ -45,6 +45,8 @@ #include #include #include +#include +#include #include #include #include @@ -53,6 +55,30 @@ #include using namespace openstudio; + +// Returns "Traducción (Field Name)" when the app locale is non-English and +// a translation exists in the "IDD" context of the loaded .qm file; +// otherwise returns the plain English field name. +// +// Format rationale: the translated term is shown first for readability in the +// target language. The original English IDD field name is retained in +// parentheses because these names are the canonical identifiers used in +// EnergyPlus documentation, the OpenStudio SDK, and .idf/.osm model files. +// A Spanish-speaking engineer who needs to cross-reference the EnergyPlus +// I/O Reference or file a bug report can read the English name without +// having to switch the application language and reload the model. +// +// To add or refine translations: add entries to the IDD context in +// OpenStudioApp_.ts and recompile with lrelease — no C++ changes needed. +static QString iddFieldDisplayName(const std::string& englishName) { + const QString qname = QString::fromStdString(englishName); + if (QLocale().language() != QLocale::English) { + const QString translated = QCoreApplication::translate("IDD", englishName.c_str()); + if (translated != qname) + return translated + " (" + qname + ")"; + } + return qname; +} using namespace openstudio::model; const char* InspectorGadget::s_indexSlotName = "indexSlot"; @@ -507,7 +533,7 @@ void InspectorGadget::layoutText(QVBoxLayout* layout, QWidget* parent, openstudi auto* vbox = new QVBoxLayout(); frame->setLayout(vbox); - auto* label = new QLabel(QString(name.c_str()), parent); + auto* label = new QLabel(iddFieldDisplayName(name), parent); label->setWordWrap(true); vbox->addWidget(label); @@ -751,7 +777,7 @@ void InspectorGadget::layoutComboBox(QVBoxLayout* layout, QWidget* parent, opens auto* frame = new QFrame(parent); auto* vbox = new QVBoxLayout(); frame->setLayout(vbox); - auto* label = new QLabel(QString(name.c_str()), parent); + auto* label = new QLabel(iddFieldDisplayName(name), parent); label->setWordWrap(true); QComboBox* combo = new IGComboBox(parent); diff --git a/src/openstudio_lib/BuildingInspectorView.cpp b/src/openstudio_lib/BuildingInspectorView.cpp index eff88aac6..797d8d6b9 100644 --- a/src/openstudio_lib/BuildingInspectorView.cpp +++ b/src/openstudio_lib/BuildingInspectorView.cpp @@ -220,7 +220,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr auto* vLayout = new QVBoxLayout(); auto* label = new QLabel(); - label->setText("Name: "); + label->setText(tr("Name: ")); label->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(label); @@ -232,7 +232,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); m_displayNamelabel = new QLabel(); - m_displayNamelabel->setText("Display Name: "); + m_displayNamelabel->setText(tr("Display Name: ")); m_displayNamelabel->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(m_displayNamelabel); @@ -243,7 +243,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); m_cadObjectIdLabel = new QLabel(); - m_cadObjectIdLabel->setText("CAD Object Id: "); + m_cadObjectIdLabel->setText(tr("CAD Object Id: ")); m_cadObjectIdLabel->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(m_cadObjectIdLabel); @@ -266,7 +266,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr ++row; label = new QLabel(); - label->setText("Measure Tags (Optional):"); + label->setText(tr("Measure Tags (Optional):")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -276,7 +276,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Template: "); + label->setText(tr("Standards Template: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -295,7 +295,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Building Type: "); + label->setText(tr("Standards Building Type: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -316,7 +316,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Nominal Floor to Ceiling Height: "); + label->setText(tr("Nominal Floor to Ceiling Height: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -334,7 +334,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Nominal Floor to Floor Height: "); + label->setText(tr("Nominal Floor to Floor Height: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -357,7 +357,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Number of Stories: "); + label->setText(tr("Standards Number of Stories: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -374,7 +374,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Number of Above Ground Stories: "); + label->setText(tr("Standards Number of Above Ground Stories: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -393,7 +393,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Number of Living Units: "); + label->setText(tr("Standards Number of Living Units: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -410,7 +410,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Relocatable: "); + label->setText(tr("Relocatable: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -437,7 +437,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("North Axis: "); + label->setText(tr("North Axis: ")); label->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(label); @@ -454,7 +454,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Space Type: "); + label->setText(tr("Space Type: ")); label->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(label); @@ -476,7 +476,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Default Construction Set: "); + label->setText(tr("Default Construction Set: ")); label->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(label); @@ -495,7 +495,7 @@ BuildingInspectorView::BuildingInspectorView(bool isIP, bool displayAdditionalPr vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Default Schedule Set: "); + label->setText(tr("Default Schedule Set: ")); label->setStyleSheet("QLabel { font: bold; }"); vLayout->addWidget(label); diff --git a/src/openstudio_lib/ConstructionAirBoundaryInspectorView.cpp b/src/openstudio_lib/ConstructionAirBoundaryInspectorView.cpp index e1addd08d..f28bf4f42 100644 --- a/src/openstudio_lib/ConstructionAirBoundaryInspectorView.cpp +++ b/src/openstudio_lib/ConstructionAirBoundaryInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -53,7 +53,7 @@ void ConstructionAirBoundaryInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -74,7 +74,7 @@ void ConstructionAirBoundaryInspectorView::createLayout() { // Air Exchange Method - label = new QLabel("Air Exchange Method: "); + label = new QLabel(tr("Air Exchange Method: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -87,7 +87,7 @@ void ConstructionAirBoundaryInspectorView::createLayout() { // Simple Mixing Air Changes per Hour - label = new QLabel("Simple Mixing Air Changes per Hour: "); + label = new QLabel(tr("Simple Mixing Air Changes per Hour: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -100,7 +100,7 @@ void ConstructionAirBoundaryInspectorView::createLayout() { // Simple Mixing Schedule - //label = new QLabel("Simple Mixing Schedule: "); + //label = new QLabel(tr("Simple Mixing Schedule: ")); //label->setObjectName("H2"); //mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/ConstructionCfactorUndergroundWallInspectorView.cpp b/src/openstudio_lib/ConstructionCfactorUndergroundWallInspectorView.cpp index c5053bfc2..611b65ae8 100644 --- a/src/openstudio_lib/ConstructionCfactorUndergroundWallInspectorView.cpp +++ b/src/openstudio_lib/ConstructionCfactorUndergroundWallInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -53,7 +53,7 @@ void ConstructionCfactorUndergroundWallInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -74,7 +74,7 @@ void ConstructionCfactorUndergroundWallInspectorView::createLayout() { // C-Factor - label = new QLabel("C-Factor: "); + label = new QLabel(tr("C-Factor: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -88,7 +88,7 @@ void ConstructionCfactorUndergroundWallInspectorView::createLayout() { // Height - label = new QLabel("Height: "); + label = new QLabel(tr("Height: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/ConstructionFfactorGroundFloorInspectorView.cpp b/src/openstudio_lib/ConstructionFfactorGroundFloorInspectorView.cpp index 7a6203510..7e27ef7d0 100644 --- a/src/openstudio_lib/ConstructionFfactorGroundFloorInspectorView.cpp +++ b/src/openstudio_lib/ConstructionFfactorGroundFloorInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -53,7 +53,7 @@ void ConstructionFfactorGroundFloorInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -74,7 +74,7 @@ void ConstructionFfactorGroundFloorInspectorView::createLayout() { // F-Factor - label = new QLabel("F-Factor: "); + label = new QLabel(tr("F-Factor: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -88,7 +88,7 @@ void ConstructionFfactorGroundFloorInspectorView::createLayout() { // Area - label = new QLabel("Area: "); + label = new QLabel(tr("Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -102,7 +102,7 @@ void ConstructionFfactorGroundFloorInspectorView::createLayout() { // Perimeter Exposed - label = new QLabel("Perimeter Exposed: "); + label = new QLabel(tr("Perimeter Exposed: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/ConstructionInspectorView.cpp b/src/openstudio_lib/ConstructionInspectorView.cpp index db77796dc..4eb8ddb3c 100644 --- a/src/openstudio_lib/ConstructionInspectorView.cpp +++ b/src/openstudio_lib/ConstructionInspectorView.cpp @@ -62,7 +62,7 @@ void ConstructionInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -83,20 +83,20 @@ void ConstructionInspectorView::createLayout() { // Layer - label = new QLabel("Layer: "); + label = new QLabel(tr("Layer: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); ++row; - label = new QLabel("Outside"); + label = new QLabel(tr("Outside")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); ++row; m_constructionVC = new ConstructionObjectVectorController(this); - m_constructionDZ = new OSDropZone(m_constructionVC, "Drag From Library", QSize(0, 0), false); + m_constructionDZ = new OSDropZone(m_constructionVC, tr("Drag From Library"), QSize(0, 0), false); m_constructionDZ->setMinItems(0); m_constructionDZ->setMaxItems(12); m_constructionDZ->setItemsRemoveable(true); @@ -109,7 +109,7 @@ void ConstructionInspectorView::createLayout() { ++row; - label = new QLabel("Inside"); + label = new QLabel(tr("Inside")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/ConstructionInternalSourceInspectorView.cpp b/src/openstudio_lib/ConstructionInternalSourceInspectorView.cpp index 940af71d8..489431c4f 100644 --- a/src/openstudio_lib/ConstructionInternalSourceInspectorView.cpp +++ b/src/openstudio_lib/ConstructionInternalSourceInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -64,7 +64,7 @@ void ConstructionInternalSourceInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -85,20 +85,20 @@ void ConstructionInternalSourceInspectorView::createLayout() { // Layer - label = new QLabel("Layer: "); + label = new QLabel(tr("Layer: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); ++row; - label = new QLabel("Outside"); + label = new QLabel(tr("Outside")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); ++row; m_constructionVC = new ConstructionObjectVectorController(this); - m_constructionDZ = new OSDropZone(m_constructionVC, "Drag From Library", QSize(0, 0), false); + m_constructionDZ = new OSDropZone(m_constructionVC, tr("Drag From Library"), QSize(0, 0), false); m_constructionDZ->setMinItems(0); m_constructionDZ->setMaxItems(16); m_constructionDZ->setItemsAcceptDrops(true); @@ -107,7 +107,7 @@ void ConstructionInternalSourceInspectorView::createLayout() { ++row; - label = new QLabel("Inside"); + label = new QLabel(tr("Inside")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -115,7 +115,7 @@ void ConstructionInternalSourceInspectorView::createLayout() { // Source Present After Layer - label = new QLabel("Source Present After Layer: "); + label = new QLabel(tr("Source Present After Layer: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -128,7 +128,7 @@ void ConstructionInternalSourceInspectorView::createLayout() { // Temperature Calculation Requested After Layer Number - label = new QLabel("Temperature Calculation Requested After Layer Number: "); + label = new QLabel(tr("Temperature Calculation Requested After Layer Number: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0, 1, 3); @@ -141,7 +141,7 @@ void ConstructionInternalSourceInspectorView::createLayout() { // Dimensions for the CTF Calculation - label = new QLabel("Dimensions for the CTF Calculation: "); + label = new QLabel(tr("Dimensions for the CTF Calculation: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0, 1, 3); @@ -154,7 +154,7 @@ void ConstructionInternalSourceInspectorView::createLayout() { // Tube Spacing - label = new QLabel("Tube Spacing: "); + label = new QLabel(tr("Tube Spacing: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/ConstructionsTabController.cpp b/src/openstudio_lib/ConstructionsTabController.cpp index 7d18c0152..47b4840f2 100644 --- a/src/openstudio_lib/ConstructionsTabController.cpp +++ b/src/openstudio_lib/ConstructionsTabController.cpp @@ -18,10 +18,10 @@ namespace openstudio { ConstructionsTabController::ConstructionsTabController(bool isIP, const model::Model& model) - : MainTabController(new ConstructionsTabView(model, "Constructions")), m_model(model), m_isIP(isIP) { - this->mainContentWidget()->addSubTab("Construction Sets", DEFAULT_CONSTRUCTIONS); - this->mainContentWidget()->addSubTab("Constructions", CONSTRUCTIONS); - this->mainContentWidget()->addSubTab("Materials", MATERIALS); + : MainTabController(new ConstructionsTabView(model, tr("Constructions"))), m_model(model), m_isIP(isIP) { + this->mainContentWidget()->addSubTab(tr("Construction Sets"), DEFAULT_CONSTRUCTIONS); + this->mainContentWidget()->addSubTab(tr("Constructions"), CONSTRUCTIONS); + this->mainContentWidget()->addSubTab(tr("Materials"), MATERIALS); connect(this->mainContentWidget(), &MainTabView::tabSelected, this, &ConstructionsTabController::setSubTab); connect(this, &ConstructionsTabController::toggleUnitsClicked, this, &ConstructionsTabController::toggleUnits); diff --git a/src/openstudio_lib/ConstructionsView.cpp b/src/openstudio_lib/ConstructionsView.cpp index eee61c450..51b6e63a2 100644 --- a/src/openstudio_lib/ConstructionsView.cpp +++ b/src/openstudio_lib/ConstructionsView.cpp @@ -18,6 +18,7 @@ #include #include +#include #include namespace openstudio { @@ -30,13 +31,14 @@ ConstructionsView::ConstructionsView(bool isIP, const openstudio::model::Model& std::vector> ConstructionsView::modelObjectTypesAndNames() { std::vector> result; - result.push_back(std::make_pair(IddObjectType::OS_Construction, "Constructions")); - result.push_back(std::make_pair(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions")); - result.push_back(std::make_pair(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions")); + auto tr = [](const char* s) { return QCoreApplication::translate("openstudio::ConstructionsView", s).toStdString(); }; + result.push_back(std::make_pair(IddObjectType::OS_Construction, tr("Constructions"))); + result.push_back(std::make_pair(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions"))); + result.push_back(std::make_pair(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions"))); result.push_back( - std::make_pair(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions")); + std::make_pair(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions"))); result.push_back( - std::make_pair(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions")); + std::make_pair(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions"))); // Not currently supported //result.push_back(std::make_pair(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions")); diff --git a/src/openstudio_lib/DefaultConstructionSetInspectorView.cpp b/src/openstudio_lib/DefaultConstructionSetInspectorView.cpp index 644330116..ec266e20b 100644 --- a/src/openstudio_lib/DefaultConstructionSetInspectorView.cpp +++ b/src/openstudio_lib/DefaultConstructionSetInspectorView.cpp @@ -975,7 +975,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m QLabel* label = nullptr; label = new QLabel(); - label->setText("Name"); + label->setText(tr("Name")); label->setObjectName("H2"); gridLayout->addWidget(label, row, leftCol); @@ -1001,14 +1001,14 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row++; label = new QLabel(); - label->setText("Exterior Surface Constructions"); + label->setText(tr("Exterior Surface Constructions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, leftCol, 1, 3); row++; label = new QLabel(); - label->setText("Walls"); + label->setText(tr("Walls")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_exteriorWallConstructionVC = new WallConstructionVC(); @@ -1019,7 +1019,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_exteriorWallConstructionDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Floors"); + label->setText(tr("Floors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_exteriorFloorConstructionVC = new FloorConstructionVC(); @@ -1030,7 +1030,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_exteriorFloorConstructionDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Roofs"); + label->setText(tr("Roofs")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_exteriorRoofConstructionVC = new RoofConstructionVC(); @@ -1050,14 +1050,14 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row++; label = new QLabel(); - label->setText("Interior Surface Constructions"); + label->setText(tr("Interior Surface Constructions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, leftCol, 1, 3); row++; label = new QLabel(); - label->setText("Walls"); + label->setText(tr("Walls")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorWallConstructionVC = new WallConstructionVC(); @@ -1068,7 +1068,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_interiorWallConstructionDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Floors"); + label->setText(tr("Floors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorFloorConstructionVC = new FloorConstructionVC(); @@ -1079,7 +1079,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_interiorFloorConstructionDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Ceilings"); + label->setText(tr("Ceilings")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorRoofConstructionVC = new RoofConstructionVC(); @@ -1099,14 +1099,14 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row++; label = new QLabel(); - label->setText("Ground Contact Surface Constructions"); + label->setText(tr("Ground Contact Surface Constructions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, leftCol, 1, 3); row++; label = new QLabel(); - label->setText("Walls"); + label->setText(tr("Walls")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_groundWallConstructionVC = new WallConstructionVC(); @@ -1117,7 +1117,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_groundWallConstructionDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Floors"); + label->setText(tr("Floors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_groundFloorConstructionVC = new FloorConstructionVC(); @@ -1128,7 +1128,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_groundFloorConstructionDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Ceilings"); + label->setText(tr("Ceilings")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_groundRoofConstructionVC = new RoofConstructionVC(); @@ -1154,14 +1154,14 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row++; label = new QLabel(); - label->setText("Exterior Sub Surface Constructions"); + label->setText(tr("Exterior Sub Surface Constructions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, leftCol, 1, 3); row++; label = new QLabel(); - label->setText("Fixed Windows"); + label->setText(tr("Fixed Windows")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_exteriorFixedWindowVC = new FixedWindowVC(); @@ -1172,7 +1172,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_exteriorFixedWindowDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Operable Windows"); + label->setText(tr("Operable Windows")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_exteriorOperableWindowVC = new OperableWindowVC(); @@ -1183,7 +1183,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_exteriorOperableWindowDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Doors"); + label->setText(tr("Doors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_exteriorDoorVC = new DoorVC(); @@ -1196,7 +1196,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row += 2; label = new QLabel(); - label->setText("Glass Doors"); + label->setText(tr("Glass Doors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_glassDoorConstructionVC = new GlassDoorConstructionVC(); @@ -1207,7 +1207,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_glassDoorConstructionDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Overhead Doors"); + label->setText(tr("Overhead Doors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_overheadDoorConstructionVC = new OverheadDoorConstructionVC(); @@ -1218,7 +1218,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_overheadDoorConstructionDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Skylights"); + label->setText(tr("Skylights")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_skylightConstructionVC = new SkylightConstructionVC(); @@ -1231,7 +1231,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row += 2; label = new QLabel(); - label->setText("Tubular Daylight Domes"); + label->setText(tr("Tubular Daylight Domes")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_tubularDaylightDomeConstructionVC = new TubularDaylightDomeConstructionVC(); @@ -1242,7 +1242,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_tubularDaylightDomeConstructionDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Tubular Daylight Diffusers"); + label->setText(tr("Tubular Daylight Diffusers")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_tubularDaylightDiffuserConstructionVC = new TubularDaylightDiffuserConstructionVC(); @@ -1261,14 +1261,14 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row++; label = new QLabel(); - label->setText("Interior Sub Surface Constructions"); + label->setText(tr("Interior Sub Surface Constructions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, leftCol, 1, 3); row++; label = new QLabel(); - label->setText("Fixed Windows"); + label->setText(tr("Fixed Windows")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorFixedWindowVC = new FixedWindowVC(); @@ -1279,7 +1279,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_interiorFixedWindowDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Operable Windows"); + label->setText(tr("Operable Windows")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorOperableWindowVC = new OperableWindowVC(); @@ -1290,7 +1290,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_interiorOperableWindowDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Doors"); + label->setText(tr("Doors")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorDoorVC = new DoorVC(); @@ -1309,14 +1309,14 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row++; label = new QLabel(); - label->setText("Other Constructions"); + label->setText(tr("Other Constructions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); gridLayout->addWidget(label, row, leftCol, 1, 3); row++; label = new QLabel(); - label->setText("Space Shading"); + label->setText(tr("Space Shading")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_spaceShadingVC = new SpaceShadingVC(); @@ -1327,7 +1327,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_spaceShadingDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Building Shading"); + label->setText(tr("Building Shading")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_buildingShadingVC = new BuildingShadingVC(); @@ -1338,7 +1338,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_buildingShadingDZ, row + 1, middleCol); label = new QLabel(); - label->setText("Site Shading"); + label->setText(tr("Site Shading")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_siteShadingVC = new SiteShadingVC(); @@ -1351,7 +1351,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m row += 2; label = new QLabel(); - label->setText("Interior Partitions"); + label->setText(tr("Interior Partitions")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_interiorPartitionsVC = new InteriorPartitionsVC(); @@ -1362,7 +1362,7 @@ DefaultConstructionSetInspectorView::DefaultConstructionSetInspectorView(const m gridLayout->addWidget(m_interiorPartitionsDZ, row + 1, leftCol); label = new QLabel(); - label->setText("Adiabatic Surfaces"); + label->setText(tr("Adiabatic Surfaces")); label->setObjectName("H2"); //label->setContentsMargins(padding,0,padding,0); m_adiabaticSurfaceVC = new AdiabaticSurfaceVC(); diff --git a/src/openstudio_lib/ElectricEquipmentInspectorView.cpp b/src/openstudio_lib/ElectricEquipmentInspectorView.cpp index 34b0ee379..b0b0d2097 100644 --- a/src/openstudio_lib/ElectricEquipmentInspectorView.cpp +++ b/src/openstudio_lib/ElectricEquipmentInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -33,7 +33,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -42,7 +42,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Design Level - label = new QLabel("Design Level: "); + label = new QLabel(tr("Design Level: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -52,7 +52,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Watts Per Space Floor Area - label = new QLabel("Watts Per Space Floor Area: "); + label = new QLabel(tr("Watts Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -62,7 +62,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Watts Per Person - label = new QLabel("Watts Per Person: "); + label = new QLabel(tr("Watts Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -72,7 +72,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Fraction Latent - label = new QLabel("Fraction Latent: "); + label = new QLabel(tr("Fraction Latent: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -82,7 +82,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -92,7 +92,7 @@ ElectricEquipmentDefinitionInspectorView::ElectricEquipmentDefinitionInspectorVi // Fraction Lost - label = new QLabel("Fraction Lost: "); + label = new QLabel(tr("Fraction Lost: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); diff --git a/src/openstudio_lib/FacilityExteriorEquipmentGridView.cpp b/src/openstudio_lib/FacilityExteriorEquipmentGridView.cpp index fcd132df0..6cc9d6640 100644 --- a/src/openstudio_lib/FacilityExteriorEquipmentGridView.cpp +++ b/src/openstudio_lib/FacilityExteriorEquipmentGridView.cpp @@ -38,36 +38,39 @@ #include #include #include +#include #include #include // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define TR(s) QCoreApplication::translate("openstudio::FacilityExteriorEquipmentGridController", s) + +#define NAME TR("Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // EXTERIOR LIGHTS -#define EXTERIORLIGHTSDEFINITION "Exterior Lights Definition" -#define EXTERIORLIGHTSSCHEDULE "Schedule" -#define EXTERIORLIGHTSCONTROLOPTION "Control Option" -#define EXTERIORLIGHTSMULTIPLIER "Multiplier" -#define EXERIORLIGHTSENDUSESUBCATEGORY "End Use Subcategory" +#define EXTERIORLIGHTSDEFINITION TR("Exterior Lights Definition") +#define EXTERIORLIGHTSSCHEDULE TR("Schedule") +#define EXTERIORLIGHTSCONTROLOPTION TR("Control Option") +#define EXTERIORLIGHTSMULTIPLIER TR("Multiplier") +#define EXERIORLIGHTSENDUSESUBCATEGORY TR("End Use Subcategory") // EXTERIOR FUEL EQUIPMENT -#define EXTERIORFUELEQUIPMENTDEFINITION "Exterior Fuel Equipment Definition" -#define EXTERIORFUELEQUIPMENTSCHEDULE "Schedule" -#define EXTERIORFUELEQUIPMENTFUELTYPE "Fuel Type" -#define EXTERIORFUELEQUIPMENTMULTIPLIER "Multiplier" -#define EXTERIORFUELEQUIPMENTSUBCATEGORY "End Use Subcategory" +#define EXTERIORFUELEQUIPMENTDEFINITION TR("Exterior Fuel Equipment Definition") +#define EXTERIORFUELEQUIPMENTSCHEDULE TR("Schedule") +#define EXTERIORFUELEQUIPMENTFUELTYPE TR("Fuel Type") +#define EXTERIORFUELEQUIPMENTMULTIPLIER TR("Multiplier") +#define EXTERIORFUELEQUIPMENTSUBCATEGORY TR("End Use Subcategory") // EXTERIOR WATER EQUIPMENT -#define EXTERIORWATEREQUIPMENTDEFINITION "Exterior Water Equipment Definition" -#define EXTERIORWATEREQUIPMENTSCHEDULE "Schedule" -#define EXTERIORWATEREQUIPMENTMULTIPLIER "Multiplier" -#define EXTERIORWATEREQUIPMENTSUBCATEGORY "End Use Subcategory" +#define EXTERIORWATEREQUIPMENTDEFINITION TR("Exterior Water Equipment Definition") +#define EXTERIORWATEREQUIPMENTSCHEDULE TR("Schedule") +#define EXTERIORWATEREQUIPMENTMULTIPLIER TR("Multiplier") +#define EXTERIORWATEREQUIPMENTSUBCATEGORY TR("End Use Subcategory") namespace openstudio { @@ -77,9 +80,9 @@ FacilityExteriorEquipmentGridView::FacilityExteriorEquipmentGridView(bool isIP, auto modelObjects = subsetCastVector(model.getConcreteModelObjects()); std::sort(modelObjects.begin(), modelObjects.end(), openstudio::WorkspaceObjectNameLess()); - m_gridController = new FacilityExteriorEquipmentGridController(isIP, displayAdditionalProps, "Exterior Equipment", + m_gridController = new FacilityExteriorEquipmentGridController(isIP, displayAdditionalProps, tr("Exterior Equipment"), IddObjectType::OS_Exterior_Lights, model, modelObjects); - auto* gridView = new OSGridView(m_gridController, "Exterior Equipment", "Drop\nExterior Equipment", false, parent); + auto* gridView = new OSGridView(m_gridController, tr("Exterior Equipment"), tr("Drop\nExterior Equipment"), false, parent); setGridController(m_gridController); setGridView(gridView); @@ -155,7 +158,7 @@ void FacilityExteriorEquipmentGridController::setCategoriesAndFields() { std::vector fields{ EXTERIORLIGHTSDEFINITION, EXTERIORLIGHTSSCHEDULE, EXTERIORLIGHTSCONTROLOPTION, EXTERIORLIGHTSMULTIPLIER, EXERIORLIGHTSENDUSESUBCATEGORY, }; - std::pair> categoryAndFields = std::make_pair(QString("Exterior Lights"), fields); + std::pair> categoryAndFields = std::make_pair(TR("Exterior Lights"), fields); addCategoryAndFields(categoryAndFields); } @@ -164,7 +167,7 @@ void FacilityExteriorEquipmentGridController::setCategoriesAndFields() { EXTERIORFUELEQUIPMENTDEFINITION, EXTERIORFUELEQUIPMENTSCHEDULE, EXTERIORFUELEQUIPMENTFUELTYPE, EXTERIORFUELEQUIPMENTMULTIPLIER, EXTERIORFUELEQUIPMENTSUBCATEGORY, }; - std::pair> categoryAndFields = std::make_pair(QString("Exterior Fuel Equipment"), fields); + std::pair> categoryAndFields = std::make_pair(TR("Exterior Fuel Equipment"), fields); addCategoryAndFields(categoryAndFields); } @@ -175,7 +178,7 @@ void FacilityExteriorEquipmentGridController::setCategoriesAndFields() { EXTERIORWATEREQUIPMENTMULTIPLIER, EXTERIORWATEREQUIPMENTSUBCATEGORY, }; - std::pair> categoryAndFields = std::make_pair(QString("Exterior Water Equipment"), fields); + std::pair> categoryAndFields = std::make_pair(TR("Exterior Water Equipment"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/FacilityShadingGridView.cpp b/src/openstudio_lib/FacilityShadingGridView.cpp index b925d4688..74f3c9531 100644 --- a/src/openstudio_lib/FacilityShadingGridView.cpp +++ b/src/openstudio_lib/FacilityShadingGridView.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -45,24 +46,26 @@ // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Shading Surface Group Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define TR(s) QCoreApplication::translate("openstudio::FacilityShadingGridController", s) + +#define NAME TR("Shading Surface Group Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // GENERAL -#define TYPE "Type" // read only -#define SHADINGSURFACENAME "Shading Surface Name" // read only -#define CONSTRUCTIONNAME "Construction Name" -#define TRANSMITTANCESCHEDULENAME "Transmittance Schedule Name" +#define TYPE TR("Type") // read only +#define SHADINGSURFACENAME TR("Shading Surface Name") // read only +#define CONSTRUCTIONNAME TR("Construction Name") +#define TRANSMITTANCESCHEDULENAME TR("Transmittance Schedule Name") // FILTERS -#define SHADINGSURFACETYPE "Shading Surface Type" -#define SHADINGSURFACEGROUPNAME "Shading Surface Group Name" -#define ORIENTATIONGREATERTHAN "Degrees Orientation >" -#define ORIENTATIONLESSTHAN "Degrees Orientation <" -#define TILTGREATERTHAN "Degrees Tilt >" -#define TILTLESSTHAN "Degrees Tilt <" +#define SHADINGSURFACETYPE TR("Shading Surface Type") +#define SHADINGSURFACEGROUPNAME TR("Shading Surface Group Name") +#define ORIENTATIONGREATERTHAN TR("Degrees Orientation >") +#define ORIENTATIONLESSTHAN TR("Degrees Orientation <") +#define TILTGREATERTHAN TR("Degrees Tilt >") +#define TILTLESSTHAN TR("Degrees Tilt <") namespace openstudio { @@ -78,9 +81,9 @@ FacilityShadingGridView::FacilityShadingGridView(bool isIP, bool displayAddition auto modelObjects = subsetCastVector(shadingGroups); std::sort(modelObjects.begin(), modelObjects.end(), openstudio::WorkspaceObjectNameLess()); - m_gridController = new FacilityShadingGridController(isIP, displayAdditionalProps, "Shading Surface Group", IddObjectType::OS_ShadingSurfaceGroup, + m_gridController = new FacilityShadingGridController(isIP, displayAdditionalProps, tr("Shading Surface Group"), IddObjectType::OS_ShadingSurfaceGroup, model, modelObjects); - m_gridView = new OSGridView(m_gridController, "Shading Surface Group", "Drop Shading\nSurface Group", false, parent); + m_gridView = new OSGridView(m_gridController, tr("Shading Surface Group"), tr("Drop Shading\nSurface Group"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -96,7 +99,7 @@ FacilityShadingGridView::FacilityShadingGridView(bool isIP, bool displayAddition filterGridLayout->setSpacing(5); label = new QLabel(); - label->setText("Filters:"); + label->setText(tr("Filters:")); label->setObjectName("H2"); filterGridLayout->addWidget(label, filterGridLayout->rowCount(), filterGridLayout->columnCount(), Qt::AlignTop | Qt::AlignLeft); @@ -132,11 +135,11 @@ FacilityShadingGridView::FacilityShadingGridView(bool isIP, bool displayAddition layout->addWidget(label, Qt::AlignTop | Qt::AlignLeft); m_typeFilter = new QComboBox(); - m_typeFilter->addItem("All"); - m_typeFilter->addItem("Site"); - m_typeFilter->addItem("Building"); + m_typeFilter->addItem(tr("All"), QString("All")); + m_typeFilter->addItem(tr("Site"), QString("Site")); + m_typeFilter->addItem(tr("Building"), QString("Building")); // Space-level shading is on the Space's "Shading" subtab - //m_typeFilter->addItem("Space"); + //m_typeFilter->addItem(tr("Space"), QString("Space")); m_typeFilter->setFixedWidth(OSItem::ITEM_WIDTH); connect(m_typeFilter, &QComboBox::currentTextChanged, this, &openstudio::FacilityShadingGridView::typeFilterChanged); @@ -253,13 +256,13 @@ void FacilityShadingGridView::nameFilterChanged() { void FacilityShadingGridView::typeFilterChanged(const QString& text) { m_objectsFilteredByType.clear(); - if (m_typeFilter->currentText() == "All") { + if (m_typeFilter->currentData().toString() == "All") { // Nothing to filter } else { for (const auto& obj : this->m_gridController->selectableObjects()) { auto parent = obj.parent(); if (parent && parent->iddObjectType() == IddObjectType::OS_ShadingSurfaceGroup) { - if (m_typeFilter->currentText() != parent->cast().shadingSurfaceType().c_str()) { + if (m_typeFilter->currentData().toString() != parent->cast().shadingSurfaceType().c_str()) { m_objectsFilteredByType.insert(obj); } } @@ -412,7 +415,7 @@ void FacilityShadingGridController::setCategoriesAndFields() { TRANSMITTANCESCHEDULENAME, CONSTRUCTIONNAME, }; - std::pair> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/FacilityStoriesGridView.cpp b/src/openstudio_lib/FacilityStoriesGridView.cpp index 4762527d9..77ddb61cb 100644 --- a/src/openstudio_lib/FacilityStoriesGridView.cpp +++ b/src/openstudio_lib/FacilityStoriesGridView.cpp @@ -39,28 +39,31 @@ #include #include #include +#include #include #include // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Story Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define TR(s) QCoreApplication::translate("openstudio::FacilityStoriesGridController", s) + +#define NAME TR("Story Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // GENERAL -#define NOMINALZCOORDINATE "Nominal Z Coordinate" -#define NOMINALFLOORTOFLOORHEIGHT "Nominal Floor to Floor Height" -#define DEFAULTCONSTRUCTIONSETNAME "Default Construction Set Name" -#define DEFAULTSCHEDULESETNAME "Default Schedule Set Name" -#define GROUPRENDERINGNAME "Group Rendering Name" -#define NOMINALFLOORTOCEILINGHEIGHT "Nominal Floor to Ceiling Height" +#define NOMINALZCOORDINATE TR("Nominal Z Coordinate") +#define NOMINALFLOORTOFLOORHEIGHT TR("Nominal Floor to Floor Height") +#define DEFAULTCONSTRUCTIONSETNAME TR("Default Construction Set Name") +#define DEFAULTSCHEDULESETNAME TR("Default Schedule Set Name") +#define GROUPRENDERINGNAME TR("Group Rendering Name") +#define NOMINALFLOORTOCEILINGHEIGHT TR("Nominal Floor to Ceiling Height") // FILTERS -#define NOMINALZCOORDINATEGREATERTHAN "Nominal Z Coordinate >" -#define NOMINALZCOORDINATELESSTHAN "Nominal Z Coordinate <" +#define NOMINALZCOORDINATEGREATERTHAN TR("Nominal Z Coordinate >") +#define NOMINALZCOORDINATELESSTHAN TR("Nominal Z Coordinate <") namespace openstudio { @@ -70,8 +73,8 @@ FacilityStoriesGridView::FacilityStoriesGridView(bool isIP, bool displayAddition std::sort(modelObjects.begin(), modelObjects.end(), openstudio::WorkspaceObjectNameLess()); m_gridController = - new FacilityStoriesGridController(isIP, displayAdditionalProps, "Building Stories", IddObjectType::OS_BuildingStory, model, modelObjects); - m_gridView = new OSGridView(m_gridController, "Building Stories", "Drop\nStory", false, parent); + new FacilityStoriesGridController(isIP, displayAdditionalProps, tr("Building Stories"), IddObjectType::OS_BuildingStory, model, modelObjects); + m_gridView = new OSGridView(m_gridController, tr("Building Stories"), tr("Drop\nStory"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -87,7 +90,7 @@ FacilityStoriesGridView::FacilityStoriesGridView(bool isIP, bool displayAddition filterGridLayout->setSpacing(5); label = new QLabel(); - label->setText("Filters:"); + label->setText(tr("Filters:")); label->setObjectName("H2"); filterGridLayout->addWidget(label, filterGridLayout->rowCount(), filterGridLayout->columnCount(), Qt::AlignTop | Qt::AlignLeft); @@ -233,7 +236,7 @@ void FacilityStoriesGridController::setCategoriesAndFields() { GROUPRENDERINGNAME, NOMINALZCOORDINATE, NOMINALFLOORTOFLOORHEIGHT, NOMINALFLOORTOCEILINGHEIGHT, DEFAULTCONSTRUCTIONSETNAME, DEFAULTSCHEDULESETNAME, }; - std::pair> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/FacilityTabController.cpp b/src/openstudio_lib/FacilityTabController.cpp index 78c90a47e..f661337e4 100644 --- a/src/openstudio_lib/FacilityTabController.cpp +++ b/src/openstudio_lib/FacilityTabController.cpp @@ -15,10 +15,10 @@ namespace openstudio { FacilityTabController::FacilityTabController(bool isIP, bool displayAdditionalProps, const model::Model& model) : MainTabController(new FacilityTabView()), m_model(model), m_isIP(isIP), m_displayAdditionalProps(displayAdditionalProps) { - mainContentWidget()->addSubTab("Building", BUILDING); - mainContentWidget()->addSubTab("Stories", STORIES); - mainContentWidget()->addSubTab("Shading", SHADING); - mainContentWidget()->addSubTab("Exterior Equipment", EXTERIOR_EQUIPMENT); + mainContentWidget()->addSubTab(tr("Building"), BUILDING); + mainContentWidget()->addSubTab(tr("Stories"), STORIES); + mainContentWidget()->addSubTab(tr("Shading"), SHADING); + mainContentWidget()->addSubTab(tr("Exterior Equipment"), EXTERIOR_EQUIPMENT); connect(this->mainContentWidget(), &MainTabView::tabSelected, this, &FacilityTabController::setSubTab); diff --git a/src/openstudio_lib/FacilityTabView.cpp b/src/openstudio_lib/FacilityTabView.cpp index 807d04def..67b5563f8 100644 --- a/src/openstudio_lib/FacilityTabView.cpp +++ b/src/openstudio_lib/FacilityTabView.cpp @@ -7,7 +7,7 @@ namespace openstudio { -FacilityTabView::FacilityTabView(QWidget* parent) : MainTabView("Facility", MainTabView::GRIDVIEW_SUB_TAB, parent) {} +FacilityTabView::FacilityTabView(QWidget* parent) : MainTabView(tr("Facility"), MainTabView::GRIDVIEW_SUB_TAB, parent) {} void FacilityTabView::toggleUnits(bool displayIP) {} diff --git a/src/openstudio_lib/GasEquipmentInspectorView.cpp b/src/openstudio_lib/GasEquipmentInspectorView.cpp index 27f53a6a5..97bd96396 100644 --- a/src/openstudio_lib/GasEquipmentInspectorView.cpp +++ b/src/openstudio_lib/GasEquipmentInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -33,7 +33,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -42,7 +42,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Design Level - label = new QLabel("Design Level: "); + label = new QLabel(tr("Design Level: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -52,7 +52,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Power Per Space Floor Area - label = new QLabel("Power Per Space Floor Area: "); + label = new QLabel(tr("Power Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -62,7 +62,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Power Per Person - label = new QLabel("Power Per Person: "); + label = new QLabel(tr("Power Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -72,7 +72,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Fraction Latent - label = new QLabel("Fraction Latent: "); + label = new QLabel(tr("Fraction Latent: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -82,7 +82,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -92,7 +92,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Fraction Lost - label = new QLabel("Fraction Lost: "); + label = new QLabel(tr("Fraction Lost: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); @@ -102,7 +102,7 @@ GasEquipmentDefinitionInspectorView::GasEquipmentDefinitionInspectorView(bool is // Carbon Dioxide Generation Rate - label = new QLabel("Carbon Dioxide Generation Rate: "); + label = new QLabel(tr("Carbon Dioxide Generation Rate: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 8, 0); diff --git a/src/openstudio_lib/GeometryEditorView.cpp b/src/openstudio_lib/GeometryEditorView.cpp index 27f2a1878..236f3ce37 100644 --- a/src/openstudio_lib/GeometryEditorView.cpp +++ b/src/openstudio_lib/GeometryEditorView.cpp @@ -71,7 +71,10 @@ #include #include #include +#include #include +#include +#include #include #include #include @@ -1081,11 +1084,11 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q m_mergeWarn(false), m_model(model), m_geometrySourceComboBox(new QComboBox()), - m_newImportGeometry(new QPushButton("New")), + m_newImportGeometry(new QPushButton(tr("New"))), m_progressBar(new ProgressBarWithError()), - m_refreshBtn(new QPushButton("Refresh")), - m_previewBtn(new QPushButton("Preview OSM")), - m_mergeBtn(new QPushButton("Merge with Current OSM")), + m_refreshBtn(new QPushButton(tr("Refresh"))), + m_previewBtn(new QPushButton(tr("Preview OSM"))), + m_mergeBtn(new QPushButton(tr("Merge with Current OSM"))), m_debugBtn(new QPushButton("Debug")) { openstudio::OSAppBase* app = OSAppBase::instance(); OS_ASSERT(app); @@ -1110,13 +1113,13 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q mainLayout->addLayout(hLayout); auto* label = new QLabel(this); - label->setText("Geometry Type"); + label->setText(tr("Geometry Type")); hLayout->addWidget(label); - m_geometrySourceComboBox->addItem("FloorspaceJS"); - m_geometrySourceComboBox->addItem("gbXML"); - m_geometrySourceComboBox->addItem("IDF"); - m_geometrySourceComboBox->addItem("OSM"); + m_geometrySourceComboBox->addItem(tr("FloorspaceJS")); + m_geometrySourceComboBox->addItem(tr("gbXML")); + m_geometrySourceComboBox->addItem(tr("IDF")); + m_geometrySourceComboBox->addItem(tr("OSM")); m_geometrySourceComboBox->setCurrentIndex(0); hLayout->addWidget(m_geometrySourceComboBox); @@ -1155,6 +1158,15 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q m_page = new OSWebEnginePage(m_view); m_view->setPage(m_page); // note, view does not take ownership of page + { + QWebEngineScript langScript; + langScript.setName("os-lang-init"); + langScript.setSourceCode(QString("window.osLanguage = '%1';").arg(QLocale().name().split('_').first())); + langScript.setInjectionPoint(QWebEngineScript::DocumentCreation); + langScript.setWorldId(QWebEngineScript::MainWorld); + m_page->scripts().insert(langScript); + } + connect(m_page, &OSWebEnginePage::loadFinished, this, &EditorWebView::onLoadFinished); connect(m_page, &OSWebEnginePage::loadProgress, this, &EditorWebView::onLoadProgress); connect(m_page, &OSWebEnginePage::loadStarted, this, &EditorWebView::onLoadStarted); @@ -1173,7 +1185,7 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q // check if floorplan exists openstudio::path p = floorplanPath(); if (exists(p)) { - m_geometrySourceComboBox->setCurrentText("FloorspaceJS"); + m_geometrySourceComboBox->setCurrentText(tr("FloorspaceJS")); m_geometrySourceComboBox->setEnabled(false); m_newImportGeometry->setEnabled(false); @@ -1186,7 +1198,7 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q // check if gbXml exists p = gbXmlPath(); if (exists(p)) { - m_geometrySourceComboBox->setCurrentText("gbXML"); + m_geometrySourceComboBox->setCurrentText(tr("gbXML")); m_geometrySourceComboBox->setEnabled(false); m_newImportGeometry->setEnabled(true); @@ -1199,7 +1211,7 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q // check if idf exists p = idfPath(); if (exists(p)) { - m_geometrySourceComboBox->setCurrentText("IDF"); + m_geometrySourceComboBox->setCurrentText(tr("IDF")); m_geometrySourceComboBox->setEnabled(false); m_newImportGeometry->setEnabled(true); @@ -1212,7 +1224,7 @@ EditorWebView::EditorWebView(bool isIP, const openstudio::model::Model& model, Q // check if osm exists p = osmPath(); if (exists(p)) { - m_geometrySourceComboBox->setCurrentText("OSM"); + m_geometrySourceComboBox->setCurrentText(tr("OSM")); m_geometrySourceComboBox->setEnabled(false); m_newImportGeometry->setEnabled(true); @@ -1242,8 +1254,8 @@ EditorWebView::~EditorWebView() { QString mergeWarnKeyName("geometryMergeWarn"); bool settingsMergeWarn = settings.value(mergeWarnKeyName, true).toBool(); if (settingsMergeWarn) { - QMessageBox msg(QMessageBox::Question, "Unmerged Changes", - "Your geometry may include unmerged changes. Merge with Current OSM now? Choose Ignore to skip this message in the future.", + QMessageBox msg(QMessageBox::Question, tr("Unmerged Changes"), + tr("Your geometry may include unmerged changes. Merge with Current OSM now? Choose Ignore to skip this message in the future."), QMessageBox::Yes | QMessageBox::No | QMessageBox::Ignore, this, Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint); msg.setDefaultButton(QMessageBox::No); msg.setEscapeButton(QMessageBox::No); @@ -1263,10 +1275,10 @@ EditorWebView::~EditorWebView() { } void EditorWebView::geometrySourceChanged(const QString& text) { - if (text == "FloorspaceJS") { - m_newImportGeometry->setText("New"); - } else if ((text == "gbXML") || (text == "IDF") || (text == "OSM")) { - m_newImportGeometry->setText("Import"); + if (text == tr("FloorspaceJS")) { + m_newImportGeometry->setText(tr("New")); + } else if ((text == tr("gbXML")) || (text == tr("IDF")) || (text == tr("OSM"))) { + m_newImportGeometry->setText(tr("Import")); } } @@ -1274,7 +1286,7 @@ void EditorWebView::newImportClicked() { delete m_baseEditor; - if (m_geometrySourceComboBox->currentText() == "FloorspaceJS") { + if (m_geometrySourceComboBox->currentText() == tr("FloorspaceJS")) { m_geometrySourceComboBox->setEnabled(false); m_newImportGeometry->setEnabled(false); @@ -1286,7 +1298,7 @@ void EditorWebView::newImportClicked() { return; } - if (m_geometrySourceComboBox->currentText() == "gbXML") { + if (m_geometrySourceComboBox->currentText() == tr("gbXML")) { QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), m_document->savePath(), tr("gbXML (*.xml *.gbxml)")); if (fileName.isEmpty()) { @@ -1312,7 +1324,7 @@ void EditorWebView::newImportClicked() { return; } - if (m_geometrySourceComboBox->currentText() == "IDF") { + if (m_geometrySourceComboBox->currentText() == tr("IDF")) { QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), m_document->savePath(), tr("IDF (*.idf)")); if (fileName.isEmpty()) { @@ -1338,7 +1350,7 @@ void EditorWebView::newImportClicked() { return; } - if (m_geometrySourceComboBox->currentText() == "OSM") { + if (m_geometrySourceComboBox->currentText() == tr("OSM")) { QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), m_document->savePath(), tr("OSM (*.osm)")); if (fileName.isEmpty()) { @@ -1436,7 +1448,7 @@ void EditorWebView::previewExport() { // show preview in blocking dialog QDialog dialog(this, Qt::Dialog | Qt::WindowTitleHint | Qt::WindowCloseButtonHint); dialog.setModal(true); - dialog.setWindowTitle("Geometry Preview"); + dialog.setWindowTitle(tr("Geometry Preview")); dialog.setLayout(layout); dialog.exec(); @@ -1474,7 +1486,7 @@ void EditorWebView::mergeExport() { QMessageBox::warning(this, "Merging Models", errorsAndWarnings); } else { // DLM: print out a better report - QMessageBox::information(this, "Merging Models", "Models Merged"); + QMessageBox::information(this, tr("Merging Models"), tr("Models Merged")); } // update the editor with merged model (potentially has new handles) @@ -1498,8 +1510,8 @@ void EditorWebView::onChanged() { void EditorWebView::onUnitSystemChange(bool t_isIP) { if (m_baseEditor) { - QMessageBox::warning(this, "Units Change", - "Changing unit system for existing floorplan is not currently supported. Reload tab to change units."); + QMessageBox::warning(this, tr("Units Change"), + tr("Changing unit system for existing floorplan is not currently supported. Reload tab to change units.")); } else { m_isIP = t_isIP; } diff --git a/src/openstudio_lib/GeometryPreviewView.cpp b/src/openstudio_lib/GeometryPreviewView.cpp index 0e71d0621..4ce9f62bb 100644 --- a/src/openstudio_lib/GeometryPreviewView.cpp +++ b/src/openstudio_lib/GeometryPreviewView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -40,6 +40,8 @@ #include #include #include +#include +#include #include #include #include @@ -169,7 +171,7 @@ GeometryPreviewView::GeometryPreviewView(bool isIP, const openstudio::model::Mod GeometryPreviewView::~GeometryPreviewView() = default; PreviewWebView::PreviewWebView(bool isIP, const model::Model& model, QWidget* t_parent) - : QWidget(t_parent), m_isIP(isIP), m_model(model), m_progressBar(new ProgressBarWithError()), m_refreshBtn(new QPushButton("Refresh")) { + : QWidget(t_parent), m_isIP(isIP), m_model(model), m_progressBar(new ProgressBarWithError()), m_refreshBtn(new QPushButton(tr("Refresh"))) { openstudio::OSAppBase* app = OSAppBase::instance(); OS_ASSERT(app); @@ -202,6 +204,16 @@ PreviewWebView::PreviewWebView(bool isIP, const model::Model& model, QWidget* t_ m_page = new OSWebEnginePage(m_view); m_view->setPage(m_page); // note, view does not take ownership of page + // Inject locale so geometry_preview.html can select translations + { + QWebEngineScript langScript; + langScript.setName("os-lang-init"); + langScript.setSourceCode(QString("window.osLanguage = '%1';").arg(QLocale().name().split('_').first())); + langScript.setInjectionPoint(QWebEngineScript::DocumentCreation); + langScript.setWorldId(QWebEngineScript::MainWorld); + m_page->scripts().insert(langScript); + } + auto* channel = new QWebChannel(m_page); m_bridge = new GeometryBridge(m_model, this); channel->registerObject(QStringLiteral("bridge"), m_bridge); @@ -215,7 +227,7 @@ PreviewWebView::PreviewWebView(bool isIP, const model::Model& model, QWidget* t_ auto* mainWindow = OSAppBase::instance()->currentDocument()->mainWindow(); const bool verboseOutput = mainWindow->geometryDiagnostics(); m_geometryDiagnosticsBox = new QCheckBox(); - m_geometryDiagnosticsBox->setText("Geometry Diagnostics"); + m_geometryDiagnosticsBox->setText(tr("Geometry Diagnostics")); m_geometryDiagnosticsBox->setChecked(verboseOutput); m_geometryDiagnosticsBox->setToolTip( "Enables adjacency issues. Enables checks for Surface/Space Convexity, due to this the ThreeJS export is slightly slower"); diff --git a/src/openstudio_lib/GeometryTabController.cpp b/src/openstudio_lib/GeometryTabController.cpp index ba34d6949..97aa3148c 100644 --- a/src/openstudio_lib/GeometryTabController.cpp +++ b/src/openstudio_lib/GeometryTabController.cpp @@ -21,12 +21,12 @@ namespace openstudio { GeometryTabController::GeometryTabController(bool isIP, const model::Model& model) - : MainTabController(new GeometryTabView(model, "Geometry")), m_model(model), m_isIP(isIP) { - this->mainContentWidget()->addSubTab("3D View", VIEW); + : MainTabController(new GeometryTabView(model, tr("Geometry"))), m_model(model), m_isIP(isIP) { + this->mainContentWidget()->addSubTab(tr("3D View"), VIEW); // DLM: remove once editor is always enabled //if (QProcessEnvironment::systemEnvironment().value("OPENSTUDIO_GEOMETRY_EDITOR") == QString("1")){ - this->mainContentWidget()->addSubTab("Editor", EDITOR); + this->mainContentWidget()->addSubTab(tr("Editor"), EDITOR); //} connect(this->mainContentWidget(), &MainTabView::tabSelected, this, &GeometryTabController::setSubTab); diff --git a/src/openstudio_lib/GridItem.cpp b/src/openstudio_lib/GridItem.cpp index 483d46f4e..35d2ec977 100644 --- a/src/openstudio_lib/GridItem.cpp +++ b/src/openstudio_lib/GridItem.cpp @@ -644,7 +644,7 @@ std::vector HorizontalBranchItem::itemFactory(const std::vector, std::vector> modelObjectsBeforeTerminal, const std::vector& modelObjectsAfterTerminal, QGraphicsItem* parent) - : GridItem(parent), m_isDropZone(false), m_text("Drag From Library"), m_hasDualTwoRightSidePipes(false), m_dualDuct(true) { + : GridItem(parent), m_isDropZone(false), m_text(tr("Drag From Library")), m_hasDualTwoRightSidePipes(false), m_dualDuct(true) { std::vector beforeTerminalItems; auto halfItemFactory = [&](const boost::optional& modelObject, QGraphicsItem* parent) { @@ -701,7 +701,7 @@ HorizontalBranchItem::HorizontalBranchItem(std::pair& modelObjects, QGraphicsItem* parent, bool dualDuct) - : GridItem(parent), m_isDropZone(false), m_text("Drag From Library"), m_hasDualTwoRightSidePipes(false), m_dualDuct(dualDuct) { + : GridItem(parent), m_isDropZone(false), m_text(tr("Drag From Library")), m_hasDualTwoRightSidePipes(false), m_dualDuct(dualDuct) { m_gridItems = itemFactory(modelObjects, this); layout(); } @@ -1431,8 +1431,8 @@ void SystemCenterItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* painter->setFont(font); painter->setPen(QPen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap)); painter->setBrush(QBrush(Qt::black, Qt::SolidPattern)); - painter->drawText(QRect(110, 21, 200, 25), Qt::AlignBottom, "Supply Equipment"); - painter->drawText(QRect(110, 52, 200, 25), Qt::AlignTop, "Demand Equipment"); + painter->drawText(QRect(110, 21, 200, 25), Qt::AlignBottom, tr("Supply Equipment")); + painter->drawText(QRect(110, 52, 200, 25), Qt::AlignTop, tr("Demand Equipment")); } SupplyPlenumItem::SupplyPlenumItem(const model::ModelObject& modelObject, QGraphicsItem* parent) : GridItem(parent) { diff --git a/src/openstudio_lib/HVACSystemsController.cpp b/src/openstudio_lib/HVACSystemsController.cpp index be4e0c3f1..bf80c308b 100644 --- a/src/openstudio_lib/HVACSystemsController.cpp +++ b/src/openstudio_lib/HVACSystemsController.cpp @@ -249,9 +249,9 @@ void HVACSystemsController::repopulateSystemComboBox() { } // TODO: When addressing issue #961 - HVAC Toolbar review, that's where you start - systemComboBox->addItem("Service Hot Water", SHW); - systemComboBox->addItem("Refrigeration", REFRIGERATION); - systemComboBox->addItem("VRF", VRF); + systemComboBox->addItem(tr("Service Hot Water"), SHW); + systemComboBox->addItem(tr("Refrigeration"), REFRIGERATION); + systemComboBox->addItem(tr("VRF"), VRF); // Set system combo box current index QString handle = currentHandle(); @@ -1014,50 +1014,50 @@ void HVACControlsController::update() { // Cooling Type - m_hvacAirLoopControlsView->coolingTypeLabel->setText("Unclassified Cooling Type"); + m_hvacAirLoopControlsView->coolingTypeLabel->setText(tr("Unclassified Cooling Type")); std::vector modelObjects = t_airLoopHVAC->supplyComponents(model::CoilCoolingDXSingleSpeed::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->coolingTypeLabel->setText("DX Cooling"); + m_hvacAirLoopControlsView->coolingTypeLabel->setText(tr("DX Cooling")); } modelObjects = t_airLoopHVAC->supplyComponents(model::CoilCoolingDXTwoSpeed::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->coolingTypeLabel->setText("DX Cooling"); + m_hvacAirLoopControlsView->coolingTypeLabel->setText(tr("DX Cooling")); } modelObjects = t_airLoopHVAC->supplyComponents(model::CoilCoolingWater::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->coolingTypeLabel->setText("Chilled Water"); + m_hvacAirLoopControlsView->coolingTypeLabel->setText(tr("Chilled Water")); } modelObjects = t_airLoopHVAC->supplyComponents(model::AirLoopHVACUnitaryHeatPumpAirToAir::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->coolingTypeLabel->setText("DX Cooling"); + m_hvacAirLoopControlsView->coolingTypeLabel->setText(tr("DX Cooling")); } // Heating Type - m_hvacAirLoopControlsView->heatingTypeLabel->setText("Unclassified Heating Type"); + m_hvacAirLoopControlsView->heatingTypeLabel->setText(tr("Unclassified Heating Type")); modelObjects = t_airLoopHVAC->supplyComponents(model::CoilHeatingGas::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->heatingTypeLabel->setText("Gas Heating"); + m_hvacAirLoopControlsView->heatingTypeLabel->setText(tr("Gas Heating")); } modelObjects = t_airLoopHVAC->supplyComponents(model::CoilHeatingElectric::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->heatingTypeLabel->setText("Electric Heating"); + m_hvacAirLoopControlsView->heatingTypeLabel->setText(tr("Electric Heating")); } modelObjects = t_airLoopHVAC->supplyComponents(model::CoilHeatingWater::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->heatingTypeLabel->setText("Hot Water"); + m_hvacAirLoopControlsView->heatingTypeLabel->setText(tr("Hot Water")); } modelObjects = t_airLoopHVAC->supplyComponents(model::AirLoopHVACUnitaryHeatPumpAirToAir::iddObjectType()); if (!modelObjects.empty()) { - m_hvacAirLoopControlsView->heatingTypeLabel->setText("Air Source Heat Pump"); + m_hvacAirLoopControlsView->heatingTypeLabel->setText(tr("Air Source Heat Pump")); } // HVAC Operation Schedule @@ -1351,7 +1351,7 @@ void HVACControlsController::update() { // AVM List auto* availabilityManagerObjectVectorController = new AvailabilityManagerObjectVectorController(); availabilityManagerObjectVectorController->attach(t_airLoopHVAC.get()); - m_availabilityManagerDropZone = new OSDropZone(availabilityManagerObjectVectorController, "Drag From Library", QSize(0, 0), false); + m_availabilityManagerDropZone = new OSDropZone(availabilityManagerObjectVectorController, tr("Drag From Library"), QSize(0, 0), false); m_availabilityManagerDropZone->setFixedSize(QSize(OSItem::ITEM_WIDTH + 20, 10 * 50)); m_availabilityManagerDropZone->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); m_availabilityManagerDropZone->setMinItems(0); @@ -1508,7 +1508,7 @@ void HVACControlsController::update() { auto* availabilityManagerObjectVectorController = new AvailabilityManagerObjectVectorController(); availabilityManagerObjectVectorController->attach(t_plantLoop.get()); // m_availabilityManagerDropZone = new OSDropZone(availabilityManagerObjectVectorController); - m_availabilityManagerDropZone = new OSDropZone(availabilityManagerObjectVectorController, "Drag From Library", QSize(0, 0), false); + m_availabilityManagerDropZone = new OSDropZone(availabilityManagerObjectVectorController, tr("Drag From Library"), QSize(0, 0), false); m_availabilityManagerDropZone->setFixedSize(QSize(OSItem::ITEM_WIDTH + 20, 10 * 50)); m_availabilityManagerDropZone->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); diff --git a/src/openstudio_lib/HVACSystemsTabView.cpp b/src/openstudio_lib/HVACSystemsTabView.cpp index fc0f80efa..d9c660be5 100644 --- a/src/openstudio_lib/HVACSystemsTabView.cpp +++ b/src/openstudio_lib/HVACSystemsTabView.cpp @@ -7,6 +7,6 @@ namespace openstudio { -HVACSystemsTabView::HVACSystemsTabView(QWidget* parent) : MainTabView("HVAC Systems", MainTabView::MAIN_TAB, parent) {} +HVACSystemsTabView::HVACSystemsTabView(QWidget* parent) : MainTabView(tr("HVAC Systems"), MainTabView::MAIN_TAB, parent) {} } // namespace openstudio diff --git a/src/openstudio_lib/HVACSystemsView.cpp b/src/openstudio_lib/HVACSystemsView.cpp index 2ff14535f..93b305520 100644 --- a/src/openstudio_lib/HVACSystemsView.cpp +++ b/src/openstudio_lib/HVACSystemsView.cpp @@ -4,6 +4,7 @@ ***********************************************************************************************************************/ #include "HVACSystemsView.hpp" +#include #include "../shared_gui_components/OSComboBox.hpp" #include "OSItem.hpp" #include "OSDropZone.hpp" @@ -114,19 +115,19 @@ HVACToolbarView::HVACToolbarView() { topologyViewButton = new GrayButton(); topologyViewButton->setCheckable(true); - topologyViewButton->setText("Layout"); + topologyViewButton->setText(tr("Layout")); zoomButtonGroup->addButton(topologyViewButton); controlLayout->addWidget(topologyViewButton); controlsViewButton = new GrayButton(); controlsViewButton->setCheckable(true); - controlsViewButton->setText("Control"); + controlsViewButton->setText(tr("Control")); zoomButtonGroup->addButton(controlsViewButton); controlLayout->addWidget(controlsViewButton); gridViewButton = new GrayButton(); gridViewButton->setCheckable(true); - gridViewButton->setText("Grid"); + gridViewButton->setText(tr("Grid")); zoomButtonGroup->addButton(gridViewButton); controlLayout->addWidget(gridViewButton); @@ -338,7 +339,7 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { hClassificationLayout->setSpacing(5); mainVLayout->addLayout(hClassificationLayout); - auto* coolingTypeTitle = new QLabel("Cooling Type: "); + auto* coolingTypeTitle = new QLabel(tr("Cooling Type: ")); coolingTypeTitle->setObjectName("H2"); hClassificationLayout->addWidget(coolingTypeTitle); @@ -346,7 +347,7 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { hClassificationLayout->addWidget(coolingTypeLabel); hClassificationLayout->addStretch(); - auto* heatingTypeTitle = new QLabel("Heating Type: "); + auto* heatingTypeTitle = new QLabel(tr("Heating Type: ")); heatingTypeTitle->setObjectName("H2"); hClassificationLayout->addWidget(heatingTypeTitle); @@ -359,11 +360,11 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { line->setFrameShadow(QFrame::Sunken); mainVLayout->addWidget(line); - auto* timeTitle = new QLabel("Time of Operation"); + auto* timeTitle = new QLabel(tr("Time of Operation")); timeTitle->setObjectName("H1"); mainVLayout->addWidget(timeTitle); - auto* operationScheduleTitle = new QLabel("HVAC Operation Schedule"); + auto* operationScheduleTitle = new QLabel(tr("HVAC Operation Schedule")); operationScheduleTitle->setObjectName("H2"); mainVLayout->addWidget(operationScheduleTitle); @@ -371,7 +372,7 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { hvacOperationViewSwitcher->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); mainVLayout->addWidget(hvacOperationViewSwitcher); - auto* nightCycleTitle = new QLabel("Use Night Cycle"); + auto* nightCycleTitle = new QLabel(tr("Use Night Cycle")); nightCycleTitle->setObjectName("H2"); mainVLayout->addWidget(nightCycleTitle); @@ -379,9 +380,9 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { nightCycleHLayout->setContentsMargins(0, 0, 0, 0); nightCycleHLayout->setSpacing(5); nightCycleComboBox = new OSComboBox2(); - nightCycleComboBox->addItem("Follow the HVAC Operation Schedule", "StayOff"); - nightCycleComboBox->addItem("Cycle on Full System if Heating or Cooling Required", "CycleOnAny"); - nightCycleComboBox->addItem("Cycle on Zone Terminal Units if Heating or Cooling Required", "CycleOnAnyZoneFansOnly"); + nightCycleComboBox->addItem(tr("Follow the HVAC Operation Schedule"), "StayOff"); + nightCycleComboBox->addItem(tr("Cycle on Full System if Heating or Cooling Required"), "CycleOnAny"); + nightCycleComboBox->addItem(tr("Cycle on Zone Terminal Units if Heating or Cooling Required"), "CycleOnAnyZoneFansOnly"); nightCycleHLayout->addWidget(nightCycleComboBox); nightCycleHLayout->addStretch(); @@ -393,7 +394,7 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { line->setFrameShadow(QFrame::Sunken); mainVLayout->addWidget(line); - auto* supplyAirTemperatureTitle = new QLabel("Supply Air Temperature"); + auto* supplyAirTemperatureTitle = new QLabel(tr("Supply Air Temperature")); supplyAirTemperatureTitle->setObjectName("H1"); mainVLayout->addWidget(supplyAirTemperatureTitle); @@ -406,7 +407,7 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { line->setFrameShadow(QFrame::Sunken); mainVLayout->addWidget(line); - auto* outdoorAirTitle = new QLabel("Mechanical Ventilation"); + auto* outdoorAirTitle = new QLabel(tr("Mechanical Ventilation")); outdoorAirTitle->setObjectName("H1"); mainVLayout->addWidget(outdoorAirTitle); @@ -421,11 +422,11 @@ HVACAirLoopControlsView::HVACAirLoopControlsView() { mainVLayout->addWidget(line); // AvailabilityManagers - auto* avmTitle = new QLabel("Availability Managers"); + auto* avmTitle = new QLabel(tr("Availability Managers")); avmTitle->setObjectName("H1"); mainVLayout->addWidget(avmTitle); - auto* avmListTitle = new QLabel("Availability Managers from highest precedence to lowest"); + auto* avmListTitle = new QLabel(tr("Availability Managers from highest precedence to lowest")); avmListTitle->setObjectName("H2"); mainVLayout->addWidget(avmListTitle); @@ -449,7 +450,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { setWidgetResizable(true); setFrameShape(QFrame::NoFrame); - systemNameLabel = new QLabel("HVAC System"); + systemNameLabel = new QLabel(tr("HVAC System")); systemNameLabel->setObjectName("H1"); mainVLayout->addWidget(systemNameLabel); @@ -459,7 +460,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { hClassificationLayout->setSpacing(5); mainVLayout->addLayout(hClassificationLayout); - auto* plantLoopTypeTitle = new QLabel("Plant Loop Type: "); + auto* plantLoopTypeTitle = new QLabel(tr("Plant Loop Type: ")); plantLoopTypeTitle->setObjectName("H2"); hClassificationLayout->addWidget(plantLoopTypeTitle); @@ -477,7 +478,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { * P L A N T E Q U I P M E N T O P E R A T I O N S C H E M E S ***********************************************************************************************************************/ - auto* spmTitle = new QLabel("Plant Equipment Operation Schemes"); + auto* spmTitle = new QLabel(tr("Plant Equipment Operation Schemes")); spmTitle->setObjectName("H1"); mainVLayout->addWidget(spmTitle); @@ -491,7 +492,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { auto* vClassificationLayout = new QVBoxLayout(); hClassificationLayout->addLayout(vClassificationLayout); - auto* heatingComponentsTitle = new QLabel("Heating Components:"); + auto* heatingComponentsTitle = new QLabel(tr("Heating Components:")); heatingComponentsTitle->setObjectName("H2"); vClassificationLayout->addWidget(heatingComponentsTitle); @@ -503,7 +504,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { vClassificationLayout = new QVBoxLayout(); hClassificationLayout->addLayout(vClassificationLayout); - auto* coolingComponentsTitle = new QLabel("Cooling Components:"); + auto* coolingComponentsTitle = new QLabel(tr("Cooling Components:")); coolingComponentsTitle->setObjectName("H2"); vClassificationLayout->addWidget(coolingComponentsTitle); @@ -515,7 +516,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { vClassificationLayout = new QVBoxLayout(); hClassificationLayout->addLayout(vClassificationLayout); - auto* setpointComponentsTitle = new QLabel("Setpoint Components:"); + auto* setpointComponentsTitle = new QLabel(tr("Setpoint Components:")); setpointComponentsTitle->setObjectName("H2"); vClassificationLayout->addWidget(setpointComponentsTitle); @@ -527,7 +528,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { vClassificationLayout = new QVBoxLayout(); hClassificationLayout->addLayout(vClassificationLayout); - auto* uncontrolledComponentsTitle = new QLabel("Uncontrolled Components:"); + auto* uncontrolledComponentsTitle = new QLabel(tr("Uncontrolled Components:")); uncontrolledComponentsTitle->setObjectName("H2"); vClassificationLayout->addWidget(uncontrolledComponentsTitle); @@ -541,7 +542,7 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { line->setFrameShadow(QFrame::Sunken); mainVLayout->addWidget(line); - auto* supplyTemperatureTitle = new QLabel("Supply Water Temperature"); + auto* supplyTemperatureTitle = new QLabel(tr("Supply Water Temperature")); supplyTemperatureTitle->setObjectName("H1"); mainVLayout->addWidget(supplyTemperatureTitle); @@ -556,11 +557,11 @@ HVACPlantLoopControlsView::HVACPlantLoopControlsView() { mainVLayout->addWidget(line); // AvailabilityManagers - auto* avmTitle = new QLabel("Availability Managers"); + auto* avmTitle = new QLabel(tr("Availability Managers")); avmTitle->setObjectName("H1"); mainVLayout->addWidget(avmTitle); - auto* avmListTitle = new QLabel("Availability Managers from highest precedence to lowest"); + auto* avmListTitle = new QLabel(tr("Availability Managers from highest precedence to lowest")); avmListTitle->setObjectName("H2"); mainVLayout->addWidget(avmListTitle); @@ -580,20 +581,20 @@ MechanicalVentilationView::MechanicalVentilationView() { auto* economizerHBoxLayout = new QHBoxLayout(); economizerHBoxLayout->setSpacing(10); - auto* economizerTitle = new QLabel("Economizer"); + auto* economizerTitle = new QLabel(tr("Economizer")); economizerTitle->setObjectName("H2"); economizerHBoxLayout->addWidget(economizerTitle); economizerComboBox = new OSComboBox2(); economizerComboBox->setEnabled(true); - economizerComboBox->addItem("Fixed Dry Bulb", "FixedDryBulb"); - economizerComboBox->addItem("Fixed Enthalpy", "FixedEnthalpy"); - economizerComboBox->addItem("Differential Dry Bulb", "DifferentialDryBulb"); - economizerComboBox->addItem("Differential Enthalpy", "DifferentialEnthalpy"); - economizerComboBox->addItem("Fixed Dewpoint and Dry Bulb", "FixedDewPointAndDryBulb"); - economizerComboBox->addItem("ElectronicEnthalpy", "ElectronicEnthalpy"); - economizerComboBox->addItem("Differential Dry Bulb and Enthalpy", "DifferentialDryBulbAndEnthalpy"); - economizerComboBox->addItem("No Economizer", "NoEconomizer"); + economizerComboBox->addItem(tr("Fixed Dry Bulb"), "FixedDryBulb"); + economizerComboBox->addItem(tr("Fixed Enthalpy"), "FixedEnthalpy"); + economizerComboBox->addItem(tr("Differential Dry Bulb"), "DifferentialDryBulb"); + economizerComboBox->addItem(tr("Differential Enthalpy"), "DifferentialEnthalpy"); + economizerComboBox->addItem(tr("Fixed Dewpoint and Dry Bulb"), "FixedDewPointAndDryBulb"); + economizerComboBox->addItem(tr("Electronic Enthalpy"), "ElectronicEnthalpy"); + economizerComboBox->addItem(tr("Differential Dry Bulb and Enthalpy"), "DifferentialDryBulbAndEnthalpy"); + economizerComboBox->addItem(tr("No Economizer"), "NoEconomizer"); economizerHBoxLayout->addWidget(economizerComboBox); economizerHBoxLayout->addStretch(); @@ -629,7 +630,7 @@ MechanicalVentilationView::MechanicalVentilationView() { dcvHBoxLayout->setSpacing(10); mainVLayout->addLayout(dcvHBoxLayout); - auto* dcvTitle = new QLabel("Demand Controlled Ventilation"); + auto* dcvTitle = new QLabel(tr("Demand Controlled Ventilation")); dcvTitle->setObjectName("H2"); dcvHBoxLayout->addWidget(dcvTitle); @@ -645,7 +646,7 @@ NoMechanicalVentilationView::NoMechanicalVentilationView() { mainVLayout->setSpacing(5); setLayout(mainVLayout); - auto* noVentilationTitle = new QLabel("This system configuration does not provide mechanical ventilation"); + auto* noVentilationTitle = new QLabel(tr("This system configuration does not provide mechanical ventilation")); mainVLayout->addWidget(noVentilationTitle); } @@ -656,14 +657,17 @@ SingleZoneSPMView::SingleZoneSPMView(const QString& spmType) { mainVLayout->setSpacing(10); setLayout(mainVLayout); - auto* singleZoneResetSPTitle = new QLabel(QString("Supply temperature is controlled by a %1 setpoint manager.").arg(spmType)); + auto* singleZoneResetSPTitle = new QLabel( + QCoreApplication::translate("openstudio::SingleZoneSPMView", + "Supply temperature is controlled by a %1 setpoint manager.") + .arg(spmType)); mainVLayout->addWidget(singleZoneResetSPTitle); auto* zoneSelectorHBoxLayout = new QHBoxLayout(); zoneSelectorHBoxLayout->setSpacing(10); zoneSelectorHBoxLayout->setContentsMargins(0, 0, 0, 0); - auto* controlZoneTitle = new QLabel("Control Zone"); + auto* controlZoneTitle = new QLabel(QCoreApplication::translate("openstudio::SingleZoneSPMView", "Control Zone")); controlZoneTitle->setObjectName("H2"); zoneSelectorHBoxLayout->addWidget(controlZoneTitle); @@ -683,7 +687,8 @@ OAResetSPMView::OAResetSPMView(const model::SetpointManagerOutdoorAirReset& spm) setLayout(mainVLayout); QString text; - text.append("Supply temperature is controlled by an outdoor air reset setpoint manager."); + text.append(QCoreApplication::translate("openstudio::OAResetSPMView", + "Supply temperature is controlled by an outdoor air reset setpoint manager.")); auto* title = new QLabel(text); mainVLayout->addWidget(title); @@ -772,10 +777,11 @@ ScheduledSPMView::ScheduledSPMView() { mainVLayout->setSpacing(10); setLayout(mainVLayout); - auto* scheduledSPMlabel = new QLabel("Supply temperature is controlled by a scheduled setpoint manager."); + auto* scheduledSPMlabel = new QLabel(QCoreApplication::translate("openstudio::ScheduledSPMView", + "Supply temperature is controlled by a scheduled setpoint manager.")); mainVLayout->addWidget(scheduledSPMlabel); - auto* supplyAirTempScheduleTitle = new QLabel("Supply Temperature Schedule"); + auto* supplyAirTempScheduleTitle = new QLabel(QCoreApplication::translate("openstudio::ScheduledSPMView", "Supply Temperature Schedule")); supplyAirTempScheduleTitle->setObjectName("H2"); mainVLayout->addWidget(supplyAirTempScheduleTitle); @@ -921,14 +927,15 @@ AirLoopHVACUnitaryHeatPumpAirToAirControlView::AirLoopHVACUnitaryHeatPumpAirToAi mainVLayout->setSpacing(10); setLayout(mainVLayout); - auto* heatPumplabel = new QLabel("Supply air temperature is managed by the \"AirLoopHVACUnitaryHeatPumpAirToAir\" component."); + auto* heatPumplabel = new QLabel(QCoreApplication::translate("openstudio::AirLoopHVACUnitaryHeatPumpAirToAirControlView", + "Supply air temperature is managed by the \"AirLoopHVACUnitaryHeatPumpAirToAir\" component.")); mainVLayout->addWidget(heatPumplabel); auto* zoneSelectorHBoxLayout = new QHBoxLayout(); zoneSelectorHBoxLayout->setSpacing(10); zoneSelectorHBoxLayout->setContentsMargins(0, 0, 0, 0); - auto* controlZoneTitle = new QLabel("Control Zone"); + auto* controlZoneTitle = new QLabel(QCoreApplication::translate("openstudio::AirLoopHVACUnitaryHeatPumpAirToAirControlView", "Control Zone")); controlZoneTitle->setObjectName("H2"); zoneSelectorHBoxLayout->addWidget(controlZoneTitle); @@ -946,8 +953,9 @@ NoSupplyAirTempControlView::NoSupplyAirTempControlView() { mainVLayout->setSpacing(10); setLayout(mainVLayout); - auto* label = new QLabel("Missing supply temperature control. " - "Try adding a setpoint manager to the supply outlet node of your system."); + auto* label = new QLabel(QCoreApplication::translate("openstudio::NoSupplyAirTempControlView", + "Missing supply temperature control. " + "Try adding a setpoint manager to the supply outlet node of your system.")); label->setWordWrap(true); mainVLayout->addWidget(label); } diff --git a/src/openstudio_lib/HotWaterEquipmentInspectorView.cpp b/src/openstudio_lib/HotWaterEquipmentInspectorView.cpp index 53129d0c6..8344e8892 100644 --- a/src/openstudio_lib/HotWaterEquipmentInspectorView.cpp +++ b/src/openstudio_lib/HotWaterEquipmentInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -32,7 +32,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -40,7 +40,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Design Level - label = new QLabel("Design Level: "); + label = new QLabel(tr("Design Level: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -50,7 +50,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Watts Per Space Floor Area - label = new QLabel("Watts Per Space Floor Area: "); + label = new QLabel(tr("Watts Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -60,7 +60,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Watts Per Person - label = new QLabel("Watts Per Person: "); + label = new QLabel(tr("Watts Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -70,7 +70,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Fraction Latent - label = new QLabel("Fraction Latent: "); + label = new QLabel(tr("Fraction Latent: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -80,7 +80,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -90,7 +90,7 @@ HotWaterEquipmentDefinitionInspectorView::HotWaterEquipmentDefinitionInspectorVi // Fraction Lost - label = new QLabel("Fraction Lost: "); + label = new QLabel(tr("Fraction Lost: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); diff --git a/src/openstudio_lib/InternalMassInspectorView.cpp b/src/openstudio_lib/InternalMassInspectorView.cpp index a098cb6f1..d4d39b1cd 100644 --- a/src/openstudio_lib/InternalMassInspectorView.cpp +++ b/src/openstudio_lib/InternalMassInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -40,7 +40,7 @@ InternalMassDefinitionInspectorView::InternalMassDefinitionInspectorView(bool is // name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -49,7 +49,7 @@ InternalMassDefinitionInspectorView::InternalMassDefinitionInspectorView(bool is // Surface Area - label = new QLabel("Surface Area: "); + label = new QLabel(tr("Surface Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -59,7 +59,7 @@ InternalMassDefinitionInspectorView::InternalMassDefinitionInspectorView(bool is // Surface Area Per Space Floor Area - label = new QLabel("Surface Area Per Space Floor Area: "); + label = new QLabel(tr("Surface Area Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -69,7 +69,7 @@ InternalMassDefinitionInspectorView::InternalMassDefinitionInspectorView(bool is // Surface Area Per Person - label = new QLabel("Surface Area Per Person: "); + label = new QLabel(tr("Surface Area Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -79,7 +79,7 @@ InternalMassDefinitionInspectorView::InternalMassDefinitionInspectorView(bool is // Construction - label = new QLabel("Construction: "); + label = new QLabel(tr("Construction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); diff --git a/src/openstudio_lib/LightsInspectorView.cpp b/src/openstudio_lib/LightsInspectorView.cpp index 8131187ab..c17390ad0 100644 --- a/src/openstudio_lib/LightsInspectorView.cpp +++ b/src/openstudio_lib/LightsInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -33,7 +33,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -42,7 +42,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Lighting Level - label = new QLabel("Lighting Power: "); + label = new QLabel(tr("Lighting Power: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -52,7 +52,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Watts Per Space Floor Area - label = new QLabel("Watts Per Space Floor Area: "); + label = new QLabel(tr("Watts Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -62,7 +62,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Watts Per Person - label = new QLabel("Watts Per Person: "); + label = new QLabel(tr("Watts Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -72,7 +72,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -82,7 +82,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Fraction Visible - label = new QLabel("Fraction Visible: "); + label = new QLabel(tr("Fraction Visible: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -92,7 +92,7 @@ LightsDefinitionInspectorView::LightsDefinitionInspectorView(bool isIP, const op // Return Air Fraction - label = new QLabel("Return Air Fraction: "); + label = new QLabel(tr("Return Air Fraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); diff --git a/src/openstudio_lib/LoadsView.cpp b/src/openstudio_lib/LoadsView.cpp index 3e505a96a..cb8cb42ec 100644 --- a/src/openstudio_lib/LoadsView.cpp +++ b/src/openstudio_lib/LoadsView.cpp @@ -31,6 +31,8 @@ #include +#include + namespace openstudio { LoadsView::LoadsView(bool isIP, const openstudio::model::Model& model, QWidget* parent) @@ -42,16 +44,17 @@ LoadsView::LoadsView(bool isIP, const openstudio::model::Model& model, QWidget* std::vector> LoadsView::modelObjectTypesAndNames() { std::vector> result; - result.push_back(std::make_pair(IddObjectType::OS_People_Definition, "People Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_Lights_Definition, "Lights Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions")); - result.push_back(std::make_pair(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions")); + auto tr = [](const char* s) { return QCoreApplication::translate("openstudio::LoadsView", s).toStdString(); }; + result.push_back(std::make_pair(IddObjectType::OS_People_Definition, tr("People Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_Lights_Definition, tr("Lights Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions"))); + result.push_back(std::make_pair(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions"))); return result; } diff --git a/src/openstudio_lib/LoopLibraryDialog.cpp b/src/openstudio_lib/LoopLibraryDialog.cpp index d9d894f9b..06a0da877 100644 --- a/src/openstudio_lib/LoopLibraryDialog.cpp +++ b/src/openstudio_lib/LoopLibraryDialog.cpp @@ -19,7 +19,7 @@ LoopLibraryDialog::LoopLibraryDialog(QWidget* parent) : QDialog(parent) { setFixedSize(280, 584); - setWindowTitle("Add HVAC System"); + setWindowTitle(tr("Add HVAC System")); setWindowFlags(Qt::WindowFlags(Qt::Dialog | Qt::WindowTitleHint | Qt::WindowCloseButtonHint)); auto* mainVLayout = new QVBoxLayout(); @@ -27,7 +27,7 @@ LoopLibraryDialog::LoopLibraryDialog(QWidget* parent) : QDialog(parent) { mainVLayout->setSpacing(0); setLayout(mainVLayout); - auto* loopsLabel = new QLabel("HVAC Systems"); + auto* loopsLabel = new QLabel(tr("HVAC Systems")); loopsLabel->setStyleSheet("QLabel { margin-left: 5px; }"); mainVLayout->addSpacing(5); mainVLayout->addWidget(loopsLabel); @@ -67,30 +67,30 @@ LoopLibraryDialog::LoopLibraryDialog(QWidget* parent) : QDialog(parent) { // QString("Packaged Terminal Heat Pump"), // QPixmap(":/images/system_type_2.png") ); - newItem(ADDTOMODEL_SYSTEM_TYPE_3, QString("Packaged Rooftop Unit"), QPixmap(":/images/system_type_3.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_3, tr("Packaged Rooftop Unit"), QPixmap(":/images/system_type_3.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_4, QString("Packaged Rooftop Heat Pump"), QPixmap(":/images/system_type_4.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_4, tr("Packaged Rooftop Heat Pump"), QPixmap(":/images/system_type_4.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_5, QString("Packaged DX Rooftop VAV \nwith Reheat"), QPixmap(":/images/system_type_5.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_5, tr("Packaged DX Rooftop VAV \nwith Reheat"), QPixmap(":/images/system_type_5.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_6, QString("Packaged Rooftop \nVAV with Parallel Fan \nPower Boxes and reheat"), + newItem(ADDTOMODEL_SYSTEM_TYPE_6, tr("Packaged Rooftop \nVAV with Parallel Fan \nPower Boxes and reheat"), QPixmap(":/images/system_type_6.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_7, QString("Packaged Rooftop \nVAV with Reheat"), QPixmap(":/images/system_type_7.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_7, tr("Packaged Rooftop \nVAV with Reheat"), QPixmap(":/images/system_type_7.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_8, QString("VAV with Parallel Fan-Powered \nBoxes and Reheat"), QPixmap(":/images/system_type_8.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_8, tr("VAV with Parallel Fan-Powered \nBoxes and Reheat"), QPixmap(":/images/system_type_8.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_9, QString("Warm Air Furnace \nGas Fired"), QPixmap(":/images/system_type_9.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_9, tr("Warm Air Furnace \nGas Fired"), QPixmap(":/images/system_type_9.png")); - newItem(ADDTOMODEL_SYSTEM_TYPE_10, QString("Warm Air Furnace \nElectric"), QPixmap(":/images/system_type_10.png")); + newItem(ADDTOMODEL_SYSTEM_TYPE_10, tr("Warm Air Furnace \nElectric"), QPixmap(":/images/system_type_10.png")); - newItem(ADDTOMODEL_AIRLOOPHVAC, QString("Empty Air Loop"), QPixmap(":/images/air_loop_icon.png")); + newItem(ADDTOMODEL_AIRLOOPHVAC, tr("Empty Air Loop"), QPixmap(":/images/air_loop_icon.png")); - newItem(ADDTOMODEL_DUAL_AIRLOOPHVAC, QString("Dual Duct Air Loop"), QPixmap(":/images/air_loop_icon.png")); + newItem(ADDTOMODEL_DUAL_AIRLOOPHVAC, tr("Dual Duct Air Loop"), QPixmap(":/images/air_loop_icon.png")); - newItem(ADDTOMODEL_PLANTLOOP, QString("Empty Plant Loop"), QPixmap(":/images/plant_loop_icon.png")); + newItem(ADDTOMODEL_PLANTLOOP, tr("Empty Plant Loop"), QPixmap(":/images/plant_loop_icon.png")); - newItem(ADDTOMODEL_SHWLOOP, QString("Service Hot Water Plant Loop"), QPixmap(":/images/shw_loop_icon.png")); + newItem(ADDTOMODEL_SHWLOOP, tr("Service Hot Water Plant Loop"), QPixmap(":/images/shw_loop_icon.png")); } void LoopLibraryDialog::paintEvent(QPaintEvent* event) { @@ -139,7 +139,7 @@ LoopItemView::LoopItemView(const AddToModelEnum& addToModelEnum, const QString& mainVLayout->addWidget(imageLabel, 0, Qt::AlignCenter); auto* button = new QPushButton(); - button->setText("Add to Model"); + button->setText(tr("Add to Model")); button->setObjectName("StandardGrayButton"); mainVLayout->addWidget(button, 0, Qt::AlignRight); diff --git a/src/openstudio_lib/LuminaireInspectorView.cpp b/src/openstudio_lib/LuminaireInspectorView.cpp index de1bdfd4a..ee162141e 100644 --- a/src/openstudio_lib/LuminaireInspectorView.cpp +++ b/src/openstudio_lib/LuminaireInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -33,7 +33,7 @@ LuminaireDefinitionInspectorView::LuminaireDefinitionInspectorView(bool isIP, co // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -42,7 +42,7 @@ LuminaireDefinitionInspectorView::LuminaireDefinitionInspectorView(bool isIP, co // Lighting Power - label = new QLabel("Lighting Power: "); + label = new QLabel(tr("Lighting Power: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -52,7 +52,7 @@ LuminaireDefinitionInspectorView::LuminaireDefinitionInspectorView(bool isIP, co // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -62,7 +62,7 @@ LuminaireDefinitionInspectorView::LuminaireDefinitionInspectorView(bool isIP, co // Fraction Visible - label = new QLabel("Fraction Visible: "); + label = new QLabel(tr("Fraction Visible: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -72,7 +72,7 @@ LuminaireDefinitionInspectorView::LuminaireDefinitionInspectorView(bool isIP, co // Return Air Fraction - label = new QLabel("Return Air Fraction: "); + label = new QLabel(tr("Return Air Fraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); diff --git a/src/openstudio_lib/MainRightColumnController.cpp b/src/openstudio_lib/MainRightColumnController.cpp index a3f0df424..2e2897791 100644 --- a/src/openstudio_lib/MainRightColumnController.cpp +++ b/src/openstudio_lib/MainRightColumnController.cpp @@ -57,18 +57,18 @@ MainRightColumnController::MainRightColumnController(const model::Model& model, m_myModelView = new QStackedWidget(); m_myModelView->setStyleSheet("QStackedWidget { border-top: 1px solid black; }"); - m_horizontalTabWidget->addTab(m_myModelView, MY_MODEL, "My Model"); + m_horizontalTabWidget->addTab(m_myModelView, MY_MODEL, tr("My Model")); // Library m_libraryView = new QStackedWidget(); m_libraryView->setStyleSheet("QStackedWidget { border-top: 1px solid black; }"); - m_horizontalTabWidget->addTab(m_libraryView, LIBRARY, "Library"); + m_horizontalTabWidget->addTab(m_libraryView, LIBRARY, tr("Library")); // Editor m_editView = new QStackedWidget(); m_editView->setStyleSheet("QStackedWidget { border-top: 1px solid black; }"); - m_horizontalTabWidget->addTab(m_editView, EDIT, "Edit"); + m_horizontalTabWidget->addTab(m_editView, EDIT, tr("Edit")); // Inspector, we're keeping it around to be able to follow the units toggled m_inspectorController = std::shared_ptr(new InspectorController()); @@ -236,7 +236,7 @@ void MainRightColumnController::configureForSiteSubTab(int subTabID) { myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setMyModelView(myModelList); @@ -253,7 +253,7 @@ void MainRightColumnController::configureForSiteSubTab(int subTabID) { myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setLibraryView(myLibraryList); doc->openSidebar(); @@ -290,7 +290,7 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setMyModelView(myModelList); @@ -307,9 +307,9 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); - myLibraryList->addModelObjectCategoryPlaceholder("Schedule Sets"); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedule Sets").toStdString()); setLibraryView(myLibraryList); doc->openSidebar(); @@ -327,7 +327,7 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myLibraryList->setItemsType(OSItemType::LibraryItem); myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Schedule Rulesets").toStdString()); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setLibraryView(myLibraryList); doc->openSidebar(); @@ -345,8 +345,8 @@ void MainRightColumnController::configureForSchedulesSubTab(int subTabID) { myLibraryList->setItemsType(OSItemType::LibraryItem); myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); - // myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); + // myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setLibraryView(myLibraryList); doc->openSidebar(); @@ -376,13 +376,13 @@ void MainRightColumnController::configureForConstructionsSubTab(int subTabID) { myModelList->setItemsRemoveable(false); myModelList->setItemsType(OSItemType::LibraryItem); - myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myModelList->addModelObjectCategoryPlaceholder("Constructions"); + myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); setMyModelView(myModelList); @@ -392,15 +392,15 @@ void MainRightColumnController::configureForConstructionsSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myLibraryList->addModelObjectCategoryPlaceholder("Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myLibraryList->addModelObjectCategoryPlaceholder("Construction Sets"); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Construction Sets").toStdString()); setLibraryView(myLibraryList); @@ -420,23 +420,23 @@ void MainRightColumnController::configureForConstructionsSubTab(int subTabID) { // myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_GlazingGroup_Thermochromic, "Glazing Group Thermochromic Window Materials"); myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing_RefractionExtinctionMethod, - "Refraction Extinction Method Glazing Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Shade, "Shade Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Screen, "Screen Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Blind, "Blind Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, "Daylight Redirection Device Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_GasMixture, "Gas Mixture Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Gas, "Gas Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing, "Glazing Window Materials"); - myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, "Simple Glazing System Window Materials"); - myModelList->addModelObjectCategoryPlaceholder("Window Materials"); - - myModelList->addModelObjectType(IddObjectType::OS_Material_RoofVegetation, "Roof Vegetation Materials"); - myModelList->addModelObjectType(IddObjectType::OS_Material_InfraredTransparent, "Infrared Transparent Materials"); - myModelList->addModelObjectType(IddObjectType::OS_Material_AirGap, "Air Gap Materials"); - myModelList->addModelObjectType(IddObjectType::OS_Material_NoMass, "No Mass Materials"); - myModelList->addModelObjectType(IddObjectType::OS_Material, "Materials"); - myModelList->addModelObjectCategoryPlaceholder("Materials"); + tr("Refraction Extinction Method Glazing Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Shade, tr("Shade Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Screen, tr("Screen Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Blind, tr("Blind Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, tr("Daylight Redirection Device Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_GasMixture, tr("Gas Mixture Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Gas, tr("Gas Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing, tr("Glazing Window Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, tr("Simple Glazing System Window Materials").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Window Materials").toStdString()); + + myModelList->addModelObjectType(IddObjectType::OS_Material_RoofVegetation, tr("Roof Vegetation Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Material_InfraredTransparent, tr("Infrared Transparent Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Material_AirGap, tr("Air Gap Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Material_NoMass, tr("No Mass Materials").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Material, tr("Materials").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Materials").toStdString()); setMyModelView(myModelList); @@ -449,31 +449,31 @@ void MainRightColumnController::configureForConstructionsSubTab(int subTabID) { // TODO: commented out until ThermochromicGlazing is properly wrapped // myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_GlazingGroup_Thermochromic, "Glazing Group Thermochromic Window Materials"); myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing_RefractionExtinctionMethod, - "Refraction Extinction Method Glazing Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Shade, "Shade Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Screen, "Screen Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Blind, "Blind Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, "Daylight Redirection Device Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_GasMixture, "Gas Mixture Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Gas, "Gas Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing, "Glazing Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, "Simple Glazing System Window Materials"); - myLibraryList->addModelObjectCategoryPlaceholder("Window Materials"); - - myLibraryList->addModelObjectType(IddObjectType::OS_Material_RoofVegetation, "Roof Vegetation Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material_InfraredTransparent, "Infrared Transparent Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material_AirGap, "Air Gap Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material_NoMass, "No Mass Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material, "Materials"); - myLibraryList->addModelObjectCategoryPlaceholder("Materials"); - - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myLibraryList->addModelObjectCategoryPlaceholder("Constructions"); + tr("Refraction Extinction Method Glazing Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Shade, tr("Shade Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Screen, tr("Screen Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Blind, tr("Blind Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, tr("Daylight Redirection Device Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_GasMixture, tr("Gas Mixture Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Gas, tr("Gas Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing, tr("Glazing Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, tr("Simple Glazing System Window Materials").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Window Materials").toStdString()); + + myLibraryList->addModelObjectType(IddObjectType::OS_Material_RoofVegetation, tr("Roof Vegetation Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material_InfraredTransparent, tr("Infrared Transparent Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material_AirGap, tr("Air Gap Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material_NoMass, tr("No Mass Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material, tr("Materials").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Materials").toStdString()); + + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); setLibraryView(myLibraryList); @@ -501,23 +501,23 @@ void MainRightColumnController::configureForConstructionsSubTab(int subTabID) { // myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_GlazingGroup_Thermochromic, "Glazing Group Thermochromic Window Materials"); myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing_RefractionExtinctionMethod, - "Refraction Extinction Method Glazing Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Shade, "Shade Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Screen, "Screen Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Blind, "Blind Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, "Daylight Redirection Device Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_GasMixture, "Gas Mixture Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Gas, "Gas Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing, "Glazing Window Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, "Simple Glazing System Window Materials"); - myLibraryList->addModelObjectCategoryPlaceholder("Window Materials"); - - myLibraryList->addModelObjectType(IddObjectType::OS_Material_RoofVegetation, "Roof Vegetation Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material_InfraredTransparent, "Infrared Transparent Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material_AirGap, "Air Gap Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material_NoMass, "No Mass Materials"); - myLibraryList->addModelObjectType(IddObjectType::OS_Material, "Materials"); - myLibraryList->addModelObjectCategoryPlaceholder("Materials"); + tr("Refraction Extinction Method Glazing Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Shade, tr("Shade Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Screen, tr("Screen Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Blind, tr("Blind Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, tr("Daylight Redirection Device Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_GasMixture, tr("Gas Mixture Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Gas, tr("Gas Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_Glazing, tr("Glazing Window Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, tr("Simple Glazing System Window Materials").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Window Materials").toStdString()); + + myLibraryList->addModelObjectType(IddObjectType::OS_Material_RoofVegetation, tr("Roof Vegetation Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material_InfraredTransparent, tr("Infrared Transparent Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material_AirGap, tr("Air Gap Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material_NoMass, tr("No Mass Materials").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Material, tr("Materials").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Materials").toStdString()); setLibraryView(myLibraryList); @@ -564,21 +564,21 @@ void MainRightColumnController::configureForLoadsSubTab(int subTabID) { myModelList->setItemsRemoveable(false); myModelList->setItemsType(OSItemType::LibraryItem); - myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myModelList->addModelObjectCategoryPlaceholder("Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); + myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setMyModelView(myModelList); @@ -589,32 +589,32 @@ void MainRightColumnController::configureForLoadsSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myLibraryList->addModelObjectCategoryPlaceholder("Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - myLibraryList->addModelObjectCategoryPlaceholder("Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setLibraryView(myLibraryList); @@ -635,31 +635,31 @@ void MainRightColumnController::configureForSpaceTypesSubTab(int subTabID) { myModelList->setItemsRemoveable(false); myModelList->setItemsType(OSItemType::LibraryItem); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); - - myModelList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - //myModelList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, "Space Infiltration Design Flow Rates"); // do not show in my model because these are not shareable - myModelList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, "Design Specification Outdoor Air"); - myModelList->addModelObjectCategoryPlaceholder("Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); - myModelList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myModelList->addModelObjectCategoryPlaceholder("Defaults"); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); + + myModelList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + //myModelList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, tr("Space Infiltration Design Flow Rates").toStdString()); // do not show in my model because these are not shareable + myModelList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, tr("Design Specification Outdoor Air").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Defaults").toStdString()); setMyModelView(myModelList); @@ -671,34 +671,34 @@ void MainRightColumnController::configureForSpaceTypesSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); - - myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, "Space Infiltration Design Flow Rates"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_EffectiveLeakageArea, "Space Infiltration Effective Leakage Areas"); - myLibraryList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, "Design Specification Outdoor Air"); - myLibraryList->addModelObjectCategoryPlaceholder("Definitions"); - - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceType, "Space Types"); - myLibraryList->addModelObjectCategoryPlaceholder("Defaults"); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); + + myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, tr("Space Infiltration Design Flow Rates").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_EffectiveLeakageArea, tr("Space Infiltration Effective Leakage Areas").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, tr("Design Specification Outdoor Air").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Definitions").toStdString()); + + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceType, tr("Space Types").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Defaults").toStdString()); setLibraryView(myLibraryList); doc->openSidebar(); @@ -715,47 +715,47 @@ void MainRightColumnController::configureForFacilitySubTab(int subTabID) { myModelList->setItemsRemoveable(false); myModelList->setItemsType(OSItemType::LibraryItem); - myModelList->addModelObjectType(IddObjectType::OS_SubSurface, "Sub Surfaces"); - myModelList->addModelObjectType(IddObjectType::OS_Surface, "Surfaces"); - myModelList->addModelObjectCategoryPlaceholder("Surfaces"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myModelList->addModelObjectCategoryPlaceholder("Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Exterior_WaterEquipment_Definition, "Exterior Water Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Exterior_FuelEquipment_Definition, "Exterior Fuel Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Exterior_Lights_Definition, "Exterior Lights Definitions"); - //myModelList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, "Space Infiltration Design Flow Rates"); // do not show in my model because these are not shareable - myModelList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, "Design Specification Outdoor Air"); - myModelList->addModelObjectCategoryPlaceholder("Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); - myModelList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myModelList->addModelObjectType(IddObjectType::OS_SpaceType, "Space Types"); - myModelList->addModelObjectCategoryPlaceholder("Defaults"); - myModelList->addModelObjectType(IddObjectType::OS_ThermalZone, "Thermal Zones"); - myModelList->addModelObjectType(IddObjectType::OS_BuildingStory, "Building Stories"); - myModelList->addModelObjectCategoryPlaceholder("Building"); + myModelList->addModelObjectType(IddObjectType::OS_SubSurface, tr("Sub Surfaces").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Surface, tr("Surfaces").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Surfaces").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Exterior_WaterEquipment_Definition, tr("Exterior Water Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Exterior_FuelEquipment_Definition, tr("Exterior Fuel Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Exterior_Lights_Definition, tr("Exterior Lights Definitions").toStdString()); + //myModelList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, tr("Space Infiltration Design Flow Rates").toStdString()); // do not show in my model because these are not shareable + myModelList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, tr("Design Specification Outdoor Air").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_SpaceType, tr("Space Types").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Defaults").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ThermalZone, tr("Thermal Zones").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_BuildingStory, tr("Building Stories").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Building").toStdString()); setMyModelView(myModelList); @@ -767,45 +767,45 @@ void MainRightColumnController::configureForFacilitySubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myLibraryList->addModelObjectCategoryPlaceholder("Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_WaterEquipment_Definition, "Exterior Water Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_FuelEquipment_Definition, "Exterior Fuel Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_Lights_Definition, "Exterior Lights Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_WaterEquipment, "Exterior Water Equipment"); - myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_FuelEquipment, "Exterior Fuel Equipment"); - myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_Lights, "Exterior Lights"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, "Space Infiltration Design Flow Rates"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_EffectiveLeakageArea, "Space Infiltration Effective Leakage Areas"); - myLibraryList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, "Design Specification Outdoor Air"); - myLibraryList->addModelObjectCategoryPlaceholder("Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceType, "Space Types"); - myLibraryList->addModelObjectCategoryPlaceholder("Defaults"); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_WaterEquipment_Definition, tr("Exterior Water Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_FuelEquipment_Definition, tr("Exterior Fuel Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_Lights_Definition, tr("Exterior Lights Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_WaterEquipment, tr("Exterior Water Equipment").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_FuelEquipment, tr("Exterior Fuel Equipment").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Exterior_Lights, tr("Exterior Lights").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, tr("Space Infiltration Design Flow Rates").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_EffectiveLeakageArea, tr("Space Infiltration Effective Leakage Areas").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, tr("Design Specification Outdoor Air").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceType, tr("Space Types").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Defaults").toStdString()); setLibraryView(myLibraryList); @@ -824,52 +824,52 @@ void MainRightColumnController::configureForSpacesSubTab(int subTabID) { myModelList->setItemsRemoveable(false); myModelList->setItemsType(OSItemType::LibraryItem); - myModelList->addModelObjectType(IddObjectType::OS_ShadingControl, "ShadingControl"); - myModelList->addModelObjectType(IddObjectType::OS_WindowProperty_FrameAndDivider, "Frame And Divider Window Property"); - myModelList->addModelObjectType(IddObjectType::OS_DaylightingDevice_Shelf, "DaylightingDevice Shelf"); - myModelList->addModelObjectCategoryPlaceholder("Daylighting"); - myModelList->addModelObjectType(IddObjectType::OS_InteriorPartitionSurface, "Interior Partition Surface"); - myModelList->addModelObjectType(IddObjectType::OS_ShadingSurface, "Shading Surface"); - myModelList->addModelObjectType(IddObjectType::OS_SubSurface, "Sub Surfaces"); - myModelList->addModelObjectType(IddObjectType::OS_Surface, "Surfaces"); - myModelList->addModelObjectCategoryPlaceholder("Surfaces"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myModelList->addModelObjectCategoryPlaceholder("Constructions"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, "Water Heater - Heat Pump"); - myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, "Water Heater - Heat Pump - Wrapped Condenser"); - myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - //myModelList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, "Space Infiltration Design Flow Rates"); // do not show in my model because these are not shareable - myModelList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, "Design Specification Outdoor Air"); - myModelList->addModelObjectCategoryPlaceholder("Definitions"); - myModelList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); - myModelList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myModelList->addModelObjectType(IddObjectType::OS_SpaceType, "Space Types"); - myModelList->addModelObjectCategoryPlaceholder("Defaults"); - myModelList->addModelObjectType(IddObjectType::OS_ThermalZone, "Thermal Zones"); - myModelList->addModelObjectType(IddObjectType::OS_BuildingStory, "Building Stories"); - myModelList->addModelObjectCategoryPlaceholder("Building"); + myModelList->addModelObjectType(IddObjectType::OS_ShadingControl, tr("ShadingControl").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WindowProperty_FrameAndDivider, tr("Frame And Divider Window Property").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DaylightingDevice_Shelf, tr("DaylightingDevice Shelf").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Daylighting").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_InteriorPartitionSurface, tr("Interior Partition Surface").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ShadingSurface, tr("Shading Surface").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_SubSurface, tr("Sub Surfaces").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Surface, tr("Surfaces").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Surfaces").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, tr("Water Heater - Heat Pump").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, tr("Water Heater - Heat Pump - Wrapped Condenser").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + //myModelList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, tr("Space Infiltration Design Flow Rates").toStdString()); // do not show in my model because these are not shareable + myModelList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, tr("Design Specification Outdoor Air").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Definitions").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_SpaceType, tr("Space Types").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Defaults").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ThermalZone, tr("Thermal Zones").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_BuildingStory, tr("Building Stories").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Building").toStdString()); setMyModelView(myModelList); @@ -881,45 +881,45 @@ void MainRightColumnController::configureForSpacesSubTab(int subTabID) { myLibraryList->setItemsRemoveable(false); myLibraryList->setItemsType(OSItemType::LibraryItem); - myLibraryList->addModelObjectType(IddObjectType::OS_ShadingControl, "ShadingControl"); - myLibraryList->addModelObjectType(IddObjectType::OS_WindowProperty_FrameAndDivider, "Frame And Divider Window Property"); - myLibraryList->addModelObjectType(IddObjectType::OS_DaylightingDevice_Shelf, "DaylightingDevice Shelf"); - myLibraryList->addModelObjectCategoryPlaceholder("Daylighting"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, "Window Data File Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, "F-factor Ground Floor Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, "C-factor Underground Wall Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, "Internal Source Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, "Air Boundary Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Construction, "Constructions"); - myLibraryList->addModelObjectCategoryPlaceholder("Constructions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myLibraryList->addModelObjectCategoryPlaceholder("Schedules"); - myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, "Internal Mass Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, "Other Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, "Steam Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, "Hot Water Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, "Water Heater - Heat Pump"); - myLibraryList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, "Water Heater - Heat Pump - Wrapped Condenser"); - myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, "Gas Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, "Electric Equipment Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, "Luminaire Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, "Lights Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, "People Definitions"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, "Space Infiltration Design Flow Rates"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_EffectiveLeakageArea, "Space Infiltration Effective Leakage Areas"); - myLibraryList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, "Design Specification Outdoor Air"); + myLibraryList->addModelObjectType(IddObjectType::OS_ShadingControl, tr("ShadingControl").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WindowProperty_FrameAndDivider, tr("Frame And Divider Window Property").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DaylightingDevice_Shelf, tr("DaylightingDevice Shelf").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Daylighting").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_WindowDataFile, tr("Window Data File Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_FfactorGroundFloor, tr("F-factor Ground Floor Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_CfactorUndergroundWall, tr("C-factor Underground Wall Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_InternalSource, tr("Internal Source Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction_AirBoundary, tr("Air Boundary Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Construction, tr("Constructions").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Constructions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_InternalMass_Definition, tr("Internal Mass Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_OtherEquipment_Definition, tr("Other Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SteamEquipment_Definition, tr("Steam Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_HotWaterEquipment_Definition, tr("Hot Water Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, tr("Water Heater - Heat Pump").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, tr("Water Heater - Heat Pump - Wrapped Condenser").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_GasEquipment_Definition, tr("Gas Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_ElectricEquipment_Definition, tr("Electric Equipment Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Luminaire_Definition, tr("Luminaire Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_Lights_Definition, tr("Lights Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_People_Definition, tr("People Definitions").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_DesignFlowRate, tr("Space Infiltration Design Flow Rates").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceInfiltration_EffectiveLeakageArea, tr("Space Infiltration Effective Leakage Areas").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DesignSpecification_OutdoorAir, tr("Design Specification Outdoor Air").toStdString()); myLibraryList->addModelObjectCategoryPlaceholder("Definition"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, "Schedule Sets"); - myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, "Construction Sets"); - myLibraryList->addModelObjectType(IddObjectType::OS_SpaceType, "Space Types"); - myLibraryList->addModelObjectCategoryPlaceholder("Defaults"); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultScheduleSet, tr("Schedule Sets").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_DefaultConstructionSet, tr("Construction Sets").toStdString()); + myLibraryList->addModelObjectType(IddObjectType::OS_SpaceType, tr("Space Types").toStdString()); + myLibraryList->addModelObjectCategoryPlaceholder(tr("Defaults").toStdString()); setLibraryView(myLibraryList); @@ -942,17 +942,17 @@ void MainRightColumnController::configureForThermalZonesSubTab(int subTabID) { myModelList->setItemsRemoveable(false); myModelList->setItemsType(OSItemType::LibraryItem); - myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, "Water Heater - Heat Pump"); - myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, "Water Heater - Heat Pump - Wrapped Condenser"); - myModelList->addModelObjectCategoryPlaceholder("Water Heaters"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); + myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, tr("Water Heater - Heat Pump").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, tr("Water Heater - Heat Pump - Wrapped Condenser").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Water Heaters").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setMyModelView(myModelList); @@ -964,37 +964,37 @@ void MainRightColumnController::configureForThermalZonesSubTab(int subTabID) { libraryWidget->setItemsRemoveable(false); libraryWidget->setItemsType(OSItemType::LibraryItem); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, "Water Heater - Heat Pump"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, "Water Heater - Heat Pump - Wrapped Condenser"); - libraryWidget->addModelObjectCategoryPlaceholder("Water Heaters"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitarySystem, "Unitary System"); - libraryWidget->addModelObjectCategoryPlaceholder("Unitary Systems"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_EvaporativeCoolerUnit, "Evaporative Cooler Unit"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_CoolingPanel_RadiantConvective_Water, "Cooling Panel Radiant Convective Water"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_Convective_Electric, "Baseboard Convective Electric"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_Convective_Water, "Baseboard Convective Water"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_RadiantConvective_Electric, "Baseboard Radiant Convective Electric"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_RadiantConvective_Water, "Baseboard Radiant Convective Water"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Dehumidifier_DX, "Dehumidifier - DX"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_EnergyRecoveryVentilator, "ERV"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_FourPipeFanCoil, "Four Pipe Fan Coil"); - libraryWidget->addModelObjectType(IddObjectType::OS_Fan_ZoneExhaust, "Fan Zone Exhaust"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalHeatPump, "PTHP"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_WaterToAirHeatPump, "Water To Air HP"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalAirConditioner, "PTAC"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_LowTemperatureRadiant_ConstantFlow, "Low Temp Radiant Constant Flow"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_LowTemperatureRadiant_VariableFlow, "Low Temp Radiant Variable Flow"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_LowTemperatureRadiant_Electric, "Low Temp Radiant Electric"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_HighTemperatureRadiant, "High Temp Radiant"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitHeater, "Unit Heater"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitVentilator, "Unit Ventilator"); - libraryWidget->addModelObjectCategoryPlaceholder("Zone HVAC"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneVentilation_DesignFlowRate, "Zone Ventilation Design Flow Rate"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneVentilation_WindandStackOpenArea, "Zone Ventilation Wind and Stack Open Area"); - libraryWidget->addModelObjectCategoryPlaceholder("Ventilation"); - libraryWidget->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - libraryWidget->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Schedule Rulesets"); - libraryWidget->addModelObjectCategoryPlaceholder("Schedules"); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, tr("Water Heater - Heat Pump").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, tr("Water Heater - Heat Pump - Wrapped Condenser").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Water Heaters").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitarySystem, tr("Unitary System").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Unitary Systems").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_EvaporativeCoolerUnit, tr("Evaporative Cooler Unit").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_CoolingPanel_RadiantConvective_Water, tr("Cooling Panel Radiant Convective Water").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_Convective_Electric, tr("Baseboard Convective Electric").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_Convective_Water, tr("Baseboard Convective Water").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_RadiantConvective_Electric, tr("Baseboard Radiant Convective Electric").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Baseboard_RadiantConvective_Water, tr("Baseboard Radiant Convective Water").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_Dehumidifier_DX, tr("Dehumidifier - DX").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_EnergyRecoveryVentilator, tr("ERV").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_FourPipeFanCoil, tr("Four Pipe Fan Coil").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Fan_ZoneExhaust, tr("Fan Zone Exhaust").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalHeatPump, tr("PTHP").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_WaterToAirHeatPump, tr("Water To Air HP").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalAirConditioner, tr("PTAC").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_LowTemperatureRadiant_ConstantFlow, tr("Low Temp Radiant Constant Flow").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_LowTemperatureRadiant_VariableFlow, tr("Low Temp Radiant Variable Flow").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_LowTemperatureRadiant_Electric, tr("Low Temp Radiant Electric").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_HighTemperatureRadiant, tr("High Temp Radiant").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitHeater, tr("Unit Heater").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitVentilator, tr("Unit Ventilator").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Zone HVAC").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneVentilation_DesignFlowRate, tr("Zone Ventilation Design Flow Rate").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneVentilation_WindandStackOpenArea, tr("Zone Ventilation Wind and Stack Open Area").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Ventilation").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Schedule Rulesets").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setLibraryView(libraryWidget); @@ -1018,60 +1018,60 @@ void MainRightColumnController::configureForHVACSystemsSubTab(int subTabID) { myModelList->setItemsType(OSItemType::LibraryItem); // Water and Tanks - myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, "Water Use Equipment Definition"); - myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Connections, "Water Use Connections"); - myModelList->addModelObjectCategoryPlaceholder("Water Uses"); - myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_Mixed, "Water Heater Mixed"); - myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_Stratified, "Water Heater Stratified"); - myModelList->addModelObjectCategoryPlaceholder("Water Heaters"); - myModelList->addModelObjectType(IddObjectType::OS_AirConditioner_VariableRefrigerantFlow, "VRF System"); - myModelList->addModelObjectCategoryPlaceholder("VRFs"); - myModelList->addModelObjectType(IddObjectType::OS_ThermalStorage_ChilledWater_Stratified, "Thermal Storage - Chilled Water"); - myModelList->addModelObjectCategoryPlaceholder("Thermal Storage"); + myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Equipment_Definition, tr("Water Use Equipment Definition").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterUse_Connections, tr("Water Use Connections").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Water Uses").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_Mixed, tr("Water Heater Mixed").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_WaterHeater_Stratified, tr("Water Heater Stratified").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Water Heaters").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_AirConditioner_VariableRefrigerantFlow, tr("VRF System").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("VRFs").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ThermalStorage_ChilledWater_Stratified, tr("Thermal Storage - Chilled Water").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Thermal Storage").toStdString()); // Refrigeration - myModelList->addModelObjectType(IddObjectType::OS_Refrigeration_System, "Refrigeration System"); - myModelList->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_WaterCooled, "Refrigeration Condenser Water Cooled"); - myModelList->addModelObjectCategoryPlaceholder("Refrigeration"); + myModelList->addModelObjectType(IddObjectType::OS_Refrigeration_System, tr("Refrigeration System").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_WaterCooled, tr("Refrigeration Condenser Water Cooled").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Refrigeration").toStdString()); // ZoneHVAC Components - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_WaterToAirHeatPump, "Water To Air HP"); - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_TerminalUnit_VariableRefrigerantFlow, "VRF Terminal"); - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitVentilator, "Unit Ventilator"); - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitHeater, "Unit Heater"); - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalHeatPump, "PTHP"); - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalAirConditioner, "PTAC"); - myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_FourPipeFanCoil, "Four Pipe Fan Coil"); - myModelList->addModelObjectCategoryPlaceholder("Zone HVAC"); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_WaterToAirHeatPump, tr("Water To Air HP").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_TerminalUnit_VariableRefrigerantFlow, tr("VRF Terminal").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitVentilator, tr("Unit Ventilator").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitHeater, tr("Unit Heater").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalHeatPump, tr("PTHP").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalAirConditioner, tr("PTAC").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_ZoneHVAC_FourPipeFanCoil, tr("Four Pipe Fan Coil").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Zone HVAC").toStdString()); // Central components and coils - myModelList->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Heating, "Heat Pump - Water to Water - Heating"); - myModelList->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Cooling, "Heat Pump - Water to Water - Cooling"); - myModelList->addModelObjectType(IddObjectType::OS_HeatExchanger_FluidToFluid, "Heat Exchanger Fluid To Fluid"); - myModelList->addModelObjectCategoryPlaceholder("Heat Exchangers"); - myModelList->addModelObjectType(IddObjectType::OS_Coil_Heating_Water, "Coil Heating Water"); - myModelList->addModelObjectType(IddObjectType::OS_Coil_Cooling_Water, "Coil Cooling Water"); - myModelList->addModelObjectCategoryPlaceholder("Coils"); - myModelList->addModelObjectType(IddObjectType::OS_CentralHeatPumpSystem, "Central Heat Pump System"); - myModelList->addModelObjectCategoryPlaceholder("Heat Pumps"); - myModelList->addModelObjectType(IddObjectType::OS_Chiller_Electric_EIR, "Chiller - Electric EIR"); - myModelList->addModelObjectType(IddObjectType::OS_Chiller_Absorption, "Chiller - Absorption"); - myModelList->addModelObjectType(IddObjectType::OS_Chiller_Absorption_Indirect, "Chiller - Indirect Absorption"); - myModelList->addModelObjectCategoryPlaceholder("Chillers"); + myModelList->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Heating, tr("Heat Pump - Water to Water - Heating").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Cooling, tr("Heat Pump - Water to Water - Cooling").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_HeatExchanger_FluidToFluid, tr("Heat Exchanger Fluid To Fluid").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Heat Exchangers").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Coil_Heating_Water, tr("Coil Heating Water").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Coil_Cooling_Water, tr("Coil Cooling Water").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Coils").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_CentralHeatPumpSystem, tr("Central Heat Pump System").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Heat Pumps").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Chiller_Electric_EIR, tr("Chiller - Electric EIR").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Chiller_Absorption, tr("Chiller - Absorption").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Chiller_Absorption_Indirect, tr("Chiller - Indirect Absorption").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Chillers").toStdString()); // Zones - myModelList->addModelObjectType(IddObjectType::OS_ThermalZone, "Thermal Zone"); - myModelList->addModelObjectCategoryPlaceholder("Zones"); + myModelList->addModelObjectType(IddObjectType::OS_ThermalZone, tr("Thermal Zone").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Zones").toStdString()); // Schedules - myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, "Schedule File"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, "Variable Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, "Fixed Interval Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, "Year Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, "Constant Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, "Compact Schedules"); - myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, "Ruleset Schedules"); - myModelList->addModelObjectCategoryPlaceholder("Schedules"); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_File, tr("Schedule File").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_VariableInterval, tr("Variable Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_FixedInterval, tr("Fixed Interval Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Year, tr("Year Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Constant, tr("Constant Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Compact, tr("Compact Schedules").toStdString()); + myModelList->addModelObjectType(IddObjectType::OS_Schedule_Ruleset, tr("Ruleset Schedules").toStdString()); + myModelList->addModelObjectCategoryPlaceholder(tr("Schedules").toStdString()); setMyModelView(myModelList); @@ -1084,185 +1084,185 @@ void MainRightColumnController::configureForHVACSystemsSubTab(int subTabID) { libraryWidget->setItemsRemoveable(false); libraryWidget->setItemsType(OSItemType::LibraryItem); - libraryWidget->addModelObjectType(IddObjectType::OS_SwimmingPool_Indoor, "Swimming Pool Indoor"); - libraryWidget->addModelObjectCategoryPlaceholder("Swimming Pools"); - libraryWidget->addModelObjectType(IddObjectType::OS_SolarCollector_IntegralCollectorStorage, "Solar Collector Integral Collector Storage"); - libraryWidget->addModelObjectType(IddObjectType::OS_SolarCollector_FlatPlate_Water, "Solar Collector Flat Plate Water"); + libraryWidget->addModelObjectType(IddObjectType::OS_SwimmingPool_Indoor, tr("Swimming Pool Indoor").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Swimming Pools").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SolarCollector_IntegralCollectorStorage, tr("Solar Collector Integral Collector Storage").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SolarCollector_FlatPlate_Water, tr("Solar Collector Flat Plate Water").toStdString()); //libraryWidget->addModelObjectType(IddObjectType::OS_SolarCollector_FlatPlate_PhotovoltaicThermal, "Solar Collector Flat Plate Photovoltaic Thermal"); - libraryWidget->addModelObjectCategoryPlaceholder("Solar Collectors"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterUse_Equipment, "Water Use Equipment"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterUse_Connections, "Water Use Connections"); - libraryWidget->addModelObjectCategoryPlaceholder("Water Uses"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, "Water Heater - Heat Pump"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, "Water Heater - Heat Pump - Wrapped Condenser"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_Mixed, "Water Heater Mixed"); - libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_Stratified, "Water Heater Stratified"); - libraryWidget->addModelObjectCategoryPlaceholder("Water Heaters"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirConditioner_VariableRefrigerantFlow, "VRF System"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_TerminalUnit_VariableRefrigerantFlow, "VRF Terminal"); - libraryWidget->addModelObjectCategoryPlaceholder("VRFs"); - libraryWidget->addModelObjectType(IddObjectType::OS_ThermalStorage_Ice_Detailed, "Thermal Storage - Ice Storage"); - libraryWidget->addModelObjectType(IddObjectType::OS_ThermalStorage_ChilledWater_Stratified, "Thermal Storage - Chilled Water"); - libraryWidget->addModelObjectCategoryPlaceholder("Thermal Storage"); - libraryWidget->addModelObjectType(IddObjectType::OS_TemperingValve, "Tempering Valve"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SystemNodeReset_Humidity, "Setpoint Manager System Node Reset Humidity"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SystemNodeReset_Temperature, "Setpoint Manager System Node Reset Temperature"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Coldest, "Setpoint Manager Coldest"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_FollowGroundTemperature, "Setpoint Manager Follow Ground Temperature"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_FollowOutdoorAirTemperature, "Setpoint Manager Follow Outdoor Air Temperature"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_FollowSystemNodeTemperature, "Setpoint Manager Follow System Node Temperature"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MixedAir, "Setpoint Manager Mixed Air"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Cooling_Average, "Setpoint Manager MultiZone Cooling Average"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Heating_Average, "Setpoint Manager MultiZone Heating Average"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Humidity_Maximum, "Setpoint Manager MultiZone Humidity Maximum"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Humidity_Minimum, "Setpoint Manager MultiZone Humidity Minimum"); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Solar Collectors").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterUse_Equipment, tr("Water Use Equipment").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterUse_Connections, tr("Water Use Connections").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Water Uses").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump, tr("Water Heater - Heat Pump").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_HeatPump_WrappedCondenser, tr("Water Heater - Heat Pump - Wrapped Condenser").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_Mixed, tr("Water Heater Mixed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_WaterHeater_Stratified, tr("Water Heater Stratified").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Water Heaters").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirConditioner_VariableRefrigerantFlow, tr("VRF System").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_TerminalUnit_VariableRefrigerantFlow, tr("VRF Terminal").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("VRFs").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ThermalStorage_Ice_Detailed, tr("Thermal Storage - Ice Storage").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ThermalStorage_ChilledWater_Stratified, tr("Thermal Storage - Chilled Water").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Thermal Storage").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_TemperingValve, tr("Tempering Valve").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SystemNodeReset_Humidity, tr("Setpoint Manager System Node Reset Humidity").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SystemNodeReset_Temperature, tr("Setpoint Manager System Node Reset Temperature").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Coldest, tr("Setpoint Manager Coldest").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_FollowGroundTemperature, tr("Setpoint Manager Follow Ground Temperature").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_FollowOutdoorAirTemperature, tr("Setpoint Manager Follow Outdoor Air Temperature").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_FollowSystemNodeTemperature, tr("Setpoint Manager Follow System Node Temperature").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MixedAir, tr("Setpoint Manager Mixed Air").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Cooling_Average, tr("Setpoint Manager MultiZone Cooling Average").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Heating_Average, tr("Setpoint Manager MultiZone Heating Average").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Humidity_Maximum, tr("Setpoint Manager MultiZone Humidity Maximum").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_Humidity_Minimum, tr("Setpoint Manager MultiZone Humidity Minimum").toStdString()); libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_MaximumHumidity_Average, - "Setpoint Manager MultiZone MaximumHumidity Average"); + tr("Setpoint Manager MultiZone MaximumHumidity Average").toStdString()); libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_MultiZone_MinimumHumidity_Average, - "Setpoint Manager MultiZone MinimumHumidity Average"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_OutdoorAirPretreat, "Setpoint Manager Outdoor Air Pretreat"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_OutdoorAirReset, "Setpoint Manager Outdoor Air Reset"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Scheduled, "Setpoint Manager Scheduled"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Scheduled_DualSetpoint, "Setpoint Manager Scheduled Dual Setpoint"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Cooling, "Setpoint Manager Single Zone Cooling"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Heating, "Setpoint Manager Single Zone Heating"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Humidity_Maximum, "Setpoint Manager Humidity Maximum"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Humidity_Minimum, "Setpoint Manager Humidity Minimum"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_OneStageCooling, "Setpoint Manager One Stage Cooling"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_OneStageHeating, "Setpoint Manager One Stage Heating"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Reheat, "Setpoint Manager Single Zone Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Warmest, "Setpoint Manager Warmest"); - libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_WarmestTemperatureFlow, "Setpoint Manager Warmest Temp and Flow"); - libraryWidget->addModelObjectCategoryPlaceholder("Setpoint Managers"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_WalkIn, "Refrigeration Walkin"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_System, "Refrigeration System"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Subcooler_Mechanical, "Refrigeration Subcooler Mechanical"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Subcooler_LiquidSuction, "Refrigeration Subcooler Liquid Suction"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Compressor, "Refrigeration Compressor"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_Cascade, "Refrigeration Condenser Cascade"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_WaterCooled, "Refrigeration Condenser Water Cooled"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_EvaporativeCooled, "Refrigeration Condenser Evaporative Cooled"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_AirCooled, "Refrigeration Condenser Air Cooled"); - libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Case, "Refrigeration Case"); - libraryWidget->addModelObjectCategoryPlaceholder("Refrigeration"); - libraryWidget->addModelObjectType(IddObjectType::OS_Pump_ConstantSpeed, "Pump Constant Speed"); - libraryWidget->addModelObjectType(IddObjectType::OS_HeaderedPumps_ConstantSpeed, "Pump Constant Speed Headered"); - libraryWidget->addModelObjectType(IddObjectType::OS_Pump_VariableSpeed, "Pump Variable Speed"); - libraryWidget->addModelObjectType(IddObjectType::OS_HeaderedPumps_VariableSpeed, "Pump Variable Speed Headered"); - libraryWidget->addModelObjectCategoryPlaceholder("Pumps"); - libraryWidget->addModelObjectType(IddObjectType::OS_PlantComponent_TemperatureSource, "Plant Component - Temp Source"); - libraryWidget->addModelObjectType(IddObjectType::OS_PlantComponent_UserDefined, "Plant Component - User Defined"); - libraryWidget->addModelObjectCategoryPlaceholder("Plant Components"); - libraryWidget->addModelObjectType(IddObjectType::OS_Pipe_Outdoor, "Pipe - Outdoor"); - libraryWidget->addModelObjectType(IddObjectType::OS_Pipe_Indoor, "Pipe - Indoor"); - libraryWidget->addModelObjectType(IddObjectType::OS_Pipe_Adiabatic, "Pipe - Adiabatic"); - libraryWidget->addModelObjectCategoryPlaceholder("Pipes"); - libraryWidget->addModelObjectType(IddObjectType::OS_LoadProfile_Plant, "Load Profile - Plant"); - libraryWidget->addModelObjectCategoryPlaceholder("Load Profiles"); - libraryWidget->addModelObjectType(IddObjectType::OS_Humidifier_Steam_Electric, "Humidifier Steam Electric"); - libraryWidget->addModelObjectType(IddObjectType::OS_Humidifier_Steam_Gas, "Humidifier Steam Gas"); - libraryWidget->addModelObjectCategoryPlaceholder("Humidifiers"); - libraryWidget->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Heating, "Heat Pump - Water to Water - Heating"); - libraryWidget->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Cooling, "Heat Pump - Water to Water - Cooling"); - libraryWidget->addModelObjectCategoryPlaceholder("Heat Pumps"); - libraryWidget->addModelObjectType(IddObjectType::OS_HeatExchanger_FluidToFluid, "Heat Exchanger Fluid To Fluid"); - libraryWidget->addModelObjectType(IddObjectType::OS_HeatExchanger_AirToAir_SensibleAndLatent, "Heat Exchanger Air To Air Sensible and Latent"); - libraryWidget->addModelObjectCategoryPlaceholder("Heat Exchangers"); + tr("Setpoint Manager MultiZone MinimumHumidity Average").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_OutdoorAirPretreat, tr("Setpoint Manager Outdoor Air Pretreat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_OutdoorAirReset, tr("Setpoint Manager Outdoor Air Reset").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Scheduled, tr("Setpoint Manager Scheduled").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Scheduled_DualSetpoint, tr("Setpoint Manager Scheduled Dual Setpoint").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Cooling, tr("Setpoint Manager Single Zone Cooling").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Heating, tr("Setpoint Manager Single Zone Heating").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Humidity_Maximum, tr("Setpoint Manager Humidity Maximum").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Humidity_Minimum, tr("Setpoint Manager Humidity Minimum").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_OneStageCooling, tr("Setpoint Manager One Stage Cooling").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_OneStageHeating, tr("Setpoint Manager One Stage Heating").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_SingleZone_Reheat, tr("Setpoint Manager Single Zone Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_Warmest, tr("Setpoint Manager Warmest").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_SetpointManager_WarmestTemperatureFlow, tr("Setpoint Manager Warmest Temp and Flow").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Setpoint Managers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_WalkIn, tr("Refrigeration Walkin").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_System, tr("Refrigeration System").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Subcooler_Mechanical, tr("Refrigeration Subcooler Mechanical").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Subcooler_LiquidSuction, tr("Refrigeration Subcooler Liquid Suction").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Compressor, tr("Refrigeration Compressor").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_Cascade, tr("Refrigeration Condenser Cascade").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_WaterCooled, tr("Refrigeration Condenser Water Cooled").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_EvaporativeCooled, tr("Refrigeration Condenser Evaporative Cooled").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Condenser_AirCooled, tr("Refrigeration Condenser Air Cooled").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Refrigeration_Case, tr("Refrigeration Case").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Refrigeration").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Pump_ConstantSpeed, tr("Pump Constant Speed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_HeaderedPumps_ConstantSpeed, tr("Pump Constant Speed Headered").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Pump_VariableSpeed, tr("Pump Variable Speed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_HeaderedPumps_VariableSpeed, tr("Pump Variable Speed Headered").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Pumps").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_PlantComponent_TemperatureSource, tr("Plant Component - Temp Source").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_PlantComponent_UserDefined, tr("Plant Component - User Defined").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Plant Components").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Pipe_Outdoor, tr("Pipe - Outdoor").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Pipe_Indoor, tr("Pipe - Indoor").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Pipe_Adiabatic, tr("Pipe - Adiabatic").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Pipes").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_LoadProfile_Plant, tr("Load Profile - Plant").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Load Profiles").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Humidifier_Steam_Electric, tr("Humidifier Steam Electric").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Humidifier_Steam_Gas, tr("Humidifier Steam Gas").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Humidifiers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Heating, tr("Heat Pump - Water to Water - Heating").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_HeatPump_WaterToWater_EquationFit_Cooling, tr("Heat Pump - Water to Water - Cooling").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Heat Pumps").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_HeatExchanger_FluidToFluid, tr("Heat Exchanger Fluid To Fluid").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_HeatExchanger_AirToAir_SensibleAndLatent, tr("Heat Exchanger Air To Air Sensible and Latent").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Heat Exchangers").toStdString()); libraryWidget->addModelObjectType(IddObjectType::OS_Generator_FuelCell_ExhaustGasToWaterHeatExchanger, - "Generator FuelCell - Exhaust Gas To Water Heat Exchanger"); - libraryWidget->addModelObjectType(IddObjectType::OS_Generator_MicroTurbine_HeatRecovery, "Generator MicroTurbine - Heat Recovery"); - libraryWidget->addModelObjectCategoryPlaceholder("Generators"); - libraryWidget->addModelObjectType(IddObjectType::OS_GroundHeatExchanger_Vertical, "Ground Heat Exchanger - Vertical "); - libraryWidget->addModelObjectType(IddObjectType::OS_GroundHeatExchanger_HorizontalTrench, "Ground Heat Exchanger - Horizontal"); - libraryWidget->addModelObjectCategoryPlaceholder("Ground Heat Exchangers"); - libraryWidget->addModelObjectType(IddObjectType::OS_FluidCooler_TwoSpeed, "Fluid Cooler Two Speed"); - libraryWidget->addModelObjectType(IddObjectType::OS_FluidCooler_SingleSpeed, "Fluid Cooler Single Speed"); - libraryWidget->addModelObjectCategoryPlaceholder("Fluid Coolers"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_FourPipeFanCoil, "Four Pipe Fan Coil"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalHeatPump, "PTHP"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_WaterToAirHeatPump, "Water To Air HP"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalAirConditioner, "PTAC"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitHeater, "Unit Heater"); - libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitVentilator, "Unit Ventilator"); - libraryWidget->addModelObjectCategoryPlaceholder("Zone HVAC"); - libraryWidget->addModelObjectType(IddObjectType::OS_Fan_ComponentModel, "Fan Component Model"); - libraryWidget->addModelObjectType(IddObjectType::OS_Fan_SystemModel, "Fan System Model"); - libraryWidget->addModelObjectType(IddObjectType::OS_Fan_VariableVolume, "Fan Variable Volume"); - libraryWidget->addModelObjectType(IddObjectType::OS_Fan_ConstantVolume, "Fan Constant Volume"); - libraryWidget->addModelObjectCategoryPlaceholder("Fans"); - libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeCooler_Direct_ResearchSpecial, "Evaporative Cooler Direct Research Special"); - libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeCooler_Indirect_ResearchSpecial, "Evaporative Cooler Indirect Research Special"); - libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeFluidCooler_TwoSpeed, "Evaporative Fluid Cooler Two Speed"); - libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeFluidCooler_SingleSpeed, "Evaporative Fluid Cooler Single Speed"); - libraryWidget->addModelObjectCategoryPlaceholder("Evaporative Coolers"); - libraryWidget->addModelObjectType(IddObjectType::OS_Duct, "Duct"); - libraryWidget->addModelObjectCategoryPlaceholder("Ducts"); - libraryWidget->addModelObjectType(IddObjectType::OS_DistrictCooling, "District Cooling"); - libraryWidget->addModelObjectCategoryPlaceholder("District Cooling"); - libraryWidget->addModelObjectType(IddObjectType::OS_DistrictHeating_Water, "District Heating Water"); - libraryWidget->addModelObjectCategoryPlaceholder("District Heating"); - libraryWidget->addModelObjectType(IddObjectType::OS_CoolingTower_TwoSpeed, "Cooling Tower Two Speed"); - libraryWidget->addModelObjectType(IddObjectType::OS_CoolingTower_SingleSpeed, "Cooling Tower Single Speed"); - libraryWidget->addModelObjectType(IddObjectType::OS_CoolingTower_VariableSpeed, "Cooling Tower Variable Speed"); - libraryWidget->addModelObjectCategoryPlaceholder("Cooling Towers"); - libraryWidget->addModelObjectType(IddObjectType::OS_CentralHeatPumpSystem, "Central Heat Pump System"); - libraryWidget->addModelObjectCategoryPlaceholder("Central Heat Pump Systems"); - libraryWidget->addModelObjectType(IddObjectType::OS_Chiller_Electric_EIR, "Chiller - Electric EIR"); - libraryWidget->addModelObjectType(IddObjectType::OS_Chiller_Absorption_Indirect, "Chiller - Indirect Absorption"); - libraryWidget->addModelObjectType(IddObjectType::OS_Chiller_Absorption, "Chiller - Absorption"); - libraryWidget->addModelObjectCategoryPlaceholder("Chillers"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_Gas, "Coil Heating Gas"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_DX_SingleSpeed, "Coil Heating DX SingleSpeed"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_Electric, "Coil Heating Electric"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_Water, "Coil Heating Water"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_Water, "Coil Cooling Water"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_VariableSpeed, "Coil Cooling DX VariableSpeed"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_TwoStageWithHumidityControlMode, "Coil Cooling DX TwoStage - Humidity Control"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_TwoSpeed, "Coil Cooling DX TwoSpeed"); - libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_SingleSpeed, "Coil Cooling DX SingleSpeed"); - libraryWidget->addModelObjectCategoryPlaceholder("Coils"); - libraryWidget->addModelObjectType(IddObjectType::OS_Boiler_HotWater, "Boiler Hot Water"); - libraryWidget->addModelObjectCategoryPlaceholder("Boilers"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_FourPipeInduction, "Air Terminal Four Pipe Induction"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_CooledBeam, "Air Terminal Chilled Beam"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_FourPipeBeam, "Air Terminal Four Pipe Beam"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_Reheat, "AirTerminal Single Duct Constant Volume Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_Reheat, "AirTerminal Single Duct VAV Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ParallelPIU_Reheat, "AirTerminal Single Duct Parallel PIU Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_SeriesPIU_Reheat, "AirTerminal Single Duct Series PIU Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_InletSideMixer, "AirTerminal Inlet Side Mixer"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_HeatAndCool_Reheat, "AirTerminal Heat and Cool Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_HeatAndCool_NoReheat, "AirTerminal Heat and Cool No Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_NoReheat, "AirTerminal Single Duct VAV NoReheat"); + tr("Generator FuelCell - Exhaust Gas To Water Heat Exchanger").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Generator_MicroTurbine_HeatRecovery, tr("Generator MicroTurbine - Heat Recovery").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Generators").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_GroundHeatExchanger_Vertical, tr("Ground Heat Exchanger - Vertical ").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_GroundHeatExchanger_HorizontalTrench, tr("Ground Heat Exchanger - Horizontal").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Ground Heat Exchangers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_FluidCooler_TwoSpeed, tr("Fluid Cooler Two Speed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_FluidCooler_SingleSpeed, tr("Fluid Cooler Single Speed").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Fluid Coolers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_FourPipeFanCoil, tr("Four Pipe Fan Coil").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalHeatPump, tr("PTHP").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_WaterToAirHeatPump, tr("Water To Air HP").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_PackagedTerminalAirConditioner, tr("PTAC").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitHeater, tr("Unit Heater").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_ZoneHVAC_UnitVentilator, tr("Unit Ventilator").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Zone HVAC").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Fan_ComponentModel, tr("Fan Component Model").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Fan_SystemModel, tr("Fan System Model").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Fan_VariableVolume, tr("Fan Variable Volume").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Fan_ConstantVolume, tr("Fan Constant Volume").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Fans").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeCooler_Direct_ResearchSpecial, tr("Evaporative Cooler Direct Research Special").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeCooler_Indirect_ResearchSpecial, tr("Evaporative Cooler Indirect Research Special").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeFluidCooler_TwoSpeed, tr("Evaporative Fluid Cooler Two Speed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_EvaporativeFluidCooler_SingleSpeed, tr("Evaporative Fluid Cooler Single Speed").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Evaporative Coolers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Duct, tr("Duct").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Ducts").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_DistrictCooling, tr("District Cooling").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("District Cooling").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_DistrictHeating_Water, tr("District Heating Water").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("District Heating").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_CoolingTower_TwoSpeed, tr("Cooling Tower Two Speed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_CoolingTower_SingleSpeed, tr("Cooling Tower Single Speed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_CoolingTower_VariableSpeed, tr("Cooling Tower Variable Speed").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Cooling Towers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_CentralHeatPumpSystem, tr("Central Heat Pump System").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Central Heat Pump Systems").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Chiller_Electric_EIR, tr("Chiller - Electric EIR").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Chiller_Absorption_Indirect, tr("Chiller - Indirect Absorption").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Chiller_Absorption, tr("Chiller - Absorption").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Chillers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_Gas, tr("Coil Heating Gas").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_DX_SingleSpeed, tr("Coil Heating DX SingleSpeed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_Electric, tr("Coil Heating Electric").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Heating_Water, tr("Coil Heating Water").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_Water, tr("Coil Cooling Water").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_VariableSpeed, tr("Coil Cooling DX VariableSpeed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_TwoStageWithHumidityControlMode, tr("Coil Cooling DX TwoStage - Humidity Control").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_TwoSpeed, tr("Coil Cooling DX TwoSpeed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Coil_Cooling_DX_SingleSpeed, tr("Coil Cooling DX SingleSpeed").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Coils").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_Boiler_HotWater, tr("Boiler Hot Water").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Boilers").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_FourPipeInduction, tr("Air Terminal Four Pipe Induction").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_CooledBeam, tr("Air Terminal Chilled Beam").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_FourPipeBeam, tr("Air Terminal Four Pipe Beam").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_Reheat, tr("AirTerminal Single Duct Constant Volume Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_Reheat, tr("AirTerminal Single Duct VAV Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ParallelPIU_Reheat, tr("AirTerminal Single Duct Parallel PIU Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_SeriesPIU_Reheat, tr("AirTerminal Single Duct Series PIU Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_InletSideMixer, tr("AirTerminal Inlet Side Mixer").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_HeatAndCool_Reheat, tr("AirTerminal Heat and Cool Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_HeatAndCool_NoReheat, tr("AirTerminal Heat and Cool No Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_VAV_NoReheat, tr("AirTerminal Single Duct VAV NoReheat").toStdString()); libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_SingleDuct_ConstantVolume_NoReheat, - "AirTerminal Single Duct Constant Volume No Reheat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_DualDuct_ConstantVolume, "Air Terminal Dual Duct Constant Volume"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_DualDuct_VAV, "Air Terminal Dual Duct VAV"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_DualDuct_VAV_OutdoorAir, "Air Terminal Dual Duct VAV Outdoor Air"); - libraryWidget->addModelObjectCategoryPlaceholder("Air Terminals"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_OutdoorAirSystem, "AirLoopHVAC Outdoor Air System"); + tr("AirTerminal Single Duct Constant Volume No Reheat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_DualDuct_ConstantVolume, tr("Air Terminal Dual Duct Constant Volume").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_DualDuct_VAV, tr("Air Terminal Dual Duct VAV").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirTerminal_DualDuct_VAV_OutdoorAir, tr("Air Terminal Dual Duct VAV Outdoor Air").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Air Terminals").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_OutdoorAirSystem, tr("AirLoopHVAC Outdoor Air System").toStdString()); libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitaryHeatPump_AirToAir_MultiSpeed, - "AirLoopHVAC Unitary Heat Pump AirToAir MultiSpeed"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitarySystem, "AirLoopHVAC Unitary System"); - libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitaryHeatCool_VAVChangeoverBypass, "AirLoopHVAC Unitary VAV Changeover Bypass"); - libraryWidget->addModelObjectCategoryPlaceholder("Air Loop HVAC"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_Scheduled, "Availability Manager Scheduled"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_ScheduledOn, "Availability Manager Scheduled On"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_ScheduledOff, "Availability Manager Scheduled Off"); - - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_LowTemperatureTurnOn, "Availability Manager Low Temperature Turn On"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_LowTemperatureTurnOff, "Availability Manager Low Temperature Turn Off"); - - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_HighTemperatureTurnOn, "Availability Manager High Temperature Turn On"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_HighTemperatureTurnOff, "Availability Manager High Temperature Turn Off"); - - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_DifferentialThermostat, "Availability Manager Differential Thermostat"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_OptimumStart, "Availability Manager Optimum Start"); - - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_NightCycle, "Availability Manager Night Cycle"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_NightVentilation, "Availability Manager Night Ventilation"); - libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_HybridVentilation, "Availability Manager Hybrid Ventilation"); - libraryWidget->addModelObjectCategoryPlaceholder("Availability Managers"); + tr("AirLoopHVAC Unitary Heat Pump AirToAir MultiSpeed").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitarySystem, tr("AirLoopHVAC Unitary System").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AirLoopHVAC_UnitaryHeatCool_VAVChangeoverBypass, tr("AirLoopHVAC Unitary VAV Changeover Bypass").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Air Loop HVAC").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_Scheduled, tr("Availability Manager Scheduled").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_ScheduledOn, tr("Availability Manager Scheduled On").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_ScheduledOff, tr("Availability Manager Scheduled Off").toStdString()); + + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_LowTemperatureTurnOn, tr("Availability Manager Low Temperature Turn On").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_LowTemperatureTurnOff, tr("Availability Manager Low Temperature Turn Off").toStdString()); + + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_HighTemperatureTurnOn, tr("Availability Manager High Temperature Turn On").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_HighTemperatureTurnOff, tr("Availability Manager High Temperature Turn Off").toStdString()); + + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_DifferentialThermostat, tr("Availability Manager Differential Thermostat").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_OptimumStart, tr("Availability Manager Optimum Start").toStdString()); + + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_NightCycle, tr("Availability Manager Night Cycle").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_NightVentilation, tr("Availability Manager Night Ventilation").toStdString()); + libraryWidget->addModelObjectType(IddObjectType::OS_AvailabilityManager_HybridVentilation, tr("Availability Manager Hybrid Ventilation").toStdString()); + libraryWidget->addModelObjectCategoryPlaceholder(tr("Availability Managers").toStdString()); setLibraryView(libraryWidget); diff --git a/src/openstudio_lib/MaterialAirGapInspectorView.cpp b/src/openstudio_lib/MaterialAirGapInspectorView.cpp index aecd1133a..79b2c993d 100644 --- a/src/openstudio_lib/MaterialAirGapInspectorView.cpp +++ b/src/openstudio_lib/MaterialAirGapInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -46,7 +46,7 @@ void MaterialAirGapInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -65,7 +65,7 @@ void MaterialAirGapInspectorView::createLayout() { // Thermal Resistance - label = new QLabel("Thermal Resistance: "); + label = new QLabel(tr("Thermal Resistance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/MaterialInspectorView.cpp b/src/openstudio_lib/MaterialInspectorView.cpp index d62105a9e..bec2c1952 100644 --- a/src/openstudio_lib/MaterialInspectorView.cpp +++ b/src/openstudio_lib/MaterialInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -50,7 +50,7 @@ void MaterialInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -73,7 +73,7 @@ void MaterialInspectorView::createLayout() { // Roughness vLayout = new QVBoxLayout(); - label = new QLabel("Roughness: "); + label = new QLabel(tr("Roughness: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -91,7 +91,7 @@ void MaterialInspectorView::createLayout() { // Thickness vLayout = new QVBoxLayout(); - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -104,7 +104,7 @@ void MaterialInspectorView::createLayout() { // Conductivity vLayout = new QVBoxLayout(); - label = new QLabel("Conductivity: "); + label = new QLabel(tr("Conductivity: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -117,7 +117,7 @@ void MaterialInspectorView::createLayout() { // Density vLayout = new QVBoxLayout(); - label = new QLabel("Density: "); + label = new QLabel(tr("Density: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -130,7 +130,7 @@ void MaterialInspectorView::createLayout() { // Specific Heat vLayout = new QVBoxLayout(); - label = new QLabel("Specific Heat: "); + label = new QLabel(tr("Specific Heat: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -143,7 +143,7 @@ void MaterialInspectorView::createLayout() { // Thermal Absorptance vLayout = new QVBoxLayout(); - label = new QLabel("Thermal Absorptance: "); + label = new QLabel(tr("Thermal Absorptance: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -156,7 +156,7 @@ void MaterialInspectorView::createLayout() { // Solar Absorptance vLayout = new QVBoxLayout(); - label = new QLabel("Solar Absorptance: "); + label = new QLabel(tr("Solar Absorptance: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -169,7 +169,7 @@ void MaterialInspectorView::createLayout() { // Visible Absorptance vLayout = new QVBoxLayout(); - label = new QLabel("Visible Absorptance: "); + label = new QLabel(tr("Visible Absorptance: ")); label->setObjectName("H2"); vLayout->addWidget(label); diff --git a/src/openstudio_lib/MaterialNoMassInspectorView.cpp b/src/openstudio_lib/MaterialNoMassInspectorView.cpp index c3102f177..75ecb18c6 100644 --- a/src/openstudio_lib/MaterialNoMassInspectorView.cpp +++ b/src/openstudio_lib/MaterialNoMassInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -47,7 +47,7 @@ void MaterialNoMassInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -67,7 +67,7 @@ void MaterialNoMassInspectorView::createLayout() { // Roughness - label = new QLabel("Roughness: "); + label = new QLabel(tr("Roughness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -82,7 +82,7 @@ void MaterialNoMassInspectorView::createLayout() { // Thermal Resistance - label = new QLabel("Thermal Resistance: "); + label = new QLabel(tr("Thermal Resistance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -92,7 +92,7 @@ void MaterialNoMassInspectorView::createLayout() { // Thermal Absorptance - label = new QLabel("Thermal Absorptance: "); + label = new QLabel(tr("Thermal Absorptance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -102,7 +102,7 @@ void MaterialNoMassInspectorView::createLayout() { // Solar Absorptance - label = new QLabel("Solar Absorptance: "); + label = new QLabel(tr("Solar Absorptance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -112,7 +112,7 @@ void MaterialNoMassInspectorView::createLayout() { // Visible Absorptance - label = new QLabel("Visible Absorptance: "); + label = new QLabel(tr("Visible Absorptance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/MaterialRoofVegetationInspectorView.cpp b/src/openstudio_lib/MaterialRoofVegetationInspectorView.cpp index 45ea527f7..20333310e 100644 --- a/src/openstudio_lib/MaterialRoofVegetationInspectorView.cpp +++ b/src/openstudio_lib/MaterialRoofVegetationInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -47,7 +47,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -66,7 +66,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Height Of Plants - label = new QLabel("Height Of Plants: "); + label = new QLabel(tr("Height Of Plants: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -76,7 +76,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Leaf Area Index - label = new QLabel("Leaf Area Index: "); + label = new QLabel(tr("Leaf Area Index: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -86,7 +86,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Leaf Reflectivity - label = new QLabel("Leaf Reflectivity: "); + label = new QLabel(tr("Leaf Reflectivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -96,7 +96,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Leaf Emissivity - label = new QLabel("Leaf Emissivity: "); + label = new QLabel(tr("Leaf Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -106,7 +106,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Minimum Stomatal Resistance - label = new QLabel("Minimum Stomatal Resistance: "); + label = new QLabel(tr("Minimum Stomatal Resistance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -116,7 +116,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Soil Layer Name - label = new QLabel("Soil Layer Name: "); + label = new QLabel(tr("Soil Layer Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -125,7 +125,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Roughness - label = new QLabel("Roughness: "); + label = new QLabel(tr("Roughness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -140,7 +140,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Thickness - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -150,7 +150,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Conductivity Of Dry Soil - label = new QLabel("Conductivity Of Dry Soil: "); + label = new QLabel(tr("Conductivity Of Dry Soil: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -160,7 +160,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Density Of Dry Soil - label = new QLabel("Density Of Dry Soil: "); + label = new QLabel(tr("Density Of Dry Soil: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -170,7 +170,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Specific Heat Of Dry Soil - label = new QLabel("Specific Heat Of Dry Soil: "); + label = new QLabel(tr("Specific Heat Of Dry Soil: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -180,7 +180,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Thermal Absorptance - label = new QLabel("Thermal Absorptance: "); + label = new QLabel(tr("Thermal Absorptance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -190,7 +190,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Solar Absorptance - label = new QLabel("Solar Absorptance: "); + label = new QLabel(tr("Solar Absorptance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -200,7 +200,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Visible Absorptance - label = new QLabel("Visible Absorptance: "); + label = new QLabel(tr("Visible Absorptance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -210,7 +210,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Saturation Volumetric Moisture Content Of The Soil Layer - label = new QLabel("Saturation Volumetric Moisture Content Of The Soil Layer: "); + label = new QLabel(tr("Saturation Volumetric Moisture Content Of The Soil Layer: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -221,7 +221,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Residual Volumetric Moisture Content Of The Soil Layer - label = new QLabel("Residual Volumetric Moisture Content Of The Soil Layer: "); + label = new QLabel(tr("Residual Volumetric Moisture Content Of The Soil Layer: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -232,7 +232,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Initial Volumetric Moisture Content Of The Soil Layer - label = new QLabel("Initial Volumetric Moisture Content Of The Soil Layer: "); + label = new QLabel(tr("Initial Volumetric Moisture Content Of The Soil Layer: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -243,7 +243,7 @@ void MaterialRoofVegetationInspectorView::createLayout() { // Moisture Diffusion Calculation Method - label = new QLabel("Moisture Diffusion Calculation Method: "); + label = new QLabel(tr("Moisture Diffusion Calculation Method: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/MaterialsView.cpp b/src/openstudio_lib/MaterialsView.cpp index 9eb763d2d..8a92b93ad 100644 --- a/src/openstudio_lib/MaterialsView.cpp +++ b/src/openstudio_lib/MaterialsView.cpp @@ -28,6 +28,7 @@ #include +#include #include namespace openstudio { @@ -42,26 +43,27 @@ MaterialsView::MaterialsView(bool isIP, const openstudio::model::Model& model, c std::vector> MaterialsView::modelObjectTypesAndNames() { std::vector> result; - result.push_back(std::make_pair(IddObjectType::OS_Material, "Materials")); - result.push_back(std::make_pair(IddObjectType::OS_Material_NoMass, "No Mass Materials")); - result.push_back(std::make_pair(IddObjectType::OS_Material_AirGap, "Air Gap Materials")); + auto tr = [](const char* s) { return QCoreApplication::translate("openstudio::MaterialsView", s).toStdString(); }; + result.push_back(std::make_pair(IddObjectType::OS_Material, tr("Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_Material_NoMass, tr("No Mass Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_Material_AirGap, tr("Air Gap Materials"))); result.push_back( - std::make_pair(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, "Simple Glazing System Window Materials")); - result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Glazing, "Glazing Window Materials")); - result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Gas, "Gas Window Materials")); - result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_GasMixture, "Gas Mixture Window Materials")); - result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Blind, "Blind Window Materials")); + std::make_pair(IddObjectType::OS_WindowMaterial_SimpleGlazingSystem, tr("Simple Glazing System Window Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Glazing, tr("Glazing Window Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Gas, tr("Gas Window Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_GasMixture, tr("Gas Mixture Window Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Blind, tr("Blind Window Materials"))); result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_DaylightRedirectionDevice, - "Daylight Redirection Device Window Materials")); - result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Screen, "Screen Window Materials")); - result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Shade, "Shade Window Materials")); + tr("Daylight Redirection Device Window Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Screen, tr("Screen Window Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Shade, tr("Shade Window Materials"))); // Oddballs to be listed at the bottom of the list - result.push_back(std::make_pair(IddObjectType::OS_Material_InfraredTransparent, "Infrared Transparent Materials")); - result.push_back(std::make_pair(IddObjectType::OS_Material_RoofVegetation, "Roof Vegetation Materials")); + result.push_back(std::make_pair(IddObjectType::OS_Material_InfraredTransparent, tr("Infrared Transparent Materials"))); + result.push_back(std::make_pair(IddObjectType::OS_Material_RoofVegetation, tr("Roof Vegetation Materials"))); result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_Glazing_RefractionExtinctionMethod, - "Refraction Extinction Method Glazing Window Materials")); + tr("Refraction Extinction Method Glazing Window Materials"))); // TODO: commented out until ThermochromicGlazing is properly wrapped // result.push_back(std::make_pair(IddObjectType::OS_WindowMaterial_GlazingGroup_Thermochromic, "Glazing Group Thermochromic Window Materials")); diff --git a/src/openstudio_lib/OSDocument.cpp b/src/openstudio_lib/OSDocument.cpp index c8bd04539..fa417694d 100644 --- a/src/openstudio_lib/OSDocument.cpp +++ b/src/openstudio_lib/OSDocument.cpp @@ -346,42 +346,42 @@ void OSDocument::weatherFileReset() { void OSDocument::createTabButtons() { // Location - m_mainWindow->addVerticalTabButton(SITE, "Site", ":/images/on_location_tab.png", ":/images/off_location_tab.png", + m_mainWindow->addVerticalTabButton(SITE, tr("Site"), ":/images/on_location_tab.png", ":/images/off_location_tab.png", ":/images/disabled_location_tab.png"); // Schedules - m_mainWindow->addVerticalTabButton(SCHEDULES, "Schedules", ":/images/on_schedules_tab.png", ":/images/off_schedules_tab.png", + m_mainWindow->addVerticalTabButton(SCHEDULES, tr("Schedules"), ":/images/on_schedules_tab.png", ":/images/off_schedules_tab.png", ":/images/disabled_schedules_tab.png"); // Constructions - m_mainWindow->addVerticalTabButton(CONSTRUCTIONS, "Constructions", ":/images/on_constructions_tab.png", ":/images/off_constructions_tab.png", + m_mainWindow->addVerticalTabButton(CONSTRUCTIONS, tr("Constructions"), ":/images/on_constructions_tab.png", ":/images/off_constructions_tab.png", ":/images/disabled_constructions_tab.png"); // Loads - m_mainWindow->addVerticalTabButton(LOADS, "Loads", ":/images/on_loads_tab.png", ":/images/off_loads_tab.png", ":/images/disabled_loads_tab.png"); + m_mainWindow->addVerticalTabButton(LOADS, tr("Loads"), ":/images/on_loads_tab.png", ":/images/off_loads_tab.png", ":/images/disabled_loads_tab.png"); // Space Types - m_mainWindow->addVerticalTabButton(SPACE_TYPES, "Space Types", ":/images/on_space_types_tab.png", ":/images/off_space_types_tab.png", + m_mainWindow->addVerticalTabButton(SPACE_TYPES, tr("Space Types"), ":/images/on_space_types_tab.png", ":/images/off_space_types_tab.png", ":/images/disabled_space_types_tab.png"); // Geometry - m_mainWindow->addVerticalTabButton(GEOMETRY, "Geometry", ":/images/on_geometry_tab.png", ":/images/off_geometry_tab.png", + m_mainWindow->addVerticalTabButton(GEOMETRY, tr("Geometry"), ":/images/on_geometry_tab.png", ":/images/off_geometry_tab.png", ":/images/disabled_geometry_tab.png"); // Facility - m_mainWindow->addVerticalTabButton(FACILITY, "Facility", ":/images/on_building_tab.png", ":/images/off_building_tab.png", + m_mainWindow->addVerticalTabButton(FACILITY, tr("Facility"), ":/images/on_building_tab.png", ":/images/off_building_tab.png", ":/images/disabled_building_tab.png"); // Spaces - m_mainWindow->addVerticalTabButton(SPACES, "Spaces", ":/images/on_spaces_tab.png", ":/images/off_spaces_tab.png", + m_mainWindow->addVerticalTabButton(SPACES, tr("Spaces"), ":/images/on_spaces_tab.png", ":/images/off_spaces_tab.png", ":/images/disabled_spaces_tab.png"); // Thermal Zones - m_mainWindow->addVerticalTabButton(THERMAL_ZONES, "Thermal Zones", ":/images/on_thermal_zone_tab.png", ":/images/off_thermal_zone_tab.png", + m_mainWindow->addVerticalTabButton(THERMAL_ZONES, tr("Thermal Zones"), ":/images/on_thermal_zone_tab.png", ":/images/off_thermal_zone_tab.png", ":/images/disabled_thermal_zone_tab.png"); // HVAC Systems - m_mainWindow->addVerticalTabButton(HVAC_SYSTEMS, "HVAC Systems", ":/images/on_hvac_tab.png", ":/images/off_hvac_tab.png", + m_mainWindow->addVerticalTabButton(HVAC_SYSTEMS, tr("HVAC Systems"), ":/images/on_hvac_tab.png", ":/images/off_hvac_tab.png", ":/images/disabled_hvac_tab.png"); //****************************************************************************************************** @@ -396,23 +396,23 @@ void OSDocument::createTabButtons() { //****************************************************************************************************** // Variables - m_mainWindow->addVerticalTabButton(OUTPUT_VARIABLES, "Output Variables", ":/images/on_var_tab.png", ":/images/off_var_tab.png", + m_mainWindow->addVerticalTabButton(OUTPUT_VARIABLES, tr("Output Variables"), ":/images/on_var_tab.png", ":/images/off_var_tab.png", ":/images/disabled_var_tab.png"); // Sim Settings - m_mainWindow->addVerticalTabButton(SIMULATION_SETTINGS, "Simulation Settings", ":/images/on_sim_settings_tab.png", + m_mainWindow->addVerticalTabButton(SIMULATION_SETTINGS, tr("Simulation Settings"), ":/images/on_sim_settings_tab.png", ":/images/off_sim_settings_tab.png", ":/images/disabled_sim_settings_tab.png"); // Scripts - m_mainWindow->addVerticalTabButton(RUBY_SCRIPTS, "Measures", ":/images/on_scripts_tab.png", ":/images/off_scripts_tab.png", + m_mainWindow->addVerticalTabButton(RUBY_SCRIPTS, tr("Measures"), ":/images/on_scripts_tab.png", ":/images/off_scripts_tab.png", ":/images/disabled_scripts_tab.png"); // Run - m_mainWindow->addVerticalTabButton(RUN_SIMULATION, "Run Simulation", ":/images/on_run_tab.png", ":/images/off_run_tab.png", + m_mainWindow->addVerticalTabButton(RUN_SIMULATION, tr("Run Simulation"), ":/images/on_run_tab.png", ":/images/off_run_tab.png", ":/images/disabled_run_tab.png"); // Results - m_mainWindow->addVerticalTabButton(RESULTS_SUMMARY, "Results Summary", ":/images/on_results_tab.png", ":/images/off_results_tab.png", + m_mainWindow->addVerticalTabButton(RESULTS_SUMMARY, tr("Results Summary"), ":/images/on_results_tab.png", ":/images/off_results_tab.png", ":/images/disabled_results_tab.png"); } diff --git a/src/openstudio_lib/OSDropZone.cpp b/src/openstudio_lib/OSDropZone.cpp index ebef87824..92ce5b016 100644 --- a/src/openstudio_lib/OSDropZone.cpp +++ b/src/openstudio_lib/OSDropZone.cpp @@ -56,7 +56,7 @@ OSDropZone::OSDropZone(OSVectorController* vectorController, const QString& text m_scrollArea(new QScrollArea()), m_growsHorizontally(growsHorizontally), m_useLargeIcon(false), - m_text(text), + m_text(text.isEmpty() ? tr("Drag From Library") : text), m_size(size) { auto* mainBox = new QWidget(); mainBox->setObjectName("mainBox"); diff --git a/src/openstudio_lib/OSDropZone.hpp b/src/openstudio_lib/OSDropZone.hpp index e71ae2cda..4f39369d2 100644 --- a/src/openstudio_lib/OSDropZone.hpp +++ b/src/openstudio_lib/OSDropZone.hpp @@ -128,7 +128,7 @@ class OSDropZone Q_OBJECT public: - explicit OSDropZone(OSVectorController* vectorController, const QString& text = "Drag From Library", const QSize& size = QSize(0, 0), + explicit OSDropZone(OSVectorController* vectorController, const QString& text = QString(), const QSize& size = QSize(0, 0), bool growsHorizontally = true, QWidget* parent = nullptr); virtual ~OSDropZone() = default; diff --git a/src/openstudio_lib/OSItemSelectorButtons.cpp b/src/openstudio_lib/OSItemSelectorButtons.cpp index b4b4bd317..a166caf76 100644 --- a/src/openstudio_lib/OSItemSelectorButtons.cpp +++ b/src/openstudio_lib/OSItemSelectorButtons.cpp @@ -73,7 +73,7 @@ OSItemSelectorButtons::OSItemSelectorButtons(QWidget* parent) : QWidget(parent) m_addButton = new QPushButton(); m_addButton->setFlat(true); m_addButton->setObjectName("AddButton"); - m_addButton->setToolTip("Add new object"); + m_addButton->setToolTip(tr("Add new object")); m_addButton->setFixedSize(24, 24); buttonLayout->addWidget(m_addButton); @@ -83,7 +83,7 @@ OSItemSelectorButtons::OSItemSelectorButtons(QWidget* parent) : QWidget(parent) m_copyButton->setEnabled(false); m_copyButton->setFlat(true); m_copyButton->setObjectName("CopyButton"); - m_copyButton->setToolTip("Copy selected object"); + m_copyButton->setToolTip(tr("Copy selected object")); m_copyButton->setFixedSize(24, 24); buttonLayout->addWidget(m_copyButton); @@ -93,7 +93,7 @@ OSItemSelectorButtons::OSItemSelectorButtons(QWidget* parent) : QWidget(parent) m_removeButton->setEnabled(false); m_removeButton->setFlat(true); m_removeButton->setObjectName("DeleteButton"); - m_removeButton->setToolTip("Remove selected objects"); + m_removeButton->setToolTip(tr("Remove selected objects")); m_removeButton->setFixedSize(24, 24); buttonLayout->addWidget(m_removeButton); @@ -104,7 +104,7 @@ OSItemSelectorButtons::OSItemSelectorButtons(QWidget* parent) : QWidget(parent) m_purgeButton = new QPushButton(); m_purgeButton->setFlat(true); m_purgeButton->setObjectName("PurgeButton"); - m_purgeButton->setToolTip("Purge unused objects"); + m_purgeButton->setToolTip(tr("Purge unused objects")); m_purgeButton->setFixedSize(24, 24); buttonLayout->addWidget(m_purgeButton); diff --git a/src/openstudio_lib/OtherEquipmentInspectorView.cpp b/src/openstudio_lib/OtherEquipmentInspectorView.cpp index 865b8086b..8822c7c66 100644 --- a/src/openstudio_lib/OtherEquipmentInspectorView.cpp +++ b/src/openstudio_lib/OtherEquipmentInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -33,7 +33,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -42,7 +42,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Design Level - label = new QLabel("Design Level: "); + label = new QLabel(tr("Design Level: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -52,7 +52,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Power Per Space Floor Area - label = new QLabel("Power Per Space Floor Area: "); + label = new QLabel(tr("Power Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -62,7 +62,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Power Per Person - label = new QLabel("Power Per Person: "); + label = new QLabel(tr("Power Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -72,7 +72,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Fraction Latent - label = new QLabel("Fraction Latent: "); + label = new QLabel(tr("Fraction Latent: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -82,7 +82,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -92,7 +92,7 @@ OtherEquipmentDefinitionInspectorView::OtherEquipmentDefinitionInspectorView(boo // Fraction Lost - label = new QLabel("Fraction Lost: "); + label = new QLabel(tr("Fraction Lost: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); diff --git a/src/openstudio_lib/PeopleInspectorView.cpp b/src/openstudio_lib/PeopleInspectorView.cpp index 60f6e69b4..b04340887 100644 --- a/src/openstudio_lib/PeopleInspectorView.cpp +++ b/src/openstudio_lib/PeopleInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -53,7 +53,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op // name auto* vLayout = new QVBoxLayout(); - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -67,7 +67,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op // number of people, people per area, and area per person vLayout = new QVBoxLayout(); - label = new QLabel("Number of People: "); + label = new QLabel(tr("Number of People: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -78,7 +78,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op vLayout = new QVBoxLayout(); - label = new QLabel("People per Space Floor Area: "); + label = new QLabel(tr("People per Space Floor Area: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -90,7 +90,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op vLayout = new QVBoxLayout(); - label = new QLabel("Space Floor Area per Person: "); + label = new QLabel(tr("Space Floor Area per Person: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -104,7 +104,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op ++row; vLayout = new QVBoxLayout(); - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -115,7 +115,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op vLayout = new QVBoxLayout(); - label = new QLabel("Sensible Heat Fraction: "); + label = new QLabel(tr("Sensible Heat Fraction: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -126,7 +126,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op vLayout = new QVBoxLayout(); - label = new QLabel("Carbon Dioxide Generation Rate: "); + label = new QLabel(tr("Carbon Dioxide Generation Rate: ")); label->setObjectName("H2"); vLayout->addWidget(label); @@ -149,7 +149,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op ++row; vLayout = new QVBoxLayout(); - label = new QLabel("Enable ASHRAE 55 Comfort Warnings:"); + label = new QLabel(tr("Enable ASHRAE 55 Comfort Warnings:")); label->setObjectName("H2"); vLayout->addWidget(label); m_enableASHRAE55ComfortWarningsSwitch = new OSSwitch2(); @@ -157,7 +157,7 @@ PeopleDefinitionInspectorView::PeopleDefinitionInspectorView(bool isIP, const op m_mainGridLayout->addLayout(vLayout, row, 0, Qt::AlignTop | Qt::AlignLeft); vLayout = new QVBoxLayout(); - label = new QLabel("Mean Radiant Temperature Calculation Type:"); + label = new QLabel(tr("Mean Radiant Temperature Calculation Type:")); label->setObjectName("H2"); vLayout->addWidget(label); m_meanRadiantTemperatureCalculationTypeComboBox = new OSComboBox2(); diff --git a/src/openstudio_lib/RefrigerationGraphicsItems.cpp b/src/openstudio_lib/RefrigerationGraphicsItems.cpp index 0833c65c4..b68638450 100644 --- a/src/openstudio_lib/RefrigerationGraphicsItems.cpp +++ b/src/openstudio_lib/RefrigerationGraphicsItems.cpp @@ -1324,7 +1324,7 @@ void RefrigerationSystemDropZoneView::paint(QPainter* painter, const QStyleOptio font.setPixelSize(24); painter->setFont(font); painter->setPen(QPen(QColor(109, 109, 109), 2, Qt::DashLine, Qt::RoundCap)); - painter->drawText(boundingRect(), Qt::AlignCenter | Qt::TextWordWrap, "Drop Refrigeration System"); + painter->drawText(boundingRect(), Qt::AlignCenter | Qt::TextWordWrap, tr("Drop Refrigeration System")); } RefrigerationSystemDetailView::RefrigerationSystemDetailView() : QGraphicsObject() { diff --git a/src/openstudio_lib/RefrigerationGridView.cpp b/src/openstudio_lib/RefrigerationGridView.cpp index d9861e427..e1b5caf63 100644 --- a/src/openstudio_lib/RefrigerationGridView.cpp +++ b/src/openstudio_lib/RefrigerationGridView.cpp @@ -36,6 +36,7 @@ #include #include +#include #include #include #include @@ -44,7 +45,10 @@ // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define SELECTED "All" +#define TR_CASE(s) QCoreApplication::translate("openstudio::RefrigerationCaseGridController", s) +#define TR_WALKIN(s) QCoreApplication::translate("openstudio::RefrigerationWalkInGridController", s) + +#define SELECTED TR_CASE("All") // Display Case Fields #define ANTISWEATHEATERCONTROLTYPE "Anti Sweat Heater Control Type" @@ -57,7 +61,7 @@ #define CASEDEFROSTSCHEDULE "Case Defrost Schedule" // TODO this has not yet been implemented #define CASEDEFROSTTYPE "Case Defrost Type" // TODO this has not yet been implemented #define CASEHEIGHT "Case Height" // TODO this has not yet been implemented -#define CASELENGTH "Case Length" +#define CASELENGTH TR_CASE("Case Length") #define CASELIGHTINGSCHEDULE "Case Lighting Schedule" #define CASEOPERATINGTEMPERATURE "Case Operating Temperature" #define DEFROSTENERGYCORRECTIONCURVE "Defrost Energy Correction Curve" // TODO this has not yet been implemented @@ -70,7 +74,7 @@ #define INSTALLEDCASELIGHTINGPOWERPERUNITLENGTH "Installed Case Lighting Power\nper Unit Length" #define LATENTCASECREDITCURVETYPE "Latent Case Credit Curve Type" // TODO this has not yet been implemented #define MINIMUMANTISWEATHEATERPOWERPERUNITLENGTH "Minimum Anti Sweat Heater Power\nper Unit Length" -#define NAME "Name" +#define NAME TR_CASE("Name") #define OPERATINGCASEFANPOWERPERUNITLENGTH "Operating Case Fan Power\nper Unit Length" #define RATEDAMBIENTRELATIVEHUMIDITY "Rated Ambient Relative Humidity" // TODO this has not yet been implemented #define RATEDAMBIENTTEMPERATURE \ @@ -81,8 +85,8 @@ #define REFRIGERATEDCASERESTOCKINGSCHEDULE "Refrigerated Case Restocking Schedule" #define STANDARDCASEFANPOWERPERUNITLENGTH "Standard Case Fan Power\nper Unit Length" #define STANDARDCASELIGHTINGPOWERPERUNITLENGTH "Standard Case Lighting Power\nper Unit Length" -#define THERMALZONE "Thermal Zone" -#define RACK "Rack" +#define THERMALZONE TR_CASE("Thermal Zone") +#define RACK TR_CASE("Rack") #define UNDERCASEHVACRETURNAIRFRACTION "Under Case HVAC Return Air Fraction" // Walk In Fields @@ -97,7 +101,8 @@ #define INSULATEDFLOORSURFACEAREA "Insulated Floor Surface Area" // TODO this has not yet been implemented #define INSULATEDFLOORUVALUE "Insulated Floor U Value" #define LIGHTINGSCHEDULE "Lighting Schedule" // TODO this has not yet been implemented -#define NAME "Name" +#undef NAME +#define NAME TR_WALKIN("Name") #define OPERATINGTEMPERATURE "Operating Temperature" // TODO this has not yet been implemented #define RATEDCIRCULATIONFANPOWER "Rated Circulation Fan Power" // TODO this has not yet been implemented #define RATEDCOILCOOLINGCAPACITY "Rated Coil Cooling Capacity" // TODO this has not yet been implemented @@ -108,7 +113,7 @@ #define RESTOCKINGSCHEDULE "Restocking Schedule" #define TEMPERATURETERMINATIONDEFROSTFRACTIONTOICE "Temperature Termination\nDefrost Fraction to Ice" #define ZONEBOUNDARIES "Zone Boundaries" // TODO this has not yet been implemented -#define ZONEBOUNDARYTHERMALZONE "Thermal Zone" +#define ZONEBOUNDARYTHERMALZONE TR_WALKIN("Thermal Zone") #define ZONEBOUNDARYTOTALINSULATEDSURFACEAREAFACINGZONE "Total Insulated Surface\nArea Facing Zone" #define ZONEBOUNDARYAREAOFGLASSREACHINDOORSFACINGZONE "Area of Glass Reach In\nDoors Facing Zone" #define ZONEBOUNDARYHEIGHTOFGLASSREACHINDOORSFACINGZONE "Height of Glass Reach In\nDoors Facing Zone" @@ -150,8 +155,8 @@ RefrigerationGridView::RefrigerationGridView(bool isIP, const model::Model& mode std::vector caseModelObjects = subsetCastVector(refrigerationCases); auto* refrigerationCaseGridController = - new RefrigerationCaseGridController(m_isIP, "Display Cases", IddObjectType::OS_Refrigeration_Case, model, caseModelObjects); - auto* caseGridView = new OSGridView(refrigerationCaseGridController, "Display Cases", "Drop\nCase", true, parent); + new RefrigerationCaseGridController(m_isIP, tr("Display Cases"), IddObjectType::OS_Refrigeration_Case, model, caseModelObjects); + auto* caseGridView = new OSGridView(refrigerationCaseGridController, tr("Display Cases"), tr("Drop\nCase"), true, parent); connect(caseGridView, &OSGridView::dropZoneItemClicked, this, &RefrigerationGridView::dropZoneItemClicked); @@ -161,8 +166,8 @@ RefrigerationGridView::RefrigerationGridView(bool isIP, const model::Model& mode std::vector walkInModelObjects = subsetCastVector(refrigerationWalkIns); auto* refrigerationWalkInGridController = - new RefrigerationWalkInGridController(m_isIP, "Walk Ins", IddObjectType::OS_Refrigeration_WalkIn, model, walkInModelObjects); - auto* walkInView = new OSGridView(refrigerationWalkInGridController, "Walk Ins", "Drop\nWalk In", true, parent); + new RefrigerationWalkInGridController(m_isIP, tr("Walk Ins"), IddObjectType::OS_Refrigeration_WalkIn, model, walkInModelObjects); + auto* walkInView = new OSGridView(refrigerationWalkInGridController, tr("Walk Ins"), tr("Drop\nWalk In"), true, parent); connect(walkInView, &OSGridView::dropZoneItemClicked, this, &RefrigerationGridView::dropZoneItemClicked); @@ -197,7 +202,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { THERMALZONE, CASELENGTH, }; - std::pair> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("General"), fields); addCategoryAndFields(categoryAndFields); } @@ -208,7 +213,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { DESIGNEVAPORATORTEMPERATUREORBRINEINLETTEMPERATURE, RATEDRUNTIMEFRACTION, }; - std::pair> categoryAndFields = std::make_pair(QString("Operation"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("Operation"), fields); addCategoryAndFields(categoryAndFields); } @@ -218,7 +223,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { CASECREDITFRACTIONSCHEDULE, RATEDLATENTHEATRATIO, }; - std::pair> categoryAndFields = std::make_pair(QString("Cooling\nCapacity"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("Cooling\nCapacity"), fields); addCategoryAndFields(categoryAndFields); } @@ -227,7 +232,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { STANDARDCASEFANPOWERPERUNITLENGTH, OPERATINGCASEFANPOWERPERUNITLENGTH, }; - std::pair> categoryAndFields = std::make_pair(QString("Fan"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("Fan"), fields); addCategoryAndFields(categoryAndFields); } @@ -238,7 +243,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { FRACTIONOFLIGHTINGENERGYTOCASE, CASELIGHTINGSCHEDULE, }; - std::pair> categoryAndFields = std::make_pair(QString("Lighting"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("Lighting"), fields); addCategoryAndFields(categoryAndFields); } @@ -248,7 +253,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { MINIMUMANTISWEATHEATERPOWERPERUNITLENGTH, HUMIDITYATZEROANTISWEATHEATERENERGY, FRACTIONOFANTISWEATHEATERENERGYTOCASE, }; - std::pair> categoryAndFields = std::make_pair(QString("Case\nAnti-Sweat\nHeaters"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("Case\nAnti-Sweat\nHeaters"), fields); addCategoryAndFields(categoryAndFields); } @@ -257,7 +262,7 @@ void RefrigerationCaseGridController::setCategoriesAndFields() { CASEDEFROSTPOWERPERUNITLENGTH, REFRIGERATEDCASERESTOCKINGSCHEDULE, }; - std::pair> categoryAndFields = std::make_pair(QString("Defrost\nAnd\nRestocking"), fields); + std::pair> categoryAndFields = std::make_pair(TR_CASE("Defrost\nAnd\nRestocking"), fields); addCategoryAndFields(categoryAndFields); } @@ -543,7 +548,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { RACK, ZONEBOUNDARYTHERMALZONE, }; - std::pair> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("General"), fields); addCategoryAndFields(categoryAndFields); } @@ -552,7 +557,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { ZONEBOUNDARYTOTALINSULATEDSURFACEAREAFACINGZONE, ZONEBOUNDARYAREAOFGLASSREACHINDOORSFACINGZONE, ZONEBOUNDARYHEIGHTOFGLASSREACHINDOORSFACINGZONE, ZONEBOUNDARYAREAOFSTOCKINGDOORSFACINGZONE, ZONEBOUNDARYHEIGHTOFSTOCKINGDOORSFACINGZONE, }; - std::pair> categoryAndFields = std::make_pair(QString("Dimensions"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Dimensions"), fields); addCategoryAndFields(categoryAndFields); } @@ -563,7 +568,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { ZONEBOUNDARYGLASSREACHINDOORUVALUEFACINGZONE, ZONEBOUNDARYSTOCKINGDOORUVALUEFACINGZONE, }; - std::pair> categoryAndFields = std::make_pair(QString("Construction"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Construction"), fields); addCategoryAndFields(categoryAndFields); } @@ -574,7 +579,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { RATEDCOOLINGSOURCETEMPERATURE, RATEDCOILCOOLINGCAPACITY, }; - std::pair> categoryAndFields = std::make_pair(QString("Operation"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Operation"), fields); addCategoryAndFields(categoryAndFields); } @@ -583,7 +588,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { RATEDCOOLINGCOILFANPOWER, RATEDCIRCULATIONFANPOWER, }; - std::pair> categoryAndFields = std::make_pair(QString("Fans"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Fans"), fields); addCategoryAndFields(categoryAndFields); } @@ -592,7 +597,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { RATEDTOTALLIGHTINGPOWER, LIGHTINGSCHEDULE, }; - std::pair> categoryAndFields = std::make_pair(QString("Lighting"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Lighting"), fields); addCategoryAndFields(categoryAndFields); } @@ -601,7 +606,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { RATEDTOTALHEATINGPOWER, HEATINGPOWERSCHEDULE, }; - std::pair> categoryAndFields = std::make_pair(QString("Heating"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Heating"), fields); addCategoryAndFields(categoryAndFields); } @@ -612,7 +617,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { DEFROSTPOWER, TEMPERATURETERMINATIONDEFROSTFRACTIONTOICE, }; - std::pair> categoryAndFields = std::make_pair(QString("Defrost"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Defrost"), fields); addCategoryAndFields(categoryAndFields); } @@ -621,7 +626,7 @@ void RefrigerationWalkInGridController::setCategoriesAndFields() { RESTOCKINGSCHEDULE, ZONEBOUNDARYSTOCKINGDOOROPENINGSCHEDULEFACINGZONE, }; - std::pair> categoryAndFields = std::make_pair(QString("Restocking"), fields); + std::pair> categoryAndFields = std::make_pair(TR_WALKIN("Restocking"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/ResultsTabController.cpp b/src/openstudio_lib/ResultsTabController.cpp index 058b11df5..caf6e0c8a 100644 --- a/src/openstudio_lib/ResultsTabController.cpp +++ b/src/openstudio_lib/ResultsTabController.cpp @@ -10,7 +10,7 @@ namespace openstudio { -ResultsTabController::ResultsTabController() : MainTabController(new ResultsTabView("Results Summary", MainTabView::MAIN_TAB)) { +ResultsTabController::ResultsTabController() : MainTabController(new ResultsTabView(tr("Results Summary"), MainTabView::MAIN_TAB)) { m_resultsTabView = static_cast(mainContentWidget()); } diff --git a/src/openstudio_lib/ResultsTabView.cpp b/src/openstudio_lib/ResultsTabView.cpp index c63d51afd..776eb6da0 100644 --- a/src/openstudio_lib/ResultsTabView.cpp +++ b/src/openstudio_lib/ResultsTabView.cpp @@ -48,8 +48,8 @@ ResultsView::ResultsView(QWidget* t_parent) : QWidget(t_parent), m_isIP(true), m_progressBar(new ProgressBarWithError()), - m_refreshBtn(new QPushButton("Refresh")), - m_openDViewBtn(new QPushButton("Open DView for\nDetailed Reports")), + m_refreshBtn(new QPushButton(tr("Refresh"))), + m_openDViewBtn(new QPushButton(tr("Open DView for\nDetailed Reports"))), m_comboBox(new QComboBox(this)) { auto* mainLayout = new QVBoxLayout; @@ -60,7 +60,7 @@ ResultsView::ResultsView(QWidget* t_parent) // Prepare the top portion inside a QHBoxLayout auto* hLayout = new QHBoxLayout(this); - m_reportLabel = new QLabel("Reports: ", this); + m_reportLabel = new QLabel(tr("Reports: "), this); m_reportLabel->setObjectName("H2"); m_reportLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); hLayout->addWidget(m_reportLabel, 0, Qt::AlignLeft | Qt::AlignVCenter); @@ -81,7 +81,7 @@ ResultsView::ResultsView(QWidget* t_parent) openstudio::OSAppBase* app = OSAppBase::instance(); m_dviewPath = app->dviewPath(); if (m_dviewPath.empty()) { - m_openDViewBtn->setText("Set Path to DView\nin Preferences"); + m_openDViewBtn->setText(tr("Set Path to DView\nin Preferences")); connect(m_openDViewBtn, &QPushButton::clicked, app, &OSAppBase::configureExternalTools); } else { connect(m_openDViewBtn, &QPushButton::clicked, this, &ResultsView::openDViewClicked); @@ -141,7 +141,7 @@ void ResultsView::openDViewClicked() { } if (!QProcess::startDetached(openstudio::toQString(m_dviewPath), args)) { - QMessageBox::critical(this, "Unable to launch DView", "DView was not found in the expected location:\n" + openstudio::toQString(m_dviewPath)); + QMessageBox::critical(this, tr("Unable to launch DView"), tr("DView was not found in the expected location:\n") + openstudio::toQString(m_dviewPath)); } } @@ -301,7 +301,7 @@ void ResultsView::populateComboBox(const std::vector& reports) if (openstudio::toString(report.filename()) == "eplustbl.html" || openstudio::toString(report.filename()) == "eplustbl.htm") { - m_comboBox->addItem("EnergyPlus Results", fullPathString); + m_comboBox->addItem(tr("EnergyPlus Results"), fullPathString); } else { @@ -315,7 +315,7 @@ void ResultsView::populateComboBox(const std::vector& reports) int startingIndex = string.indexOf(""); int endingIndex = string.indexOf(""); if ((startingIndex == -1) || (endingIndex == -1) || (startingIndex >= endingIndex)) { - m_comboBox->addItem(QString("Custom Report ") + QString::number(num), fullPathString); + m_comboBox->addItem(tr("Custom Report ") + QString::number(num), fullPathString); } else { // length of "" = 7 QString title = string.mid(startingIndex + 7, endingIndex - startingIndex - 7); diff --git a/src/openstudio_lib/RunTabView.cpp b/src/openstudio_lib/RunTabView.cpp index 584268add..8e123327b 100644 --- a/src/openstudio_lib/RunTabView.cpp +++ b/src/openstudio_lib/RunTabView.cpp @@ -73,7 +73,7 @@ namespace openstudio { RunTabView::RunTabView(const model::Model& /*model*/, QWidget* parent) - : MainTabView("Run Simulation", MainTabView::MAIN_TAB, parent), m_runView(new RunView()) { + : MainTabView(tr("Run Simulation"), MainTabView::MAIN_TAB, parent), m_runView(new RunView()) { addTabWidget(m_runView); } @@ -84,7 +84,7 @@ RunView::RunView() : m_runSocket(nullptr) { setLayout(mainLayout); m_playButton = new QToolButton(); - m_playButton->setText("Run"); + m_playButton->setText(tr("Run")); m_playButton->setCheckable(true); m_playButton->setChecked(false); QIcon playbuttonicon(QPixmap(":/images/run_simulation_button.png")); @@ -111,20 +111,20 @@ RunView::RunView() : m_runSocket(nullptr) { auto* mainWindow = OSAppBase::instance()->currentDocument()->mainWindow(); const bool verboseOutput = mainWindow->verboseOutput(); m_verboseOutputBox = new QCheckBox(); - m_verboseOutputBox->setText("Verbose"); + m_verboseOutputBox->setText(tr("Verbose")); m_verboseOutputBox->setChecked(verboseOutput); connect(m_verboseOutputBox, &QCheckBox::clicked, mainWindow, &MainWindow::toggleVerboseOutput); mainLayout->addWidget(m_verboseOutputBox, 0, 2); const bool useClassicCLI = mainWindow->useClassicCLI(); m_useClassicCLIBox = new QCheckBox(); - m_useClassicCLIBox->setText("Classic CLI"); + m_useClassicCLIBox->setText(tr("Classic CLI")); m_useClassicCLIBox->setChecked(useClassicCLI); connect(m_useClassicCLIBox, &QCheckBox::clicked, mainWindow, &MainWindow::toggleUseClassicCLI); mainLayout->addWidget(m_useClassicCLIBox, 0, 3); m_openSimDirButton = new QPushButton(); - m_openSimDirButton->setText("Show Simulation"); + m_openSimDirButton->setText(tr("Show Simulation")); m_openSimDirButton->setFlat(true); m_openSimDirButton->setObjectName("StandardGrayButton"); connect(m_openSimDirButton, &QPushButton::clicked, this, &RunView::onOpenSimDirClicked); @@ -169,7 +169,7 @@ void RunView::onOpenSimDirClicked() { const auto runDir = getCompanionFolder(toPath(OSAppBase::instance()->currentDocument()->savePath())) / toPath("run"); const QString qpath = QDir::toNativeSeparators(toQString(runDir)); if (!QDesktopServices::openUrl(QUrl::fromLocalFile(qpath))) { - QMessageBox::critical(this, "Unable to open simulation", "Please save the OpenStudio Model to view the simulation."); + QMessageBox::critical(this, tr("Unable to open simulation"), tr("Please save the OpenStudio Model to view the simulation.")); } } @@ -318,9 +318,9 @@ void RunView::playButtonClicked(bool t_checked) { if (m_useClassicCLIBox->isChecked() && !m_hasSocketConnection) { m_textInfo->setTextColor(Qt::darkRed); m_textInfo->setFontPointSize(15); - m_textInfo->append("Could not open socket connection to OpenStudio Classic CLI."); + m_textInfo->append(tr("Could not open socket connection to OpenStudio Classic CLI.")); m_textInfo->setFontPointSize(12); - m_textInfo->append("Falling back to stdout/stderr parsing, live updates might be slower."); + m_textInfo->append(tr("Falling back to stdout/stderr parsing, live updates might be slower.")); resetFont(); } @@ -330,7 +330,7 @@ void RunView::playButtonClicked(bool t_checked) { LOG(Debug, "Kill Simulation"); m_textInfo->setTextColor(Qt::darkRed); m_textInfo->setFontPointSize(15); - m_textInfo->append("Aborted"); + m_textInfo->append(tr("Aborted")); resetFont(); m_runProcess->blockSignals(true); m_runProcess->kill(); @@ -454,7 +454,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { case State::stopped: test = trimmedLine.indexOf("Starting state initialization", 0, Qt::CaseInsensitive); if (trimmedLine.contains("Starting state initialization", Qt::CaseInsensitive)) { - appendStateChange("Initializing workflow."); + appendStateChange(tr("Initializing workflow.")); m_state = State::initialization; m_progressBar->setValue(m_state); return; @@ -465,7 +465,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { // no-op return; } else if (trimmedLine.contains("command is deprecated and will be removed in a future release", Qt::CaseInsensitive)) { - appendWarnText("The classic command is deprecated and will be removed in a future release."); + appendWarnText(tr("The classic command is deprecated and will be removed in a future release.")); return; } @@ -482,7 +482,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { return; } else if (QString::compare(trimmedLine, "Starting state os_measures", Qt::CaseInsensitive) == 0 || trimmedLine.contains("Starting State OpenStudioMeasures", Qt::CaseInsensitive)) { - appendStateChange("Processing OpenStudio Measures."); + appendStateChange(tr("Processing OpenStudio Measures.")); m_state = State::os_measures; m_progressBar->setValue(m_state); return; @@ -495,7 +495,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { // no-op return; } else if (trimmedLine.contains("Starting state translator", Qt::CaseInsensitive)) { - appendStateChange("Translating the OpenStudio Model to EnergyPlus."); + appendStateChange(tr("Translating the OpenStudio Model to EnergyPlus.")); m_state = State::translator; m_progressBar->setValue(m_state); return; @@ -507,7 +507,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { return; } else if (QString::compare(trimmedLine, "Starting state ep_measures", Qt::CaseInsensitive) == 0 || trimmedLine.contains("Starting state EnergyPlusMeasures", Qt::CaseInsensitive)) { - appendStateChange("Processing EnergyPlus Measures."); + appendStateChange(tr("Processing EnergyPlus Measures.")); m_state = State::ep_measures; m_progressBar->setValue(m_state); return; @@ -520,7 +520,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { // no-op return; } else if (trimmedLine.contains("Starting state preprocess", Qt::CaseInsensitive)) { - appendStateChange("Adding Simulation Output Requests."); + appendStateChange(tr("Adding Simulation Output Requests.")); m_state = State::preprocess; m_progressBar->setValue(m_state); return; @@ -532,7 +532,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { return; } else if (trimmedLine.contains("Starting state simulation", Qt::CaseInsensitive) || trimmedLine.contains("Starting State EnergyPlus", Qt::CaseInsensitive)) { - appendStateChange("Starting EnergyPlus Simulation."); + appendStateChange(tr("Starting EnergyPlus Simulation.")); m_state = State::simulation; m_progressBar->setValue(m_state); return; @@ -545,7 +545,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { return; } else if (QString::compare(trimmedLine, "Starting state reporting_measures", Qt::CaseInsensitive) == 0 || trimmedLine.contains("Starting State ReportingMeasures", Qt::CaseInsensitive)) { - appendStateChange("Processing Reporting Measures."); + appendStateChange(tr("Processing Reporting Measures.")); m_state = State::reporting_measures; m_progressBar->setValue(m_state); return; @@ -557,7 +557,7 @@ void RunView::processLine(const QString& line, bool fromSocket) { // no-op return; } else if (trimmedLine.contains("Starting state postprocess", Qt::CaseInsensitive)) { - appendStateChange("Gathering Reports."); + appendStateChange(tr("Gathering Reports.")); m_state = State::postprocess; m_progressBar->setValue(m_state); return; @@ -603,10 +603,10 @@ void RunView::processLine(const QString& line, bool fromSocket) { isMeasure = true; if (QString::compare(trimmedLine, "Failure", Qt::CaseInsensitive) == 0) { - appendErrorResult("Failed."); + appendErrorResult(tr("Failed.")); return; } else if (QString::compare(trimmedLine, "Complete", Qt::CaseInsensitive) == 0) { - appendResult("Completed."); + appendResult(tr("Completed.")); return; } else if (trimmedLine.startsWith("Applying", Qt::CaseInsensitive)) { appendResult(trimmedLine); diff --git a/src/openstudio_lib/ScheduleDayView.cpp b/src/openstudio_lib/ScheduleDayView.cpp index 92f648c06..95cf741f0 100644 --- a/src/openstudio_lib/ScheduleDayView.cpp +++ b/src/openstudio_lib/ScheduleDayView.cpp @@ -1392,11 +1392,11 @@ void DaySchedulePlotArea::updateKeyboardPrompt() { //} } else if (dynamic_cast<VCalendarSegmentItem*>(m_currentHoverItem)) { - result = "Drag vertical line to adjust"; + result = tr("Drag vertical line to adjust"); } } else { - result = "Mouse over horizontal line to set value"; + result = tr("Mouse over horizontal line to set value"); } emit keyboardPromptChanged(result); diff --git a/src/openstudio_lib/SchedulesTabController.cpp b/src/openstudio_lib/SchedulesTabController.cpp index 371b8522f..052b59f83 100644 --- a/src/openstudio_lib/SchedulesTabController.cpp +++ b/src/openstudio_lib/SchedulesTabController.cpp @@ -47,9 +47,9 @@ namespace openstudio { SchedulesTabController::SchedulesTabController(bool isIP, const model::Model& model) : MainTabController(new SchedulesTabView(model)), m_model(model), m_isIP(isIP) { - mainContentWidget()->addSubTab("Schedule Sets", SCHEDULE_SETS); - mainContentWidget()->addSubTab("Schedules", SCHEDULES); - mainContentWidget()->addSubTab("Other Schedules", SCHEDULESOTHER); + mainContentWidget()->addSubTab(tr("Schedule Sets"), SCHEDULE_SETS); + mainContentWidget()->addSubTab(tr("Schedules"), SCHEDULES); + mainContentWidget()->addSubTab(tr("Other Schedules"), SCHEDULESOTHER); connect(this->mainContentWidget(), &MainTabView::tabSelected, this, &SchedulesTabController::setSubTab); } diff --git a/src/openstudio_lib/SchedulesTabView.cpp b/src/openstudio_lib/SchedulesTabView.cpp index e8e7c1ff8..07e7c030c 100644 --- a/src/openstudio_lib/SchedulesTabView.cpp +++ b/src/openstudio_lib/SchedulesTabView.cpp @@ -7,6 +7,6 @@ namespace openstudio { -SchedulesTabView::SchedulesTabView(const model::Model& model, QWidget* parent) : MainTabView("Schedules", MainTabView::SUB_TAB, parent) {} +SchedulesTabView::SchedulesTabView(const model::Model& model, QWidget* parent) : MainTabView(tr("Schedules"), MainTabView::SUB_TAB, parent) {} } // namespace openstudio diff --git a/src/openstudio_lib/SchedulesView.cpp b/src/openstudio_lib/SchedulesView.cpp index 123b86273..780f8b482 100644 --- a/src/openstudio_lib/SchedulesView.cpp +++ b/src/openstudio_lib/SchedulesView.cpp @@ -1200,10 +1200,8 @@ NewProfileView::NewProfileView(const model::ScheduleRuleset& scheduleRuleset, Sc switch (m_type) { case SUMMER: { auto* label = new QLabel(); - QString text; - text.append("The summer design day profile is not set, therefore the default run period profile will be used."); - text.append(" Create a new profile to override the default run period profile."); - label->setText(text); + label->setText(tr("The summer design day profile is not set, therefore the default run period profile will be used.") + + tr(" Create a new profile to override the default run period profile.")); label->setWordWrap(true); mainVLayout->addWidget(label); mainVLayout->addSpacing(10); @@ -1211,10 +1209,8 @@ NewProfileView::NewProfileView(const model::ScheduleRuleset& scheduleRuleset, Sc } case WINTER: { auto* label = new QLabel(); - QString text; - text.append("The winter design day profile is not set, therefore the default run period profile will be used."); - text.append(" Create a new profile to override the default run period profile."); - label->setText(text); + label->setText(tr("The winter design day profile is not set, therefore the default run period profile will be used.") + + tr(" Create a new profile to override the default run period profile.")); label->setWordWrap(true); mainVLayout->addWidget(label); mainVLayout->addSpacing(10); @@ -1222,10 +1218,8 @@ NewProfileView::NewProfileView(const model::ScheduleRuleset& scheduleRuleset, Sc } case HOLIDAY: { auto* label = new QLabel(); - QString text; - text.append("The holiday profile is not set, therefore the default run period profile will be used."); - text.append(" Create a new profile to override the default run period profile."); - label->setText(text); + label->setText(tr("The holiday profile is not set, therefore the default run period profile will be used.") + + tr(" Create a new profile to override the default run period profile.")); label->setWordWrap(true); mainVLayout->addWidget(label); mainVLayout->addSpacing(10); @@ -2020,9 +2014,10 @@ YearOverview* MonthView::yearOverview() const { void MonthView::setMonth(int month) { m_month = month; - std::string monthName = monthOfYear(month).valueName(); - - m_monthLabel->setText(QString::fromStdString(monthName)); + const QStringList monthNames = {tr("January"), tr("February"), tr("March"), tr("April"), + tr("May"), tr("June"), tr("July"), tr("August"), + tr("September"), tr("October"), tr("November"), tr("December")}; + m_monthLabel->setText((month >= 1 && month <= 12) ? monthNames[month - 1] : QString::fromStdString(monthOfYear(month).valueName())); update(); } diff --git a/src/openstudio_lib/ScriptsTabView.cpp b/src/openstudio_lib/ScriptsTabView.cpp index dcd4e42ab..6941b9a94 100644 --- a/src/openstudio_lib/ScriptsTabView.cpp +++ b/src/openstudio_lib/ScriptsTabView.cpp @@ -22,7 +22,7 @@ namespace openstudio { -ScriptsTabView::ScriptsTabView(QWidget* t_parent) : MainTabView("Measures", MainTabView::MAIN_TAB, t_parent) { +ScriptsTabView::ScriptsTabView(QWidget* t_parent) : MainTabView(tr("Measures"), MainTabView::MAIN_TAB, t_parent) { //setTitle("Organize and Edit Measures for Project"); // Main Content @@ -58,8 +58,8 @@ ScriptsTabView::ScriptsTabView(QWidget* t_parent) : MainTabView("Measures", Main footer->setLayout(layout); m_updateMeasuresButton = new GrayButton(); - m_updateMeasuresButton->setText("Sync Project Measures with Library"); - m_updateMeasuresButton->setToolTip("Check the Library for Newer Versions of the Measures in Your Project and Provides Sync Option"); + m_updateMeasuresButton->setText(tr("Sync Project Measures with Library")); + m_updateMeasuresButton->setToolTip(tr("Check the Library for Newer Versions of the Measures in Your Project and Provides Sync Option")); layout->addStretch(); layout->addWidget(m_updateMeasuresButton); diff --git a/src/openstudio_lib/ServiceWaterGridItems.cpp b/src/openstudio_lib/ServiceWaterGridItems.cpp index 9c3dd3c70..7ac0762e1 100644 --- a/src/openstudio_lib/ServiceWaterGridItems.cpp +++ b/src/openstudio_lib/ServiceWaterGridItems.cpp @@ -46,7 +46,7 @@ WaterUseConnectionsDetailItem::WaterUseConnectionsDetailItem(WaterUseConnections auto* sewerItem = new SewerItem(this); - sewerItem->sewerButton()->setToolTip("Go back to water mains editor"); + sewerItem->sewerButton()->setToolTip(tr("Go back to water mains editor")); connect(sewerItem->sewerButton(), &ButtonItem::mouseClicked, waterUseConnectionsDetailScene, &WaterUseConnectionsDetailScene::goToServiceWaterSceneClicked); @@ -185,7 +185,7 @@ WaterUseConnectionsDetailItem::WaterUseConnectionsDetailItem(WaterUseConnections auto* mainsSupplyItem = new MainsSupplyItem(this); - mainsSupplyItem->mainsSupplyButton()->setToolTip("Go back to water mains editor"); + mainsSupplyItem->mainsSupplyButton()->setToolTip(tr("Go back to water mains editor")); connect(mainsSupplyItem->mainsSupplyButton(), &ButtonItem::mouseClicked, waterUseConnectionsDetailScene, &WaterUseConnectionsDetailScene::goToServiceWaterSceneClicked); @@ -498,7 +498,7 @@ WaterUseEquipmentDropZoneItem::WaterUseEquipmentDropZoneItem(QGraphicsItem* pare setHGridLength(2); - setText("Drag Water Use Equipment from Library"); + setText(tr("Drag Water Use Equipment from Library")); } WaterUseConnectionsDropZoneItem::WaterUseConnectionsDropZoneItem(QGraphicsItem* parent) @@ -507,7 +507,7 @@ WaterUseConnectionsDropZoneItem::WaterUseConnectionsDropZoneItem(QGraphicsItem* setHGridLength(2); - setText("Drag Water Use Connections from Library"); + setText(tr("Drag Water Use Connections from Library")); } SewerItem::SewerItem(QGraphicsItem* parent) : GridItem(parent) { @@ -769,7 +769,7 @@ MakeupWaterItem::MakeupWaterItem(QGraphicsItem* parent) : GridItem(parent) { m_mainsSupplyButton = new ButtonItem(waterMainPixmap, waterMainPressPixmap, waterMainOverPixmap, this); - m_mainsSupplyButton->setToolTip("Go back to water mains editor"); + m_mainsSupplyButton->setToolTip(tr("Go back to water mains editor")); m_mainsSupplyButton->setPos(75, 0); diff --git a/src/openstudio_lib/SimSettingsTabController.cpp b/src/openstudio_lib/SimSettingsTabController.cpp index 5b844f9da..f7c62fbd6 100644 --- a/src/openstudio_lib/SimSettingsTabController.cpp +++ b/src/openstudio_lib/SimSettingsTabController.cpp @@ -15,7 +15,7 @@ namespace openstudio { SimSettingsTabController::SimSettingsTabController(bool isIP, const model::Model& model) - : MainTabController(new SimSettingsTabView(isIP, model, "Simulation Settings", MainTabView::MAIN_TAB)) { + : MainTabController(new SimSettingsTabView(isIP, model, tr("Simulation Settings"), MainTabView::MAIN_TAB)) { connect(this, &SimSettingsTabController::toggleUnitsClicked, mainContentWidget(), &MainTabView::toggleUnitsClicked); } diff --git a/src/openstudio_lib/SimSettingsView.cpp b/src/openstudio_lib/SimSettingsView.cpp index 6a4e9102b..c18ea250b 100644 --- a/src/openstudio_lib/SimSettingsView.cpp +++ b/src/openstudio_lib/SimSettingsView.cpp @@ -239,71 +239,71 @@ void SimSettingsView::createWidgets() { //******************* OS:Timestep ******************* mainLayout->addWidget(createTimestepWidget()); - collapsibleInspector = new CollapsibleInspector("Advanced RunPeriod Parameters", createRunPeriodAdvancedWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Advanced RunPeriod Parameters"), createRunPeriodAdvancedWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:RadianceParameters ******************* - collapsibleInspector = new CollapsibleInspector("Radiance Parameters", createRadianceParametersWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Radiance Parameters"), createRadianceParametersWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:SimulationControl ******************* - collapsibleInspector = new CollapsibleInspector("Simulation Control", createSimulationControlWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Simulation Control"), createSimulationControlWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:ProgramControl ******************* - collapsibleInspector = new CollapsibleInspector("Program Control", createProgramControlWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Program Control"), createProgramControlWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:OutputControl:ReportingTolerances ******************* - collapsibleInspector = new CollapsibleInspector("Output Control Reporting Tolerances", createOutputControlReportingTolerancesWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Output Control Reporting Tolerances"), createOutputControlReportingTolerancesWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:ConvergenceLimits ******************* - collapsibleInspector = new CollapsibleInspector("Convergence Limits", createConvergenceLimitsWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Convergence Limits"), createConvergenceLimitsWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:ShadowCalculation ******************* - collapsibleInspector = new CollapsibleInspector("Shadow Calculation", createShadowCalculationWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Shadow Calculation"), createShadowCalculationWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:SurfaceConvectionAlgorithm:Inside ******************* - collapsibleInspector = new CollapsibleInspector("Inside Surface Convection Algorithm", createSurfaceConvectionAlgorithmInsideWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Inside Surface Convection Algorithm"), createSurfaceConvectionAlgorithmInsideWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:SurfaceConvectionAlgorithm:Outside ******************* - collapsibleInspector = new CollapsibleInspector("Outside Surface Convection Algorithm", createSurfaceConvectionAlgorithmOutsideWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Outside Surface Convection Algorithm"), createSurfaceConvectionAlgorithmOutsideWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:HeatBalanceAlgorithm ******************* - collapsibleInspector = new CollapsibleInspector("Heat Balance Algorithm", createHeatBalanceAlgorithmWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Heat Balance Algorithm"), createHeatBalanceAlgorithmWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:ZoneAirHeatBalanceAlgorithm ******************* - collapsibleInspector = new CollapsibleInspector("Zone Air Heat Balance Algorithm", createZoneAirHeatBalanceAlgorithmWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Zone Air Heat Balance Algorithm"), createZoneAirHeatBalanceAlgorithmWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:ZoneAirContaminantBalance ******************* - collapsibleInspector = new CollapsibleInspector("Zone Air Contaminant Balance", createZoneAirContaminantBalanceWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Zone Air Contaminant Balance"), createZoneAirContaminantBalanceWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:ZoneCapacitanceMultiplier:ResearchSpecial ******************* - collapsibleInspector = new CollapsibleInspector("Zone Capacitance Multiple Research Special", createZoneCapacitanceMultipleResearchSpecialWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Zone Capacitance Multiple Research Special"), createZoneCapacitanceMultipleResearchSpecialWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:Output:JSON ******************* - collapsibleInspector = new CollapsibleInspector("Output JSON", createOutputJSONWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Output JSON"), createOutputJSONWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:Output:Table:SummaryReports ******************* - collapsibleInspector = new CollapsibleInspector("Output Table Summary Reports", createOutputTableSummaryReportsWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Output Table Summary Reports"), createOutputTableSummaryReportsWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:Output:Diagnostics ******************* - collapsibleInspector = new CollapsibleInspector("Output Diagnostics", createOutputDiagnosticsWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Output Diagnostics"), createOutputDiagnosticsWidget()); mainLayout->addWidget(collapsibleInspector); //******************* OS:OutputControl:ResilienceSummaries ******************* - collapsibleInspector = new CollapsibleInspector("Output Control Resilience Summaries", createOutputControlResilienceSummariesWidget()); + collapsibleInspector = new CollapsibleInspector(tr("Output Control Resilience Summaries"), createOutputControlResilienceSummariesWidget()); mainLayout->addWidget(collapsibleInspector); mainLayout->addStretch(); @@ -324,7 +324,7 @@ QWidget* SimSettingsView::createRunPeriodWidget() { QHBoxLayout* hLayout = nullptr; - label = new QLabel("Run Period"); + label = new QLabel(tr("Run Period")); label->setObjectName("H1"); mainVLayout->addWidget(label); @@ -392,7 +392,7 @@ QWidget* SimSettingsView::createRunPeriodWidget() { mainHLayout->addStretch(); - m_dateRangelabel = new QLabel("Date Range"); + m_dateRangelabel = new QLabel(tr("Date Range")); m_dateRangelabel->setObjectName("H2"); m_dateRangelabel->setEnabled(true); vLayout->addWidget(m_dateRangelabel); @@ -436,27 +436,27 @@ QWidget* SimSettingsView::createRunPeriodAdvancedWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Use Weather File Holidays and Special Days", m_useWeatherFileHolidaysandSpecialDays); + addField(gridLayout, row, col, tr("Use Weather File Holidays and Special Days"), m_useWeatherFileHolidaysandSpecialDays); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Use Weather File Daylight Savings Period", m_useWeatherFileDaylightSavingsPeriod); + addField(gridLayout, row, col, tr("Use Weather File Daylight Savings Period"), m_useWeatherFileDaylightSavingsPeriod); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Use Weather File Rain Indicators", m_useWeatherFileRainIndicators); + addField(gridLayout, row, col, tr("Use Weather File Rain Indicators"), m_useWeatherFileRainIndicators); col = col + 2; - addField(gridLayout, row, col, "Use Weather File Snow Indicators", m_useWeatherFileSnowIndicators); + addField(gridLayout, row, col, tr("Use Weather File Snow Indicators"), m_useWeatherFileSnowIndicators); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Apply Weekend Holiday Rule", m_applyWeekendHolidayRule); + addField(gridLayout, row, col, tr("Apply Weekend Holiday Rule"), m_applyWeekendHolidayRule); col = col + 2; // Number of times repeated isn't translated // addField(gridLayout,row,col,"Number of Times Runperiod to be Repeate", m_numberTimeRepeat); @@ -478,7 +478,7 @@ QWidget* SimSettingsView::createRunControlWidget() { QLabel* label = nullptr; - label = new QLabel("Run Control"); + label = new QLabel(tr("Run Control")); label->setObjectName("H1"); mainLayout->addWidget(label); @@ -487,27 +487,27 @@ QWidget* SimSettingsView::createRunControlWidget() { layout->setSpacing(0); mainLayout->addLayout(layout); - m_runSimWeatherFiles = new QCheckBox("Run Simulation for Weather File"); + m_runSimWeatherFiles = new QCheckBox(tr("Run Simulation for Weather File")); layout->addWidget(m_runSimWeatherFiles); connect(m_runSimWeatherFiles, &QCheckBox::checkStateChanged, this, &SimSettingsView::on_runSimWeatherFiles); - m_runSimDesignDays = new QCheckBox("Run Simulation for Design Days"); + m_runSimDesignDays = new QCheckBox(tr("Run Simulation for Design Days")); layout->addWidget(m_runSimDesignDays); connect(m_runSimDesignDays, &QCheckBox::checkStateChanged, this, &SimSettingsView::on_runSimDesignDays); - m_performZoneSizing = new QCheckBox("Perform Zone Sizing"); + m_performZoneSizing = new QCheckBox(tr("Perform Zone Sizing")); layout->addWidget(m_performZoneSizing); connect(m_performZoneSizing, &QCheckBox::checkStateChanged, this, &SimSettingsView::on_performZoneSizing); - m_performSystemSizing = new QCheckBox("Perform System Sizing"); + m_performSystemSizing = new QCheckBox(tr("Perform System Sizing")); layout->addWidget(m_performSystemSizing); connect(m_performSystemSizing, &QCheckBox::checkStateChanged, this, &SimSettingsView::on_performSystemSizing); - m_performPlantSizing = new QCheckBox("Perform Plant Sizing"); + m_performPlantSizing = new QCheckBox(tr("Perform Plant Sizing")); layout->addWidget(m_performPlantSizing); connect(m_performPlantSizing, &QCheckBox::checkStateChanged, this, &SimSettingsView::on_performPlantSizing); @@ -528,56 +528,56 @@ QWidget* SimSettingsView::createSimulationControlWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Do Zone Sizing Calculation", m_doZoneSizingCalculation); + addField(gridLayout, row, col, tr("Do Zone Sizing Calculation"), m_doZoneSizingCalculation); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Do System Sizing Calculation", m_doSystemSizingCalculation); + addField(gridLayout, row, col, tr("Do System Sizing Calculation"), m_doSystemSizingCalculation); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Do Plant Sizing Calculation", m_doPlantSizingCalculation); + addField(gridLayout, row, col, tr("Do Plant Sizing Calculation"), m_doPlantSizingCalculation); col = col + 2; - addField(gridLayout, row, col, "Run Simulation For Sizing Periods", m_runSimulationforSizingPeriods); + addField(gridLayout, row, col, tr("Run Simulation For Sizing Periods"), m_runSimulationforSizingPeriods); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Run Simulation For Weather File Run Periods", m_runSimulationforWeatherFileRunPeriods); + addField(gridLayout, row, col, tr("Run Simulation For Weather File Run Periods"), m_runSimulationforWeatherFileRunPeriods); col = col + 2; - addField(gridLayout, row, col, "Maximum Number Of Warmup Days", m_maximumNumberofWarmupDays); + addField(gridLayout, row, col, tr("Maximum Number Of Warmup Days"), m_maximumNumberofWarmupDays); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Minimum Number Of Warmup Days", m_minimumNumberofWarmupDays); + addField(gridLayout, row, col, tr("Minimum Number Of Warmup Days"), m_minimumNumberofWarmupDays); col = col + 2; - addField(gridLayout, row, col, "Loads Convergence Tolerance Value", "", "", "", m_loadsConvergenceToleranceValue); + addField(gridLayout, row, col, tr("Loads Convergence Tolerance Value"), "", "", "", m_loadsConvergenceToleranceValue); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Temperature Convergence Tolerance Value", "K", "K", "R", m_temperatureConvergenceToleranceValue); + addField(gridLayout, row, col, tr("Temperature Convergence Tolerance Value"), "K", "K", "R", m_temperatureConvergenceToleranceValue); col = col + 2; - addField(gridLayout, row, col, "Solar Distribution", m_solarDistribution); + addField(gridLayout, row, col, tr("Solar Distribution"), m_solarDistribution); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Do HVAC Sizing Simulation for Sizing Periods", m_doHVACSizingSimulationforSizingPeriods); + addField(gridLayout, row, col, tr("Do HVAC Sizing Simulation for Sizing Periods"), m_doHVACSizingSimulationforSizingPeriods); col = col + 2; - addField(gridLayout, row, col, "Maximum Number of HVAC Sizing Simulation Passes", m_maximumNumberofHVACSizingSimulationPasses); + addField(gridLayout, row, col, tr("Maximum Number of HVAC Sizing Simulation Passes"), m_maximumNumberofHVACSizingSimulationPasses); std::vector<std::string> validSolarDistributionValues = model::SimulationControl::validSolarDistributionValues(); for (const std::string& validSolarDistributionValue : validSolarDistributionValues) { @@ -601,7 +601,7 @@ QWidget* SimSettingsView::createSizingParametersWidget() { QLabel* label = nullptr; - label = new QLabel("Sizing Parameters"); + label = new QLabel(tr("Sizing Parameters")); label->setObjectName("H1"); mainLayout->addWidget(label); @@ -614,11 +614,11 @@ QWidget* SimSettingsView::createSizingParametersWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Heating Sizing Factor", "", "", "", m_heatingSizingFactor); + addField(gridLayout, row, col, tr("Heating Sizing Factor"), "", "", "", m_heatingSizingFactor); row = row + 2; - addField(gridLayout, row, col, "Cooling Sizing Factor", "", "", "", m_coolingSizingFactor); + addField(gridLayout, row, col, tr("Cooling Sizing Factor"), "", "", "", m_coolingSizingFactor); row = row + 2; - addField(gridLayout, row, col, "Timesteps In Averaging Window", m_timestepsinAveragingWindow); + addField(gridLayout, row, col, tr("Timesteps In Averaging Window"), m_timestepsinAveragingWindow); auto* widget = new QWidget(); widget->setLayout(mainLayout); @@ -635,7 +635,7 @@ QWidget* SimSettingsView::createProgramControlWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Number Of Threads Allowed", m_numberOfThreadsAllowed); + addField(gridLayout, row, col, tr("Number Of Threads Allowed"), m_numberOfThreadsAllowed); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -651,7 +651,7 @@ QWidget* SimSettingsView::createTimestepWidget() { QLabel* label = nullptr; - label = new QLabel("Timestep"); + label = new QLabel(tr("Timestep")); label->setObjectName("H1"); mainLayout->addWidget(label); @@ -664,7 +664,7 @@ QWidget* SimSettingsView::createTimestepWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Number Of Timesteps Per Hour", m_numberOfTimestepsPerHour); + addField(gridLayout, row, col, tr("Number Of Timesteps Per Hour"), m_numberOfTimestepsPerHour); auto* widget = new QWidget(); widget->setLayout(mainLayout); @@ -682,11 +682,11 @@ QWidget* SimSettingsView::createOutputControlReportingTolerancesWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Tolerance For Time Heating Setpoint Not Met", "K", "K", "R", m_toleranceForTimeHeatingSetpointNotMet); + addField(gridLayout, row, col, tr("Tolerance For Time Heating Setpoint Not Met"), "K", "K", "R", m_toleranceForTimeHeatingSetpointNotMet); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Tolerance For Time Cooling Setpoint Not Met", "K", "K", "R", m_toleranceForTimeCoolingSetpointNotMet); + addField(gridLayout, row, col, tr("Tolerance For Time Cooling Setpoint Not Met"), "K", "K", "R", m_toleranceForTimeCoolingSetpointNotMet); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -704,20 +704,20 @@ QWidget* SimSettingsView::createConvergenceLimitsWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Maximum HVAC Iterations", m_maximumHVACIterations); + addField(gridLayout, row, col, tr("Maximum HVAC Iterations"), m_maximumHVACIterations); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Minimum Plant Iterations", m_minimumPlantIterations); + addField(gridLayout, row, col, tr("Minimum Plant Iterations"), m_minimumPlantIterations); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Maximum Plant Iterations", m_maximumPlantIterations); + addField(gridLayout, row, col, tr("Maximum Plant Iterations"), m_maximumPlantIterations); col = col + 2; - addField(gridLayout, row, col, "Minimum System Timestep", m_minimumSystemTimestep); + addField(gridLayout, row, col, tr("Minimum System Timestep"), m_minimumSystemTimestep); gridLayout->setRowStretch(100, 100); gridLayout->setColumnStretch(100, 100); @@ -739,20 +739,20 @@ QWidget* SimSettingsView::createShadowCalculationWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Shading Calculation Update Frequency", m_shadingCalculationUpdateFrequency); + addField(gridLayout, row, col, tr("Shading Calculation Update Frequency"), m_shadingCalculationUpdateFrequency); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Maximum Figures In Shadow Overlap Calculations", m_maximumFiguresInShadowOverlapCalculations); + addField(gridLayout, row, col, tr("Maximum Figures In Shadow Overlap Calculations"), m_maximumFiguresInShadowOverlapCalculations); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Polygon Clipping Algorithm", m_polygonClippingAlgorithm); + addField(gridLayout, row, col, tr("Polygon Clipping Algorithm"), m_polygonClippingAlgorithm); col = col + 2; - addField(gridLayout, row, col, "Sky Diffuse Modeling Algorithm", m_skyDiffuseModelingAlgorithm); + addField(gridLayout, row, col, tr("Sky Diffuse Modeling Algorithm"), m_skyDiffuseModelingAlgorithm); gridLayout->setRowStretch(100, 100); gridLayout->setColumnStretch(100, 100); @@ -773,7 +773,7 @@ QWidget* SimSettingsView::createSurfaceConvectionAlgorithmInsideWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Algorithm", m_algorithmSurfaceConvectionInside); + addField(gridLayout, row, col, tr("Algorithm"), m_algorithmSurfaceConvectionInside); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -791,7 +791,7 @@ QWidget* SimSettingsView::createSurfaceConvectionAlgorithmOutsideWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Algorithm", m_algorithmSurfaceConvectionOutside); + addField(gridLayout, row, col, tr("Algorithm"), m_algorithmSurfaceConvectionOutside); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -809,11 +809,11 @@ QWidget* SimSettingsView::createHeatBalanceAlgorithmWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Surface Temperature Upper Limit", "C", "C", "F", m_surfaceTemperatureUpperLimit); + addField(gridLayout, row, col, tr("Surface Temperature Upper Limit"), "C", "C", "F", m_surfaceTemperatureUpperLimit); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Minimum Surface Convection Heat Transfer Coefficient Value", "W/m^2*K", "W/m^2*K", "Btu/ft^2*hr*R", + addField(gridLayout, row, col, tr("Minimum Surface Convection Heat Transfer Coefficient Value"), "W/m^2*K", "W/m^2*K", "Btu/ft^2*hr*R", m_minimumSurfaceConvectionHeatTransferCoefficientValue); row = row + 2; @@ -821,10 +821,10 @@ QWidget* SimSettingsView::createHeatBalanceAlgorithmWidget() { gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Maximum Surface Convection Heat Transfer Coefficient Value", "W/m^2*K", "W/m^2*K", "Btu/ft^2*hr*R", + addField(gridLayout, row, col, tr("Maximum Surface Convection Heat Transfer Coefficient Value"), "W/m^2*K", "W/m^2*K", "Btu/ft^2*hr*R", m_maximumSurfaceConvectionHeatTransferCoefficientValue); col = col + 2; - addField(gridLayout, row, col, "Algorithm", m_algorithmHeatBalance); + addField(gridLayout, row, col, tr("Algorithm"), m_algorithmHeatBalance); gridLayout->setRowStretch(100, 100); gridLayout->setColumnStretch(100, 100); @@ -845,7 +845,7 @@ QWidget* SimSettingsView::createZoneAirHeatBalanceAlgorithmWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Algorithm", m_algorithmZoneAirHeatBalance); + addField(gridLayout, row, col, tr("Algorithm"), m_algorithmZoneAirHeatBalance); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -863,11 +863,11 @@ QWidget* SimSettingsView::createZoneAirContaminantBalanceWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Carbon Dioxide Concentration", m_carbonDioxideConcentration); + addField(gridLayout, row, col, tr("Carbon Dioxide Concentration"), m_carbonDioxideConcentration); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Outdoor Carbon Dioxide Schedule Name", m_outdoorCarbonDioxideScheduleName); + addField(gridLayout, row, col, tr("Outdoor Carbon Dioxide Schedule Name"), m_outdoorCarbonDioxideScheduleName); gridLayout->setRowStretch(100, 100); gridLayout->setColumnStretch(100, 100); @@ -889,18 +889,18 @@ QWidget* SimSettingsView::createZoneCapacitanceMultipleResearchSpecialWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Temperature Capacity Multiplier", "", "", "", m_temperatureCapacityMultiplier); + addField(gridLayout, row, col, tr("Temperature Capacity Multiplier"), "", "", "", m_temperatureCapacityMultiplier); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Humidity Capacity Multiplier", "", "", "", m_humidityCapacityMultiplier); + addField(gridLayout, row, col, tr("Humidity Capacity Multiplier"), "", "", "", m_humidityCapacityMultiplier); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Carbon Dioxide Capacity Multiplier", "", "", "", m_carbonDioxideCapacityMultiplier); + addField(gridLayout, row, col, tr("Carbon Dioxide Capacity Multiplier"), "", "", "", m_carbonDioxideCapacityMultiplier); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -920,15 +920,15 @@ QWidget* SimSettingsView::createRadianceParametersWidget() { QRadioButton* radioButton = nullptr; - radioButton = new QRadioButton("Coarse (Fast, less accurate)"); + radioButton = new QRadioButton(tr("Coarse (Fast, less accurate)")); m_radianceGroup->addButton(radioButton, buttonCount++); vLayout->addWidget(radioButton); - radioButton = new QRadioButton("Fine (Slow, more accurate)"); + radioButton = new QRadioButton(tr("Fine (Slow, more accurate)")); m_radianceGroup->addButton(radioButton, buttonCount++); vLayout->addWidget(radioButton); - radioButton = new QRadioButton("Custom"); + radioButton = new QRadioButton(tr("Custom")); m_radianceGroup->addButton(radioButton, buttonCount); vLayout->addWidget(radioButton); @@ -940,65 +940,65 @@ QWidget* SimSettingsView::createRadianceParametersWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, m_accumulatedRaysperRecordLbl, "Accumulated Rays per Record: ", m_accumulatedRaysperRecord); + addField(gridLayout, row, col, m_accumulatedRaysperRecordLbl, tr("Accumulated Rays per Record: "), m_accumulatedRaysperRecord); col++; spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, m_directThresholdLbl, "Direct Threshold: ", "", "", "", m_directThreshold); + addField(gridLayout, row, col, m_directThresholdLbl, tr("Direct Threshold: "), "", "", "", m_directThreshold); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, m_directCertaintyLbl, "Direct Certainty: ", "", "", "", m_directCertainty); + addField(gridLayout, row, col, m_directCertaintyLbl, tr("Direct Certainty: "), "", "", "", m_directCertainty); col = col + 2; - addField(gridLayout, row, col, m_directJitterLbl, "Direct Jitter: ", "", "", "", m_directJitter); + addField(gridLayout, row, col, m_directJitterLbl, tr("Direct Jitter: "), "", "", "", m_directJitter); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, m_directPretestLbl, "Direct Pretest: ", "", "", "", m_directPretest); + addField(gridLayout, row, col, m_directPretestLbl, tr("Direct Pretest: "), "", "", "", m_directPretest); col = col + 2; - addField(gridLayout, row, col, m_ambientBouncesVMXLbl, "Ambient Bounces VMX: ", m_ambientBouncesVMX); + addField(gridLayout, row, col, m_ambientBouncesVMXLbl, tr("Ambient Bounces VMX: "), m_ambientBouncesVMX); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, m_ambientBouncesDMXLbl, "Ambient Bounces DMX: ", m_ambientBouncesDMX); + addField(gridLayout, row, col, m_ambientBouncesDMXLbl, tr("Ambient Bounces DMX: "), m_ambientBouncesDMX); col = col + 2; - addField(gridLayout, row, col, m_ambientDivisionsVMXLbl, "Ambient Divisions VMX: ", m_ambientDivisionsVMX); + addField(gridLayout, row, col, m_ambientDivisionsVMXLbl, tr("Ambient Divisions VMX: "), m_ambientDivisionsVMX); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, m_ambientDivisionsDMXLbl, "Ambient Divisions DMX: ", m_ambientDivisionsDMX); + addField(gridLayout, row, col, m_ambientDivisionsDMXLbl, tr("Ambient Divisions DMX: "), m_ambientDivisionsDMX); col = col + 2; - addField(gridLayout, row, col, m_ambientSupersamplesLbl, "Ambient Supersamples: ", m_ambientSupersamples); + addField(gridLayout, row, col, m_ambientSupersamplesLbl, tr("Ambient Supersamples: "), m_ambientSupersamples); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, m_limitWeightVMXLbl, "Limit Weight VMX: ", "", "", "", m_limitWeightVMX); + addField(gridLayout, row, col, m_limitWeightVMXLbl, tr("Limit Weight VMX: "), "", "", "", m_limitWeightVMX); col = col + 2; - addField(gridLayout, row, col, m_limitWeightDMXLbl, "Limit Weight DMX: ", "", "", "", m_limitWeightDMX); + addField(gridLayout, row, col, m_limitWeightDMXLbl, tr("Limit Weight DMX: "), "", "", "", m_limitWeightDMX); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, m_klemsSamplingDensityLbl, "Klems Sampling Density: ", m_klemsSamplingDensity); + addField(gridLayout, row, col, m_klemsSamplingDensityLbl, tr("Klems Sampling Density: "), m_klemsSamplingDensity); col = col + 2; - addField(gridLayout, row, col, m_skyDiscretizationResolutionLbl, "Sky Discretization Resolution: ", m_skyDiscretizationResolution); + addField(gridLayout, row, col, m_skyDiscretizationResolutionLbl, tr("Sky Discretization Resolution: "), m_skyDiscretizationResolution); std::vector<std::string> skyDiscretizationResolutionValues = model::RadianceParameters::skyDiscretizationResolutionValues(); for (const std::string& skyDiscretizationResolutionValue : skyDiscretizationResolutionValues) { @@ -1073,7 +1073,7 @@ QWidget* SimSettingsView::createOutputJSONWidget() { int col = 0; QSpacerItem* spacerItem = nullptr; - addField(gridLayout, row, col, "Option Type", m_json_optionType); + addField(gridLayout, row, col, tr("Option Type"), m_json_optionType); col++; std::vector<std::string> optionValues = model::OutputJSON::optionTypeValues(); for (const auto& optionValue : optionValues) { @@ -1082,16 +1082,16 @@ QWidget* SimSettingsView::createOutputJSONWidget() { spacerItem = new QSpacerItem(SPACERITEM_WIDTH, 1, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row, col++); - addField(gridLayout, row, col, "Output JSON", m_json_outputJSON); + addField(gridLayout, row, col, tr("Output JSON"), m_json_outputJSON); row = row + 2; spacerItem = new QSpacerItem(1, SPACERITEM_HEIGHT, QSizePolicy::Fixed, QSizePolicy::Fixed); gridLayout->addItem(spacerItem, row++, 0); col = 0; - addField(gridLayout, row, col, "Output CBOR", m_json_outputCBOR); + addField(gridLayout, row, col, tr("Output CBOR"), m_json_outputCBOR); col = col + 2; - addField(gridLayout, row, col, "Output MessagePack", m_json_outputMessagePack); + addField(gridLayout, row, col, tr("Output MessagePack"), m_json_outputMessagePack); gridLayout->setRowStretch(100, 100); gridLayout->setColumnStretch(100, 100); @@ -1113,7 +1113,7 @@ QWidget* SimSettingsView::createOutputTableSummaryReportsWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Enable AllSummary Report", m_table_allSummary); + addField(gridLayout, row, col, tr("Enable AllSummary Report"), m_table_allSummary); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -1132,7 +1132,7 @@ QWidget* SimSettingsView::createOutputDiagnosticsWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Enable DisplayExtraWarnings", m_diagnostics_displayExtraWarnings); + addField(gridLayout, row, col, tr("Enable DisplayExtraWarnings"), m_diagnostics_displayExtraWarnings); auto* widget = new QWidget(); widget->setLayout(gridLayout); @@ -1151,7 +1151,7 @@ QWidget* SimSettingsView::createOutputControlResilienceSummariesWidget() { int row = 0; int col = 0; - addField(gridLayout, row, col, "Heat Index Algorithm", m_outputControlResilienceSummaries_heatIndexAlgorithm); + addField(gridLayout, row, col, tr("Heat Index Algorithm"), m_outputControlResilienceSummaries_heatIndexAlgorithm); col++; for (const auto& hiAlgo : model::OutputControlResilienceSummaries::heatIndexAlgorithmValues()) { m_json_optionType->addItem(hiAlgo.c_str()); diff --git a/src/openstudio_lib/SpaceTypesGridView.cpp b/src/openstudio_lib/SpaceTypesGridView.cpp index 57c387d22..58373dc29 100644 --- a/src/openstudio_lib/SpaceTypesGridView.cpp +++ b/src/openstudio_lib/SpaceTypesGridView.cpp @@ -90,47 +90,49 @@ #include <QBoxLayout> #include <QCheckBox> #include <QComboBox> +#include <QCoreApplication> #include <QLabel> // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Type Name" -#define SELECTED "All" +#define TR(s) QCoreApplication::translate("openstudio::SpaceTypesGridController", s) +#define NAME TR("Space Type Name") +#define SELECTED TR("All") // GENERAL -#define RENDERINGCOLOR "Rendering Color" -#define DEFAULTCONSTRUCTIONSET "Default Construction Set" -#define DEFAULTSCHEDULESET "Default Schedule Set" -#define DESIGNSPECIFICATIONOUTDOORAIR "Design Specification Outdoor Air" -#define SPACEINFILTRATIONDESIGNFLOWRATES "Space Infiltration Design Flow Rates" -#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREAS "Space Infiltration Effective Leakage Areas" +#define RENDERINGCOLOR TR("Rendering Color") +#define DEFAULTCONSTRUCTIONSET TR("Default Construction Set") +#define DEFAULTSCHEDULESET TR("Default Schedule Set") +#define DESIGNSPECIFICATIONOUTDOORAIR TR("Design Specification Outdoor Air") +#define SPACEINFILTRATIONDESIGNFLOWRATES TR("Space Infiltration Design Flow Rates") +#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREAS TR("Space Infiltration Effective Leakage Areas") // LOADS -#define LOADNAME "Load Name" -#define MULTIPLIER "Multiplier" -#define DEFINITION "Definition" -#define SCHEDULE "Schedule" -#define ACTIVITYSCHEDULE "Activity Schedule\n(People Only)" +#define LOADNAME TR("Load Name") +#define MULTIPLIER TR("Multiplier") +#define DEFINITION TR("Definition") +#define SCHEDULE TR("Schedule") +#define ACTIVITYSCHEDULE TR("Activity Schedule\n(People Only)") // MEASURE TAGS -#define STANDARDSTEMPLATE "Standards Template (Optional)" -#define STANDARDSBUILDINGTYPE "Standards Building Type\n(Optional)" -#define STANDARDSSPACETYPE "Standards Space Type\n(Optional)" +#define STANDARDSTEMPLATE TR("Standards Template (Optional)") +#define STANDARDSBUILDINGTYPE TR("Standards Building Type\n(Optional)") +#define STANDARDSSPACETYPE TR("Standards Space Type\n(Optional)") // LOAD TYPES -#define SHOWALLLOADS "Show all loads" -#define INTERNALMASS "Internal Mass" -#define PEOPLE "People" -#define LIGHTS "Lights" -#define LUMINAIRE "Luminaire" -#define ELECTRICEQUIPMENT "Electric Equipment" -#define GASEQUIPMENT "Gas Equipment" -#define HOTWATEREQUIPMENT "Hot Water Equipment" -#define STEAMEQUIPMENT "Steam Equipment" -#define OTHEREQUIPMENT "Other Equipment" -#define SPACEINFILTRATIONDESIGNFLOWRATE "Space Infiltration Design Flow Rate" -#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREA "Space Infiltration Effective Leakage Area" +#define SHOWALLLOADS TR("Show all loads") +#define INTERNALMASS TR("Internal Mass") +#define PEOPLE TR("People") +#define LIGHTS TR("Lights") +#define LUMINAIRE TR("Luminaire") +#define ELECTRICEQUIPMENT TR("Electric Equipment") +#define GASEQUIPMENT TR("Gas Equipment") +#define HOTWATEREQUIPMENT TR("Hot Water Equipment") +#define STEAMEQUIPMENT TR("Steam Equipment") +#define OTHEREQUIPMENT TR("Other Equipment") +#define SPACEINFILTRATIONDESIGNFLOWRATE TR("Space Infiltration Design Flow Rate") +#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREA TR("Space Infiltration Effective Leakage Area") namespace openstudio { @@ -143,8 +145,8 @@ SpaceTypesGridView::SpaceTypesGridView(bool isIP, const model::Model& model, QWi auto spaceTypes = model.getConcreteModelObjects<model::SpaceType>(); auto spaceTypeModelObjects = subsetCastVector<model::ModelObject>(spaceTypes); - m_gridController = new SpaceTypesGridController(m_isIP, "Space Types", IddObjectType::OS_SpaceType, model, spaceTypeModelObjects); - auto* gridView = new OSGridView(m_gridController, "Space Types", "Drop\nSpace Type", false, parent); + m_gridController = new SpaceTypesGridController(m_isIP, tr("Space Types"), IddObjectType::OS_SpaceType, model, spaceTypeModelObjects); + auto* gridView = new OSGridView(m_gridController, tr("Space Types"), tr("Drop\nSpace Type"), false, parent); // Load Filter @@ -157,14 +159,14 @@ SpaceTypesGridView::SpaceTypesGridView(bool isIP, const model::Model& model, QWi filterGridLayout->setSpacing(5); label = new QLabel(); - label->setText("Filter:"); + label->setText(tr("Filter:")); label->setObjectName("H2"); filterGridLayout->addWidget(label, filterGridLayout->rowCount(), 0, Qt::AlignTop | Qt::AlignLeft); layout = new QVBoxLayout(); m_filterLabel = new QLabel(); - m_filterLabel->setText("Load Type"); + m_filterLabel->setText(tr("Load Type")); m_filterLabel->setObjectName("H3"); layout->addWidget(m_filterLabel, Qt::AlignTop | Qt::AlignLeft); @@ -304,7 +306,7 @@ void SpaceTypesGridController::setCategoriesAndFields() { SPACEINFILTRATIONDESIGNFLOWRATES, SPACEINFILTRATIONEFFECTIVELEAKAGEAREAS, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } @@ -312,7 +314,7 @@ void SpaceTypesGridController::setCategoriesAndFields() { std::vector<QString> fields{ LOADNAME, MULTIPLIER, DEFINITION, SCHEDULE, ACTIVITYSCHEDULE, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Loads"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Loads"), fields); addCategoryAndFields(categoryAndFields); } @@ -322,7 +324,7 @@ void SpaceTypesGridController::setCategoriesAndFields() { STANDARDSBUILDINGTYPE, STANDARDSSPACETYPE, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Measure\nTags"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Measure\nTags"), fields); addCategoryAndFields(categoryAndFields); } @@ -449,13 +451,13 @@ void SpaceTypesGridController::addColumns(const QString& category, std::vector<Q addParentNameLineEditColumn(Heading(QString(NAME), false, false), false, getter, setter); - } else if (field == SELECTED && category != "Loads") { + } else if (field == SELECTED && category != TR("Loads")) { auto checkbox = QSharedPointer<OSSelectAllCheckBox>(new OSSelectAllCheckBox()); - checkbox->setToolTip("Check to select all rows"); + checkbox->setToolTip(tr("Check to select all rows")); connect(checkbox.data(), &OSSelectAllCheckBox::checkStateChanged, this, &SpaceTypesGridController::onSelectAllStateChanged); connect(this, &SpaceTypesGridController::gridRowSelectionChanged, checkbox.data(), &OSSelectAllCheckBox::onGridRowSelectionChanged); - addSelectColumn(Heading(QString(SELECTED), false, false, checkbox), "Check to select this row"); + addSelectColumn(Heading(QString(SELECTED), false, false, checkbox), tr("Check to select this row").toStdString()); } else if (field == LOADNAME || field == MULTIPLIER || field == DEFINITION || field == SCHEDULE || field == ACTIVITYSCHEDULE || field == SELECTED) { // Create a lambda function that collates all of the loads in a space type @@ -1056,7 +1058,7 @@ void SpaceTypesGridController::addColumns(const QString& category, std::vector<Q } else if (field == SELECTED) { auto checkbox = QSharedPointer<OSSelectAllCheckBox>(new OSSelectAllCheckBox()); - checkbox->setToolTip("Check to select all rows"); + checkbox->setToolTip(tr("Check to select all rows")); connect(checkbox.data(), &OSSelectAllCheckBox::checkStateChanged, this, &SpaceTypesGridController::onSelectAllStateChanged); connect(this, &SpaceTypesGridController::gridRowSelectionChanged, checkbox.data(), &OSSelectAllCheckBox::onGridRowSelectionChanged); addSelectColumn(Heading(QString(SELECTED), false, false, checkbox), "Check to select this row", DataSource(allLoads, true)); diff --git a/src/openstudio_lib/SpaceTypesTabView.cpp b/src/openstudio_lib/SpaceTypesTabView.cpp index 03f2942d3..3ae836777 100644 --- a/src/openstudio_lib/SpaceTypesTabView.cpp +++ b/src/openstudio_lib/SpaceTypesTabView.cpp @@ -7,6 +7,6 @@ namespace openstudio { -SpaceTypesTabView::SpaceTypesTabView(QWidget* parent) : MainTabView("Space Types", MainTabView::MAIN_TAB, parent) {} +SpaceTypesTabView::SpaceTypesTabView(QWidget* parent) : MainTabView(tr("Space Types"), MainTabView::MAIN_TAB, parent) {} } // namespace openstudio diff --git a/src/openstudio_lib/SpacesInteriorPartitionsGridView.cpp b/src/openstudio_lib/SpacesInteriorPartitionsGridView.cpp index a7637bb2e..72304f16c 100644 --- a/src/openstudio_lib/SpacesInteriorPartitionsGridView.cpp +++ b/src/openstudio_lib/SpacesInteriorPartitionsGridView.cpp @@ -30,22 +30,25 @@ #include <openstudio/utilities/idd/OS_Space_FieldEnums.hxx> #include <QCheckBox> +#include <QCoreApplication> + +#define TR(s) QCoreApplication::translate("openstudio::SpacesInteriorPartitionsGridController", s) // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define NAME TR("Space Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // GENERAL -#define INTERIORPARTITIONGROUPNAME "Interior Partition Group Name" // read only -#define INTERIORPARTITIONNAME "Interior Partition Name" -#define CONSTRUCTIONNAME "Construction Name" -#define CONVERTTOINTERNALMASS "Convert to Internal Mass" -#define SURFACEAREA "Surface Area" -#define DAYLIGHTINGSHELFNAME "Daylighting Shelf Name" // read only +#define INTERIORPARTITIONGROUPNAME TR("Interior Partition Group Name") // read only +#define INTERIORPARTITIONNAME TR("Interior Partition Name") +#define CONSTRUCTIONNAME TR("Construction Name") +#define CONVERTTOINTERNALMASS TR("Convert to Internal Mass") +#define SURFACEAREA TR("Surface Area") +#define DAYLIGHTINGSHELFNAME TR("Daylighting Shelf Name") // read only namespace openstudio { @@ -60,8 +63,8 @@ SpacesInteriorPartitionsGridView::SpacesInteriorPartitionsGridView(bool isIP, bo m_filterGridLayout->setColumnStretch(m_filterGridLayout->columnCount(), 100); m_gridController = - new SpacesInteriorPartitionsGridController(isIP, displayAdditionalProps, "Space", IddObjectType::OS_Space, model, m_spacesModelObjects); - m_gridView = new OSGridView(m_gridController, "Space", "Drop\nSpace", false, parent); + new SpacesInteriorPartitionsGridController(isIP, displayAdditionalProps, tr("Space"), IddObjectType::OS_Space, model, m_spacesModelObjects); + m_gridView = new OSGridView(m_gridController, tr("Space"), tr("Drop\nSpace"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -105,7 +108,7 @@ void SpacesInteriorPartitionsGridController::setCategoriesAndFields() { //SURFACEAREA, //DAYLIGHTINGSHELFNAME, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/SpacesLoadsGridView.cpp b/src/openstudio_lib/SpacesLoadsGridView.cpp index 7f74266be..19f72e7af 100644 --- a/src/openstudio_lib/SpacesLoadsGridView.cpp +++ b/src/openstudio_lib/SpacesLoadsGridView.cpp @@ -76,21 +76,24 @@ #include <openstudio/utilities/idd/OS_Space_FieldEnums.hxx> #include <QCheckBox> +#include <QCoreApplication> + +#define TR(s) QCoreApplication::translate("openstudio::SpacesLoadsGridController", s) // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define NAME TR("Space Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // GENERAL -#define LOADNAME "Load Name" -#define MULTIPLIER "Multiplier" -#define DEFINITION "Definition" -#define SCHEDULE "Schedule" -#define ACTIVITYSCHEDULE "Activity Schedule\n(People Only)" +#define LOADNAME TR("Load Name") +#define MULTIPLIER TR("Multiplier") +#define DEFINITION TR("Definition") +#define SCHEDULE TR("Schedule") +#define ACTIVITYSCHEDULE TR("Activity Schedule\n(People Only)") namespace openstudio { @@ -104,8 +107,8 @@ SpacesLoadsGridView::SpacesLoadsGridView(bool isIP, bool displayAdditionalProps, m_filterGridLayout->setRowStretch(m_filterGridLayout->rowCount(), 100); m_filterGridLayout->setColumnStretch(m_filterGridLayout->columnCount(), 100); - m_gridController = new SpacesLoadsGridController(isIP, displayAdditionalProps, "Space", IddObjectType::OS_Space, model, m_spacesModelObjects); - m_gridView = new OSGridView(m_gridController, "Space", "Drop\nSpace", false, parent); + m_gridController = new SpacesLoadsGridController(isIP, displayAdditionalProps, tr("Space"), IddObjectType::OS_Space, model, m_spacesModelObjects); + m_gridView = new OSGridView(m_gridController, tr("Space"), tr("Drop\nSpace"), false, parent); const std::function<bool(const model::ModelObject&)> isLocked([](const model::ModelObject& modelObject) { if (modelObject.optionalCast<model::SpaceLoad>()) { @@ -156,7 +159,7 @@ void SpacesLoadsGridController::setCategoriesAndFields() { std::vector<QString> fields{ LOADNAME, MULTIPLIER, DEFINITION, SCHEDULE, ACTIVITYSCHEDULE, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/SpacesShadingGridView.cpp b/src/openstudio_lib/SpacesShadingGridView.cpp index be3c267a0..03aa6587f 100644 --- a/src/openstudio_lib/SpacesShadingGridView.cpp +++ b/src/openstudio_lib/SpacesShadingGridView.cpp @@ -32,21 +32,24 @@ #include <openstudio/utilities/idd/OS_Space_FieldEnums.hxx> #include <QCheckBox> +#include <QCoreApplication> + +#define TR(s) QCoreApplication::translate("openstudio::SpacesShadingGridController", s) // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define NAME TR("Space Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // GENERAL -#define SHADINGSURFACEGROUP "Shading Surface Group" // read only -#define CONSTRUCTION "Construction" -#define TRANSMITTANCESCHEDULE "Transmittance Schedule" -#define SHADEDSURFACENAME "Shading Surface Name" // DAN note: need model method for suggestions -#define DAYLIGHTINGSHELFNAME "Daylighting Shelf Name" // read only +#define SHADINGSURFACEGROUP TR("Shading Surface Group") // read only +#define CONSTRUCTION TR("Construction") +#define TRANSMITTANCESCHEDULE TR("Transmittance Schedule") +#define SHADEDSURFACENAME TR("Shading Surface Name") // DAN note: need model method for suggestions +#define DAYLIGHTINGSHELFNAME TR("Daylighting Shelf Name") // read only namespace openstudio { @@ -60,8 +63,8 @@ SpacesShadingGridView::SpacesShadingGridView(bool isIP, bool displayAdditionalPr m_filterGridLayout->setRowStretch(m_filterGridLayout->rowCount(), 100); m_filterGridLayout->setColumnStretch(m_filterGridLayout->columnCount(), 100); - m_gridController = new SpacesShadingGridController(isIP, displayAdditionalProps, "Space", IddObjectType::OS_Space, model, m_spacesModelObjects); - m_gridView = new OSGridView(m_gridController, "Space", "Drop\nSpace", false, parent); + m_gridController = new SpacesShadingGridController(isIP, displayAdditionalProps, tr("Space"), IddObjectType::OS_Space, model, m_spacesModelObjects); + m_gridView = new OSGridView(m_gridController, tr("Space"), tr("Drop\nSpace"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -104,7 +107,7 @@ void SpacesShadingGridController::setCategoriesAndFields() { SHADEDSURFACENAME, SHADINGSURFACEGROUP, CONSTRUCTION, TRANSMITTANCESCHEDULE, //DAYLIGHTINGSHELFNAME, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/SpacesSpacesGridView.cpp b/src/openstudio_lib/SpacesSpacesGridView.cpp index 2e9ae6ab7..770a65104 100644 --- a/src/openstudio_lib/SpacesSpacesGridView.cpp +++ b/src/openstudio_lib/SpacesSpacesGridView.cpp @@ -39,27 +39,30 @@ #include <openstudio/utilities/idd/OS_Space_FieldEnums.hxx> #include <QCheckBox> +#include <QCoreApplication> + +#define TR(s) QCoreApplication::translate("openstudio::SpacesSpacesGridController", s) // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Name" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" -#define SELECTED "All" +#define NAME TR("Space Name") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") +#define SELECTED TR("All") // GENERAL -#define STORY "Story" -#define THERMALZONE "Thermal Zone" -#define SPACETYPE "Space Type" -#define DEFAULTCONSTRUCTIONSET "Default Construction Set" -#define DEFAULTSCHEDULESET "Default Schedule Set" -#define PARTOFTOTALFLOORAREA "Part of Total Floor Area" +#define STORY TR("Story") +#define THERMALZONE TR("Thermal Zone") +#define SPACETYPE TR("Space Type") +#define DEFAULTCONSTRUCTIONSET TR("Default Construction Set") +#define DEFAULTSCHEDULESET TR("Default Schedule Set") +#define PARTOFTOTALFLOORAREA TR("Part of Total Floor Area") // AIRFLOW -#define SPACEINFILTRATIONDESIGNFLOWRATES "Space Infiltration Design Flow Rates" -#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREAS "Space Infiltration Effective Leakage Areas" -#define DESIGNSPECIFICATIONOUTDOORAIROBJECTNAME "Design Specification Outdoor Air Object Name" +#define SPACEINFILTRATIONDESIGNFLOWRATES TR("Space Infiltration Design Flow Rates") +#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREAS TR("Space Infiltration Effective Leakage Areas") +#define DESIGNSPECIFICATIONOUTDOORAIROBJECTNAME TR("Design Specification Outdoor Air Object Name") namespace openstudio { @@ -72,8 +75,8 @@ SpacesSpacesGridView::SpacesSpacesGridView(bool isIP, bool displayAdditionalProp m_filterGridLayout->setRowStretch(m_filterGridLayout->rowCount(), 100); m_filterGridLayout->setColumnStretch(m_filterGridLayout->columnCount(), 100); - m_gridController = new SpacesSpacesGridController(isIP, displayAdditionalProps, "Space", IddObjectType::OS_Space, model, m_spacesModelObjects); - m_gridView = new OSGridView(m_gridController, "Space", "Drop\nSpace", false, parent); + m_gridController = new SpacesSpacesGridController(isIP, displayAdditionalProps, tr("Space"), IddObjectType::OS_Space, model, m_spacesModelObjects); + m_gridView = new OSGridView(m_gridController, tr("Space"), tr("Drop\nSpace"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -114,7 +117,7 @@ void SpacesSpacesGridController::setCategoriesAndFields() { std::vector<QString> fields{ STORY, THERMALZONE, SPACETYPE, DEFAULTCONSTRUCTIONSET, DEFAULTSCHEDULESET, PARTOFTOTALFLOORAREA, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } @@ -124,7 +127,7 @@ void SpacesSpacesGridController::setCategoriesAndFields() { SPACEINFILTRATIONDESIGNFLOWRATES, SPACEINFILTRATIONEFFECTIVELEAKAGEAREAS, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Airflow"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Airflow"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/SpacesSubsurfacesGridView.cpp b/src/openstudio_lib/SpacesSubsurfacesGridView.cpp index 769578210..ece5060a0 100644 --- a/src/openstudio_lib/SpacesSubsurfacesGridView.cpp +++ b/src/openstudio_lib/SpacesSubsurfacesGridView.cpp @@ -39,74 +39,77 @@ #include <openstudio/utilities/idd/OS_Space_FieldEnums.hxx> #include <QCheckBox> +#include <QCoreApplication> + +#define TR(s) QCoreApplication::translate("openstudio::SpacesSubsurfacesGridController", s) // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define NAME TR("Space Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // ALL GRID BUTTONS -#define SURFACENAME "Parent Surface Name" // read only -#define SUBSURFACENAME "Subsurface Name" +#define SURFACENAME TR("Parent Surface Name") // read only +#define SUBSURFACENAME TR("Subsurface Name") // GENERAL "General" -#define SUBSURFACETYPE "Subsurface Type" -#define MULTIPLIER "Multiplier" -#define CONSTRUCTION "Construction" -#define OUTSIDEBOUNDARYCONDITIONOBJECT "Outside Boundary Condition Object" // Dan note: needs model method for suggestions -#define SHADINGSURFACENAME "Shading Surface Name" // read only +#define SUBSURFACETYPE TR("Subsurface Type") +#define MULTIPLIER TR("Multiplier") +#define CONSTRUCTION TR("Construction") +#define OUTSIDEBOUNDARYCONDITIONOBJECT TR("Outside Boundary Condition Object") // Dan note: needs model method for suggestions +#define SHADINGSURFACENAME TR("Shading Surface Name") // read only // SHADINGCONTROLS "Shading Controls" -#define SHADINGCONTROLNAME "Shading Control" -#define SHADINGTYPE "Shading Type" -#define CONSTRUCTIONWITHSHADINGNAME "Construction with Shading Name" -#define SHADINGDEVICEMATERIALNAME "Shading Device Material Name" -#define SHADINGCONTROLTYPE "Shading Control Type" -#define SCHEDULENAME "Schedule Name" -#define SETPOINT "Setpoint" -#define SHADINGCONTROLISSCHEDULED "Shading Control Is Scheduled" -#define GLARECONTROLISACTIVE "Glare Control Is Active" -#define TYPEOFSLATANGLECONTROLFORBLINDS "Type of Slat Angle Control for Blinds" -#define SLATANGLESCHEDULENAME "Slat Angle Schedule Name" -#define SETPOINT2 "Setpoint 2" +#define SHADINGCONTROLNAME TR("Shading Control") +#define SHADINGTYPE TR("Shading Type") +#define CONSTRUCTIONWITHSHADINGNAME TR("Construction with Shading Name") +#define SHADINGDEVICEMATERIALNAME TR("Shading Device Material Name") +#define SHADINGCONTROLTYPE TR("Shading Control Type") +#define SCHEDULENAME TR("Schedule Name") +#define SETPOINT TR("Setpoint") +#define SHADINGCONTROLISSCHEDULED TR("Shading Control Is Scheduled") +#define GLARECONTROLISACTIVE TR("Glare Control Is Active") +#define TYPEOFSLATANGLECONTROLFORBLINDS TR("Type of Slat Angle Control for Blinds") +#define SLATANGLESCHEDULENAME TR("Slat Angle Schedule Name") +#define SETPOINT2 TR("Setpoint 2") // FRAMEANDDIVIDER "Frame and Divider" -#define FRAMEANDDIVIDERNAME "Frame and Divider" -#define FRAMEWIDTH "Frame Width" -#define FRAMEOUTSIDEPROJECTION "Frame Outside Projection" -#define FRAMEINSIDEPROJECTION "Frame Inside Projection" -#define FRAMECONDUCTANCE "Frame Conductance" -#define FRAMEEDGEGLASSCONDUCTANCETOCENTEROFGLASSCONDUCTANCE "Frame - Edge Glass Conductance to Center - Of - Glass Conductance" -#define FRAMESOLARABSORPTANCE "Frame Solar Absorptance" -#define FRAMEVISIBLEABSORPTANCE "Frame Visible Absorptance" -#define FRAMETHERMALHEMISPHERICALEMISSIVITY "Frame Thermal Hemispherical Emissivity" -#define DIVIDERTYPE "Divider Type" -#define DIVIDERWIDTH "Divider Width" -#define NUMBEROFHORIZONTALDIVIDERS "Number of Horizontal Dividers" -#define NUMBEROFVERTICALDIVIDERS "Number of Vertical Dividers" -#define DIVIDEROUTSIDEPROJECTION "Divider Outside Projection" -#define DIVIDERINSIDEPROJECTION "Divider Inside Projection" -#define DIVIDERCONDUCTANCE "Divider Conductance" -#define RATIOOFDIVIDEREDGEGLASSCONDUCTANCETOCENTEROFGLASSCONDUCTANCE "Ratio of Divider - Edge Glass Conductance to Center - Of - Glass Conductance" -#define DIVIDERSOLARABSORPTANCE "Divider Solar Absorptance" -#define DIVIDERVISIBLEABSORPTANCE "Divider Visible Absorptance" -#define DIVIDERTHERMALHEMISPHERICALEMISSIVITY "Divider Thermal Hemispherical Emissivity" -#define OUTSIDEREVEALDEPTH "Outside Reveal Depth" -#define OUTSIDEREVEALSOLARABSORPTANCE "Outside Reveal Solar Absorptance" -#define INSIDESILLDEPTH "Inside Sill Depth" -#define INSIDESILLSOLARABSORPTANCE "Inside Sill Solar Absorptance" -#define INSIDEREVEALDEPTH "Inside Reveal Depth" -#define INSIDEREVEALSOLARABSORPTANCE "Inside Reveal Solar Absorptance" +#define FRAMEANDDIVIDERNAME TR("Frame and Divider") +#define FRAMEWIDTH TR("Frame Width") +#define FRAMEOUTSIDEPROJECTION TR("Frame Outside Projection") +#define FRAMEINSIDEPROJECTION TR("Frame Inside Projection") +#define FRAMECONDUCTANCE TR("Frame Conductance") +#define FRAMEEDGEGLASSCONDUCTANCETOCENTEROFGLASSCONDUCTANCE TR("Frame - Edge Glass Conductance to Center - Of - Glass Conductance") +#define FRAMESOLARABSORPTANCE TR("Frame Solar Absorptance") +#define FRAMEVISIBLEABSORPTANCE TR("Frame Visible Absorptance") +#define FRAMETHERMALHEMISPHERICALEMISSIVITY TR("Frame Thermal Hemispherical Emissivity") +#define DIVIDERTYPE TR("Divider Type") +#define DIVIDERWIDTH TR("Divider Width") +#define NUMBEROFHORIZONTALDIVIDERS TR("Number of Horizontal Dividers") +#define NUMBEROFVERTICALDIVIDERS TR("Number of Vertical Dividers") +#define DIVIDEROUTSIDEPROJECTION TR("Divider Outside Projection") +#define DIVIDERINSIDEPROJECTION TR("Divider Inside Projection") +#define DIVIDERCONDUCTANCE TR("Divider Conductance") +#define RATIOOFDIVIDEREDGEGLASSCONDUCTANCETOCENTEROFGLASSCONDUCTANCE TR("Ratio of Divider - Edge Glass Conductance to Center - Of - Glass Conductance") +#define DIVIDERSOLARABSORPTANCE TR("Divider Solar Absorptance") +#define DIVIDERVISIBLEABSORPTANCE TR("Divider Visible Absorptance") +#define DIVIDERTHERMALHEMISPHERICALEMISSIVITY TR("Divider Thermal Hemispherical Emissivity") +#define OUTSIDEREVEALDEPTH TR("Outside Reveal Depth") +#define OUTSIDEREVEALSOLARABSORPTANCE TR("Outside Reveal Solar Absorptance") +#define INSIDESILLDEPTH TR("Inside Sill Depth") +#define INSIDESILLSOLARABSORPTANCE TR("Inside Sill Solar Absorptance") +#define INSIDEREVEALDEPTH TR("Inside Reveal Depth") +#define INSIDEREVEALSOLARABSORPTANCE TR("Inside Reveal Solar Absorptance") // DAYLIGHTINGSHELVES "Daylighting Shelves" -#define DAYLIGHTINGSHELFNAME "Daylighting Shelf Name" -#define WINDOWNAME "Window Name" -#define INSIDESHELFNAME "Inside Shelf Name" // Dan note: drop down need a model method for suggestions -#define OUTSIDESHELFNAME "Outside Shelf Name" // Dan note: drop down need a model method for suggestions -#define VIEWFACTORTOOUTSIDESHELF "View Factor to Outside Shelf" +#define DAYLIGHTINGSHELFNAME TR("Daylighting Shelf Name") +#define WINDOWNAME TR("Window Name") +#define INSIDESHELFNAME TR("Inside Shelf Name") // Dan note: drop down need a model method for suggestions +#define OUTSIDESHELFNAME TR("Outside Shelf Name") // Dan note: drop down need a model method for suggestions +#define VIEWFACTORTOOUTSIDESHELF TR("View Factor to Outside Shelf") namespace openstudio { @@ -122,8 +125,8 @@ SpacesSubsurfacesGridView::SpacesSubsurfacesGridView(bool isIP, bool displayAddi m_filterGridLayout->setRowStretch(m_filterGridLayout->rowCount(), 100); m_filterGridLayout->setColumnStretch(m_filterGridLayout->columnCount(), 100); - m_gridController = new SpacesSubsurfacesGridController(isIP, displayAdditionalProps, "Space", IddObjectType::OS_Space, model, m_spacesModelObjects); - m_gridView = new OSGridView(m_gridController, "Space", "Drop\nSpace", false, parent); + m_gridController = new SpacesSubsurfacesGridController(isIP, displayAdditionalProps, tr("Space"), IddObjectType::OS_Space, model, m_spacesModelObjects); + m_gridView = new OSGridView(m_gridController, tr("Space"), tr("Drop\nSpace"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -177,7 +180,7 @@ void SpacesSubsurfacesGridController::setCategoriesAndFields() { SUBSURFACENAME, SURFACENAME, SUBSURFACETYPE, MULTIPLIER, CONSTRUCTION, OUTSIDEBOUNDARYCONDITIONOBJECT, //SHADINGSURFACENAME, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } @@ -194,7 +197,7 @@ void SpacesSubsurfacesGridController::setCategoriesAndFields() { //SLATANGLESCHEDULENAME, IN IDD, BUT NOT EXPOSED IN MODEL OBJECT //SETPOINT2, IN IDD, BUT NOT EXPOSED IN MODEL OBJECT }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Shading Controls"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Shading Controls"), fields); addCategoryAndFields(categoryAndFields); } @@ -229,7 +232,7 @@ void SpacesSubsurfacesGridController::setCategoriesAndFields() { INSIDEREVEALDEPTH, INSIDEREVEALSOLARABSORPTANCE, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Frame and Divider"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Frame and Divider"), fields); addCategoryAndFields(categoryAndFields); } @@ -243,7 +246,7 @@ void SpacesSubsurfacesGridController::setCategoriesAndFields() { OUTSIDESHELFNAME, VIEWFACTORTOOUTSIDESHELF, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Daylighting Shelves"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Daylighting Shelves"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/SpacesSubtabGridView.cpp b/src/openstudio_lib/SpacesSubtabGridView.cpp index 3b9119436..ccef105a0 100644 --- a/src/openstudio_lib/SpacesSubtabGridView.cpp +++ b/src/openstudio_lib/SpacesSubtabGridView.cpp @@ -62,39 +62,42 @@ #include <QBoxLayout> #include <QCheckBox> #include <QComboBox> +#include <QCoreApplication> #include <QLabel> #include <QLineEdit> +#define TR(s) QCoreApplication::translate("openstudio::SpacesSubtabGridView", s) + // FILTERS -#define STORY "Story" -#define THERMALZONE "Thermal Zone" -#define THERMALZONENAME "Thermal Zone Name" -#define SPACETYPE "Space Type" -#define SUBSURFACETYPE "SubSurface Type" -#define SPACENAME "Space Name" -#define LOADTYPE "Load Type" -#define WINDEXPOSURE "Wind Exposure" -#define SUNEXPOSURE "Sun Exposure" -#define OUTSIDEBOUNDARYCONDITION "Outside Boundary Condition" -#define SURFACETYPE "Surface Type" -#define INTERIORPARTITIONGROUP "Interior Partition Group" - -#define ALL "All" -#define UNASSIGNED "Unassigned" +#define STORY TR("Story") +#define THERMALZONE TR("Thermal Zone") +#define THERMALZONENAME TR("Thermal Zone Name") +#define SPACETYPE TR("Space Type") +#define SUBSURFACETYPE TR("SubSurface Type") +#define SPACENAME TR("Space Name") +#define LOADTYPE TR("Load Type") +#define WINDEXPOSURE TR("Wind Exposure") +#define SUNEXPOSURE TR("Sun Exposure") +#define OUTSIDEBOUNDARYCONDITION TR("Outside Boundary Condition") +#define SURFACETYPE TR("Surface Type") +#define INTERIORPARTITIONGROUP TR("Interior Partition Group") + +#define ALL TR("All") +#define UNASSIGNED TR("Unassigned") // LOAD TYPES -//#define SHOWALLLOADS "Show all loads" -#define INTERNALMASS "Internal Mass" -#define PEOPLE "People" -#define LIGHTS "Lights" -#define LUMINAIRE "Luminaire" -#define ELECTRICEQUIPMENT "Electric Equipment" -#define GASEQUIPMENT "Gas Equipment" -#define HOTWATEREQUIPMENT "Hot Water Equipment" -#define STEAMEQUIPMENT "Steam Equipment" -#define OTHEREQUIPMENT "Other Equipment" -#define SPACEINFILTRATIONDESIGNFLOWRATE "Space Infiltration Design Flow Rate" -#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREA "Space Infiltration Effective Leakage Area" +//#define SHOWALLLOADS TR("Show all loads") +#define INTERNALMASS TR("Internal Mass") +#define PEOPLE TR("People") +#define LIGHTS TR("Lights") +#define LUMINAIRE TR("Luminaire") +#define ELECTRICEQUIPMENT TR("Electric Equipment") +#define GASEQUIPMENT TR("Gas Equipment") +#define HOTWATEREQUIPMENT TR("Hot Water Equipment") +#define STEAMEQUIPMENT TR("Steam Equipment") +#define OTHEREQUIPMENT TR("Other Equipment") +#define SPACEINFILTRATIONDESIGNFLOWRATE TR("Space Infiltration Design Flow Rate") +#define SPACEINFILTRATIONEFFECTIVELEAKAGEAREA TR("Space Infiltration Effective Leakage Area") namespace openstudio { @@ -111,7 +114,7 @@ SpacesSubtabGridView::SpacesSubtabGridView(bool isIP, bool displayAdditionalProp m_filterGridLayout->setSpacing(5); label = new QLabel(); - label->setText("Filters:"); + label->setText(tr("Filters:")); label->setObjectName("H2"); m_filterGridLayout->addWidget(label, m_filterGridLayout->rowCount(), m_filterGridLayout->columnCount(), Qt::AlignTop | Qt::AlignLeft); } @@ -364,10 +367,11 @@ void SpacesSubtabGridView::initializeSpaceTypeFilter() { void SpacesSubtabGridView::initializeSubSurfaceTypeFilter() { m_subSurfaceTypeFilter->clear(); - m_subSurfaceTypeFilter->addItem(ALL); + m_subSurfaceTypeFilter->addItem(ALL, QString("All")); auto subSurfacetypes = model::SubSurface::validSubSurfaceTypeValues(); for (const auto& sst : subSurfacetypes) { - m_subSurfaceTypeFilter->addItem(sst.c_str()); + QString key = sst.c_str(); + m_subSurfaceTypeFilter->addItem(QCoreApplication::translate("openstudio::SpacesSubtabGridView", sst.c_str()), key); } } @@ -443,34 +447,34 @@ void SpacesSubtabGridView::initializeLoadTypeFilter() { } void SpacesSubtabGridView::initializeWindExposureFilter() { - m_windExposureFilter->addItem(ALL); - + m_windExposureFilter->addItem(ALL, QString("All")); for (const auto& str : model::Surface::validWindExposureValues()) { - m_windExposureFilter->addItem(str.c_str()); + QString key = str.c_str(); + m_windExposureFilter->addItem(QCoreApplication::translate("openstudio::SpacesSubtabGridView", str.c_str()), key); } } void SpacesSubtabGridView::initializeSunExposureFilter() { - m_sunExposureFilter->addItem(ALL); - + m_sunExposureFilter->addItem(ALL, QString("All")); for (const auto& str : model::Surface::validSunExposureValues()) { - m_sunExposureFilter->addItem(str.c_str()); + QString key = str.c_str(); + m_sunExposureFilter->addItem(QCoreApplication::translate("openstudio::SpacesSubtabGridView", str.c_str()), key); } } void SpacesSubtabGridView::initializeOutsideBoundaryConditionFilter() { - m_outsideBoundaryConditionFilter->addItem(ALL); - + m_outsideBoundaryConditionFilter->addItem(ALL, QString("All")); for (const auto& str : model::Surface::validOutsideBoundaryConditionValues()) { - m_outsideBoundaryConditionFilter->addItem(str.c_str()); + QString key = str.c_str(); + m_outsideBoundaryConditionFilter->addItem(QCoreApplication::translate("openstudio::SpacesSubtabGridView", str.c_str()), key); } } void SpacesSubtabGridView::initializeSurfaceTypeFilter() { - m_surfaceTypeFilter->addItem(ALL); - + m_surfaceTypeFilter->addItem(ALL, QString("All")); for (const auto& str : model::Surface::validSurfaceTypeValues()) { - m_surfaceTypeFilter->addItem(str.c_str()); + QString key = str.c_str(); + m_surfaceTypeFilter->addItem(QCoreApplication::translate("openstudio::SpacesSubtabGridView", str.c_str()), key); } } @@ -563,14 +567,14 @@ void SpacesSubtabGridView::spaceTypeFilterChanged(const QString& text) { void SpacesSubtabGridView::subSurfaceTypeFilterChanged(const QString& text) { m_objectsFilteredBySubSurfaceType.clear(); - - if (text == ALL) { + const QString data = m_subSurfaceTypeFilter->currentData().toString(); + if (data == "All") { // nothing to filter } else { // It's possible that "fixedwindow" might be returned when querying later, instead of "FixedWindow" returned // by SubSurface::validSubSurfaceTypes(), so we'll do a case-insensitive string comparison later - std::string subSurfaceTypeToKeep = openstudio::toString(text); + std::string subSurfaceTypeToKeep = data.toStdString(); // ObjectSelector::m_selectableObjects returns SubSurfaces directly for (const auto& obj : this->m_gridController->selectorObjects()) { @@ -688,12 +692,12 @@ void SpacesSubtabGridView::loadTypeFilterChanged(const QString& text) { void SpacesSubtabGridView::windExposureFilterChanged(const QString& text) { m_objectsFilteredByWindExposure.clear(); - - if (text == ALL) { + const QString data = m_windExposureFilter->currentData().toString(); + if (data == "All") { // nothing to filter } else { // For a case-insensitive comparison later - std::string windExposureToKeep = openstudio::toString(text); + std::string windExposureToKeep = data.toStdString(); // ObjectSelector::m_selectableObjects returns Surfaces directly for (const auto& obj : this->m_gridController->selectorObjects()) { @@ -713,12 +717,12 @@ void SpacesSubtabGridView::windExposureFilterChanged(const QString& text) { void SpacesSubtabGridView::sunExposureFilterChanged(const QString& text) { m_objectsFilteredBySunExposure.clear(); - - if (text == ALL) { + const QString data = m_sunExposureFilter->currentData().toString(); + if (data == "All") { // nothing to filter } else { // For a case-insensitive comparison later - std::string sunExposureToKeep = openstudio::toString(text); + std::string sunExposureToKeep = data.toStdString(); // ObjectSelector::m_selectableObjects returns Surfaces directly for (const auto& obj : this->m_gridController->selectorObjects()) { @@ -738,12 +742,12 @@ void SpacesSubtabGridView::sunExposureFilterChanged(const QString& text) { void SpacesSubtabGridView::outsideBoundaryConditionFilterChanged(const QString& text) { m_objectsFilteredByOutsideBoundaryCondition.clear(); - - if (text == ALL) { + const QString data = m_outsideBoundaryConditionFilter->currentData().toString(); + if (data == "All") { // nothing to filter } else { // For a case-insensitive comparison later - std::string outsideBoundCondToKeep = openstudio::toString(text); + std::string outsideBoundCondToKeep = data.toStdString(); // ObjectSelector::m_selectableObjects returns either Surfaces or SubSurfaces directly, depending on the subtab it's on for (const auto& obj : this->m_gridController->selectorObjects()) { @@ -765,12 +769,12 @@ void SpacesSubtabGridView::outsideBoundaryConditionFilterChanged(const QString& void SpacesSubtabGridView::surfaceTypeFilterChanged(const QString& text) { m_objectsFilteredBySurfaceType.clear(); - - if (text == ALL) { + const QString data = m_surfaceTypeFilter->currentData().toString(); + if (data == "All") { // nothing to filter } else { // For a case-insensitive comparison later - std::string surfaceTypeToKeep = openstudio::toString(text); + std::string surfaceTypeToKeep = data.toStdString(); // ObjectSelector::m_selectableObjects Surfaces directly for (const auto& obj : this->m_gridController->selectorObjects()) { diff --git a/src/openstudio_lib/SpacesSurfacesGridView.cpp b/src/openstudio_lib/SpacesSurfacesGridView.cpp index 1f6d68ddb..0c48a6afb 100644 --- a/src/openstudio_lib/SpacesSurfacesGridView.cpp +++ b/src/openstudio_lib/SpacesSurfacesGridView.cpp @@ -28,24 +28,27 @@ #include <openstudio/utilities/idd/OS_Space_FieldEnums.hxx> #include <QCheckBox> +#include <QCoreApplication> + +#define TR(s) QCoreApplication::translate("openstudio::SpacesSurfacesGridController", s) // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Space Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define NAME TR("Space Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") // GENERAL -#define SURFACENAME "Surface Name" -#define SURFACETYPE "Surface Type" -#define CONSTRUCTION "Construction" -#define OUTSIDEBOUNDARYCONDITION "Outside Boundary Condition" // Dan note: cannot chose Surface if not already surface -#define OUTSIDEBOUNDARYCONDITIONOBJECT "Outside Boundary Condition Object" // read only -#define SUNEXPOSURE "Sun Exposure" -#define WINDEXPOSURE "Wind Exposure" -#define SHADINGSURFACENAME "Shading Surface Name" // read only +#define SURFACENAME TR("Surface Name") +#define SURFACETYPE TR("Surface Type") +#define CONSTRUCTION TR("Construction") +#define OUTSIDEBOUNDARYCONDITION TR("Outside Boundary Condition") // Dan note: cannot chose Surface if not already surface +#define OUTSIDEBOUNDARYCONDITIONOBJECT TR("Outside Boundary Condition Object") // read only +#define SUNEXPOSURE TR("Sun Exposure") +#define WINDEXPOSURE TR("Wind Exposure") +#define SHADINGSURFACENAME TR("Shading Surface Name") // read only namespace openstudio { @@ -62,8 +65,8 @@ SpacesSurfacesGridView::SpacesSurfacesGridView(bool isIP, bool displayAdditional m_filterGridLayout->setRowStretch(m_filterGridLayout->rowCount(), 100); m_filterGridLayout->setColumnStretch(m_filterGridLayout->columnCount(), 100); - m_gridController = new SpacesSurfacesGridController(isIP, displayAdditionalProps, "Space", IddObjectType::OS_Space, model, m_spacesModelObjects); - m_gridView = new OSGridView(m_gridController, "Space", "Drop\nSpace", false, parent); + m_gridController = new SpacesSurfacesGridController(isIP, displayAdditionalProps, tr("Space"), IddObjectType::OS_Space, model, m_spacesModelObjects); + m_gridView = new OSGridView(m_gridController, tr("Space"), tr("Drop\nSpace"), false, parent); setGridController(m_gridController); setGridView(m_gridView); @@ -106,7 +109,7 @@ void SpacesSurfacesGridController::setCategoriesAndFields() { SURFACENAME, SURFACETYPE, CONSTRUCTION, OUTSIDEBOUNDARYCONDITION, OUTSIDEBOUNDARYCONDITIONOBJECT, SUNEXPOSURE, WINDEXPOSURE, //SHADINGSURFACENAME, // UNDESIRABLE TO SHOW THIS VECTOR IN THIS VIEW }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("General"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("General"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/SpacesTabController.cpp b/src/openstudio_lib/SpacesTabController.cpp index b675adb3d..e5115f076 100644 --- a/src/openstudio_lib/SpacesTabController.cpp +++ b/src/openstudio_lib/SpacesTabController.cpp @@ -18,12 +18,12 @@ namespace openstudio { SpacesTabController::SpacesTabController(bool isIP, bool displayAdditionalProps, const model::Model& model) : MainTabController(new SpacesTabView()), m_model(model), m_isIP(isIP), m_displayAdditionalProps(displayAdditionalProps) { - mainContentWidget()->addSubTab("Properties", SPACES); - mainContentWidget()->addSubTab("Loads", LOADS); - mainContentWidget()->addSubTab("Surfaces", SURFACES); - mainContentWidget()->addSubTab("Subsurfaces", SUBSURFACES); - mainContentWidget()->addSubTab("Interior Partitions", INTERIOR_PARTITIONS); - mainContentWidget()->addSubTab("Shading", SHADING); + mainContentWidget()->addSubTab(tr("Properties"), SPACES); + mainContentWidget()->addSubTab(tr("Loads"), LOADS); + mainContentWidget()->addSubTab(tr("Surfaces"), SURFACES); + mainContentWidget()->addSubTab(tr("Subsurfaces"), SUBSURFACES); + mainContentWidget()->addSubTab(tr("Interior Partitions"), INTERIOR_PARTITIONS); + mainContentWidget()->addSubTab(tr("Shading"), SHADING); connect(this->mainContentWidget(), &MainTabView::tabSelected, this, &SpacesTabController::setSubTab); diff --git a/src/openstudio_lib/StandardsInformationConstructionWidget.cpp b/src/openstudio_lib/StandardsInformationConstructionWidget.cpp index cb9ee4448..439abc14a 100644 --- a/src/openstudio_lib/StandardsInformationConstructionWidget.cpp +++ b/src/openstudio_lib/StandardsInformationConstructionWidget.cpp @@ -43,7 +43,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b ++row; label = new QLabel(); - label->setText("Measure Tags (Optional):"); + label->setText(tr("Measure Tags (Optional):")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -53,7 +53,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standard: "); + label->setText(tr("Standard: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -74,7 +74,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standard Source: "); + label->setText(tr("Standard Source: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -97,7 +97,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Intended Surface Type: "); + label->setText(tr("Intended Surface Type: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -115,7 +115,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Construction Type: "); + label->setText(tr("Standards Construction Type: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -139,7 +139,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationTypeLabel = new QLabel(); - m_fenestrationTypeLabel->setText("Fenestration Type: "); + m_fenestrationTypeLabel->setText(tr("Fenestration Type: ")); m_fenestrationTypeLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationTypeLabel); @@ -153,7 +153,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationAssemblyContextLabel = new QLabel(); - m_fenestrationAssemblyContextLabel->setText("Fenestration Assembly Context: "); + m_fenestrationAssemblyContextLabel->setText(tr("Fenestration Assembly Context: ")); m_fenestrationAssemblyContextLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationAssemblyContextLabel); @@ -169,7 +169,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationNumberOfPanesLabel = new QLabel(); - m_fenestrationNumberOfPanesLabel->setText("Fenestration Number of Panes: "); + m_fenestrationNumberOfPanesLabel->setText(tr("Fenestration Number of Panes: ")); m_fenestrationNumberOfPanesLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationNumberOfPanesLabel); @@ -183,7 +183,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationFrameTypeLabel = new QLabel(); - m_fenestrationFrameTypeLabel->setText("Fenestration Frame Type: "); + m_fenestrationFrameTypeLabel->setText(tr("Fenestration Frame Type: ")); m_fenestrationFrameTypeLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationFrameTypeLabel); @@ -199,7 +199,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationDividerTypeLabel = new QLabel(); - m_fenestrationDividerTypeLabel->setText("Fenestration Divider Type: "); + m_fenestrationDividerTypeLabel->setText(tr("Fenestration Divider Type: ")); m_fenestrationDividerTypeLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationDividerTypeLabel); @@ -213,7 +213,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationTintLabel = new QLabel(); - m_fenestrationTintLabel->setText("Fenestration Tint: "); + m_fenestrationTintLabel->setText(tr("Fenestration Tint: ")); m_fenestrationTintLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationTintLabel); @@ -229,7 +229,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationGasFillLabel = new QLabel(); - m_fenestrationGasFillLabel->setText("Fenestration Gas Fill: "); + m_fenestrationGasFillLabel->setText(tr("Fenestration Gas Fill: ")); m_fenestrationGasFillLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationGasFillLabel); @@ -243,7 +243,7 @@ StandardsInformationConstructionWidget::StandardsInformationConstructionWidget(b vLayout = new QVBoxLayout(); m_fenestrationLowEmissivityCoatingLabel = new QLabel(); - m_fenestrationLowEmissivityCoatingLabel->setText("Fenestration Low Emissivity Coating: "); + m_fenestrationLowEmissivityCoatingLabel->setText(tr("Fenestration Low Emissivity Coating: ")); m_fenestrationLowEmissivityCoatingLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_fenestrationLowEmissivityCoatingLabel); diff --git a/src/openstudio_lib/StandardsInformationMaterialWidget.cpp b/src/openstudio_lib/StandardsInformationMaterialWidget.cpp index 32a42062d..5fb74fa6d 100644 --- a/src/openstudio_lib/StandardsInformationMaterialWidget.cpp +++ b/src/openstudio_lib/StandardsInformationMaterialWidget.cpp @@ -42,7 +42,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP mainGridLayout->addWidget(line, row++, 0, 1, 3); label = new QLabel(); - label->setText("Measure Tags (Optional):"); + label->setText(tr("Measure Tags (Optional):")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -50,7 +50,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standard: "); + label->setText(tr("Standard: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -69,7 +69,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standard Source: "); + label->setText(tr("Standard Source: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -89,7 +89,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Category: "); + label->setText(tr("Standards Category: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -109,7 +109,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); label = new QLabel(); - label->setText("Standards Identifier: "); + label->setText(tr("Standards Identifier: ")); label->setObjectName("StandardsInfo"); vLayout->addWidget(label); @@ -129,7 +129,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); m_compositeFramingMaterialLabel = new QLabel(); - m_compositeFramingMaterialLabel->setText("Composite Framing Material: "); + m_compositeFramingMaterialLabel->setText(tr("Composite Framing Material: ")); m_compositeFramingMaterialLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_compositeFramingMaterialLabel); @@ -149,7 +149,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); m_compositeFramingConfigurationLabel = new QLabel(); - m_compositeFramingConfigurationLabel->setText("Composite Framing Configuration: "); + m_compositeFramingConfigurationLabel->setText(tr("Composite Framing Configuration: ")); m_compositeFramingConfigurationLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_compositeFramingConfigurationLabel); @@ -169,7 +169,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); m_compositeFramingDepthLabel = new QLabel(); - m_compositeFramingDepthLabel->setText("Composite Framing Depth: "); + m_compositeFramingDepthLabel->setText(tr("Composite Framing Depth: ")); m_compositeFramingDepthLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_compositeFramingDepthLabel); @@ -189,7 +189,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); m_compositeFramingSizeLabel = new QLabel(); - m_compositeFramingSizeLabel->setText("Composite Framing Size: "); + m_compositeFramingSizeLabel->setText(tr("Composite Framing Size: ")); m_compositeFramingSizeLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_compositeFramingSizeLabel); @@ -209,7 +209,7 @@ StandardsInformationMaterialWidget::StandardsInformationMaterialWidget(bool isIP vLayout = new QVBoxLayout(); m_compositeCavityInsulationLabel = new QLabel(); - m_compositeCavityInsulationLabel->setText("Composite Cavity Insulation: "); + m_compositeCavityInsulationLabel->setText(tr("Composite Cavity Insulation: ")); m_compositeCavityInsulationLabel->setObjectName("StandardsInfo"); vLayout->addWidget(m_compositeCavityInsulationLabel); diff --git a/src/openstudio_lib/SteamEquipmentInspectorView.cpp b/src/openstudio_lib/SteamEquipmentInspectorView.cpp index 33df9a30e..1e23b4022 100644 --- a/src/openstudio_lib/SteamEquipmentInspectorView.cpp +++ b/src/openstudio_lib/SteamEquipmentInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -33,7 +33,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -42,7 +42,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Design Level - label = new QLabel("Design Level: "); + label = new QLabel(tr("Design Level: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -52,7 +52,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Power Per Space Floor Area - label = new QLabel("Power Per Space Floor Area: "); + label = new QLabel(tr("Power Per Space Floor Area: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 1); @@ -62,7 +62,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Power Per Person - label = new QLabel("Power Per Person: "); + label = new QLabel(tr("Power Per Person: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 2); @@ -72,7 +72,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Fraction Latent - label = new QLabel("Fraction Latent: "); + label = new QLabel(tr("Fraction Latent: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -82,7 +82,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Fraction Radiant - label = new QLabel("Fraction Radiant: "); + label = new QLabel(tr("Fraction Radiant: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 1); @@ -92,7 +92,7 @@ SteamEquipmentDefinitionInspectorView::SteamEquipmentDefinitionInspectorView(boo // Fraction Lost - label = new QLabel("Fraction Lost: "); + label = new QLabel(tr("Fraction Lost: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); diff --git a/src/openstudio_lib/ThermalZonesGridView.cpp b/src/openstudio_lib/ThermalZonesGridView.cpp index c692d3123..aa18fb485 100644 --- a/src/openstudio_lib/ThermalZonesGridView.cpp +++ b/src/openstudio_lib/ThermalZonesGridView.cpp @@ -44,52 +44,55 @@ #include <QBoxLayout> #include <QCheckBox> +#include <QCoreApplication> #include <QLabel> #include <QScrollArea> #include <QStackedWidget> #include <QSettings> #include <QTimer> +#define TR(s) QCoreApplication::translate("openstudio::ThermalZonesGridController", s) + // These defines provide a common area for field display names // used on column headers, and other grid widgets -#define NAME "Name" -#define SELECTED "All" -#define DISPLAYNAME "Display Name" -#define CADOBJECTID "CAD Object ID" +#define NAME TR("Name") +#define SELECTED TR("All") +#define DISPLAYNAME TR("Display Name") +#define CADOBJECTID TR("CAD Object ID") //HVAC SYSTEMS -#define RENDERINGCOLOR "Rendering Color" -#define IDEALAIRLOADS "Turn On\nIdeal\nAir Loads" -#define AIRLOOPNAME "Air Loop Name" -#define ZONEEQUIPMENT "Zone Equipment" -#define COOLINGTHERMOSTATSCHEDULE "Cooling Thermostat\nSchedule" -#define HEATINGTHERMOSTATSCHEDULE "Heating Thermostat\nSchedule" -#define HUMIDIFYINGSETPOINTSCHEDULE "Humidifying Setpoint\nSchedule" -#define DEHUMIDIFYINGSETPOINTSCHEDULE "Dehumidifying Setpoint\nSchedule" -#define MULTIPLIER "Multiplier" +#define RENDERINGCOLOR TR("Rendering Color") +#define IDEALAIRLOADS TR("Turn On\nIdeal\nAir Loads") +#define AIRLOOPNAME TR("Air Loop Name") +#define ZONEEQUIPMENT TR("Zone Equipment") +#define COOLINGTHERMOSTATSCHEDULE TR("Cooling Thermostat\nSchedule") +#define HEATINGTHERMOSTATSCHEDULE TR("Heating Thermostat\nSchedule") +#define HUMIDIFYINGSETPOINTSCHEDULE TR("Humidifying Setpoint\nSchedule") +#define DEHUMIDIFYINGSETPOINTSCHEDULE TR("Dehumidifying Setpoint\nSchedule") +#define MULTIPLIER TR("Multiplier") //COOLING SIZING PARAMETERS -#define ZONECOOLINGDESIGNSUPPLYAIRTEMPERATURE "Zone Cooling\nDesign Supply\nAir Temperature" -#define ZONECOOLINGDESIGNSUPPLYAIRHUMIDITYRATIO "Zone Cooling\nDesign Supply\nAir Humidity Ratio" -#define ZONECOOLINGSIZINGFACTOR "Zone Cooling\nSizing Factor" -#define COOLINGMINIMUMAIRFLOWPERZONEFLOORAREA "Cooling Minimum Air\nFlow per Zone\nFloor Area" -#define DESIGNZONEAIRDISTRIBUTIONEFFECTIVENESSINCOOLINGMODE "Design Zone Air\nDistribution Effectiveness\nin Cooling Mode" -#define COOLINGMINIMUMAIRFLOWFRACTION "Cooling Minimum\nAir Flow Fraction" -#define COOLINGDESIGNAIRFLOWMETHOD "Cooling Design\nAir Flow Method" -#define COOLINGDESIGNAIRFLOWRATE "Cooling Design\nAir Flow Rate" -#define COOLINGMINIMUMAIRFLOW "Cooling Minimum\nAir Flow" +#define ZONECOOLINGDESIGNSUPPLYAIRTEMPERATURE TR("Zone Cooling\nDesign Supply\nAir Temperature") +#define ZONECOOLINGDESIGNSUPPLYAIRHUMIDITYRATIO TR("Zone Cooling\nDesign Supply\nAir Humidity Ratio") +#define ZONECOOLINGSIZINGFACTOR TR("Zone Cooling\nSizing Factor") +#define COOLINGMINIMUMAIRFLOWPERZONEFLOORAREA TR("Cooling Minimum Air\nFlow per Zone\nFloor Area") +#define DESIGNZONEAIRDISTRIBUTIONEFFECTIVENESSINCOOLINGMODE TR("Design Zone Air\nDistribution Effectiveness\nin Cooling Mode") +#define COOLINGMINIMUMAIRFLOWFRACTION TR("Cooling Minimum\nAir Flow Fraction") +#define COOLINGDESIGNAIRFLOWMETHOD TR("Cooling Design\nAir Flow Method") +#define COOLINGDESIGNAIRFLOWRATE TR("Cooling Design\nAir Flow Rate") +#define COOLINGMINIMUMAIRFLOW TR("Cooling Minimum\nAir Flow") //HEATING SIZING PARAMETERS -#define ZONEHEATINGDESIGNSUPPLYAIRTEMPERATURE "Zone Heating\nDesign Supply\nAir Temperature" -#define ZONEHEATINGDESIGNSUPPLYAIRHUMIDITYRATIO "Zone Heating\nDesign Supply\nAir Humidity Ratio" -#define ZONEHEATINGSIZINGFACTOR "Zone Heating\nSizing Factor" -#define HEATINGMAXIMUMAIRFLOWPERZONEFLOORAREA "Heating Maximum Air\nFlow per Zone\nFloor Area" -#define DESIGNZONEAIRDISTRIBUTIONEFFECTIVENESSINHEATINGMODE "Design Zone Air\nDistribution Effectiveness\nin Heating Mode" -#define HEATINGMAXIMUMAIRFLOWFRACTION "Heating Maximum\nAir Flow Fraction" -#define HEATINGDESIGNAIRFLOWMETHOD "Heating Design\nAir Flow Method" -#define HEATINGDESIGNAIRFLOWRATE "Heating Design\nAir Flow Rate" -#define HEATINGMAXIMUMAIRFLOW "Heating Maximum\nAir Flow" +#define ZONEHEATINGDESIGNSUPPLYAIRTEMPERATURE TR("Zone Heating\nDesign Supply\nAir Temperature") +#define ZONEHEATINGDESIGNSUPPLYAIRHUMIDITYRATIO TR("Zone Heating\nDesign Supply\nAir Humidity Ratio") +#define ZONEHEATINGSIZINGFACTOR TR("Zone Heating\nSizing Factor") +#define HEATINGMAXIMUMAIRFLOWPERZONEFLOORAREA TR("Heating Maximum Air\nFlow per Zone\nFloor Area") +#define DESIGNZONEAIRDISTRIBUTIONEFFECTIVENESSINHEATINGMODE TR("Design Zone Air\nDistribution Effectiveness\nin Heating Mode") +#define HEATINGMAXIMUMAIRFLOWFRACTION TR("Heating Maximum\nAir Flow Fraction") +#define HEATINGDESIGNAIRFLOWMETHOD TR("Heating Design\nAir Flow Method") +#define HEATINGDESIGNAIRFLOWRATE TR("Heating Design\nAir Flow Rate") +#define HEATINGMAXIMUMAIRFLOW TR("Heating Maximum\nAir Flow") namespace openstudio { @@ -106,8 +109,8 @@ ThermalZonesGridView::ThermalZonesGridView(bool isIP, bool displayAdditionalProp std::vector<model::ModelObject> thermalZoneModelObjects = subsetCastVector<model::ModelObject>(thermalZones); m_gridController = - new ThermalZonesGridController(m_isIP, m_displayAdditionalProps, "Thermal Zones", IddObjectType::OS_ThermalZone, model, thermalZoneModelObjects); - auto* gridView = new OSGridView(m_gridController, "Thermal Zones", "Drop\nZone", false, parent); + new ThermalZonesGridController(m_isIP, m_displayAdditionalProps, tr("Thermal Zones"), IddObjectType::OS_ThermalZone, model, thermalZoneModelObjects); + auto* gridView = new OSGridView(m_gridController, tr("Thermal Zones"), tr("Drop\nZone"), false, parent); connect(gridView, &OSGridView::dropZoneItemClicked, this, &ThermalZonesGridView::dropZoneItemClicked); @@ -156,7 +159,7 @@ void ThermalZonesGridController::setCategoriesAndFields() { DEHUMIDIFYINGSETPOINTSCHEDULE, MULTIPLIER, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("HVAC\nSystems"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("HVAC\nSystems"), fields); addCategoryAndFields(categoryAndFields); } @@ -172,7 +175,7 @@ void ThermalZonesGridController::setCategoriesAndFields() { COOLINGDESIGNAIRFLOWRATE, COOLINGMINIMUMAIRFLOW, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Cooling\nSizing\nParameters"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Cooling\nSizing\nParameters"), fields); addCategoryAndFields(categoryAndFields); } @@ -188,7 +191,7 @@ void ThermalZonesGridController::setCategoriesAndFields() { HEATINGDESIGNAIRFLOWRATE, HEATINGMAXIMUMAIRFLOW, }; - std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(QString("Heating\nSizing\nParameters"), fields); + std::pair<QString, std::vector<QString>> categoryAndFields = std::make_pair(TR("Heating\nSizing\nParameters"), fields); addCategoryAndFields(categoryAndFields); } diff --git a/src/openstudio_lib/ThermalZonesTabView.cpp b/src/openstudio_lib/ThermalZonesTabView.cpp index 434e752be..c65b6590e 100644 --- a/src/openstudio_lib/ThermalZonesTabView.cpp +++ b/src/openstudio_lib/ThermalZonesTabView.cpp @@ -7,6 +7,6 @@ namespace openstudio { -ThermalZonesTabView::ThermalZonesTabView(QWidget* parent) : MainTabView("Thermal Zones", MainTabView::MAIN_TAB, parent) {} +ThermalZonesTabView::ThermalZonesTabView(QWidget* parent) : MainTabView(tr("Thermal Zones"), MainTabView::MAIN_TAB, parent) {} } // namespace openstudio diff --git a/src/openstudio_lib/VRFGraphicsItems.cpp b/src/openstudio_lib/VRFGraphicsItems.cpp index dcb59b3e8..faea95136 100644 --- a/src/openstudio_lib/VRFGraphicsItems.cpp +++ b/src/openstudio_lib/VRFGraphicsItems.cpp @@ -115,11 +115,11 @@ VRFSystemView::VRFSystemView() terminalDropZone->setParentItem(this); terminalDropZone->setSize(terminalDropZoneWidth, dropZoneHeight); - terminalDropZone->setText("Drop VRF Terminal"); + terminalDropZone->setText(tr("Drop VRF Terminal")); zoneDropZone->setParentItem(this); zoneDropZone->setSize(zoneDropZoneWidth, dropZoneHeight); - zoneDropZone->setText("Drop Thermal Zone"); + zoneDropZone->setText(tr("Drop Thermal Zone")); adjustLayout(); } @@ -467,7 +467,7 @@ void VRFSystemDropZoneView::paint(QPainter* painter, const QStyleOptionGraphicsI font.setPixelSize(24); painter->setFont(font); painter->setPen(QPen(QColor(109, 109, 109), 2, Qt::DashLine, Qt::RoundCap)); - painter->drawText(boundingRect(), Qt::AlignCenter | Qt::TextWordWrap, "Drop VRF System"); + painter->drawText(boundingRect(), Qt::AlignCenter | Qt::TextWordWrap, tr("Drop VRF System")); } } // namespace openstudio diff --git a/src/openstudio_lib/VariablesTabView.cpp b/src/openstudio_lib/VariablesTabView.cpp index d28e2b730..5807dd6c5 100644 --- a/src/openstudio_lib/VariablesTabView.cpp +++ b/src/openstudio_lib/VariablesTabView.cpp @@ -33,8 +33,35 @@ #include <openstudio/utilities/idd/IddEnums.hxx> #include <utility> +#include <QCoreApplication> +#include <QLocale> + namespace openstudio { +static QString outputVarDisplayName(const std::string& englishName) { + const QString qname = QString::fromStdString(englishName); + if (QLocale().language() != QLocale::English) { + const QString translated = QCoreApplication::translate("OutputVariables", englishName.c_str()); + if (translated != qname) + return translated + " (" + qname + ")"; + } + return qname; +} + +static void populateFrequencyComboBox(QComboBox* combo) { + // Uses the same context as VariablesList::tr() so existing translations apply. + const auto tr = [](const char* s) { + return QCoreApplication::translate("openstudio::VariablesList", s); + }; + combo->addItem(tr("Detailed"), QString("Detailed")); + combo->addItem(tr("Timestep"), QString("Timestep")); + combo->addItem(tr("Hourly"), QString("Hourly")); + combo->addItem(tr("Daily"), QString("Daily")); + combo->addItem(tr("Monthly"), QString("Monthly")); + combo->addItem(tr("RunPeriod"), QString("RunPeriod")); + combo->addItem(tr("Annual"), QString("Annual")); +} + VariableListItem::VariableListItem(const std::string& t_name, const std::string& t_keyValue, const boost::optional<openstudio::model::OutputVariable>& t_variable, const openstudio::model::Model& t_model) : m_name(t_name), m_keyValue(t_keyValue), m_variable(t_variable), m_model(t_model) { @@ -56,20 +83,18 @@ VariableListItem::VariableListItem(const std::string& t_name, const std::string& hbox->addWidget(m_onOffButton); m_onOffButton->setChecked(m_variable.is_initialized()); - hbox->addWidget(new QLabel(openstudio::toQString(m_name + ","))); + hbox->addWidget(new QLabel(outputVarDisplayName(m_name) + ",")); hbox->addWidget(new QLabel(openstudio::toQString(m_keyValue))); hbox->addStretch(10); m_combobox = new OSComboBox2(); m_combobox->setFixedWidth(200); connect(m_combobox, static_cast<void (OSComboBox2::*)(const QString&)>(&OSComboBox2::currentTextChanged), this, &VariableListItem::indexChanged); + populateFrequencyComboBox(m_combobox); if (m_variable) { - // m_combobox->bind(*m_variable, "reportingFrequency"); - m_combobox->bind<std::string>( - *m_variable, static_cast<std::string (*)(const std::string&)>(&openstudio::toString), - std::bind(&model::OutputVariable::reportingFrequencyValues), std::bind(&model::OutputVariable::reportingFrequency, m_variable.get_ptr()), - std::bind(&model::OutputVariable::setReportingFrequency, m_variable.get_ptr(), std::placeholders::_1), - boost::optional<NoFailAction>(std::bind(&model::OutputVariable::resetReportingFrequency, m_variable.get_ptr())), - boost::optional<BasicQuery>(std::bind(&model::OutputVariable::isReportingFrequencyDefaulted, m_variable.get_ptr()))); + const int idx = m_combobox->findData(QString::fromStdString(m_variable->reportingFrequency())); + if (idx >= 0) { + m_combobox->setCurrentIndex(idx); + } } hbox->addWidget(m_combobox); @@ -95,9 +120,9 @@ VariablesList::~VariablesList() { delete m_listLayout; } -void VariableListItem::indexChanged(const QString& t_frequency) { +void VariableListItem::indexChanged(const QString& /*t_frequency*/) { if (m_variable) { - m_variable->setReportingFrequency(openstudio::toString(t_frequency)); + m_variable->setReportingFrequency(m_combobox->currentData().toString().toStdString()); } } @@ -127,16 +152,13 @@ void VariableListItem::onOffClicked(bool t_on) { outputVariable.setKeyValue(m_keyValue); m_variable = outputVariable; - m_combobox->bind<std::string>( - *m_variable, static_cast<std::string (*)(const std::string&)>(&openstudio::toString), - std::bind(&model::OutputVariable::reportingFrequencyValues), std::bind(&model::OutputVariable::reportingFrequency, m_variable.get_ptr()), - std::bind(&model::OutputVariable::setReportingFrequency, m_variable.get_ptr(), std::placeholders::_1), - boost::optional<NoFailAction>(std::bind(&model::OutputVariable::resetReportingFrequency, m_variable.get_ptr())), - boost::optional<BasicQuery>(std::bind(&model::OutputVariable::isReportingFrequencyDefaulted, m_variable.get_ptr()))); + const int idx = m_combobox->findData(QString("Hourly")); + if (idx >= 0) { + m_combobox->setCurrentIndex(idx); + } } } else { if (m_variable) { - m_combobox->unbind(); m_variable->remove(); m_variable = boost::none; } @@ -341,9 +363,10 @@ struct PotentialOutputVariable }; bool VariableListItem::matchesText(const QString& text, bool useRegex) const { - - const auto qName = QString::fromStdString(m_name); - if (qName.contains(text, Qt::CaseInsensitive)) { + // displayName is "Target Language (English)" when locale is non-English, plain English otherwise. + // Searching it covers both the translated term and the original English name. + const QString displayName = outputVarDisplayName(m_name); + if (displayName.contains(text, Qt::CaseInsensitive)) { return true; } QString qKeyValue; @@ -356,7 +379,7 @@ bool VariableListItem::matchesText(const QString& text, bool useRegex) const { if (useRegex) { const QRegularExpression re(text, QRegularExpression::CaseInsensitiveOption); - if (auto m = re.match(qName); m.hasMatch()) { + if (auto m = re.match(displayName); m.hasMatch()) { return true; } if (!qKeyValue.isEmpty()) { @@ -462,7 +485,7 @@ void VariablesList::updateVariableList() { } VariablesTabView::VariablesTabView(openstudio::model::Model t_model, QWidget* parent) - : MainTabView("Output Variables", MainTabView::MAIN_TAB, parent) { + : MainTabView(tr("Output Variables"), MainTabView::MAIN_TAB, parent) { auto* scrollarea = new QScrollArea(); auto* vl = new VariablesList(std::move(t_model)); scrollarea->setWidget(vl); diff --git a/src/openstudio_lib/WaterUseEquipmentInspectorView.cpp b/src/openstudio_lib/WaterUseEquipmentInspectorView.cpp index 0ab53ac02..a1f6fbd3a 100644 --- a/src/openstudio_lib/WaterUseEquipmentInspectorView.cpp +++ b/src/openstudio_lib/WaterUseEquipmentInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -205,7 +205,7 @@ WaterUseEquipmentDefinitionInspectorView::WaterUseEquipmentDefinitionInspectorVi // Name - auto* label = new QLabel("Name: "); + auto* label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 0, 0); @@ -213,7 +213,7 @@ WaterUseEquipmentDefinitionInspectorView::WaterUseEquipmentDefinitionInspectorVi // End Use Subcategory - label = new QLabel("End Use Subcategory: "); + label = new QLabel(tr("End Use Subcategory: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 2, 0); @@ -221,7 +221,7 @@ WaterUseEquipmentDefinitionInspectorView::WaterUseEquipmentDefinitionInspectorVi // Peak Flow Rate - label = new QLabel("Peak Flow Rate: "); + label = new QLabel(tr("Peak Flow Rate: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 4, 0); @@ -231,7 +231,7 @@ WaterUseEquipmentDefinitionInspectorView::WaterUseEquipmentDefinitionInspectorVi // Target Temperature Schedule - label = new QLabel("Target Temperature Schedule: "); + label = new QLabel(tr("Target Temperature Schedule: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 6, 0); @@ -243,7 +243,7 @@ WaterUseEquipmentDefinitionInspectorView::WaterUseEquipmentDefinitionInspectorVi // Sensible Fraction Schedule - label = new QLabel("Sensible Fraction Schedule: "); + label = new QLabel(tr("Sensible Fraction Schedule: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 8, 0); @@ -255,7 +255,7 @@ WaterUseEquipmentDefinitionInspectorView::WaterUseEquipmentDefinitionInspectorVi // Latent Fraction Schedule - label = new QLabel("Latent Fraction Schedule: "); + label = new QLabel(tr("Latent Fraction Schedule: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, 10, 0); diff --git a/src/openstudio_lib/WindowMaterialBlindInspectorView.cpp b/src/openstudio_lib/WindowMaterialBlindInspectorView.cpp index f333fb3b7..a6008f707 100644 --- a/src/openstudio_lib/WindowMaterialBlindInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialBlindInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -47,7 +47,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -66,7 +66,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Orientation - label = new QLabel("Slat Orientation: "); + label = new QLabel(tr("Slat Orientation: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -77,7 +77,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Width - label = new QLabel("Slat Width: "); + label = new QLabel(tr("Slat Width: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -87,7 +87,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Separation - label = new QLabel("Slat Separation: "); + label = new QLabel(tr("Slat Separation: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -97,7 +97,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Thickness - label = new QLabel("Slat Thickness: "); + label = new QLabel(tr("Slat Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -107,7 +107,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Angle - label = new QLabel("Slat Angle: "); + label = new QLabel(tr("Slat Angle: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -117,7 +117,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Conductivity - label = new QLabel("Slat Conductivity: "); + label = new QLabel(tr("Slat Conductivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -127,7 +127,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Beam Solar Transmittance - label = new QLabel("Slat Beam Solar Transmittance: "); + label = new QLabel(tr("Slat Beam Solar Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -137,7 +137,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Front Side Slat Beam Solar Reflectance - label = new QLabel("Front Side Slat Beam Solar Reflectance: "); + label = new QLabel(tr("Front Side Slat Beam Solar Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -147,7 +147,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Back Side Slat Beam Solar Reflectance - label = new QLabel("Back Side Slat Beam Solar Reflectance: "); + label = new QLabel(tr("Back Side Slat Beam Solar Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -157,7 +157,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Diffuse Solar Transmittance - label = new QLabel("Slat Diffuse Solar Transmittance: "); + label = new QLabel(tr("Slat Diffuse Solar Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -167,7 +167,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Front Side Slat Diffuse Solar Reflectance - label = new QLabel("Front Side Slat Diffuse Solar Reflectance: "); + label = new QLabel(tr("Front Side Slat Diffuse Solar Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -177,7 +177,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Back Side Slat Diffuse Solar Reflectance - label = new QLabel("Back Side Slat Diffuse Solar Reflectance: "); + label = new QLabel(tr("Back Side Slat Diffuse Solar Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -187,7 +187,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Beam Visible Transmittance - label = new QLabel("Slat Beam Visible Transmittance: "); + label = new QLabel(tr("Slat Beam Visible Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -197,7 +197,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Front Side Slat Beam Visible Reflectance - label = new QLabel("Front Side Slat Beam Visible Reflectance: "); + label = new QLabel(tr("Front Side Slat Beam Visible Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -207,7 +207,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Back Side Slat Beam Visible Reflectance - label = new QLabel("Back Side Slat Beam Visible Reflectance: "); + label = new QLabel(tr("Back Side Slat Beam Visible Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -217,7 +217,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Diffuse Visible Transmittance - label = new QLabel("Slat Diffuse Visible Transmittance: "); + label = new QLabel(tr("Slat Diffuse Visible Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -227,7 +227,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Front Side Slat Diffuse Visible Reflectance - label = new QLabel("Front Side Slat Diffuse Visible Reflectance: "); + label = new QLabel(tr("Front Side Slat Diffuse Visible Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -238,7 +238,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Back Side Slat Diffuse Visible Reflectance - label = new QLabel("Back Side Slat Diffuse Visible Reflectance: "); + label = new QLabel(tr("Back Side Slat Diffuse Visible Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -248,7 +248,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Slat Infrared Hemispherical Transmittance - label = new QLabel("Slat Infrared Hemispherical Transmittance: "); + label = new QLabel(tr("Slat Infrared Hemispherical Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -259,7 +259,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Front Side Slat Infrared Hemispherical Emissivity - label = new QLabel("Front Side Slat Infrared Hemispherical Emissivity: "); + label = new QLabel(tr("Front Side Slat Infrared Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -270,7 +270,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Back Side Slat Infrared Hemispherical Emissivity - label = new QLabel("Back Side Slat Infrared Hemispherical Emissivity: "); + label = new QLabel(tr("Back Side Slat Infrared Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -281,7 +281,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Blind To Glass Distance - label = new QLabel("Blind To Glass Distance: "); + label = new QLabel(tr("Blind To Glass Distance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -291,7 +291,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Blind Top Opening Multiplier - label = new QLabel("Blind Top Opening Multiplier: "); + label = new QLabel(tr("Blind Top Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -301,7 +301,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Blind Bottom Opening Multiplier - label = new QLabel("Blind Bottom Opening Multiplier: "); + label = new QLabel(tr("Blind Bottom Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -311,7 +311,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Blind Left Side Opening Multiplier - label = new QLabel("Blind Left Side Opening Multiplier: "); + label = new QLabel(tr("Blind Left Side Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -321,7 +321,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Blind Right Side Opening Multiplier - label = new QLabel("Blind Right Side Opening Multiplier: "); + label = new QLabel(tr("Blind Right Side Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -331,7 +331,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Minimum Slat Angle - label = new QLabel("Minimum Slat Angle: "); + label = new QLabel(tr("Minimum Slat Angle: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -341,7 +341,7 @@ void WindowMaterialBlindInspectorView::createLayout() { // Maximum Slat Angle - label = new QLabel("Maximum Slat Angle: "); + label = new QLabel(tr("Maximum Slat Angle: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialDaylightRedirectionDeviceInspectorView.cpp b/src/openstudio_lib/WindowMaterialDaylightRedirectionDeviceInspectorView.cpp index 92a6b5887..f03062cf7 100644 --- a/src/openstudio_lib/WindowMaterialDaylightRedirectionDeviceInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialDaylightRedirectionDeviceInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -49,7 +49,7 @@ void WindowMaterialDaylightRedirectionDeviceInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -68,7 +68,7 @@ void WindowMaterialDaylightRedirectionDeviceInspectorView::createLayout() { // Daylight Redirection Device Type - label = new QLabel("Daylight Redirection Device Type: "); + label = new QLabel(tr("Daylight Redirection Device Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); diff --git a/src/openstudio_lib/WindowMaterialGasInspectorView.cpp b/src/openstudio_lib/WindowMaterialGasInspectorView.cpp index 1ee673d88..f20ca3770 100644 --- a/src/openstudio_lib/WindowMaterialGasInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialGasInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -47,7 +47,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -66,7 +66,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Gas Type - label = new QLabel("Gas Type: "); + label = new QLabel(tr("Gas Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -80,7 +80,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Thickness - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -90,7 +90,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Conductivity Coefficient A - label = new QLabel("Conductivity Coefficient A: "); + label = new QLabel(tr("Conductivity Coefficient A: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -100,7 +100,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Conductivity Coefficient B - label = new QLabel("Conductivity Coefficient B: "); + label = new QLabel(tr("Conductivity Coefficient B: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -110,7 +110,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Viscosity Coefficient A - label = new QLabel("Viscosity Coefficient A: "); + label = new QLabel(tr("Viscosity Coefficient A: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -120,7 +120,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Viscosity Coefficient B - label = new QLabel("Viscosity Coefficient B: "); + label = new QLabel(tr("Viscosity Coefficient B: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -130,7 +130,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Specific Heat Coefficient A - label = new QLabel("Specific Heat Coefficient A: "); + label = new QLabel(tr("Specific Heat Coefficient A: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -140,7 +140,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Specific Heat Coefficient B - label = new QLabel("Specific Heat Coefficient B: "); + label = new QLabel(tr("Specific Heat Coefficient B: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); m_specificHeatCoefficientB = new OSQuantityEdit2("J/kg*K^2", "J/kg*K^2", "Btu/lb*R^2", m_isIP); @@ -149,7 +149,7 @@ void WindowMaterialGasInspectorView::createLayout() { // Molecular Weight - label = new QLabel("Molecular Weight: "); + label = new QLabel(tr("Molecular Weight: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialGasMixtureInspectorView.cpp b/src/openstudio_lib/WindowMaterialGasMixtureInspectorView.cpp index 3667305c3..1051dbe52 100644 --- a/src/openstudio_lib/WindowMaterialGasMixtureInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialGasMixtureInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -48,7 +48,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -67,7 +67,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Thickness - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -77,7 +77,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Number Of Gases In Mixture - label = new QLabel("Number Of Gases In Mixture: "); + label = new QLabel(tr("Number Of Gases In Mixture: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -88,7 +88,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Fraction - label = new QLabel("Gas 1 Fraction: "); + label = new QLabel(tr("Gas 1 Fraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -98,7 +98,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Type - label = new QLabel("Gas 1 Type: "); + label = new QLabel(tr("Gas 1 Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -113,7 +113,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Fraction - label = new QLabel("Gas 2 Fraction: "); + label = new QLabel(tr("Gas 2 Fraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -123,7 +123,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Type - label = new QLabel("Gas 2 Type: "); + label = new QLabel(tr("Gas 2 Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -138,7 +138,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Fraction - label = new QLabel("Gas 3 Fraction: "); + label = new QLabel(tr("Gas 3 Fraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -148,7 +148,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Type - label = new QLabel("Gas 3 Type: "); + label = new QLabel(tr("Gas 3 Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -163,7 +163,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Fraction - label = new QLabel("Gas 4 Fraction: "); + label = new QLabel(tr("Gas 4 Fraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -173,7 +173,7 @@ void WindowMaterialGasMixtureInspectorView::createLayout() { // Gas Type - label = new QLabel("Gas 4 Type: "); + label = new QLabel(tr("Gas 4 Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialGlazingInspectorView.cpp b/src/openstudio_lib/WindowMaterialGlazingInspectorView.cpp index 75407f1ca..37a355145 100644 --- a/src/openstudio_lib/WindowMaterialGlazingInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialGlazingInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -50,7 +50,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -69,7 +69,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Optical Data Type - label = new QLabel("Optical Data Type: "); + label = new QLabel(tr("Optical Data Type: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -80,7 +80,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Window Glass Spectral Data Set Name - label = new QLabel("Window Glass Spectral Data Set Name: "); + label = new QLabel(tr("Window Glass Spectral Data Set Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -89,7 +89,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Thickness - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -99,7 +99,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Solar Transmittance At Normal Incidence - label = new QLabel("Solar Transmittance At Normal Incidence: "); + label = new QLabel(tr("Solar Transmittance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -109,7 +109,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Front Side Solar Reflectance At Normal Incidence - label = new QLabel("Front Side Solar Reflectance At Normal Incidence: "); + label = new QLabel(tr("Front Side Solar Reflectance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -120,7 +120,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Back Side Solar Reflectance At Normal Incidence - label = new QLabel("Back Side Solar Reflectance At Normal Incidence: "); + label = new QLabel(tr("Back Side Solar Reflectance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -131,7 +131,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Visible Transmittance At Normal Incidence - label = new QLabel("Visible Transmittance At Normal Incidence: "); + label = new QLabel(tr("Visible Transmittance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -142,7 +142,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Front Side Visible Reflectance At Normal Incidence - label = new QLabel("Front Side Visible Reflectance At Normal Incidence: "); + label = new QLabel(tr("Front Side Visible Reflectance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -153,7 +153,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Back Side Visible Reflectance At Normal Incidence - label = new QLabel("Back Side Visible Reflectance At Normal Incidence: "); + label = new QLabel(tr("Back Side Visible Reflectance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -164,7 +164,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Infrared Transmittance at Normal Incidence - label = new QLabel("Infrared Transmittance at Normal Incidence: "); + label = new QLabel(tr("Infrared Transmittance at Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -175,7 +175,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Front Side Infrared Hemispherical Emissivity - label = new QLabel("Front Side Infrared Hemispherical Emissivity: "); + label = new QLabel(tr("Front Side Infrared Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -186,7 +186,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Back Side Infrared Hemispherical Emissivity - label = new QLabel("Back Side Infrared Hemispherical Emissivity: "); + label = new QLabel(tr("Back Side Infrared Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -197,7 +197,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Conductivity - label = new QLabel("Conductivity: "); + label = new QLabel(tr("Conductivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -207,7 +207,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Dirt Correction Factor For Solar And Visible Transmittance - label = new QLabel("Dirt Correction Factor For Solar And Visible Transmittance: "); + label = new QLabel(tr("Dirt Correction Factor For Solar And Visible Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -218,7 +218,7 @@ void WindowMaterialGlazingInspectorView::createLayout() { // Solar Diffusing - label = new QLabel("Solar Diffusing: "); + label = new QLabel(tr("Solar Diffusing: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialGlazingRefractionExtinctionMethodInspectorView.cpp b/src/openstudio_lib/WindowMaterialGlazingRefractionExtinctionMethodInspectorView.cpp index a18598044..5d5620291 100644 --- a/src/openstudio_lib/WindowMaterialGlazingRefractionExtinctionMethodInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialGlazingRefractionExtinctionMethodInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -48,7 +48,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -67,7 +67,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Thickness - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -77,7 +77,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Solar Index Of Refraction - label = new QLabel("Solar Index Of Refraction: "); + label = new QLabel(tr("Solar Index Of Refraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -88,7 +88,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Solar Extinction Coefficient - label = new QLabel("Solar Extinction Coefficient: "); + label = new QLabel(tr("Solar Extinction Coefficient: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -99,7 +99,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Visible Index of Refraction - label = new QLabel("Visible Index of Refraction: "); + label = new QLabel(tr("Visible Index of Refraction: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -110,7 +110,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Visible Extinction Coefficient - label = new QLabel("Visible Extinction Coefficient: "); + label = new QLabel(tr("Visible Extinction Coefficient: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -121,7 +121,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Infrared Transmittance At Normal Incidence - label = new QLabel("Infrared Transmittance At Normal Incidence: "); + label = new QLabel(tr("Infrared Transmittance At Normal Incidence: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -132,7 +132,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Infrared Hemispherical Emissivity - label = new QLabel("Infrared Hemispherical Emissivity: "); + label = new QLabel(tr("Infrared Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -143,7 +143,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Conductivity - label = new QLabel("Conductivity: "); + label = new QLabel(tr("Conductivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -154,7 +154,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Dirt Correction Factor For Solar And Visible Transmittance - label = new QLabel("Dirt Correction Factor For Solar And Visible Transmittance: "); + label = new QLabel(tr("Dirt Correction Factor For Solar And Visible Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -165,7 +165,7 @@ void WindowMaterialGlazingRefractionExtinctionMethodInspectorView::createLayout( // Solar Diffusing - label = new QLabel("Solar Diffusing: "); + label = new QLabel(tr("Solar Diffusing: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialScreenInspectorView.cpp b/src/openstudio_lib/WindowMaterialScreenInspectorView.cpp index ce61ad6d2..32d3f1b0b 100644 --- a/src/openstudio_lib/WindowMaterialScreenInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialScreenInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -47,7 +47,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -66,7 +66,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Reflected Beam Transmittance Accounting Method - label = new QLabel("Reflected Beam Transmittance Accounting Method: "); + label = new QLabel(tr("Reflected Beam Transmittance Accounting Method: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -78,7 +78,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Diffuse Solar Reflectance - label = new QLabel("Diffuse Solar Reflectance: "); + label = new QLabel(tr("Diffuse Solar Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -88,7 +88,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Diffuse Visible Reflectance - label = new QLabel("Diffuse Visible Reflectance: "); + label = new QLabel(tr("Diffuse Visible Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -98,7 +98,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Thermal Hemispherical Emissivity - label = new QLabel("Thermal Hemispherical Emissivity: "); + label = new QLabel(tr("Thermal Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -108,7 +108,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Conductivity - label = new QLabel("Conductivity: "); + label = new QLabel(tr("Conductivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -118,7 +118,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Screen Material Spacing - label = new QLabel("Screen Material Spacing: "); + label = new QLabel(tr("Screen Material Spacing: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -128,7 +128,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Screen Material Diameter - label = new QLabel("Screen Material Diameter: "); + label = new QLabel(tr("Screen Material Diameter: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -138,7 +138,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Screen To Glass Distance - label = new QLabel("Screen To Glass Distance: "); + label = new QLabel(tr("Screen To Glass Distance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -148,7 +148,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Top Opening Multiplier - label = new QLabel("Top Opening Multiplier: "); + label = new QLabel(tr("Top Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -158,7 +158,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Bottom Opening Multiplier - label = new QLabel("Bottom Opening Multiplier: "); + label = new QLabel(tr("Bottom Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -168,7 +168,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Left Side Opening Multiplier - label = new QLabel("Left Side Opening Multiplier: "); + label = new QLabel(tr("Left Side Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -178,7 +178,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Right Side Opening Multiplier - label = new QLabel("Right Side Opening Multiplier: "); + label = new QLabel(tr("Right Side Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -188,7 +188,7 @@ void WindowMaterialScreenInspectorView::createLayout() { // Angle Of Resolution For Screen Transmittance Output Map - label = new QLabel("Angle Of Resolution For Screen Transmittance Output Map: "); + label = new QLabel(tr("Angle Of Resolution For Screen Transmittance Output Map: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialShadeInspectorView.cpp b/src/openstudio_lib/WindowMaterialShadeInspectorView.cpp index 4c10f209b..1972e0f8d 100644 --- a/src/openstudio_lib/WindowMaterialShadeInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialShadeInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -46,7 +46,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -65,7 +65,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Solar Transmittance - label = new QLabel("Solar Transmittance: "); + label = new QLabel(tr("Solar Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -75,7 +75,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Solar Reflectance - label = new QLabel("Solar Reflectance: "); + label = new QLabel(tr("Solar Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -85,7 +85,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Visible Transmittance - label = new QLabel("Visible Transmittance: "); + label = new QLabel(tr("Visible Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -95,7 +95,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Visible Reflectance - label = new QLabel("Visible Reflectance: "); + label = new QLabel(tr("Visible Reflectance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -105,7 +105,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Thermal Hemispherical Emissivity - label = new QLabel("Thermal Hemispherical Emissivity: "); + label = new QLabel(tr("Thermal Hemispherical Emissivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -115,7 +115,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Thermal Transmittance - label = new QLabel("Thermal Transmittance: "); + label = new QLabel(tr("Thermal Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -125,7 +125,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Thickness - label = new QLabel("Thickness: "); + label = new QLabel(tr("Thickness: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -135,7 +135,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Conductivity - label = new QLabel("Conductivity: "); + label = new QLabel(tr("Conductivity: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -145,7 +145,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Shade To Glass Distance - label = new QLabel("Shade To Glass Distance: "); + label = new QLabel(tr("Shade To Glass Distance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -155,7 +155,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Top Opening Multiplier - label = new QLabel("Top Opening Multiplier: "); + label = new QLabel(tr("Top Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -165,7 +165,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Bottom Opening Multiplier - label = new QLabel("Bottom Opening Multiplier: "); + label = new QLabel(tr("Bottom Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -175,7 +175,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Left-Side Opening Multiplier - label = new QLabel("Left-Side Opening Multiplier: "); + label = new QLabel(tr("Left-Side Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -185,7 +185,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Right-Side Opening Multiplier - label = new QLabel("Right-Side Opening Multiplier: "); + label = new QLabel(tr("Right-Side Opening Multiplier: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -195,7 +195,7 @@ void WindowMaterialShadeInspectorView::createLayout() { // Airflow Permeability - label = new QLabel("Airflow Permeability: "); + label = new QLabel(tr("Airflow Permeability: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/WindowMaterialSimpleGlazingSystemInspectorView.cpp b/src/openstudio_lib/WindowMaterialSimpleGlazingSystemInspectorView.cpp index 7f8c841d2..b8a11828c 100644 --- a/src/openstudio_lib/WindowMaterialSimpleGlazingSystemInspectorView.cpp +++ b/src/openstudio_lib/WindowMaterialSimpleGlazingSystemInspectorView.cpp @@ -1,4 +1,4 @@ -/*********************************************************************************************************************** +/*********************************************************************************************************************** * OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. * See also https://openstudiocoalition.org/about/software_license/ ***********************************************************************************************************************/ @@ -47,7 +47,7 @@ void WindowMaterialSimpleGlazingSystemInspectorView::createLayout() { // Name - label = new QLabel("Name: "); + label = new QLabel(tr("Name: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row, 0); @@ -66,7 +66,7 @@ void WindowMaterialSimpleGlazingSystemInspectorView::createLayout() { // U-Factor - label = new QLabel("U-Factor: "); + label = new QLabel(tr("U-Factor: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -76,7 +76,7 @@ void WindowMaterialSimpleGlazingSystemInspectorView::createLayout() { // Solar Heat Gain Coefficient - label = new QLabel("Solar Heat Gain Coefficient: "); + label = new QLabel(tr("Solar Heat Gain Coefficient: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); @@ -87,7 +87,7 @@ void WindowMaterialSimpleGlazingSystemInspectorView::createLayout() { // Visible Transmittance - label = new QLabel("Visible Transmittance: "); + label = new QLabel(tr("Visible Transmittance: ")); label->setObjectName("H2"); mainGridLayout->addWidget(label, row++, 0); diff --git a/src/openstudio_lib/library/geometry_editor_start.html b/src/openstudio_lib/library/geometry_editor_start.html index f6a87aef4..aadd8f5cb 100644 --- a/src/openstudio_lib/library/geometry_editor_start.html +++ b/src/openstudio_lib/library/geometry_editor_start.html @@ -3,44 +3,106 @@ <head> <meta charset=utf-8> <title>OpenStudio Geometry Editor +

Overview

-Choose a geometry type from the list above. FloorspaceJS allows you to create new geometry based on 2D floorplans. Alternatively, you can import existing geometry in gbXML, IDF, or OSM formats. Preview what your geometry will look like after translation to OSM format using the "Preview OSM" button. Once you are satisfied with your geometry, press the "Merge with Current OSM" button to merge your new geometry with your current OSM model. Your current OSM model will not be changed until "Merge with Current OSM" is pressed. +

Choose a geometry type from the list above. FloorspaceJS allows you to create new geometry based on 2D floorplans. Alternatively, you can import existing geometry in gbXML, IDF, or OSM formats. Preview what your geometry will look like after translation to OSM format using the “Preview OSM” button. Once you are satisfied with your geometry, press the “Merge with Current OSM” button to merge your new geometry with your current OSM model. Your current OSM model will not be changed until “Merge with Current OSM” is pressed.

FloorspaceJS

-FloorspaceJS is an open source software module that developers can leverage to produce building energy modeling UIs which include geometry creation. FloorspaceJS is meant to cover simple building geometry use cases only. More complex building geometry is best developed in a full featured CAD tool and exported to gbXML or other formats for building energy modeling. FloorspaceJS is implemented in JavaScript with minimal dependencies, allowing it to be integrated into a wide range of applications, including the OpenStudio Application. +

FloorspaceJS is an open source software module that developers can leverage to produce building energy modeling UIs which include geometry creation. FloorspaceJS is meant to cover simple building geometry use cases only. More complex building geometry is best developed in a full featured CAD tool and exported to gbXML or other formats for building energy modeling. FloorspaceJS is implemented in JavaScript with minimal dependencies, allowing it to be integrated into a wide range of applications, including the OpenStudio Application.

gbXML

-gbXML is an industry supported XML schema for sharing building information between Building Energy Modeling (BEM) tools. Many BEM tools can author gbXML, a partial list is available online at http://gbxml.org/Software_Tools_that_Support_GreenBuildingXML_gbXML. A gbXML viewer developed by Ladybug Tools, https://github.com/ladybug-tools/spider-gbxml-tools/tree/develop/gbxml-viewer-basic, has been embedded in the OpenStudio Application to preview gbXML before it is translated to OSM. Ladybug Tools has also developed a more full-featured tool, including the ability to inspect and edit gbXML files, which is available at https://www.ladybug.tools/spider/gbxml-viewer. +

gbXML is an industry supported XML schema for sharing building information between Building Energy Modeling (BEM) tools. Many BEM tools can author gbXML, a partial list is available online at http://gbxml.org/Software_Tools_that_Support_GreenBuildingXML_gbXML. A gbXML viewer developed by Ladybug Tools, https://github.com/ladybug-tools/spider-gbxml-tools/tree/develop/gbxml-viewer-basic, has been embedded in the OpenStudio Application to preview gbXML before it is translated to OSM. Ladybug Tools has also developed a more full-featured tool, including the ability to inspect and edit gbXML files, which is available at https://www.ladybug.tools/spider/gbxml-viewer.

IDF

-The EnergyPlus Input Data Format (IDF) is the file format read by the EnergyPlus simulation engine. Several tools are available which can author IDF, a partial list is available online at http://www.buildingenergysoftwaretools.com/. A custom viewer has been implemented which displays the contents of the IDF file in epJSON format. The EnergyPlus executable shipped with OpenStudio is used to convert IDF to epJSON format. For best results, please ensure that your IDF files are updated to the version of EnergyPlus used by this version of OpenStudio. IDF files can be updated to the latest version of EnergyPlus using the EP-Launch utility distributed with the full EnergyPlus installer (it is not included with OpenStudio). +

The EnergyPlus Input Data Format (IDF) is the file format read by the EnergyPlus simulation engine. Several tools are available which can author IDF, a partial list is available online at http://www.buildingenergysoftwaretools.com/. A custom viewer has been implemented which displays the contents of the IDF file in epJSON format. The EnergyPlus executable shipped with OpenStudio is used to convert IDF to epJSON format. For best results, please ensure that your IDF files are updated to the version of EnergyPlus used by this version of OpenStudio. IDF files can be updated to the latest version of EnergyPlus using the EP-Launch utility distributed with the full EnergyPlus installer (it is not included with OpenStudio).

OSM

-The OpenStudio Model (OSM) file format is the native file format used by OpenStudio. OSM files authored in separate workflows may be imported and merged with the current OpenStudio Model. +

The OpenStudio Model (OSM) file format is the native file format used by OpenStudio. OSM files authored in separate workflows may be imported and merged with the current OpenStudio Model.

Merge OSM

-The OpenStudio SDK includes translators from a variety of common Building Energy Modeling (BEM) formats to OSM. Geometry from these formats can be converted to OSM and used as a starting point for more detailed OpenStudio Model adjustments such as defining schedules, constructions, and HVAC. A new merge feature was recently added to the OpenStudio SDK. This feature supports iterative workflows where: + +

The OpenStudio SDK includes translators from a variety of common Building Energy Modeling (BEM) formats to OSM. Geometry from these formats can be converted to OSM and used as a starting point for more detailed OpenStudio Model adjustments such as defining schedules, constructions, and HVAC. A new merge feature was recently added to the OpenStudio SDK. This feature supports iterative workflows where:

    -
  1. Initial OSM geometry is translated from an original format (e.g. gbXML, IDF, etc)
  2. -
  3. Non-geometry modifications (e.g. schedules, HVAC, etc) are made to the OSM
  4. -
  5. Updated geometry is available in the original format
  6. +
  7. Initial OSM geometry is translated from an original format (e.g. gbXML, IDF, etc)
  8. +
  9. Non-geometry modifications (e.g. schedules, HVAC, etc) are made to the OSM
  10. +
  11. Updated geometry is available in the original format
-The merge feature allows updated geometry to be merged with the current OSM while also preserving non-geometry modifications. +

The merge feature allows updated geometry to be merged with the current OSM while also preserving non-geometry modifications.

- \ No newline at end of file + diff --git a/src/openstudio_lib/library/geometry_preview.html b/src/openstudio_lib/library/geometry_preview.html index 4fc8b4848..588b7df7a 100644 --- a/src/openstudio_lib/library/geometry_preview.html +++ b/src/openstudio_lib/library/geometry_preview.html @@ -1,4 +1,4 @@ - + <%=title%> @@ -280,17 +280,74 @@ } } +// i18n translation support +var _translations = { + es: { + 'Surface Type': 'Tipo de superficie', + 'Normal': 'Normal', + 'Boundary': 'Limite', + 'Construction': 'Construccion', + 'Thermal Zone': 'Zona termica', + 'Space Type': 'Tipo de espacio', + 'Building Story': 'Planta', + 'Data': 'Datos', + 'All Stories': 'Todas las plantas', + 'All Loops': 'Todos los bucles', + 'No Loop': 'Sin bucle', + 'Surfaces': 'Superficies', + 'Spaces and Groups': 'Espacios y grupos', + 'Render By': 'Renderizar por', + 'Show Story': 'Mostrar planta', + 'Show Air Loop': 'Mostrar bucle de aire', + 'Search': 'Buscar', + 'Search Type': 'Tipo de busqueda', + 'Search Name': 'Nombre de busqueda', + 'Surface Filters': 'Filtros de superficie', + 'Show Floors': 'Mostrar pisos', + 'Show Walls': 'Mostrar muros', + 'Show Roofs': 'Mostrar techos', + 'Show Windows': 'Mostrar ventanas', + 'Show Doors': 'Mostrar puertas', + 'Show Shading': 'Mostrar sombreado', + 'Show Partitions': 'Mostrar particiones', + 'Show Wireframe': 'Mostrar estructura alambrica', + 'Diagnostic Tools': 'Herramientas de diagnostico', + 'Potential Adjacency Issues': 'Posibles problemas de adyacencia', + 'Enable': 'Activar', + 'Threshold': 'Umbral', + 'Surface Level Issues': 'Problemas de superficie', + 'Non-Convex Surfaces Only': 'Solo superficies no convexas', + 'Incorrectly Oriented Surfaces Only': 'Solo superficies orientadas incorrectamente', + 'Space Level Issues': 'Problemas de espacio', + 'Non-Convex Spaces Only': 'Solo espacios no convexos', + 'Non-Enclosed Spaces Only': 'Solo espacios no cerrados', + 'Camera': 'Camara', + 'Orthographic': 'Ortografica', + 'X View': 'Vista X', + 'Y View': 'Vista Y', + 'Z View': 'Vista Z', + 'Reset': 'Restablecer', + 'Close Controls': 'Cerrar controles' + } +}; +function t(key) { + var lang = (typeof window !== 'undefined' && window.osLanguage) ? window.osLanguage : 'en'; + if (_translations[lang] && _translations[lang][key] !== undefined) { + return _translations[lang][key]; + } + return key; +} var settings = { - renderBy: 'Surface Type', - showStory: 'All Stories', - showAirLoop: 'All Loops', + renderBy: t('Surface Type'), + showStory: t('All Stories'), + showAirLoop: t('All Loops'), findAdjacencyIssues: getBoolFromLocalStorage('findAdjacencyIssues', false), findAdjacencyThreshold: getFloatFromLocalStorage('findAdjacencyThreshold', 1), showOnlyNonConvexSurfaces: getBoolFromLocalStorage('showOnlyNonConvexSurfaces', false), showOnlyNonConvexSpaces: getBoolFromLocalStorage('showOnlyNonConvexSpaces', false), showOnlyNonEnclosedSpaces: getBoolFromLocalStorage('showOnlyNonEnclosedSpaces', false), showOnlyIncorrectlyOrientedSurfaces: getBoolFromLocalStorage('showOnlyIncorrectlyOrientedSurfaces', false), - searchType: getStringFromLocalStorage('searchType', 'Surfaces'), + searchType: getStringFromLocalStorage('searchType', t('Surfaces')), searchName: getStringFromLocalStorage('searchName', ''), showFloors: getBoolFromLocalStorage('showFloors', true), showWalls: getBoolFromLocalStorage('showWalls', true), @@ -988,7 +1045,7 @@ txt += '

Name: ' + inter.userData.name + '
'; // render details depending on chosen renderBy value switch (settings.renderBy) { - case "Surface Type": + case t("Surface Type"): txt += 'Surface Type: ' + inter.userData.surfaceType + '
'; if (inter.userData.spaceName){ txt += 'Space Name: ' + inter.userData.spaceName; @@ -1000,25 +1057,25 @@ txt += '
Space Enclosed: ' + colorize_bool(inter.userData.spaceEnclosed); } break; - case "Normal": + case t("Normal"): txt += 'Surface Type: ' + inter.userData.surfaceType + '
' if (inter.userData.spaceName){ txt += 'Space Name: ' + inter.userData.spaceName; } break; - case "Boundary": + case t("Boundary"): if (inter.userData.outsideBoundaryCondition){ txt += 'Outside Boundary Condition: ' + inter.userData.outsideBoundaryCondition + '
'; } txt += 'Sun Exposure: ' + inter.userData.sunExposure + '
'; txt += 'Wind Exposure: ' + inter.userData.windExposure; break; - case "Construction": + case t("Construction"): if (inter.userData.constructionName){ txt += 'Construction Name: ' + inter.userData.constructionName; } break; - case "Thermal Zone": + case t("Thermal Zone"): if (inter.userData.thermalZoneName){ txt += 'Thermal Zone: ' + inter.userData.thermalZoneName; } @@ -1028,7 +1085,7 @@ txt += 'Space Type: ' + inter.userData.spaceTypeName; } break; - case "Building Story": + case t("Building Story"): if (inter.userData.buildingStoryName){ txt += 'Story Name: ' + inter.userData.buildingStoryName; } @@ -1306,12 +1363,12 @@ // add action buttons depending on chosen renderBy value switch (settings.renderBy) { - case "Surface Type": - case "Normal": + case t("Surface Type"): + case t("Normal"): surfaceInfoPanel.appendChild(createReverseVerticesButton(surfaceName)); surfaceInfoPanel.appendChild(createTriangulateSurfaceButton(surfaceName)); break; - case "Boundary": + case t("Boundary"): surfaceInfoPanel.appendChild(createToggleButtons('Sun Exposure', surfaceName, ['SunExposed', 'NoSun'], inter.userData.sunExposure, (name, val) => bridge.setSunExposure(name, val))); @@ -1321,10 +1378,10 @@ surfaceInfoPanel.appendChild(createOutsideBoundaryConditionSelect(surfaceName, inter.userData.outsideBoundaryCondition)); break; - case "Construction": + case t("Construction"): surfaceInfoPanel.appendChild(createConstructionSelect(inter.userData.name, inter.userData.constructionName)); break; - case "Thermal Zone": + case t("Thermal Zone"): if (inter.userData.spaceName) { title.textContent = `Space Name: ${inter.userData.spaceName}`; surfaceInfoPanel.appendChild(createThermalZoneSelect(inter.userData.spaceName, inter.userData.thermalZoneName)); @@ -1336,7 +1393,7 @@ surfaceInfoPanel.appendChild(createSpaceTypeSelect(inter.userData.spaceName, inter.userData.spaceTypeName)); } break; - case "Building Story": + case t("Building Story"): if (inter.userData.spaceName) { title.textContent = `Space Name: ${inter.userData.spaceName}`; surfaceInfoPanel.appendChild(createBuildingStorySelect(inter.userData.spaceName, inter.userData.buildingStoryName)); @@ -1629,12 +1686,12 @@ } } - if (settings.showStory !== 'All Stories' && settings.showStory !== object.userData.buildingStoryName) { + if (settings.showStory !== t('All Stories') && settings.showStory !== object.userData.buildingStoryName) { object.visible = false; } - if ((settings.showAirLoop !== 'All Loops' && !object.userData.airLoopHVACNames.includes(settings.showAirLoop)) + if ((settings.showAirLoop !== t('All Loops') && !object.userData.airLoopHVACNames.includes(settings.showAirLoop)) && - (settings.showAirLoop !== 'No Loop' || object.userData.airLoopHVACNames.length !== 0)) { + (settings.showAirLoop !== t('No Loop') || object.userData.airLoopHVACNames.length !== 0)) { object.visible = false; } @@ -1679,7 +1736,7 @@ var material_double_sided = null; var material_back = null; switch (renderBy) { - case "Surface Type": + case t("Surface Type"): material = materials[object.userData.surfaceTypeMaterialName]; material_double_sided = material; if (coincident_objects[object.uuid]){ @@ -1688,7 +1745,7 @@ } material_back = materials[object.userData.surfaceTypeMaterialName + '_Int']; break; - case "Normal": + case t("Normal"): material = materials.NormalMaterial; material_double_sided = material; if (coincident_objects[object.uuid]){ @@ -1697,19 +1754,19 @@ } material_back = materials.NormalMaterial_Int; break; - case "Boundary": + case t("Boundary"): material = materials[object.userData.boundaryMaterialName]; break; - case "Construction": + case t("Construction"): material = materials[object.userData.constructionMaterialName]; break; - case "Thermal Zone": + case t("Thermal Zone"): material = materials[object.userData.thermalZoneMaterialName]; break; case "Space Type": material = materials[object.userData.spaceTypeMaterialName]; break; - case "Building Story": + case t("Building Story"): material = materials[object.userData.buildingStoryMaterialName]; break; case "Data": @@ -1847,18 +1904,18 @@ }; gui = new dat.GUI(); - var render_modes = ['Surface Type', 'Normal', 'Boundary', 'Construction', 'Thermal Zone', 'Space Type', 'Building Story']; + var render_modes = [t('Surface Type'), t('Normal'), t('Boundary'), t('Construction'), t('Thermal Zone'), t('Space Type'), t('Building Story')]; if (has_data){ - render_modes.push('Data'); + render_modes.push(t('Data')); } - var renderByController = gui.add(settings, 'renderBy', render_modes).name('Render By').onChange(function(value) { + var renderByController = gui.add(settings, 'renderBy', render_modes).name(t('Render By')).onChange(function(value) { removeSelection(); update(value); }); var building_story_names = os_data.metadata.buildingStoryNames; - building_story_names.unshift('All Stories'); - var showStoryController = gui.add(settings, 'showStory', building_story_names).name('Show Story').onChange(function(value) { + building_story_names.unshift(t('All Stories')); + var showStoryController = gui.add(settings, 'showStory', building_story_names).name(t('Show Story')).onChange(function(value) { removeSelection(); update(value); }); @@ -1870,65 +1927,65 @@ .sort(); var showAirLoopController = null; if (air_loop_names && air_loop_names.length > 0) { - air_loop_names.unshift("All Loops"); - air_loop_names.unshift("No Loop"); - showAirLoopController = gui.add(settings, 'showAirLoop', air_loop_names).name('Show Air Loop').onChange(function (value) { + air_loop_names.unshift(t("All Loops")); + air_loop_names.unshift(t("No Loop")); + showAirLoopController = gui.add(settings, 'showAirLoop', air_loop_names).name(t('Show Air Loop')).onChange(function (value) { removeSelection(); update(value); }); } - var s1 = gui.addFolder('Search'); - search_types = ['Surfaces', 'Spaces and Groups'] - s1.add(settings, 'searchType', search_types).name('Search Type').onChange(function (value) { + var s1 = gui.addFolder(t('Search')); + search_types = [t('Surfaces'), t('Spaces and Groups')] + s1.add(settings, 'searchType', search_types).name(t('Search Type')).onChange(function (value) { removeSelection(); setLocalStorage('searchType', value); update(value); }); - s1.add(settings, 'searchName', "").name('Search Name').onChange(function (value) { + s1.add(settings, 'searchName', "").name(t('Search Name')).onChange(function (value) { removeSelection(); setLocalStorage('searchName', value); update(value); }); s1.open(); - var f1 = gui.addFolder('Surface Filters'); - f1.add(settings, 'showFloors').name('Show Floors').onChange(function(value) { + var f1 = gui.addFolder(t('Surface Filters')); + f1.add(settings, 'showFloors').name(t('Show Floors')).onChange(function(value) { removeSelection(); setLocalStorage('showFloors', value); update(value); }); - f1.add(settings, 'showWalls').name('Show Walls').onChange(function(value) { + f1.add(settings, 'showWalls').name(t('Show Walls')).onChange(function(value) { removeSelection(); setLocalStorage('showWalls', value); update(value); }); - f1.add(settings, 'showRoofCeilings').name('Show Roofs').onChange(function(value) { + f1.add(settings, 'showRoofCeilings').name(t('Show Roofs')).onChange(function(value) { removeSelection(); setLocalStorage('showRoofCeilings', value); update(value); }); - f1.add(settings, 'showWindows').name('Show Windows').onChange(function(value) { + f1.add(settings, 'showWindows').name(t('Show Windows')).onChange(function(value) { removeSelection(); setLocalStorage('showWindows', value); update(value); }); - f1.add(settings, 'showDoors').name('Show Doors').onChange(function(value) { + f1.add(settings, 'showDoors').name(t('Show Doors')).onChange(function(value) { removeSelection(); setLocalStorage('showDoors', value); update(value); }); - f1.add(settings, 'showShading').name('Show Shading').onChange(function(value) { + f1.add(settings, 'showShading').name(t('Show Shading')).onChange(function(value) { removeSelection(); setLocalStorage('showShading', value); update(value); }); - f1.add(settings, 'showPartitions').name('Show Partitions').onChange(function(value) { + f1.add(settings, 'showPartitions').name(t('Show Partitions')).onChange(function(value) { removeSelection(); setLocalStorage('showPartitions', value); update(value); }); - f1.add(settings, 'showWireframe').name('Show Wireframe').onChange(function(value) { + f1.add(settings, 'showWireframe').name(t('Show Wireframe')).onChange(function(value) { removeSelection(); setLocalStorage('showWireframe', value); update(value); @@ -1936,16 +1993,16 @@ f1.open(); if(includeGeometryDiagnostics) { - var diagnostics = gui.addFolder("Diagnostic Tools") + var diagnostics = gui.addFolder(t("Diagnostic Tools")) { - var adjacencies = diagnostics.addFolder('Potential Adjacency Issues'); - adjacencies.add(settings, 'findAdjacencyIssues').name('Enable').onChange(value => { + var adjacencies = diagnostics.addFolder(t('Potential Adjacency Issues')); + adjacencies.add(settings, 'findAdjacencyIssues').name(t('Enable')).onChange(value => { removeSelection(); setLocalStorage('findAdjacencyIssues', value); updateAdjacencyIssues(); update(value); }); - adjacencies.add(settings, 'findAdjacencyThreshold', 0.1, 10, 0.5).name('Threshold').onFinishChange(function (value) { + adjacencies.add(settings, 'findAdjacencyThreshold', 0.1, 10, 0.5).name(t('Threshold')).onFinishChange(function (value) { if (settings.findAdjacencyIssues) { removeSelection(); setLocalStorage('findAdjacencyThreshold', value); @@ -1957,13 +2014,13 @@ } { - var surfaceLevelIssues = diagnostics.addFolder('Surface Level Issues') - surfaceLevelIssues.add(settings, 'showOnlyNonConvexSurfaces').name('Non-Convex Surfaces Only').onChange(value => { + var surfaceLevelIssues = diagnostics.addFolder(t('Surface Level Issues')) + surfaceLevelIssues.add(settings, 'showOnlyNonConvexSurfaces').name(t('Non-Convex Surfaces Only')).onChange(value => { removeSelection(); setLocalStorage('showOnlyNonConvexSurfaces', value); update(value); }); - surfaceLevelIssues.add(settings, 'showOnlyIncorrectlyOrientedSurfaces').name('Incorrectly Oriented Surfaces Only').onChange(value => { + surfaceLevelIssues.add(settings, 'showOnlyIncorrectlyOrientedSurfaces').name(t('Incorrectly Oriented Surfaces Only')).onChange(value => { removeSelection(); setLocalStorage('showOnlyIncorrectlyOrientedSurfaces', value); update(value); @@ -1971,14 +2028,14 @@ surfaceLevelIssues.open(); } { - var spaceLevelIssues = diagnostics.addFolder('Space Level Issues') - spaceLevelIssues.add(settings, 'showOnlyNonConvexSpaces').name('Non-Convex Spaces Only').onChange(value => { + var spaceLevelIssues = diagnostics.addFolder(t('Space Level Issues')) + spaceLevelIssues.add(settings, 'showOnlyNonConvexSpaces').name(t('Non-Convex Spaces Only')).onChange(value => { removeSelection(); setLocalStorage('showOnlyNonConvexSpaces', value); update(value); }); - spaceLevelIssues.add(settings, 'showOnlyNonEnclosedSpaces').name('Non-Enclosed Spaces Only').onChange(value => { + spaceLevelIssues.add(settings, 'showOnlyNonEnclosedSpaces').name(t('Non-Enclosed Spaces Only')).onChange(value => { removeSelection(); setLocalStorage('showOnlyNonEnclosedSpaces', value); update(value); @@ -1988,13 +2045,13 @@ diagnostics.open(); } - var f3 = gui.addFolder('Camera'); + var f3 = gui.addFolder(t('Camera')); [ - ["orthographic", "Orthographic"], - ["xView", "X View"], - ["yView", "Y View"], - ["zView", "Z View"], - ["reset", "Reset"] + ["orthographic", t("Orthographic")], + ["xView", t("X View")], + ["yView", t("Y View")], + ["zView", t("Z View")], + ["reset", t("Reset")] ].forEach(opt => { f3.add(settings, opt[0]).name(opt[1]).onChange(function (value) { if (opt[0] === "orthographic") diff --git a/src/shared_gui_components/LocalLibraryController.cpp b/src/shared_gui_components/LocalLibraryController.cpp index 0d9c247eb..7f8d7e23b 100644 --- a/src/shared_gui_components/LocalLibraryController.cpp +++ b/src/shared_gui_components/LocalLibraryController.cpp @@ -206,7 +206,7 @@ QWidget* LibraryTypeItemDelegate::view(QSharedPointer dataSource) { auto* groupCollapsibleView = new OSCollapsibleView(); auto* header = new DarkGradientHeader(); - header->label->setText(item->name()); + header->label->setText(QCoreApplication::translate("TaxonomyCategories", item->name().toUtf8().constData())); groupCollapsibleView->setHeader(header); QSharedPointer groupListController = item->libraryGroupListController(); @@ -260,7 +260,7 @@ QWidget* LibraryGroupItemDelegate::view(QSharedPointer dataSource) { auto* groupCollapsibleView = new OSCollapsibleView(); auto* header = new LibraryGroupItemHeader(); - header->label->setText(item->name()); + header->label->setText(QCoreApplication::translate("TaxonomyCategories", item->name().toUtf8().constData())); connect(item->librarySubGroupListController().data(), &LibrarySubGroupListController::libraryItemCountChanged, header, &LibraryGroupItemHeader::setCount); @@ -321,7 +321,7 @@ QWidget* LibrarySubGroupItemDelegate::view(QSharedPointer dataSource auto* header = new LibrarySubGroupItemHeader(); - header->label->setText(item->name()); + header->label->setText(QCoreApplication::translate("TaxonomyCategories", item->name().toUtf8().constData())); connect(item->libraryListController().data(), &LibraryListController::countChanged, header, &LibrarySubGroupItemHeader::setCount); diff --git a/src/shared_gui_components/LocalLibraryView.cpp b/src/shared_gui_components/LocalLibraryView.cpp index 32933a851..874f6aef1 100644 --- a/src/shared_gui_components/LocalLibraryView.cpp +++ b/src/shared_gui_components/LocalLibraryView.cpp @@ -59,23 +59,23 @@ LocalLibraryView::LocalLibraryView(QWidget* parent) : QWidget(parent) { footerVLayout->addLayout(footerHLayout); duplicateMeasureButton = new DuplicateButton(); - duplicateMeasureButton->setToolTip("Copy Selected Measure and Add to My Measures"); + duplicateMeasureButton->setToolTip(tr("Copy Selected Measure and Add to My Measures")); footerHLayout->addWidget(duplicateMeasureButton); duplicateMeasureButton->setDisabled(true); addMeasureButton = new AddScriptButton(); - addMeasureButton->setToolTip("Create a Measure from Template and add to My Measures"); + addMeasureButton->setToolTip(tr("Create a Measure from Template and add to My Measures")); footerHLayout->addWidget(addMeasureButton); checkForUpdateButton = new CheckForUpdateButton(); - checkForUpdateButton->setToolTip("Look for BCL measure updates online"); + checkForUpdateButton->setToolTip(tr("Look for BCL measure updates online")); footerHLayout->addWidget(checkForUpdateButton); // STRETCH footerHLayout->addStretch(); myMeasuresFolderButton = new MyMeasuresFolderButton(); - myMeasuresFolderButton->setToolTip("Open the My Measures Directory"); + myMeasuresFolderButton->setToolTip(tr("Open the My Measures Directory")); footerHLayout->addWidget(myMeasuresFolderButton); auto* footerHLayout2 = new QHBoxLayout(); @@ -84,8 +84,8 @@ LocalLibraryView::LocalLibraryView(QWidget* parent) : QWidget(parent) { footerVLayout->addLayout(footerHLayout2); addBCLMeasureButton = new GrayButton(); - addBCLMeasureButton->setText("Find Measures on BCL"); - addBCLMeasureButton->setToolTip("Connect to Online BCL to Download New Measures and Update Existing Measures to Library"); + addBCLMeasureButton->setText(tr("Find Measures on BCL")); + addBCLMeasureButton->setToolTip(tr("Connect to Online BCL to Download New Measures and Update Existing Measures to Library")); footerHLayout2->addWidget(addBCLMeasureButton); } diff --git a/src/shared_gui_components/OSGridController.cpp b/src/shared_gui_components/OSGridController.cpp index 8638f9078..2754830ed 100644 --- a/src/shared_gui_components/OSGridController.cpp +++ b/src/shared_gui_components/OSGridController.cpp @@ -158,7 +158,7 @@ void OSGridController::resetCategoryAndFields() { void OSGridController::setCategoriesAndFields() { std::vector fields; - std::pair> categoryAndFields = std::make_pair(QString("Custom"), fields); + std::pair> categoryAndFields = std::make_pair(QCoreApplication::translate("openstudio::OSGridController", "Custom"), fields); addCategoryAndFields(categoryAndFields); setCustomCategoryAndFields(); @@ -464,13 +464,13 @@ void OSGridController::checkSelectedFields() { void OSGridController::setCustomCategoryAndFields() { // First, find and erase the old fields for custom std::vector cats = this->categories(); - if (auto it = std::find(cats.begin(), cats.end(), QString("Custom")); it != cats.end()) { + if (auto it = std::find(cats.begin(), cats.end(), QCoreApplication::translate("openstudio::OSGridController", "Custom")); it != cats.end()) { int index = std::distance(cats.begin(), it); m_categoriesAndFields.erase(m_categoriesAndFields.begin() + index); } // Make a new set of fields for custom - std::pair> categoryAndFields = std::make_pair(QString("Custom"), m_customFields); + std::pair> categoryAndFields = std::make_pair(QCoreApplication::translate("openstudio::OSGridController", "Custom"), m_customFields); m_categoriesAndFields.push_back(categoryAndFields); } @@ -772,10 +772,10 @@ void OSGridController::onInFocus(bool inFocus, bool hasData, int modelRow, int g if (inFocus) { m_focusedCellLocation = std::make_tuple(gridRow, column, subrow); - button->setText("Apply to Selected"); + button->setText(tr("Apply to Selected")); } else { // do not reset m_focusedCellLocation here because the focused cell goes out of focus when the apply button is clicked - button->setText("Apply to Selected"); + button->setText(tr("Apply to Selected")); } m_applyToButtonStates.push_back(std::make_pair(column, inFocus && hasData)); @@ -896,7 +896,7 @@ HorizontalHeaderWidget::HorizontalHeaderWidget(const QString& fieldName, QWidget mainLayout->addStretch(); - m_pushButton->setText("Apply to Selected"); + m_pushButton->setText(tr("Apply to Selected")); m_pushButton->setMaximumWidth(150); m_pushButton->setEnabled(false); connect(m_pushButton, &HorizontalHeaderPushButton::inFocus, this, &HorizontalHeaderWidget::inFocus); diff --git a/src/shared_gui_components/WorkflowController.cpp b/src/shared_gui_components/WorkflowController.cpp index 74ee5f764..a71c3562e 100644 --- a/src/shared_gui_components/WorkflowController.cpp +++ b/src/shared_gui_components/WorkflowController.cpp @@ -44,14 +44,14 @@ namespace measuretab { WorkflowController::WorkflowController(BaseApp* t_baseApp) { QSharedPointer workflowSectionItem; - workflowSectionItem = QSharedPointer(new WorkflowSectionItem(MeasureType::ModelMeasure, "OpenStudio Measures", t_baseApp)); + workflowSectionItem = QSharedPointer(new WorkflowSectionItem(MeasureType::ModelMeasure, tr("OpenStudio Measures"), t_baseApp)); addItem(workflowSectionItem); workflowSectionItem = - QSharedPointer(new WorkflowSectionItem(MeasureType::EnergyPlusMeasure, "EnergyPlus Measures", t_baseApp)); + QSharedPointer(new WorkflowSectionItem(MeasureType::EnergyPlusMeasure, tr("EnergyPlus Measures"), t_baseApp)); addItem(workflowSectionItem); - workflowSectionItem = QSharedPointer(new WorkflowSectionItem(MeasureType::ReportingMeasure, "Reporting Measures", t_baseApp)); + workflowSectionItem = QSharedPointer(new WorkflowSectionItem(MeasureType::ReportingMeasure, tr("Reporting Measures"), t_baseApp)); addItem(workflowSectionItem); } diff --git a/src/shared_gui_components/WorkflowView.cpp b/src/shared_gui_components/WorkflowView.cpp index 50564e119..4b1f309b6 100644 --- a/src/shared_gui_components/WorkflowView.cpp +++ b/src/shared_gui_components/WorkflowView.cpp @@ -63,7 +63,7 @@ void RectangularDropZone::dragEnterEvent(QDragEnterEvent* event) { } NewMeasureDropZone::NewMeasureDropZone() { - nameLabel->setText("Drop Measure From Library to Create a New Always Run Measure"); + nameLabel->setText(QString("%1").arg(tr("Drop Measure From Library to Create a New Always Run Measure"))); nameLabel->setStyleSheet("QLabel {color: #7D7D7D; }"); } diff --git a/translations/OpenStudioApp_es.ts b/translations/OpenStudioApp_es.ts index 61bbe69ec..3c46f83d4 100644 --- a/translations/OpenStudioApp_es.ts +++ b/translations/OpenStudioApp_es.ts @@ -1,4 +1,4 @@ - + @@ -263,6 +263,91 @@ Zone openstudio::EditorWebView + + + Geometry Type + Tipo de Geometría + + + + FloorspaceJS + FloorspaceJS + + + + gbXML + gbXML + + + + IDF + IDF + + + + OSM + OSM + + + + New + Nuevo + + + + Import + Importar + + + + Refresh + Actualizar + + + + Preview OSM + Vista Previa OSM + + + + Merge with Current OSM + Combinar con OSM Actual + + + + Geometry Preview + Vista Previa de Geometría + + + + Unmerged Changes + Cambios sin Combinar + + + + Your geometry may include unmerged changes. Merge with Current OSM now? Choose Ignore to skip this message in the future. + Es posible que su geometría incluya cambios sin combinar. ¿Combinar con OSM Actual ahora? Elija Ignorar para omitir este mensaje en el futuro. + + + + Units Change + Cambio de Unidades + + + + Changing unit system for existing floorplan is not currently supported. Reload tab to change units. + Cambiar el sistema de unidades para un plano de planta existente no está actualmente soportado. Recargue la pestaña para cambiar las unidades. + + + + Merging Models + Combinando Modelos + + + + Models Merged + Modelos Combinados + @@ -739,17 +824,17 @@ Zone E&xamples - + E&jemplos &Example Model - + &Modelo de Ejemplo Shoebox Model - + Modelo Caja de Zapatos @@ -883,12 +968,12 @@ Zone &Use Classic CLI - + &Usar CLI Clásico &Display Additional Proprerties - + &Mostrar Propiedades Adicionales @@ -933,12 +1018,12 @@ Zone Allow Analytics - + Permitir Analíticas Debug Webgl - + Depurar WebGL @@ -1049,6 +1134,81 @@ Si le gustaría ver la AplicaciónOpenStudio traducido a algun otro lenguaje, le Online BCL BCL en Linea + + + Site + Sitio + + + + Schedules + Horarios + + + + Constructions + Construcciones + + + + Loads + Cargas + + + + Space Types + Tipos de espacio + + + + Geometry + Geometría + + + + Facility + Edificio + + + + Spaces + Espacios + + + + Thermal Zones + Zonas térmicas + + + + HVAC Systems + Sistemas HVAC + + + + Output Variables + Variables de salida + + + + Simulation Settings + Configuración de simulación + + + + Measures + Medidas + + + + Run Simulation + Ejecutar simulación + + + + Results Summary + Resumen de resultados + openstudio::OpenStudioApp @@ -1654,87 +1814,87 @@ Outdoor Air Temperatures Select Output Variables - + Seleccionar Variables de Salida All - Todos + Todos Enabled - + Habilitadas Disabled - + Deshabilitadas Filter Variables - + Filtrar Variables Use Regex - + Usar Expresión Regular Update Visible Variables - + Actualizar Variables Visibles All On - + Todas Activadas All Off - + Todas Desactivadas Apply Frequency - + Aplicar Frecuencia Detailed - + Detallado Timestep - + Paso de Tiempo Hourly - + Por Hora Daily - + Diario Monthly - + Mensual RunPeriod - + Período de Simulación Annual - + Anual @@ -2085,556 +2245,12196 @@ Outdoor Air Temperatures - CalendarSegmentItem + openstudio::DaySchedulePlotArea - - Double click to cut segment - Doble clic para cortar segmento + + Drag vertical line to adjust + Arrastrar línea vertical para ajustar - - - DefaultScheduleDayView - - Default day profile. - Perfil del día predeterminado. + + Mouse over horizontal line to set value + Pasar el ratón sobre la línea horizontal para establecer valor - MainRightColumnController - - - Schedule File - Archivo de horario - + openstudio::MonthView - - Variable Interval Schedules - Horarios de intervalo variable + + January + Enero - - Fixed Interval Schedules - Horarios de intervalo fijo + + February + Febrero - - Year Schedules - Horarios anuales + + March + Marzo - - Constant Schedules - Horarios constantes + + April + Abril - - Compact Schedules - Horarios compactos + + May + Mayo - - Ruleset Schedules - Horarios de conjunto de reglas + + June + Junio - - Schedule Sets - Conjuntos de horarios + + July + Julio - - Schedule Rulesets - Conjuntos de reglas de horario + + August + Agosto - - - MonthView - - January - Enero + + September + Septiembre - - - NewProfileView - - Create a new profile. - Crear un nuevo perfil. + + October + Octubre - - Make a New Profile Based on: - Crear un nuevo perfil basado en: + + November + Noviembre - - Add - Agregar + + December + Diciembre + + + openstudio::OSDropZone - - <New Profile> - <Nuevo perfil> + + Drag From Library + Arrastrar desde la biblioteca + + + openstudio::OSItemSelectorButtons - - Default Day Schedule - Horario del día predeterminado + + Add new object + Agregar nuevo objeto - - Summer Design Day Schedule - Horario del día de diseño de verano + + Copy selected object + Copiar objeto seleccionado - - Winter Design Day Schedule - Horario del día de diseño de invierno + + Remove selected objects + Remover objetos seleccionados - - Holiday Design Day Schedule - Horario del día de diseño festivo + + Purge unused objects + Borrar todos los objetos sin usar - ScheduleCompactInspectorView + openstudio::SchedulesTabController - - Name: - Nombre: + + Schedule Sets + Conjuntos de horarios - - Content: - Contenido: + + Schedules + Horarios + + + + Other Schedules + Otros horarios - ScheduleConstantInspectorView + openstudio::SchedulesTabView - - Name: - Nombre: + + Schedules + Horarios + + + openstudio::SpaceTypesTabView - - Value: - Valor: + + Space Types + Tipos de espacio - ScheduleDayView + openstudio::SpaceTypesGridView - - Schedule Day Name: - Nombre del día de horario: + + Space Types + Tipos de espacio - - Hourly - Por hora + + Drop +Space Type + Arrastrar +Tipo de espacio - - 15 Minutes - 15 minutos + + Filter: + Filtrar: - - 1 Minute - 1 minuto + + Load Type + Tipo de carga - ScheduleDialog + openstudio::SpaceTypesGridController - - Apply - Aplicar + + Space Type Name + Nombre del tipo de espacio - - Define New Schedule - Definir nuevo horario + + All + Todos - - Schedule Type - Tipo de horario + + Rendering Color + Color de representación - - Numeric Type: - Tipo numérico: + + Default Construction Set + Conjunto de construcción predeterminado - - Lower Limit: - Límite inferior: + + Default Schedule Set + Conjunto de horarios predeterminado - - Upper Limit: - Límite superior: + + Design Specification Outdoor Air + Especificación de diseño de aire exterior - - unitless - sin unidades + + Space Infiltration Design Flow Rates + Tasas de flujo de diseño de infiltración - - None - Ninguno + + Space Infiltration Effective Leakage Areas + Áreas de fuga efectiva de infiltración - - - ScheduleFileInspectorView - - Name: - Nombre: + + Load Name + Nombre de carga - - FilePath: - Ruta de archivo: + + Multiplier + Multiplicador - - Column Number: - Número de columna: + + Definition + Definición - - Rows to Skip at Top: - Filas a omitir al inicio: + + Schedule + Horario - - Number of Hours of Data: - Número de horas de datos: + + Activity Schedule +(People Only) + Horario de actividad +(solo personas) - - Column Separator: - Separador de columnas: + + Standards Template (Optional) + Plantilla normativa (opcional) - - Comma - Coma + + Standards Building Type +(Optional) + Tipo de edificio normativo +(opcional) - - Tab - Tabulador + + Standards Space Type +(Optional) + Tipo de espacio normativo +(opcional) - - Space - Espacio + + Show all loads + Mostrar todas las cargas - - Semicolon - Punto y coma + + Internal Mass + Masa interna - - Interpolate to Timestep: - Interpolar al paso de tiempo: + + People + Personas - - Minutes per Item: - Minutos por elemento: + + Lights + Iluminación - - Adjust Schedule for Daylight Savings: - Ajustar horario para horario de verano: + + Luminaire + Luminaria - - Translate File With Relative Path: - Usar ruta relativa para el archivo: + + Electric Equipment + Equipo eléctrico - - Content: - Contenido: + + Gas Equipment + Equipo de gas - - Number of Lines in file: - Número de líneas en el archivo: + + Hot Water Equipment + Equipo de agua caliente - - Display All File Content: - Mostrar todo el contenido del archivo: + + Steam Equipment + Equipo de vapor - - - ScheduleLimitsView - - Lower Limit: - Límite inferior: + + Other Equipment + Otro equipo - - Upper Limit: - Límite superior: + + Space Infiltration Design Flow Rate + Tasa de flujo de diseño de infiltración - - - ScheduleOthersController - - Creation of Schedule:Compact is not supported, you should use a ScheduleRuleset instead - La creación de Schedule:Compact no está soportada, se recomienda usar un ScheduleRuleset en su lugar + + Space Infiltration Effective Leakage Area + Área de fuga efectiva de infiltración - - - ScheduleOthersView - - Schedule Constant - Horario constante + + Check to select all rows + Marcar para seleccionar todas las filas - - Schedule Compact - Horario compacto + + Check to select this row + Marcar para seleccionar esta fila - - Schedule File - Archivo de horario + + General + General + + + + Loads + Cargas + + + + Measure +Tags + Etiquetas de +medición - ScheduleRuleView + openstudio::OSGridController - - Schedule Rule Name: - Nombre de la regla de horario: + + Custom + Personalizado + + + openstudio::GeometryTabController - - Date Range: - Rango de fechas: + + Geometry + Geometría - - Apply to: - Aplicar a: + + 3D View + Vista 3D - - S - Domingo (Sunday) / Sábado (Saturday) — needs disambiguation in source code - + + Editor + Editor + + + openstudio::FacilityTabView - - M - Lunes (Monday) - L + + Facility + Instalación + + + openstudio::FacilityTabController - - T - Martes (Tuesday) / Jueves (Thursday) — needs disambiguation in source code - + + Building + Edificio - - W - Miércoles (Wednesday) - X + + Stories + Plantas - - F - Viernes (Friday) - V + + Shading + Sombreado + + + + Exterior Equipment + Equipos Exteriores - ScheduleRulesetNameWidget + openstudio::BuildingInspectorView - - Schedule Name: - Nombre del horario: + + Name: + Nombre: - - Schedule Type: - Tipo de horario: + + Display Name: + Nombre de Visualización: - - - ScheduleSetInspectorView - - Name - Nombre + + CAD Object Id: + Id de Objeto CAD: - - Default Schedules - Horarios predeterminados + + Measure Tags (Optional): + Etiquetas de Medida (Opcional): - - Hours of Operation - Horas de operación + + Standards Template: + Plantilla de Normas: - - Number of People - Número de personas + + Standards Building Type: + Tipo de Edificio según Normas: - - People Activity - Actividad de personas + + Nominal Floor to Ceiling Height: + Altura Nominal de Suelo a Techo: - - Lighting - Iluminación + + Nominal Floor to Floor Height: + Altura Nominal de Suelo a Suelo: - - Electric Equipment - Equipo eléctrico + + Standards Number of Stories: + Número de Plantas según Normas: - - Gas Equipment - Equipo de gas + + Standards Number of Above Ground Stories: + Número de Plantas sobre Rasante: - - Hot Water Equipment - Equipo de agua caliente + + Standards Number of Living Units: + Número de Unidades Habitables: - - Steam Equipment - Equipo de vapor + + Relocatable: + Reubicable: - - Other Equipment - Otros equipos + + North Axis: + Eje Norte: - - Infiltration - Infiltración + + Space Type: + Tipo de Espacio: + + + + Default Construction Set: + Conjunto de Construcción por Defecto: + + + + Default Schedule Set: + Conjunto de Horarios por Defecto: - ScheduleTabContent + openstudio::FacilityStoriesGridView - - Special Day Profiles - Perfiles de días especiales + + + Building Stories + Plantas del Edificio - - Run Period Profiles - Perfiles del período de ejecución + + Drop +Story + Soltar +Planta - - Click to add new run period profile - Clic para agregar nuevo perfil de período de ejecución + + Filters: + Filtros: - ScheduleTabDefault + openstudio::FacilityStoriesGridController - - Summer Design Day - Día de diseño de verano + + Story Name + Nombre de Planta - - Click to edit summer design day profile - Clic para editar el perfil del día de diseño de verano + + All + Todos - - Winter Design Day - Día de diseño de invierno + + Display Name + Nombre de Visualización - - Click to edit winter design day profile - Clic para editar el perfil del día de diseño de invierno + + CAD Object ID + Id de Objeto CAD - - Holiday - Festivo + + Nominal Z Coordinate + Coordenada Z Nominal - - Click to edit holiday profile - Clic para editar el perfil de días festivos + + Nominal Floor to Floor Height + Altura Nominal Suelo a Suelo - - Default - Predeterminado + + Default Construction Set Name + Nombre Conjunto de Construcción - - Click to edit default profile - Clic para editar el perfil predeterminado + + Default Schedule Set Name + Nombre Conjunto de Horarios - - - ScheduleTypeLimitItem - - Schedule Type Limit - Límite de tipo de horario + + Group Rendering Name + Nombre de Renderizado de Grupo + + + + Nominal Floor to Ceiling Height + Altura Nominal Suelo a Techo + + + + Nominal Z Coordinate > + Coordenada Z Nominal > + + + + Nominal Z Coordinate < + Coordenada Z Nominal < + + + + General + General - SpecialScheduleDayView + openstudio::FacilityShadingGridView - - Summer design day profile. - Perfil del día de diseño de verano. + + + Shading Surface Group + Grupo de Superficies de Sombreado - - Winter design day profile. - Perfil del día de diseño de invierno. + + Drop Shading +Surface Group + Soltar Grupo +de Sombreado - - Holiday profile. - Perfil de días festivos. + + Filters: + Filtros: + + + + All + Todos + + + + Site + Sitio + + + + Building + Edificio - VCalendarSegmentItem + openstudio::FacilityShadingGridController - - Double click to delete segment - Doble clic para eliminar segmento + + Shading Surface Group Name + Nombre de Grupo de Superficies de Sombreado + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Type + Tipo + + + + Shading Surface Name + Nombre de Superficie de Sombreado + + + + Construction Name + Nombre de Construcción + + + + Transmittance Schedule Name + Nombre de Horario de Transmitancia + + + + Shading Surface Type + Tipo de Superficie de Sombreado + + + + Degrees Tilt > + Grados de Inclinación > + + + + Degrees Tilt < + Grados de Inclinación < + + + + Degrees Orientation > + Grados de Orientación > + + + + Degrees Orientation < + Grados de Orientación < + + + + General + General + + + + openstudio::FacilityExteriorEquipmentGridView + + + + Exterior Equipment + Equipos Exteriores + + + + Drop +Exterior Equipment + Soltar +Equipos Exteriores + + + + openstudio::FacilityExteriorEquipmentGridController + + + Name + Nombre + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Exterior Lights Definition + Definición de Luminarias Exteriores + + + + Schedule + Horario + + + + Control Option + Opción de Control + + + + Multiplier + Multiplicador + + + + End Use Subcategory + Subcategoría de Uso Final + + + + Exterior Fuel Equipment Definition + Definición de Equipo de Combustible Exterior + + + + Fuel Type + Tipo de Combustible + + + + Exterior Water Equipment Definition + Definición de Equipo de Agua Exterior + + + + Exterior Lights + Luminarias Exteriores + + + + Exterior Fuel Equipment + Equipos de Combustible Exterior + + + + Exterior Water Equipment + Equipos de Agua Exterior + + + + openstudio::SpacesTabController + + + Properties + Propiedades + + + + Loads + Cargas + + + + Surfaces + Superficies + + + + Subsurfaces + Sub Superficies + + + + Interior Partitions + Particiones Interiores + + + + Shading + Sombreado + + + + openstudio::SpacesSubtabGridView + + + Filters: + Filtros: + + + + Story + Planta + + + + Thermal Zone + Zona Térmica + + + + Thermal Zone Name + Nombre de Zona Térmica + + + + Space Type + Tipo de Espacio + + + + SubSurface Type + Tipo de Sub Superficie + + + + Space Name + Nombre de Espacio + + + + Load Type + Tipo de Carga + + + + Wind Exposure + Exposición al Viento + + + + Sun Exposure + Exposición Solar + + + + Outside Boundary Condition + Condición de Límite Exterior + + + + Surface Type + Tipo de Superficie + + + + Interior Partition Group + Grupo de Particiones Interiores + + + + All + Todos + + + + Unassigned + Sin asignar + + + + Internal Mass + Masa Interna + + + + People + Personas + + + + Lights + Iluminación + + + + Luminaire + Luminaria + + + + Electric Equipment + Equipos Eléctricos + + + + Gas Equipment + Equipos de Gas + + + + Hot Water Equipment + Equipos de Agua Caliente + + + + Steam Equipment + Equipos de Vapor + + + + Other Equipment + Otros Equipos + + + + Space Infiltration Design Flow Rate + Tasa de Flujo de Infiltración + + + + Space Infiltration Effective Leakage Area + Área de Fuga Efectiva de Infiltración + + + WindExposed + Expuesto al Viento + + + NoWind + Sin Viento + + + SunExposed + Expuesto al Sol + + + NoSun + Sin Sol + + + Floor + Suelo + + + Wall + Muro + + + RoofCeiling + Techo + + + Outdoors + Exterior + + + Ground + Terreno + + + Surface + Superficie + + + Foundation + Cimentación + + + OtherSideCoefficients + Coeficientes Lado Externo + + + OtherSideConditionsModel + Modelo Cond. Lado Externo + + + GroundFCfactorMethod + Terreno (Método F-C) + + + GroundSlabPreprocessorAverage + Losa Promedio + + + GroundSlabPreprocessorConduction + Losa Conducción + + + GroundSlabPreprocessorRadiation + Losa Radiación + + + GroundBasementPreprocessorAverageWall + Sótano Muro Promedio + + + GroundBasementPreprocessorAverageFloor + Sótano Suelo Promedio + + + GroundBasementPreprocessorUpperWall + Sótano Muro Superior + + + GroundBasementPreprocessorLowerWall + Sótano Muro Inferior + + + FixedWindow + Ventana Fija + + + OperableWindow + Ventana Abatible + + + Door + Puerta + + + GlassDoor + Puerta de Vidrio + + + OverheadDoor + Puerta de Garaje + + + Skylight + Lucernario + + + TubularDaylightDome + Domo de Iluminación Tubular + + + TubularDaylightDiffuser + Difusor de Iluminación Tubular + + + + openstudio::SpacesSpacesGridView + + + + Space + Espacio + + + + Drop +Space + Soltar +Espacio + + + + openstudio::SpacesSpacesGridController + + + Space Name + Nombre de Espacio + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + All + Todos + + + + Story + Planta + + + + Thermal Zone + Zona Térmica + + + + Space Type + Tipo de Espacio + + + + Default Construction Set + Conjunto de Construcción por Defecto + + + + Default Schedule Set + Conjunto de Horarios por Defecto + + + + Part of Total Floor Area + Parte del Área Total de Planta + + + + Space Infiltration Design Flow Rates + Tasas de Flujo de Infiltración + + + + Space Infiltration Effective Leakage Areas + Áreas de Fuga Efectiva de Infiltración + + + + Design Specification Outdoor Air Object Name + Nombre de Especificación de Diseño de Aire Exterior + + + + General + General + + + + Airflow + Flujo de Aire + + + + openstudio::SpacesLoadsGridView + + + + Space + Espacio + + + + Drop +Space + Soltar +Espacio + + + + openstudio::SpacesLoadsGridController + + + Space Name + Nombre de Espacio + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Load Name + Nombre de Carga + + + + Multiplier + Multiplicador + + + + Definition + Definición + + + + Schedule + Horario + + + + Activity Schedule +(People Only) + Horario de Actividad +(Solo Personas) + + + + General + General + + + + openstudio::SpacesSurfacesGridView + + + + Space + Espacio + + + + Drop +Space + Soltar +Espacio + + + + openstudio::SpacesSurfacesGridController + + + Space Name + Nombre de Espacio + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Surface Name + Nombre de Superficie + + + + Surface Type + Tipo de Superficie + + + + Construction + Construcción + + + + Outside Boundary Condition + Condición de Límite Exterior + + + + Outside Boundary Condition Object + Objeto de Condición de Límite Exterior + + + + Sun Exposure + Exposición Solar + + + + Wind Exposure + Exposición al Viento + + + + Shading Surface Name + Nombre de Superficie de Sombreado + + + + General + General + + + + openstudio::SpacesSubsurfacesGridView + + + + Space + Espacio + + + + Drop +Space + Soltar +Espacio + + + + openstudio::SpacesSubsurfacesGridController + + + Space Name + Nombre de Espacio + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Parent Surface Name + Nombre de Superficie Principal + + + + Subsurface Name + Nombre de Sub Superficie + + + + Subsurface Type + Tipo de Sub Superficie + + + + Multiplier + Multiplicador + + + + Construction + Construcción + + + + Outside Boundary Condition Object + Objeto de Condición de Límite Exterior + + + + Shading Surface Name + Nombre de Superficie de Sombreado + + + + Shading Control + Control de Sombreado + + + + Shading Type + Tipo de Sombreado + + + + Construction with Shading Name + Nombre de Construcción con Sombreado + + + + Shading Device Material Name + Nombre de Material del Dispositivo de Sombreado + + + + Shading Control Type + Tipo de Control de Sombreado + + + + Schedule Name + Nombre de Horario + + + + Setpoint + Punto de Ajuste + + + + Setpoint 2 + Punto de Ajuste 2 + + + + + Frame and Divider + Marco y Divisor + + + + Frame Width + Ancho de Marco + + + + Frame Outside Projection + Proyección Exterior del Marco + + + + Frame Inside Projection + Proyección Interior del Marco + + + + Frame Conductance + Conductancia del Marco + + + + Frame - Edge Glass Conductance to Center - Of - Glass Conductance + Conductancia Vidrio Borde a Centro (Marco) + + + + Frame Solar Absorptance + Absortancia Solar del Marco + + + + Frame Visible Absorptance + Absortancia Visible del Marco + + + + Frame Thermal Hemispherical Emissivity + Emisividad Térmica Hemisférica del Marco + + + + Divider Type + Tipo de Divisor + + + + Divider Width + Ancho de Divisor + + + + Number of Horizontal Dividers + Núm. de Divisores Horizontales + + + + Number of Vertical Dividers + Núm. de Divisores Verticales + + + + Divider Outside Projection + Proyección Exterior del Divisor + + + + Divider Inside Projection + Proyección Interior del Divisor + + + + Divider Conductance + Conductancia del Divisor + + + + Ratio of Divider - Edge Glass Conductance to Center - Of - Glass Conductance + Relación Conductancia Vidrio Borde a Centro (Divisor) + + + + Divider Solar Absorptance + Absortancia Solar del Divisor + + + + Divider Visible Absorptance + Absortancia Visible del Divisor + + + + Divider Thermal Hemispherical Emissivity + Emisividad Térmica Hemisférica del Divisor + + + + Outside Reveal Depth + Profundidad de Vuelo Exterior + + + + Outside Reveal Solar Absorptance + Absortancia Solar de Vuelo Exterior + + + + Inside Sill Depth + Profundidad del Alféizar Interior + + + + Inside Sill Solar Absorptance + Absortancia Solar del Alféizar Interior + + + + Inside Reveal Depth + Profundidad de Vuelo Interior + + + + Inside Reveal Solar Absorptance + Absortancia Solar de Vuelo Interior + + + + Daylighting Shelf Name + Nombre de Repisa de Iluminación Natural + + + + Window Name + Nombre de Ventana + + + + Inside Shelf Name + Nombre de Repisa Interior + + + + Outside Shelf Name + Nombre de Repisa Exterior + + + + View Factor to Outside Shelf + Factor de Vista a Repisa Exterior + + + + General + General + + + + Shading Controls + Controles de Sombreado + + + + Daylighting Shelves + Repisas de Iluminación Natural + + + + openstudio::SpacesInteriorPartitionsGridView + + + + Space + Espacio + + + + Drop +Space + Soltar +Espacio + + + + openstudio::SpacesInteriorPartitionsGridController + + + Space Name + Nombre de Espacio + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Interior Partition Group Name + Nombre de Grupo de Particiones Interiores + + + + Interior Partition Name + Nombre de Partición Interior + + + + Construction Name + Nombre de Construcción + + + + Convert to Internal Mass + Convertir a Masa Interna + + + + Surface Area + Área de Superficie + + + + Daylighting Shelf Name + Nombre de Repisa de Iluminación Natural + + + + General + General + + + + openstudio::SpacesShadingGridView + + + + Space + Espacio + + + + Drop +Space + Soltar +Espacio + + + + openstudio::SpacesShadingGridController + + + Space Name + Nombre de Espacio + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Shading Surface Group + Grupo de Superficies de Sombreado + + + + Construction + Construcción + + + + Transmittance Schedule + Horario de Transmitancia + + + + Shading Surface Name + Nombre de Superficie de Sombreado + + + + Daylighting Shelf Name + Nombre de Repisa de Iluminación Natural + + + + General + General + + + + openstudio::ThermalZonesTabView + + + Thermal Zones + Zonas Térmicas + + + + openstudio::ThermalZonesGridView + + + + Thermal Zones + Zonas Térmicas + + + + Drop +Zone + Soltar +Zona + + + + openstudio::ThermalZonesGridController + + + Name + Nombre + + + + All + Todos + + + + Display Name + Nombre de Visualización + + + + CAD Object ID + Id de Objeto CAD + + + + Rendering Color + Color de Renderizado + + + + Turn On +Ideal +Air Loads + Activar +Cargas de Aire +Ideales + + + + Air Loop Name + Nombre del Circuito de Aire + + + + Zone Equipment + Equipos de Zona + + + + Cooling Thermostat +Schedule + Horario Termostato +de Enfriamiento + + + + Heating Thermostat +Schedule + Horario Termostato +de Calefacción + + + + Humidifying Setpoint +Schedule + Horario P. Ajuste +Humidificación + + + + Dehumidifying Setpoint +Schedule + Horario P. Ajuste +Deshumidificación + + + + Multiplier + Multiplicador + + + + Zone Cooling +Design Supply +Air Temperature + Temperatura +Impulsión Diseño +Enfriamiento + + + + Zone Cooling +Design Supply +Air Humidity Ratio + Humedad +Impulsión Diseño +Enfriamiento + + + + Zone Cooling +Sizing Factor + Factor Dimensionado +Enfriamiento + + + + Cooling Minimum Air +Flow per Zone +Floor Area + Caudal Mínimo +Enfriamiento por +Área de Zona + + + + Design Zone Air +Distribution Effectiveness +in Cooling Mode + Efectividad Distribución +Aire en Modo +Enfriamiento + + + + Cooling Minimum +Air Flow Fraction + Fracción Caudal +Mínimo Enfriamiento + + + + Cooling Design +Air Flow Method + Método Caudal +Diseño Enfriamiento + + + + Cooling Design +Air Flow Rate + Caudal Diseño +Enfriamiento + + + + Cooling Minimum +Air Flow + Caudal Mínimo +Enfriamiento + + + + Zone Heating +Design Supply +Air Temperature + Temperatura +Impulsión Diseño +Calefacción + + + + Zone Heating +Design Supply +Air Humidity Ratio + Humedad +Impulsión Diseño +Calefacción + + + + Zone Heating +Sizing Factor + Factor Dimensionado +Calefacción + + + + Heating Maximum Air +Flow per Zone +Floor Area + Caudal Máximo +Calefacción por +Área de Zona + + + + Design Zone Air +Distribution Effectiveness +in Heating Mode + Efectividad Distribución +Aire en Modo +Calefacción + + + + Heating Maximum +Air Flow Fraction + Fracción Caudal +Máximo Calefacción + + + + Heating Design +Air Flow Method + Método Caudal +Diseño Calefacción + + + + Heating Design +Air Flow Rate + Caudal Diseño +Calefacción + + + + Heating Maximum +Air Flow + Caudal Máximo +Calefacción + + + + HVAC +Systems + Sistemas +HVAC + + + + Cooling +Sizing +Parameters + Parámetros +Dimensionado +Enfriamiento + + + + Heating +Sizing +Parameters + Parámetros +Dimensionado +Calefacción + + + + openstudio::PreviewWebView + + + Refresh + Actualizar + + + + Geometry Diagnostics + Diagnósticos de geometría + + + + CalendarSegmentItem + + + Double click to cut segment + Doble clic para cortar segmento + + + + openstudio::DefaultScheduleDayView + + + Default day profile. + Perfil del día predeterminado. + + + + openstudio::MainRightColumnController + + + Schedule File + Archivo de horario + + + + Variable Interval Schedules + Horarios de intervalo variable + + + + Fixed Interval Schedules + Horarios de intervalo fijo + + + + Year Schedules + Horarios anuales + + + + Constant Schedules + Horarios constantes + + + + Compact Schedules + Horarios compactos + + + + Ruleset Schedules + Horarios de conjunto de reglas + + + + Schedules + Horarios + + + + Schedule Sets + Conjuntos de horarios + + + + Schedule Rulesets + Conjuntos de reglas de horario + + + + My Model + Mi modelo + + + + Library + Biblioteca + + + + Edit + Editar + + + + Constructions + Construcciones + + + + Construction Sets + Conjuntos de construcción + + + + Air Boundary Constructions + Construcciones de límite de aire + + + + Internal Source Constructions + Construcciones de fuente interna + + + + C-factor Underground Wall Constructions + Construcciones de muro subterráneo (factor C) + + + + F-factor Ground Floor Constructions + Construcciones de planta baja (factor F) + + + + Window Data File Constructions + Construcciones de archivo de datos de ventana + + + + Materials + Materiales + + + + No Mass Materials + Materiales sin masa + + + + Air Gap Materials + Materiales de cámara de aire + + + + Infrared Transparent Materials + Materiales transparentes al infrarrojo + + + + Roof Vegetation Materials + Materiales de vegetación en cubierta + + + + Window Materials + Materiales para ventanas + + + + Simple Glazing System Window Materials + Materiales de acristalamiento simple + + + + Glazing Window Materials + Materiales de vidrio para ventanas + + + + Gas Window Materials + Materiales de gas para ventanas + + + + Gas Mixture Window Materials + Materiales de mezcla de gas para ventanas + + + + Daylight Redirection Device Window Materials + Materiales de dispositivo de redireccionamiento de luz diurna + + + + Blind Window Materials + Materiales de persiana para ventanas + + + + Screen Window Materials + Materiales de pantalla para ventanas + + + + Shade Window Materials + Materiales de persiana opaca para ventanas + + + + Refraction Extinction Method Glazing Window Materials + Materiales de vidrio (método de extinción por refracción) + + + + Definitions + Definiciones + + + + People Definitions + Definiciones de personas + + + + Lights Definitions + Definiciones de iluminación + + + + Luminaire Definitions + Definiciones de luminarias + + + + Electric Equipment Definitions + Definiciones de equipos eléctricos + + + + Gas Equipment Definitions + Definiciones de equipos de gas + + + + Steam Equipment Definitions + Definiciones de equipos de vapor + + + + Other Equipment Definitions + Definiciones de otros equipos + + + + Internal Mass Definitions + Definiciones de masa interna + + + + Water Use Equipment Definitions + Definiciones de equipos de uso de agua + + + + Hot Water Equipment Definitions + Definiciones de equipos de agua caliente + + + + Defaults + Predeterminados + + + + Design Specification Outdoor Air + Especificación de diseño de aire exterior + + + + Space Infiltration Design Flow Rates + Tasas de flujo de diseño de infiltración + + + + Space Infiltration Effective Leakage Areas + Áreas de fuga efectiva de infiltración + + + + Space Types + Tipos de espacio + + + + Exterior Water Equipment Definitions + Definiciones de Equipos de Agua Exterior + + + + Exterior Fuel Equipment Definitions + Definiciones de Equipos de Combustible Exterior + + + + Exterior Lights Definitions + Definiciones de Luminarias Exteriores + + + + Exterior Water Equipment + Equipos de Agua Exterior + + + + Exterior Fuel Equipment + Equipos de Combustible Exterior + + + + Exterior Lights + Luminarias Exteriores + + + + Thermal Zones + Zonas Térmicas + + + + Building Stories + Plantas del Edificio + + + + Building + Edificio + + + + ShadingControl + Control de Sombreado + + + + Frame And Divider Window Property + Propiedad de Marco y Divisor de Ventana + + + + DaylightingDevice Shelf + Repisa de Iluminación Natural + + + + Daylighting + Iluminación Natural + + + + Interior Partition Surface + Superficie de Partición Interior + + + + Water Heater - Heat Pump + Calentador de Agua - Bomba de Calor + + + + Water Heater - Heat Pump - Wrapped Condenser + Calentador de Agua - Bomba de Calor - Condensador Envuelto + + + + Water Heaters + Calentadores de Agua + + + + Sub Surfaces + Sub Superficies + + + + Surfaces + Superficies + + + + Shading Surface + Superficie de Sombreado + + + Thermal Zone + Zona Térmica + + + Zones + Zonas + + + Zone HVAC + HVAC de Zona + + + Coils + Serpentines + + + Heat Pumps + Bombas de Calor + + + Heat Exchangers + Intercambiadores de Calor + + + Chillers + Enfriadoras + + + Water Uses + Usos de Agua + + + VRFs + VRFs + + + Thermal Storage + Almacenamiento Térmico + + + Refrigeration + Refrigeración + + + Setpoint Managers + Gestores de P. de Ajuste + + + Swimming Pools + Piscinas + + + Solar Collectors + Colectores Solares + + + Pumps + Bombas + + + Plant Components + Componentes de Planta + + + Pipes + Tuberías + + + Load Profiles + Perfiles de Carga + + + Humidifiers + Humidificadores + + + Generators + Generadores + + + Ground Heat Exchangers + Intercambiadores Geotérmicos + + + Fluid Coolers + Enfriadores de Fluido + + + Fans + Ventiladores + + + Evaporative Coolers + Enfriadores Evaporativos + + + Ducts + Conductos + + + District Cooling + Refrigeración Distrital + + + District Heating + Calefacción Distrital + + + Cooling Towers + Torres de Refrigeración + + + Central Heat Pump Systems + Sistemas Centrales Bomba de Calor + + + Boilers + Calderas + + + Air Terminals + Terminales de Aire + + + Air Loop HVAC + Bucle de Aire HVAC + + + Availability Managers + Gestores de Disponibilidad + + + Water Use Equipment Definition + Def. Equipo Uso de Agua + + + Water Use Connections + Conexiones Uso de Agua + + + Water Heater Mixed + Calentador de Agua Mixto + + + Water Heater Stratified + Calentador de Agua Estratificado + + + VRF System + Sistema VRF + + + Thermal Storage - Chilled Water + Almac. Térmico - Agua Fría + + + Thermal Storage - Ice Storage + Almac. Térmico - Hielo + + + Refrigeration System + Sistema de Refrigeración + + + Refrigeration Condenser Water Cooled + Condensador Refrig. Enf. Agua + + + Refrigeration Condenser Evaporative Cooled + Condensador Refrig. Evaporativo + + + Refrigeration Condenser Air Cooled + Condensador Refrig. Enf. Aire + + + Refrigeration Condenser Cascade + Condensador Refrig. Cascada + + + Refrigeration Subcooler Mechanical + Subenfriador Refrig. Mecánico + + + Refrigeration Subcooler Liquid Suction + Subenfriador Refrig. Succión Líquida + + + Refrigeration Compressor + Compresor de Refrigeración + + + Refrigeration Case + Mueble Refrigerado + + + Refrigeration Walkin + Cámara Frigorífica + + + Water To Air HP + Bomba Calor Agua-Aire + + + VRF Terminal + Terminal VRF + + + Unit Ventilator + Ventilador de Unidad + + + Unit Heater + Calentador de Unidad + + + PTHP + PTHP + + + PTAC + PTAC + + + Four Pipe Fan Coil + Fan Coil 4 Tubos + + + Heat Pump - Water to Water - Heating + Bomba Calor Agua-Agua Calef. + + + Heat Pump - Water to Water - Cooling + Bomba Calor Agua-Agua Enf. + + + Heat Exchanger Fluid To Fluid + Intercambiador Fluido a Fluido + + + Heat Exchanger Air To Air Sensible and Latent + Intercambiador Aire-Aire Sens. y Lat. + + + Coil Heating Water + Serpentín Calef. Agua + + + Coil Cooling Water + Serpentín Enf. Agua + + + Coil Heating Gas + Serpentín Calef. Gas + + + Coil Heating Electric + Serpentín Calef. Eléctrico + + + Coil Heating DX SingleSpeed + Serpentín Calef. DX 1 Vel. + + + Coil Cooling DX SingleSpeed + Serpentín Enf. DX 1 Vel. + + + Coil Cooling DX TwoSpeed + Serpentín Enf. DX 2 Vel. + + + Coil Cooling DX VariableSpeed + Serpentín Enf. DX Vel. Variable + + + Coil Cooling DX TwoStage - Humidity Control + Serpentín Enf. DX 2 Etapas - Ctrl. Humedad + + + Central Heat Pump System + Sistema Central Bomba de Calor + + + Chiller - Electric EIR + Enfriadora Eléctrica EIR + + + Chiller - Absorption + Enfriadora Absorción + + + Chiller - Indirect Absorption + Enfriadora Absorción Indirecta + + + Swimming Pool Indoor + Piscina Interior + + + Solar Collector Integral Collector Storage + Colector Solar Almac. Integral + + + Solar Collector Flat Plate Water + Colector Solar Plano Agua + + + Water Use Equipment + Equipo Uso de Agua + + + Tempering Valve + Válvula Atenuadora + + + Setpoint Manager System Node Reset Humidity + Gestor PA - Reinicio Nodo Humedad + + + Setpoint Manager System Node Reset Temperature + Gestor PA - Reinicio Nodo Temperatura + + + Setpoint Manager Coldest + Gestor PA - Más Frío + + + Setpoint Manager Follow Ground Temperature + Gestor PA - Sigue Temp. Terreno + + + Setpoint Manager Follow Outdoor Air Temperature + Gestor PA - Sigue Temp. Aire Ext. + + + Setpoint Manager Follow System Node Temperature + Gestor PA - Sigue Temp. Nodo Sistema + + + Setpoint Manager Mixed Air + Gestor PA - Aire Mixto + + + Setpoint Manager MultiZone Cooling Average + Gestor PA - Multizona Enf. Promedio + + + Setpoint Manager MultiZone Heating Average + Gestor PA - Multizona Calef. Promedio + + + Setpoint Manager MultiZone Humidity Maximum + Gestor PA - Multizona Humedad Máx. + + + Setpoint Manager MultiZone Humidity Minimum + Gestor PA - Multizona Humedad Mín. + + + Setpoint Manager MultiZone MaximumHumidity Average + Gestor PA - Multizona Hum. Máx. Promedio + + + Setpoint Manager MultiZone MinimumHumidity Average + Gestor PA - Multizona Hum. Mín. Promedio + + + Setpoint Manager Outdoor Air Pretreat + Gestor PA - Pretrat. Aire Exterior + + + Setpoint Manager Outdoor Air Reset + Gestor PA - Reinicio Aire Exterior + + + Setpoint Manager Scheduled Dual Setpoint + Gestor PA - Programado Dual + + + Setpoint Manager Scheduled + Gestor PA - Programado + + + Setpoint Manager Single Zone Cooling + Gestor PA - Zona Única Enfriamiento + + + Setpoint Manager Single Zone Heating + Gestor PA - Zona Única Calefacción + + + Setpoint Manager Humidity Maximum + Gestor PA - Humedad Máxima + + + Setpoint Manager Humidity Minimum + Gestor PA - Humedad Mínima + + + Setpoint Manager One Stage Cooling + Gestor PA - 1 Etapa Enfriamiento + + + Setpoint Manager One Stage Heating + Gestor PA - 1 Etapa Calefacción + + + Setpoint Manager Single Zone Reheat + Gestor PA - Zona Única Recalent. + + + Setpoint Manager Warmest Temp and Flow + Gestor PA - Temp. Más Cálida y Caudal + + + Setpoint Manager Warmest + Gestor PA - Más Cálido + + + Pump Constant Speed Headered + Bomba Vel. Constante Múltiple + + + Pump Constant Speed + Bomba Velocidad Constante + + + Pump Variable Speed Headered + Bomba Vel. Variable Múltiple + + + Pump Variable Speed + Bomba Velocidad Variable + + + Plant Component - Temp Source + Comp. Planta - Fuente Temperatura + + + Plant Component - User Defined + Comp. Planta - Definido por Usuario + + + Pipe - Outdoor + Tubería - Exterior + + + Pipe - Indoor + Tubería - Interior + + + Pipe - Adiabatic + Tubería - Adiabática + + + Load Profile - Plant + Perfil de Carga - Planta + + + Humidifier Steam Electric + Humidificador Vapor Eléctrico + + + Humidifier Steam Gas + Humidificador Vapor Gas + + + Generator FuelCell - Exhaust Gas To Water Heat Exchanger + Celda Combustible - IC Gas-Agua + + + Generator MicroTurbine - Heat Recovery + Microturbina - Recuperación Calor + + + Ground Heat Exchanger - Vertical + Intercambiador Geotérmico - Vertical + + + Ground Heat Exchanger - Horizontal + Intercambiador Geotérmico - Horizontal + + + Fluid Cooler Two Speed + Enfriador Fluido 2 Vel. + + + Fluid Cooler Single Speed + Enfriador Fluido 1 Vel. + + + Fan Component Model + Ventilador Modelo Componente + + + Fan System Model + Ventilador Modelo Sistema + + + Fan Variable Volume + Ventilador Volumen Variable + + + Fan Constant Volume + Ventilador Volumen Constante + + + Evaporative Cooler Direct Research Special + Enfriador Evap. Directo Especial + + + Evaporative Cooler Indirect Research Special + Enfriador Evap. Indirecto Especial + + + Evaporative Fluid Cooler Two Speed + Enfriador Evap. Fluido 2 Vel. + + + Evaporative Fluid Cooler Single Speed + Enfriador Evap. Fluido 1 Vel. + + + Duct + Conducto + + + District Heating Water + Calefacción Distrital Agua + + + Cooling Tower Two Speed + Torre Refrig. 2 Vel. + + + Cooling Tower Single Speed + Torre Refrig. 1 Vel. + + + Cooling Tower Variable Speed + Torre Refrig. Vel. Variable + + + Boiler Hot Water + Caldera Agua Caliente + + + Air Terminal Four Pipe Induction + Terminal Aire 4 Tubos Inducción + + + Air Terminal Chilled Beam + Terminal Aire Viga Fría + + + Air Terminal Four Pipe Beam + Terminal Aire Viga 4 Tubos + + + AirTerminal Single Duct Constant Volume Reheat + Terminal Aire CD VC Recalentamiento + + + AirTerminal Single Duct VAV Reheat + Terminal Aire CD VAV Recalentamiento + + + AirTerminal Single Duct Parallel PIU Reheat + Terminal Aire CD PIU Paralelo Recalent. + + + AirTerminal Single Duct Series PIU Reheat + Terminal Aire CD PIU Serie Recalent. + + + AirTerminal Inlet Side Mixer + Terminal Aire Mezclador Entrada + + + AirTerminal Heat and Cool Reheat + Terminal Aire Calef. y Enf. Recalent. + + + AirTerminal Heat and Cool No Reheat + Terminal Aire Calef. y Enf. Sin Recalent. + + + AirTerminal Single Duct VAV NoReheat + Terminal Aire CD VAV Sin Recalent. + + + AirTerminal Single Duct Constant Volume No Reheat + Terminal Aire CD VC Sin Recalent. + + + Air Terminal Dual Duct Constant Volume + Terminal Aire Doble Conducto VC + + + Air Terminal Dual Duct VAV Outdoor Air + Terminal Aire DD VAV Aire Exterior + + + Air Terminal Dual Duct VAV + Terminal Aire Doble Conducto VAV + + + AirLoopHVAC Outdoor Air System + Bucle Aire HVAC - Sist. Aire Exterior + + + AirLoopHVAC Unitary Heat Pump AirToAir MultiSpeed + Bucle Aire HVAC - Bomba Calor Aire-Aire Multivel. + + + AirLoopHVAC Unitary VAV Changeover Bypass + Bucle Aire HVAC - VAV Conmutación Bypass + + + AirLoopHVAC Unitary System + Bucle Aire HVAC - Sistema Unitario + + + Availability Manager Scheduled On + Gestor Disp. Programado Activo + + + Availability Manager Scheduled Off + Gestor Disp. Programado Inactivo + + + Availability Manager Scheduled + Gestor Disp. Programado + + + Availability Manager Low Temperature Turn On + Gestor Disp. Temp. Baja Activación + + + Availability Manager Low Temperature Turn Off + Gestor Disp. Temp. Baja Desactivación + + + Availability Manager High Temperature Turn On + Gestor Disp. Temp. Alta Activación + + + Availability Manager High Temperature Turn Off + Gestor Disp. Temp. Alta Desactivación + + + Availability Manager Differential Thermostat + Gestor Disp. Termostato Diferencial + + + Availability Manager Optimum Start + Gestor Disp. Arranque Óptimo + + + Availability Manager Night Cycle + Gestor Disp. Ciclo Nocturno + + + Availability Manager Night Ventilation + Gestor Disp. Ventilación Nocturna + + + Availability Manager Hybrid Ventilation + Gestor Disp. Ventilación Híbrida + + + Unitary System + Sistema Unitario + + + Unitary Systems + Sistemas Unitarios + + + Evaporative Cooler Unit + Unidad Enfriadora Evaporativa + + + Cooling Panel Radiant Convective Water + Panel Frío Radiante-Convectivo Agua + + + Baseboard Convective Electric + Zócalo Convectivo Eléctrico + + + Baseboard Convective Water + Zócalo Convectivo Agua + + + Baseboard Radiant Convective Electric + Zócalo Radiante-Convectivo Eléctrico + + + Baseboard Radiant Convective Water + Zócalo Radiante-Convectivo Agua + + + Dehumidifier - DX + Deshumidificador - DX + + + ERV + VRC + + + Fan Zone Exhaust + Ventilador Extracción de Zona + + + Low Temp Radiant Constant Flow + Radiante Baja Temp. Flujo Constante + + + Low Temp Radiant Variable Flow + Radiante Baja Temp. Flujo Variable + + + Low Temp Radiant Electric + Radiante Baja Temp. Eléctrico + + + High Temp Radiant + Radiante Alta Temperatura + + + Zone Ventilation Design Flow Rate + Ventilación de Zona - Caudal de Diseño + + + Zone Ventilation Wind and Stack Open Area + Ventilación de Zona - Área Abierta Viento y Efecto Chimenea + + + Ventilation + Ventilación + + + + openstudio::ConstructionsTabController + + + Constructions + Construcciones + + + + Construction Sets + Conjuntos de construcción + + + + Materials + Materiales + + + + openstudio::ConstructionsView + + + Constructions + Construcciones + + + + Air Boundary Constructions + Construcciones de límite de aire + + + + Internal Source Constructions + Construcciones de fuente interna + + + + C-factor Underground Wall Constructions + Construcciones de muro subterráneo (factor C) + + + + F-factor Ground Floor Constructions + Construcciones de planta baja (factor F) + + + + openstudio::DefaultConstructionSetInspectorView + + + Name + Nombre + + + + Exterior Surface Constructions + Construcciones de superficies exteriores + + + + Interior Surface Constructions + Construcciones de superficies interiores + + + + Ground Contact Surface Constructions + Construcciones de superficies en contacto con el suelo + + + + Exterior Sub Surface Constructions + Construcciones de subsuperficies exteriores + + + + Interior Sub Surface Constructions + Construcciones de subsuperficies interiores + + + + Other Constructions + Otras construcciones + + + + Walls + Muros + + + + Floors + Pisos + + + + Roofs + Techos + + + + Ceilings + Cielos rasos + + + + Fixed Windows + Ventanas fijas + + + + Operable Windows + Ventanas operables + + + + Doors + Puertas + + + + Glass Doors + Puertas de vidrio + + + + Overhead Doors + Puertas de garaje + + + + Skylights + Lucernarios + + + + Tubular Daylight Domes + Domos de luz tubular + + + + Tubular Daylight Diffusers + Difusores de luz tubular + + + + Space Shading + Sombreado de espacio + + + + Building Shading + Sombreado de edificio + + + + Site Shading + Sombreado de sitio + + + + Interior Partitions + Particiones interiores + + + + Adiabatic Surfaces + Superficies adiabáticas + + + + openstudio::LoadsView + + + People Definitions + Definiciones de personas + + + + Lights Definitions + Definiciones de iluminación + + + + Luminaire Definitions + Definiciones de luminarias + + + + Electric Equipment Definitions + Definiciones de equipos eléctricos + + + + Gas Equipment Definitions + Definiciones de equipos de gas + + + + Steam Equipment Definitions + Definiciones de equipos de vapor + + + + Other Equipment Definitions + Definiciones de otros equipos + + + + Internal Mass Definitions + Definiciones de masa interna + + + + Water Use Equipment Definitions + Definiciones de equipos de uso de agua + + + + Hot Water Equipment Definitions + Definiciones de equipos de agua caliente + + + + openstudio::PeopleDefinitionInspectorView + + + Name: + Nombre: + + + + Number of People: + Número de personas: + + + + People per Space Floor Area: + Personas por área de piso del espacio: + + + + Space Floor Area per Person: + Área de piso del espacio por persona: + + + + Fraction Radiant: + Fracción radiante: + + + + Sensible Heat Fraction: + Fracción de calor sensible: + + + + Carbon Dioxide Generation Rate: + Tasa de generación de dióxido de carbono: + + + + Enable ASHRAE 55 Comfort Warnings: + Activar advertencias de confort ASHRAE 55: + + + + Mean Radiant Temperature Calculation Type: + Tipo de cálculo de temperatura radiante media: + + + + openstudio::LightsDefinitionInspectorView + + + Name: + Nombre: + + + + Lighting Power: + Potencia de iluminación: + + + + Watts Per Space Floor Area: + Vatios por área de piso del espacio: + + + + Watts Per Person: + Vatios por persona: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Visible: + Fracción visible: + + + + Return Air Fraction: + Fracción de aire de retorno: + + + + openstudio::LuminaireDefinitionInspectorView + + + Name: + Nombre: + + + + Lighting Power: + Potencia de iluminación: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Visible: + Fracción visible: + + + + Return Air Fraction: + Fracción de aire de retorno: + + + + openstudio::ElectricEquipmentDefinitionInspectorView + + + Name: + Nombre: + + + + Design Level: + Nivel de diseño: + + + + Watts Per Space Floor Area: + Vatios por área de piso del espacio: + + + + Watts Per Person: + Vatios por persona: + + + + Fraction Latent: + Fracción latente: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Lost: + Fracción perdida: + + + + openstudio::GasEquipmentDefinitionInspectorView + + + Name: + Nombre: + + + + Design Level: + Nivel de diseño: + + + + Power Per Space Floor Area: + Potencia por área de piso del espacio: + + + + Power Per Person: + Potencia por persona: + + + + Fraction Latent: + Fracción latente: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Lost: + Fracción perdida: + + + + Carbon Dioxide Generation Rate: + Tasa de generación de dióxido de carbono: + + + + openstudio::SteamEquipmentDefinitionInspectorView + + + Name: + Nombre: + + + + Design Level: + Nivel de diseño: + + + + Power Per Space Floor Area: + Potencia por área de piso del espacio: + + + + Power Per Person: + Potencia por persona: + + + + Fraction Latent: + Fracción latente: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Lost: + Fracción perdida: + + + + openstudio::OtherEquipmentDefinitionInspectorView + + + Name: + Nombre: + + + + Design Level: + Nivel de diseño: + + + + Power Per Space Floor Area: + Potencia por área de piso del espacio: + + + + Power Per Person: + Potencia por persona: + + + + Fraction Latent: + Fracción latente: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Lost: + Fracción perdida: + + + + openstudio::HotWaterEquipmentDefinitionInspectorView + + + Name: + Nombre: + + + + Design Level: + Nivel de diseño: + + + + Watts Per Space Floor Area: + Vatios por área de piso del espacio: + + + + Watts Per Person: + Vatios por persona: + + + + Fraction Latent: + Fracción latente: + + + + Fraction Radiant: + Fracción radiante: + + + + Fraction Lost: + Fracción perdida: + + + + openstudio::InternalMassDefinitionInspectorView + + + Name: + Nombre: + + + + Surface Area: + Área de superficie: + + + + Surface Area Per Space Floor Area: + Área de superficie por área de piso del espacio: + + + + Surface Area Per Person: + Área de superficie por persona: + + + + Construction: + Construcción: + + + + openstudio::WaterUseEquipmentDefinitionInspectorView + + + Name: + Nombre: + + + + End Use Subcategory: + Subcategoría de uso final: + + + + Peak Flow Rate: + Caudal pico: + + + + Target Temperature Schedule: + Horario de temperatura objetivo: + + + + Sensible Fraction Schedule: + Horario de fracción sensible: + + + + Latent Fraction Schedule: + Horario de fracción latente: + + + + openstudio::ConstructionAirBoundaryInspectorView + + + Name: + Nombre: + + + + Air Exchange Method: + Método de intercambio de aire: + + + + Simple Mixing Air Changes per Hour: + Cambios de aire por hora (mezcla simple): + + + + openstudio::ConstructionInternalSourceInspectorView + + + Name: + Nombre: + + + + Layer: + Capa: + + + + Outside + Exterior + + + + Inside + Interior + + + + Source Present After Layer: + Fuente presente después de la capa: + + + + Temperature Calculation Requested After Layer Number: + Cálculo de temperatura solicitado después del número de capa: + + + + Dimensions for the CTF Calculation: + Dimensiones para el cálculo CTF: + + + + Tube Spacing: + Separación de tubos: + + + + openstudio::ConstructionCfactorUndergroundWallInspectorView + + + Name: + Nombre: + + + + C-Factor: + Factor C: + + + + Height: + Altura: + + + + openstudio::ConstructionFfactorGroundFloorInspectorView + + + Name: + Nombre: + + + + F-Factor: + Factor F: + + + + Area: + Área: + + + + Perimeter Exposed: + Perímetro expuesto: + + + + openstudio::WindowMaterialShadeInspectorView + + + Name: + Nombre: + + + + Solar Transmittance: + Transmitancia solar: + + + + Solar Reflectance: + Reflectancia solar: + + + + Visible Transmittance: + Transmitancia visible: + + + + Visible Reflectance: + Reflectancia visible: + + + + Thermal Hemispherical Emissivity: + Emisividad térmica hemisférica: + + + + Thermal Transmittance: + Transmitancia térmica: + + + + Thickness: + Espesor: + + + + Conductivity: + Conductividad: + + + + Shade To Glass Distance: + Distancia persiana a vidrio: + + + + Top Opening Multiplier: + Multiplicador de apertura superior: + + + + Bottom Opening Multiplier: + Multiplicador de apertura inferior: + + + + Left-Side Opening Multiplier: + Multiplicador de apertura lateral izquierda: + + + + Right-Side Opening Multiplier: + Multiplicador de apertura lateral derecha: + + + + Airflow Permeability: + Permeabilidad al flujo de aire: + + + + openstudio::MaterialAirGapInspectorView + + + Name: + Nombre: + + + + Thermal Resistance: + Resistencia térmica: + + + + openstudio::MaterialNoMassInspectorView + + + Name: + Nombre: + + + + Roughness: + Rugosidad: + + + + Thermal Resistance: + Resistencia térmica: + + + + Thermal Absorptance: + Absortancia térmica: + + + + Solar Absorptance: + Absortancia solar: + + + + Visible Absorptance: + Absortancia visible: + + + + openstudio::ConstructionInspectorView + + + Name: + Nombre: + + + + Layer: + Capa: + + + + Outside + Exterior + + + + Drag From Library + Arrastrar desde la biblioteca + + + + Inside + Interior + + + + openstudio::StandardsInformationConstructionWidget + + + Measure Tags (Optional): + Etiquetas de medición (opcional): + + + + Standard: + Norma: + + + + Standard Source: + Fuente de norma: + + + + Intended Surface Type: + Tipo de superficie previsto: + + + + Standards Construction Type: + Tipo de construcción normativo: + + + + Fenestration Type: + Tipo de fenestración: + + + + Fenestration Assembly Context: + Contexto de ensamblaje de fenestración: + + + + Fenestration Number of Panes: + Número de paneles de fenestración: + + + + Fenestration Frame Type: + Tipo de marco de fenestración: + + + + Fenestration Divider Type: + Tipo de divisor de fenestración: + + + + Fenestration Tint: + Tinte de fenestración: + + + + Fenestration Gas Fill: + Gas de relleno de fenestración: + + + + Fenestration Low Emissivity Coating: + Revestimiento de baja emisividad de fenestración: + + + + openstudio::StandardsInformationMaterialWidget + + + Measure Tags (Optional): + Etiquetas de medición (opcional): + + + + Standard: + Norma: + + + + Standard Source: + Fuente de norma: + + + + Standards Category: + Categoría normativa: + + + + Standards Identifier: + Identificador normativo: + + + + Composite Framing Material: + Material de entramado compuesto: + + + + Composite Framing Configuration: + Configuración de entramado compuesto: + + + + Composite Framing Depth: + Profundidad de entramado compuesto: + + + + Composite Framing Size: + Tamaño de entramado compuesto: + + + + Composite Cavity Insulation: + Aislamiento de cavidad compuesta: + + + + openstudio::MaterialsView + + + Materials + Materiales + + + + No Mass Materials + Materiales sin masa + + + + Air Gap Materials + Materiales de cámara de aire + + + + Simple Glazing System Window Materials + Materiales de acristalamiento simple + + + + Glazing Window Materials + Materiales de vidrio para ventanas + + + + Gas Window Materials + Materiales de gas para ventanas + + + + Gas Mixture Window Materials + Materiales de mezcla de gas para ventanas + + + + Blind Window Materials + Materiales de persiana para ventanas + + + + Daylight Redirection Device Window Materials + Materiales de dispositivo de redireccionamiento de luz diurna + + + + Screen Window Materials + Materiales de pantalla para ventanas + + + + Shade Window Materials + Materiales de persiana opaca para ventanas + + + + Infrared Transparent Materials + Materiales transparentes al infrarrojo + + + + Roof Vegetation Materials + Materiales de vegetación en cubierta + + + + Refraction Extinction Method Glazing Window Materials + Materiales de vidrio (método de extinción por refracción) + + + + openstudio::MaterialInspectorView + + + Name: + Nombre: + + + + Roughness: + Rugosidad: + + + + Thickness: + Espesor: + + + + Conductivity: + Conductividad: + + + + Density: + Densidad: + + + + Specific Heat: + Calor específico: + + + + Thermal Absorptance: + Absortancia térmica: + + + + Solar Absorptance: + Absortancia solar: + + + + Visible Absorptance: + Absortancia visible: + + + + openstudio::WindowMaterialSimpleGlazingSystemInspectorView + + + Name: + Nombre: + + + + U-Factor: + Factor U: + + + + Solar Heat Gain Coefficient: + Coeficiente de ganancia de calor solar: + + + + Visible Transmittance: + Transmitancia visible: + + + + openstudio::WindowMaterialGlazingInspectorView + + + Name: + Nombre: + + + + Optical Data Type: + Tipo de datos ópticos: + + + + Window Glass Spectral Data Set Name: + Nombre del conjunto de datos espectrales del vidrio: + + + + Thickness: + Espesor: + + + + Solar Transmittance At Normal Incidence: + Transmitancia solar a incidencia normal: + + + + Front Side Solar Reflectance At Normal Incidence: + Reflectancia solar cara frontal a incidencia normal: + + + + Back Side Solar Reflectance At Normal Incidence: + Reflectancia solar cara posterior a incidencia normal: + + + + Visible Transmittance At Normal Incidence: + Transmitancia visible a incidencia normal: + + + + Front Side Visible Reflectance At Normal Incidence: + Reflectancia visible cara frontal a incidencia normal: + + + + Back Side Visible Reflectance At Normal Incidence: + Reflectancia visible cara posterior a incidencia normal: + + + + Infrared Transmittance at Normal Incidence: + Transmitancia infrarroja a incidencia normal: + + + + Front Side Infrared Hemispherical Emissivity: + Emisividad infrarroja hemisférica cara frontal: + + + + Back Side Infrared Hemispherical Emissivity: + Emisividad infrarroja hemisférica cara posterior: + + + + Conductivity: + Conductividad: + + + + Dirt Correction Factor For Solar And Visible Transmittance: + Factor de corrección por suciedad para transmitancia solar y visible: + + + + Solar Diffusing: + Difusión solar: + + + + openstudio::WindowMaterialGasInspectorView + + + Name: + Nombre: + + + + Gas Type: + Tipo de gas: + + + + Thickness: + Espesor: + + + + Conductivity Coefficient A: + Coeficiente de conductividad A: + + + + Conductivity Coefficient B: + Coeficiente de conductividad B: + + + + Viscosity Coefficient A: + Coeficiente de viscosidad A: + + + + Viscosity Coefficient B: + Coeficiente de viscosidad B: + + + + Specific Heat Coefficient A: + Coeficiente de calor específico A: + + + + Specific Heat Coefficient B: + Coeficiente de calor específico B: + + + + Molecular Weight: + Peso molecular: + + + + openstudio::WindowMaterialGasMixtureInspectorView + + + Name: + Nombre: + + + + Thickness: + Espesor: + + + + Number Of Gases In Mixture: + Número de gases en la mezcla: + + + + Gas 1 Fraction: + Fracción del gas 1: + + + + Gas 1 Type: + Tipo de gas 1: + + + + Gas 2 Fraction: + Fracción del gas 2: + + + + Gas 2 Type: + Tipo de gas 2: + + + + Gas 3 Fraction: + Fracción del gas 3: + + + + Gas 3 Type: + Tipo de gas 3: + + + + Gas 4 Fraction: + Fracción del gas 4: + + + + Gas 4 Type: + Tipo de gas 4: + + + + openstudio::WindowMaterialBlindInspectorView + + + Name: + Nombre: + + + + Slat Orientation: + Orientación de lámina: + + + + Slat Width: + Ancho de lámina: + + + + Slat Separation: + Separación de láminas: + + + + Slat Thickness: + Grosor de lámina: + + + + Slat Angle: + Ángulo de lámina: + + + + Slat Conductivity: + Conductividad de lámina: + + + + Slat Beam Solar Transmittance: + Transmitancia solar de haz de lámina: + + + + Front Side Slat Beam Solar Reflectance: + Reflectancia solar de haz cara frontal de lámina: + + + + Back Side Slat Beam Solar Reflectance: + Reflectancia solar de haz cara posterior de lámina: + + + + Slat Diffuse Solar Transmittance: + Transmitancia solar difusa de lámina: + + + + Front Side Slat Diffuse Solar Reflectance: + Reflectancia solar difusa cara frontal de lámina: + + + + Back Side Slat Diffuse Solar Reflectance: + Reflectancia solar difusa cara posterior de lámina: + + + + Slat Beam Visible Transmittance: + Transmitancia visible de haz de lámina: + + + + Front Side Slat Beam Visible Reflectance: + Reflectancia visible de haz cara frontal de lámina: + + + + Back Side Slat Beam Visible Reflectance: + Reflectancia visible de haz cara posterior de lámina: + + + + Slat Diffuse Visible Transmittance: + Transmitancia visible difusa de lámina: + + + + Front Side Slat Diffuse Visible Reflectance: + Reflectancia visible difusa cara frontal de lámina: + + + + Back Side Slat Diffuse Visible Reflectance: + Reflectancia visible difusa cara posterior de lámina: + + + + Slat Infrared Hemispherical Transmittance: + Transmitancia infrarroja hemisférica de lámina: + + + + Front Side Slat Infrared Hemispherical Emissivity: + Emisividad infrarroja hemisférica cara frontal de lámina: + + + + Back Side Slat Infrared Hemispherical Emissivity: + Emisividad infrarroja hemisférica cara posterior de lámina: + + + + Blind To Glass Distance: + Distancia persiana a vidrio: + + + + Blind Top Opening Multiplier: + Multiplicador de apertura superior de persiana: + + + + Blind Bottom Opening Multiplier: + Multiplicador de apertura inferior de persiana: + + + + Blind Left Side Opening Multiplier: + Multiplicador de apertura lateral izquierda de persiana: + + + + Blind Right Side Opening Multiplier: + Multiplicador de apertura lateral derecha de persiana: + + + + Minimum Slat Angle: + Ángulo mínimo de lámina: + + + + Maximum Slat Angle: + Ángulo máximo de lámina: + + + + openstudio::WindowMaterialScreenInspectorView + + + Name: + Nombre: + + + + Reflected Beam Transmittance Accounting Method: + Método contable de transmitancia de haz reflejado: + + + + Diffuse Solar Reflectance: + Reflectancia solar difusa: + + + + Diffuse Visible Reflectance: + Reflectancia visible difusa: + + + + Thermal Hemispherical Emissivity: + Emisividad térmica hemisférica: + + + + Conductivity: + Conductividad: + + + + Screen Material Spacing: + Espaciado del material de pantalla: + + + + Screen Material Diameter: + Diámetro del material de pantalla: + + + + Screen To Glass Distance: + Distancia pantalla a vidrio: + + + + Top Opening Multiplier: + Multiplicador de apertura superior: + + + + Bottom Opening Multiplier: + Multiplicador de apertura inferior: + + + + Left Side Opening Multiplier: + Multiplicador de apertura lateral izquierda: + + + + Right Side Opening Multiplier: + Multiplicador de apertura lateral derecha: + + + + Angle Of Resolution For Screen Transmittance Output Map: + Ángulo de resolución para mapa de transmitancia de pantalla: + + + + openstudio::MaterialRoofVegetationInspectorView + + + Name: + Nombre: + + + + Height Of Plants: + Altura de plantas: + + + + Leaf Area Index: + Índice de área foliar: + + + + Leaf Reflectivity: + Reflectividad foliar: + + + + Leaf Emissivity: + Emisividad foliar: + + + + Minimum Stomatal Resistance: + Resistencia estomática mínima: + + + + Soil Layer Name: + Nombre de capa de suelo: + + + + Roughness: + Rugosidad: + + + + Thickness: + Espesor: + + + + Conductivity Of Dry Soil: + Conductividad del suelo seco: + + + + Density Of Dry Soil: + Densidad del suelo seco: + + + + Specific Heat Of Dry Soil: + Calor específico del suelo seco: + + + + Thermal Absorptance: + Absortancia térmica: + + + + Solar Absorptance: + Absortancia solar: + + + + Visible Absorptance: + Absortancia visible: + + + + Saturation Volumetric Moisture Content Of The Soil Layer: + Contenido volumétrico de humedad de saturación de la capa de suelo: + + + + Residual Volumetric Moisture Content Of The Soil Layer: + Contenido volumétrico de humedad residual de la capa de suelo: + + + + Initial Volumetric Moisture Content Of The Soil Layer: + Contenido volumétrico de humedad inicial de la capa de suelo: + + + + Moisture Diffusion Calculation Method: + Método de cálculo de difusión de humedad: + + + + openstudio::WindowMaterialGlazingRefractionExtinctionMethodInspectorView + + + Name: + Nombre: + + + + Thickness: + Espesor: + + + + Solar Index Of Refraction: + Índice de refracción solar: + + + + Solar Extinction Coefficient: + Coeficiente de extinción solar: + + + + Visible Index of Refraction: + Índice de refracción visible: + + + + Visible Extinction Coefficient: + Coeficiente de extinción visible: + + + + Infrared Transmittance At Normal Incidence: + Transmitancia infrarroja a incidencia normal: + + + + Infrared Hemispherical Emissivity: + Emisividad infrarroja hemisférica: + + + + Conductivity: + Conductividad: + + + + Dirt Correction Factor For Solar And Visible Transmittance: + Factor de corrección por suciedad para transmitancia solar y visible: + + + + Solar Diffusing: + Difusión solar: + + + + openstudio::WindowMaterialDaylightRedirectionDeviceInspectorView + + + Name: + Nombre: + + + + Daylight Redirection Device Type: + Tipo de dispositivo de redireccionamiento de luz diurna: + + + + openstudio::NewProfileView + + + Create a new profile. + Crear un nuevo perfil. + + + + Make a New Profile Based on: + Crear un nuevo perfil basado en: + + + + Add + Agregar + + + + <New Profile> + <Nuevo perfil> + + + + Default Day Schedule + Horario del día predeterminado + + + + Summer Design Day Schedule + Horario del día de diseño de verano + + + + Winter Design Day Schedule + Horario del día de diseño de invierno + + + + Holiday Design Day Schedule + Horario del día de diseño festivo + + + + The summer design day profile is not set, therefore the default run period profile will be used. + El perfil del día de diseño de verano no está definido; se utilizará el perfil del período de ejecución predeterminado. + + + + The winter design day profile is not set, therefore the default run period profile will be used. + El perfil del día de diseño de invierno no está definido; se utilizará el perfil del período de ejecución predeterminado. + + + + The holiday profile is not set, therefore the default run period profile will be used. + El perfil de días festivos no está definido; se utilizará el perfil del período de ejecución predeterminado. + + + + Create a new profile to override the default run period profile. + Cree un nuevo perfil para reemplazar el perfil del período de ejecución predeterminado. + + + + openstudio::ScheduleCompactInspectorView + + + Name: + Nombre: + + + + Content: + Contenido: + + + + openstudio::ScheduleConstantInspectorView + + + Name: + Nombre: + + + + Value: + Valor: + + + + openstudio::ScheduleDayView + + + Schedule Day Name: + Nombre del día de horario: + + + + Hourly + Por hora + + + + 15 Minutes + 15 minutos + + + + 1 Minute + 1 minuto + + + + openstudio::ScheduleDialog + + + Apply + Aplicar + + + + Define New Schedule + Definir nuevo horario + + + + Schedule Type + Tipo de horario + + + + Numeric Type: + Tipo numérico: + + + + Lower Limit: + Límite inferior: + + + + Upper Limit: + Límite superior: + + + + unitless + sin unidades + + + + None + Ninguno + + + + openstudio::ScheduleFileInspectorView + + + Name: + Nombre: + + + + FilePath: + Ruta de archivo: + + + + Column Number: + Número de columna: + + + + Rows to Skip at Top: + Filas a omitir al inicio: + + + + Number of Hours of Data: + Número de horas de datos: + + + + Column Separator: + Separador de columnas: + + + + Comma + Coma + + + + Tab + Tabulador + + + + Space + Espacio + + + + Semicolon + Punto y coma + + + + Interpolate to Timestep: + Interpolar al paso de tiempo: + + + + Minutes per Item: + Minutos por elemento: + + + + Adjust Schedule for Daylight Savings: + Ajustar horario para horario de verano: + + + + Translate File With Relative Path: + Usar ruta relativa para el archivo: + + + + Content: + Contenido: + + + + Number of Lines in file: + Número de líneas en el archivo: + + + + Display All File Content: + Mostrar todo el contenido del archivo: + + + + openstudio::ScheduleLimitsView + + + Lower Limit: + Límite inferior: + + + + Upper Limit: + Límite superior: + + + + openstudio::ScheduleOthersController + + + Creation of Schedule:Compact is not supported, you should use a ScheduleRuleset instead + La creación de Schedule:Compact no está soportada, se recomienda usar un ScheduleRuleset en su lugar + + + + ScheduleOthersView + + + Schedule Constant + Horario constante + + + + Schedule Compact + Horario compacto + + + + Schedule File + Archivo de horario + + + + openstudio::ScheduleRuleView + + + Schedule Rule Name: + Nombre de la regla de horario: + + + + Date Range: + Rango de fechas: + + + + Apply to: + Aplicar a: + + + + S + Domingo (Sunday) / Sábado (Saturday) — needs disambiguation in source code + + + + + M + Lunes (Monday) + L + + + + T + Martes (Tuesday) / Jueves (Thursday) — needs disambiguation in source code + + + + + W + Miércoles (Wednesday) + X + + + + F + Viernes (Friday) + V + + + + openstudio::ScheduleRulesetNameWidget + + + Schedule Name: + Nombre del horario: + + + + Schedule Type: + Tipo de horario: + + + + openstudio::ScheduleSetInspectorView + + + Name + Nombre + + + + Default Schedules + Horarios predeterminados + + + + Hours of Operation + Horas de operación + + + + Number of People + Número de personas + + + + People Activity + Actividad de personas + + + + Lighting + Iluminación + + + + Electric Equipment + Equipo eléctrico + + + + Gas Equipment + Equipo de gas + + + + Hot Water Equipment + Equipo de agua caliente + + + + Steam Equipment + Equipo de vapor + + + + Other Equipment + Otros equipos + + + + Infiltration + Infiltración + + + + openstudio::ScheduleTabContent + + + Special Day Profiles + Perfiles de días especiales + + + + Run Period Profiles + Perfiles del período de ejecución + + + + Click to add new run period profile + Clic para agregar nuevo perfil de período de ejecución + + + + openstudio::ScheduleTabDefault + + + Summer Design Day + Día de diseño de verano + + + + Click to edit summer design day profile + Clic para editar el perfil del día de diseño de verano + + + + Winter Design Day + Día de diseño de invierno + + + + Click to edit winter design day profile + Clic para editar el perfil del día de diseño de invierno + + + + Holiday + Festivo + + + + Click to edit holiday profile + Clic para editar el perfil de días festivos + + + + Default + Predeterminado + + + + Click to edit default profile + Clic para editar el perfil predeterminado + + + + ScheduleTypeLimitItem + + + Schedule Type Limit + Límite de tipo de horario + + + + openstudio::SpecialScheduleDayView + + + Summer design day profile. + Perfil del día de diseño de verano. + + + + Winter design day profile. + Perfil del día de diseño de invierno. + + + + Holiday profile. + Perfil de días festivos. + + + + VCalendarSegmentItem + + + Double click to delete segment + Doble clic para eliminar segmento + + + + openstudio::HVACSystemsController + + Service Hot Water + Agua Caliente Sanitaria + + + Refrigeration + Refrigeración + + + VRF + VRF + + + Unclassified Cooling Type + Tipo de Enfriamiento No Clasificado + + + DX Cooling + Enfriamiento DX + + + Chilled Water + Agua Fría + + + Unclassified Heating Type + Tipo de Calefacción No Clasificado + + + Gas Heating + Calefacción a Gas + + + Electric Heating + Calefacción Eléctrica + + + Hot Water + Agua Caliente + + + Air Source Heat Pump + Bomba de Calor Fuente de Aire + + + + openstudio::HVACAirLoopControlsView + + Cooling Type: + Tipo de Enfriamiento: + + + Heating Type: + Tipo de Calefacción: + + + Time of Operation + Horario de Operación + + + HVAC Operation Schedule + Horario de Operación HVAC + + + Use Night Cycle + Usar Ciclo Nocturno + + + Follow the HVAC Operation Schedule + Seguir el Horario de Operación HVAC + + + Cycle on Full System if Heating or Cooling Required + Ciclo en Sistema Completo si se Requiere Calefacción o Enfriamiento + + + Cycle on Zone Terminal Units if Heating or Cooling Required + Ciclo en Unidades Terminales de Zona si se Requiere Calefacción o Enfriamiento + + + Supply Air Temperature + Temperatura del Aire de Suministro + + + Mechanical Ventilation + Ventilación Mecánica + + + Availability Managers + Gestores de Disponibilidad + + + Availability Managers from highest precedence to lowest + Gestores de Disponibilidad de mayor a menor prioridad + + + + openstudio::HVACPlantLoopControlsView + + HVAC System + Sistema HVAC + + + Plant Loop Type: + Tipo de Bucle de Planta: + + + Plant Equipment Operation Schemes + Esquemas de Operación de Equipos de Planta + + + Heating Components: + Componentes de Calefacción: + + + Cooling Components: + Componentes de Enfriamiento: + + + Setpoint Components: + Componentes de Punto de Ajuste: + + + Uncontrolled Components: + Componentes Sin Control: + + + Supply Water Temperature + Temperatura del Agua de Suministro + + + Availability Managers + Gestores de Disponibilidad + + + Availability Managers from highest precedence to lowest + Gestores de Disponibilidad de mayor a menor prioridad + + + + openstudio::MechanicalVentilationView + + Economizer + Economizador + + + Fixed Dry Bulb + Bulbo Seco Fijo + + + Fixed Enthalpy + Entalpía Fija + + + Differential Dry Bulb + Bulbo Seco Diferencial + + + Differential Enthalpy + Entalpía Diferencial + + + Fixed Dewpoint and Dry Bulb + Punto de Rocío y Bulbo Seco Fijo + + + Electronic Enthalpy + Entalpía Electrónica + + + Differential Dry Bulb and Enthalpy + Bulbo Seco y Entalpía Diferencial + + + No Economizer + Sin Economizador + + + Demand Controlled Ventilation + Ventilación Controlada por Demanda + + + This system configuration does not provide mechanical ventilation + Esta configuración del sistema no provee ventilación mecánica + + + + openstudio::SingleZoneSPMView + + Supply temperature is controlled by a <strong>%1</strong> setpoint manager. + La temperatura de suministro es controlada por un gestor de punto de ajuste <strong>%1</strong>. + + + Control Zone + Zona de Control + + + + openstudio::OAResetSPMView + + Supply temperature is controlled by an outdoor air reset setpoint manager. + La temperatura de suministro es controlada por un gestor de restablecimiento de aire exterior. + + + + openstudio::ScheduledSPMView + + Supply temperature is controlled by a scheduled setpoint manager. + La temperatura de suministro es controlada por un gestor de punto de ajuste programado. + + + Supply Temperature Schedule + Horario de Temperatura de Suministro + + + + openstudio::AirLoopHVACUnitaryHeatPumpAirToAirControlView + + Supply air temperature is managed by the "AirLoopHVACUnitaryHeatPumpAirToAir" component. + La temperatura del aire de suministro es gestionada por el componente "AirLoopHVACUnitaryHeatPumpAirToAir". + + + Control Zone + Zona de Control + + + + openstudio::NoSupplyAirTempControlView + + <strong style="color:red">Missing supply temperature control</strong>. Try adding a setpoint manager to the supply outlet node of your system. + <strong style="color:red">Falta control de temperatura de suministro</strong>. Intente agregar un gestor de punto de ajuste al nodo de salida de suministro de su sistema. + + + + openstudio::GridItem + + Supply Equipment + Equipos de Suministro + + + Demand Equipment + Equipos de Demanda + + + Drag From Library + Arrastrar desde Biblioteca + + + Drag Water Use Equipment from Library + Arrastrar Equipo de Uso de Agua desde la Biblioteca + + + Drag Water Use Connections from Library + Arrastrar Conexiones de Uso de Agua desde la Biblioteca + + + + openstudio::RefrigerationSystemDropZoneView + + Drop Refrigeration System + Soltar Sistema de Refrigeración + + + + openstudio::VRFSystemDropZoneView + + Drop VRF System + Soltar Sistema VRF + + + Drop VRF Terminal + Soltar Terminal VRF + + + Drop Thermal Zone + Soltar Zona Térmica + + + + openstudio::RefrigerationGridView + + Display Cases + Vitrinas Refrigeradas + + + Drop +Case + Soltar +Vitrina + + + Walk Ins + Cámaras Frigoríficas + + + Drop +Walk In + Soltar +Cámara + + + + openstudio::WaterUseConnectionsDetailItem + + Go back to water mains editor + Volver al editor de red de agua + + + + openstudio::MakeupWaterItem + + Go back to water mains editor + Volver al editor de red de agua + + + + openstudio::HVACSystemsTabView + + HVAC Systems + Sistemas HVAC + + + + openstudio::LoopLibraryDialog + + Add HVAC System + Agregar Sistema HVAC + + + HVAC Systems + Sistemas HVAC + + + Packaged Rooftop Unit + Unidad Empacada en Techo + + + Packaged Rooftop Heat Pump + Bomba de Calor Empacada en Techo + + + Packaged DX Rooftop VAV +with Reheat + VAV DX Empacado en Techo +con Recalentamiento + + + Packaged Rooftop +VAV with Parallel Fan +Power Boxes and reheat + Techo Empacado VAV con +Cajas de Ventilador Paralelo +y Recalentamiento + + + Packaged Rooftop +VAV with Reheat + Techo Empacado VAV +con Recalentamiento + + + VAV with Parallel Fan-Powered +Boxes and Reheat + VAV con Cajas de Ventilador +Paralelo y Recalentamiento + + + Warm Air Furnace +Gas Fired + Horno de Aire Caliente +a Gas + + + Warm Air Furnace +Electric + Horno de Aire Caliente +Eléctrico + + + Empty Air Loop + Bucle de Aire Vacío + + + Dual Duct Air Loop + Bucle de Aire Doble Conducto + + + Empty Plant Loop + Bucle de Planta Vacío + + + Service Hot Water Plant Loop + Bucle de Planta Agua Caliente Sanitaria + + + + openstudio::LoopItemView + + Add to Model + Agregar al Modelo + + + + IDD + + + Name + Nombre + + + Availability Schedule Name + Nombre del Horario de Disponibilidad + + + Part Load Fraction Correlation Curve Name + Curva de Correlación de Fracción de Carga Parcial + + + + Schedule Type Limits Name + Nombre de Límites de Tipo de Horario + + + Interpolate to Timestep + Interpolar al Paso de Tiempo + + + Hour + Hora + + + Minute + Minuto + + + Value Until Time + Valor hasta la Hora + + + + Minimum Outdoor Air Flow Rate + Caudal Mínimo de Aire Exterior + + + Maximum Outdoor Air Flow Rate + Caudal Máximo de Aire Exterior + + + Economizer Control Type + Tipo de Control del Economizador + + + Economizer Control Action Type + Tipo de Acción del Economizador + + + Economizer Maximum Limit Dry-Bulb Temperature + Temperatura Máxima Límite Bulbo Seco del Economizador + + + Economizer Maximum Limit Enthalpy + Entalpía Máxima Límite del Economizador + + + Economizer Maximum Limit Dewpoint Temperature + Temperatura Máxima Límite Punto de Rocío del Economizador + + + Economizer Minimum Limit Dry-Bulb Temperature + Temperatura Mínima Límite Bulbo Seco del Economizador + + + Lockout Type + Tipo de Bloqueo + + + Minimum Limit Type + Tipo de Límite Mínimo + + + Minimum Outdoor Air Schedule Name + Nombre del Horario de Aire Exterior Mínimo + + + Minimum Fraction of Outdoor Air Schedule Name + Nombre del Horario de Fracción Mínima de Aire Exterior + + + Maximum Fraction of Outdoor Air Schedule Name + Nombre del Horario de Fracción Máxima de Aire Exterior + + + Time of Day Economizer Control Schedule Name + Nombre del Horario de Control del Economizador por Hora + + + Heat Recovery Bypass Control Type + Tipo de Control de Bypass de Recuperación de Calor + + + Economizer Operation Staging + Escalonamiento de Operación del Economizador + + + + Rated Total Cooling Capacity + Capacidad Total de Enfriamiento Nominal + + + Rated Sensible Heat Ratio + Relación de Calor Sensible Nominal + + + Rated COP + COP Nominal + + + Rated Air Flow Rate + Caudal de Aire Nominal + + + Rated Evaporator Fan Power Per Volume Flow Rate 2017 + Potencia del Ventilador del Evaporador por Caudal 2017 + + + Rated Evaporator Fan Power Per Volume Flow Rate 2023 + Potencia del Ventilador del Evaporador por Caudal 2023 + + + Total Cooling Capacity Function of Temperature Curve Name + Curva de Cap. Total de Enfriamiento en Función de Temperatura + + + Total Cooling Capacity Function of Flow Fraction Curve Name + Curva de Cap. Total de Enfriamiento en Función de Fracción de Flujo + + + Energy Input Ratio Function of Temperature Curve Name + Curva de Relación de Entrada de Energía en Función de Temperatura + + + Energy Input Ratio Function of Flow Fraction Curve Name + Curva de Relación de Entrada de Energía en Función de Fracción de Flujo + + + Minimum Outdoor Dry-Bulb Temperature for Compressor Operation + Temperatura Mínima Bulbo Seco Exterior para Operación del Compresor + + + Nominal Time for Condensate Removal to Begin + Tiempo Nominal para Inicio de Drenaje de Condensado + + + Ratio of Initial Moisture Evaporation Rate and Steady State Latent Capacity + Relación de Tasa de Evaporación Inicial y Cap. Latente en Estado Estable + + + Maximum Cycling Rate + Tasa Máxima de Ciclado + + + Latent Capacity Time Constant + Constante de Tiempo de Capacidad Latente + + + Condenser Type + Tipo de Condensador + + + Evaporative Condenser Effectiveness + Efectividad del Condensador Evaporativo + + + Evaporative Condenser Air Flow Rate + Caudal de Aire del Condensador Evaporativo + + + Evaporative Condenser Pump Rated Power Consumption + Consumo Nominal de la Bomba del Condensador Evaporativo + + + Crankcase Heater Capacity + Capacidad del Calentador del Cárter + + + Crankcase Heater Capacity Function of Temperature Curve Name + Curva de Capacidad del Calentador del Cárter en Función de Temperatura + + + Maximum Outdoor Dry-Bulb Temperature for Crankcase Heater Operation + Temperatura Máxima Bulbo Seco Exterior para Operación del Calentador del Cárter + + + Basin Heater Capacity + Capacidad del Calentador de la Bandeja + + + Basin Heater Setpoint Temperature + Temperatura de Ajuste del Calentador de la Bandeja + + + Basin Heater Operating Schedule Name + Nombre del Horario de Operación del Calentador de la Bandeja + + + + Gas Burner Efficiency + Eficiencia del Quemador de Gas + + + Nominal Capacity + Capacidad Nominal + + + On Cycle Parasitic Electric Load + Carga Eléctrica Parásita en Ciclo Activo + + + Off Cycle Parasitic Gas Load + Carga de Gas Parásita en Ciclo Inactivo + + + Fuel Type + Tipo de Combustible + + + + Fan Total Efficiency + Eficiencia Total del Ventilador + + + Pressure Rise + Incremento de Presión + + + Maximum Flow Rate + Caudal Máximo + + + Motor Efficiency + Eficiencia del Motor + + + Motor In Airstream Fraction + Fracción del Motor en la Corriente de Aire + + + End-Use Subcategory + Subcategoría de Uso Final + + + + Minimum Supply Air Temperature + Temperatura Mínima del Aire de Suministro + + + Maximum Supply Air Temperature + Temperatura Máxima del Aire de Suministro + + + Control Zone Name + Nombre de la Zona de Control + + + Control Variable + Variable de Control + + + + Maximum Air Flow Rate + Caudal Máximo de Aire + + + + Multiplier + Multiplicador + + + Floor Area + Área del Piso + + + Zone Inside Convection Algorithm + Algoritmo de Convección Interior de Zona + + + Zone Outside Convection Algorithm + Algoritmo de Convección Exterior de Zona + + + Daylighting Controls Availability Schedule Name + Nombre del Horario de Disponibilidad de Controles de Luz Natural + + + + Zone Cooling Design Supply Air Temperature Input Method + Método de Temperatura de Suministro de Diseño de Enfriamiento de Zona + + + Zone Cooling Design Supply Air Temperature + Temperatura de Suministro de Diseño de Enfriamiento de Zona + + + Zone Cooling Design Supply Air Temperature Difference + Diferencia de Temperatura de Suministro de Diseño de Enfriamiento de Zona + + + Zone Heating Design Supply Air Temperature Input Method + Método de Temperatura de Suministro de Diseño de Calefacción de Zona + + + Zone Heating Design Supply Air Temperature + Temperatura de Suministro de Diseño de Calefacción de Zona + + + Zone Heating Design Supply Air Temperature Difference + Diferencia de Temperatura de Suministro de Diseño de Calefacción de Zona + + + Zone Heating Design Supply Air Humidity Ratio + Relación de Humedad de Suministro de Diseño de Calefacción de Zona + + + Zone Heating Sizing Factor + Factor de Dimensionamiento de Calefacción de Zona + + + Zone Cooling Sizing Factor + Factor de Dimensionamiento de Enfriamiento de Zona + + + Cooling Design Air Flow Method + Método de Diseño del Flujo de Aire de Enfriamiento + + + Cooling Design Air Flow Rate + Caudal de Diseño de Enfriamiento + + + Cooling Minimum Air Flow per Zone Floor Area + Caudal Mínimo de Enfriamiento por Área del Piso de Zona + + + Cooling Minimum Air Flow + Caudal Mínimo de Enfriamiento + + + Cooling Minimum Air Flow Fraction + Fracción de Caudal Mínimo de Enfriamiento + + + Heating Design Air Flow Method + Método de Diseño del Flujo de Aire de Calefacción + + + Heating Design Air Flow Rate + Caudal de Diseño de Calefacción + + + Heating Maximum Air Flow per Zone Floor Area + Caudal Máximo de Calefacción por Área del Piso de Zona + + + Heating Maximum Air Flow + Caudal Máximo de Calefacción + + + Heating Maximum Air Flow Fraction + Fracción de Caudal Máximo de Calefacción + + + Account for Dedicated Outdoor Air System + Considerar Sistema de Aire Exterior Dedicado + + + Dedicated Outdoor Air System Control Strategy + Estrategia de Control del Sistema de Aire Exterior Dedicado + + + Dedicated Outdoor Air Low Setpoint Temperature for Design + Temperatura Mínima de Ajuste del SAED para Diseño + + + Dedicated Outdoor Air High Setpoint Temperature for Design + Temperatura Máxima de Ajuste del SAED para Diseño + + + Zone Load Sizing Method + Método de Dimensionamiento de Carga de Zona + + + Zone Latent Cooling Design Supply Air Humidity Ratio Input Method + Método de Relación de Humedad de Diseño de Enfriamiento Latente de Zona + + + Zone Dehumidification Design Supply Air Humidity Ratio + Relación de Humedad de Diseño de Deshumidificación de Zona + + + Zone Cooling Design Supply Air Humidity Ratio + Relación de Humedad de Suministro de Diseño de Enfriamiento de Zona + + + Zone Cooling Design Supply Air Humidity Ratio Difference + Diferencia de Relación de Humedad de Diseño de Enfriamiento de Zona + + + Zone Latent Heating Design Supply Air Humidity Ratio Input Method + Método de Relación de Humedad de Diseño de Calefacción Latente de Zona + + + Zone Humidification Design Supply Air Humidity Ratio + Relación de Humedad de Diseño de Humidificación de Zona + + + Zone Humidification Design Supply Air Humidity Ratio Difference + Diferencia de Relación de Humedad de Diseño de Humidificación de Zona + + + Zone Humidistat Dehumidification Set Point Schedule Name + Nombre del Horario de Punto de Ajuste de Deshumidificación del Humidistato + + + Zone Humidistat Humidification Set Point Schedule Name + Nombre del Horario de Punto de Ajuste de Humidificación del Humidistato + + + Design Zone Air Distribution Effectiveness in Cooling Mode + Efectividad de Distribución de Aire de Zona en Modo Enfriamiento + + + Design Zone Air Distribution Effectiveness in Heating Mode + Efectividad de Distribución de Aire de Zona en Modo Calefacción + + + Design Zone Secondary Recirculation Fraction + Fracción de Recirculación Secundaria de Zona de Diseño + + + Design Minimum Zone Ventilation Efficiency + Eficiencia Mínima de Ventilación de Zona de Diseño + + + Sizing Option + Opción de Dimensionamiento + + + Heating Coil Sizing Method + Método de Dimensionamiento del Serpentín de Calefacción + + + Maximum Heating Capacity To Cooling Load Sizing Ratio + Relación de Capacidad Máxima de Calefacción a Carga de Enfriamiento + + + + Load Distribution Scheme + Esquema de Distribución de Carga + + + Zone Equipment Sequential Cooling Fraction Schedule Name + Nombre del Horario de Fracción Secuencial de Enfriamiento del Equipo de Zona + + + Zone Equipment Sequential Heating Fraction Schedule Name + Nombre del Horario de Fracción Secuencial de Calefacción del Equipo de Zona + + + + Design Supply Air Flow Rate + Caudal de Suministro de Aire de Diseño + + + Maximum Loop Flow Rate + Caudal Máximo del Bucle + + + Minimum Loop Flow Rate + Caudal Mínimo del Bucle + + + Design Return Air Flow Fraction of Supply Air Flow + Fracción de Caudal de Retorno de Diseño del Suministro de Aire + + + + Type of Load to Size On + Tipo de Carga para Dimensionar + + + Design Outdoor Air Flow Rate + Caudal de Aire Exterior de Diseño + + + Central Heating Maximum System Air Flow Ratio + Relación Máxima del Caudal del Sistema de Calefacción Central + + + Preheat Design Temperature + Temperatura de Diseño de Precalentamiento + + + Preheat Design Humidity Ratio + Relación de Humedad de Diseño de Precalentamiento + + + Precool Design Temperature + Temperatura de Diseño de Preenfriamiento + + + Precool Design Humidity Ratio + Relación de Humedad de Diseño de Preenfriamiento + + + Central Cooling Design Supply Air Temperature + Temperatura de Suministro de Diseño de Enfriamiento Central + + + Central Heating Design Supply Air Temperature + Temperatura de Suministro de Diseño de Calefacción Central + + + All Outdoor Air in Cooling + Todo Aire Exterior en Enfriamiento + + + All Outdoor Air in Heating + Todo Aire Exterior en Calefacción + + + Central Cooling Design Supply Air Humidity Ratio + Relación de Humedad de Suministro de Diseño de Enfriamiento Central + + + Central Heating Design Supply Air Humidity Ratio + Relación de Humedad de Suministro de Diseño de Calefacción Central + + + System Outdoor Air Method + Método de Aire Exterior del Sistema + + + Zone Maximum Outdoor Air Fraction + Fracción Máxima de Aire Exterior de Zona + + + + Design Water Flow Rate + Caudal de Agua de Diseño + + + Design Air Flow Rate + Caudal de Aire de Diseño + + + Design Inlet Water Temperature + Temperatura de Entrada de Agua de Diseño + + + Design Inlet Air Temperature + Temperatura de Entrada de Aire de Diseño + + + Design Outlet Air Temperature + Temperatura de Salida de Aire de Diseño + + + Design Inlet Air Humidity Ratio + Relación de Humedad de Entrada de Aire de Diseño + + + Design Outlet Air Humidity Ratio + Relación de Humedad de Salida de Aire de Diseño + + + Type of Analysis + Tipo de Análisis + + + Heat Exchanger Configuration + Configuración del Intercambiador de Calor + + + + U-Factor Times Area Value + Valor U por Área + + + Maximum Water Flow Rate + Caudal Máximo de Agua + + + Performance Input Method + Método de Entrada de Rendimiento + + + Rated Capacity + Capacidad Nominal + + + Rated Inlet Water Temperature + Temperatura de Entrada de Agua Nominal + + + Rated Inlet Air Temperature + Temperatura de Entrada de Aire Nominal + + + Rated Outlet Water Temperature + Temperatura de Salida de Agua Nominal + + + Rated Outlet Air Temperature + Temperatura de Salida de Aire Nominal + + + Rated Ratio for Air and Water Convection + Relación Nominal para Convección de Aire y Agua + + + + Fan Power Minimum Flow Rate Input Method + Método de Entrada del Caudal Mínimo de Potencia del Ventilador + + + Fan Power Minimum Flow Fraction + Fracción de Caudal Mínimo de Potencia del Ventilador + + + Fan Power Minimum Air Flow Rate + Caudal de Aire Mínimo de Potencia del Ventilador + + + Fan Power Coefficient 1 + Coeficiente 1 de Potencia del Ventilador + + + Fan Power Coefficient 2 + Coeficiente 2 de Potencia del Ventilador + + + Fan Power Coefficient 3 + Coeficiente 3 de Potencia del Ventilador + + + Fan Power Coefficient 4 + Coeficiente 4 de Potencia del Ventilador + + + Fan Power Coefficient 5 + Coeficiente 5 de Potencia del Ventilador + + + + Schedule Name + Nombre del Horario + + + + Zone Minimum Air Flow Input Method + Método de Entrada del Caudal Mínimo de Aire de Zona + + + Constant Minimum Air Flow Fraction + Fracción de Caudal Mínimo de Aire Constante + + + Fixed Minimum Air Flow Rate + Caudal Mínimo de Aire Fijo + + + Minimum Air Flow Fraction Schedule Name + Nombre del Horario de Fracción de Caudal Mínimo de Aire + + + Damper Heating Action + Acción de Calefacción del Amortiguador + + + Maximum Flow per Zone Floor Area During Reheat + Caudal Máximo por Área del Piso durante Recalentamiento + + + Maximum Flow Fraction During Reheat + Fracción de Caudal Máximo durante Recalentamiento + + + Maximum Reheat Air Temperature + Temperatura Máxima del Aire de Recalentamiento + + + Maximum Hot Water or Steam Flow Rate + Caudal Máximo de Agua Caliente o Vapor + + + Minimum Hot Water or Steam Flow Rate + Caudal Mínimo de Agua Caliente o Vapor + + + Convergence Tolerance + Tolerancia de Convergencia + + + + Rated Flow Rate + Caudal Nominal + + + Rated Pump Head + Presión Nominal de la Bomba + + + Rated Power Consumption + Consumo de Energía Nominal + + + Rated Motor Efficiency + Eficiencia del Motor Nominal + + + Fraction of Motor Inefficiencies to Fluid Stream + Fracción de Ineficiencias del Motor al Fluido + + + Coefficient 1 of the Part Load Performance Curve + Coeficiente 1 de la Curva de Rendimiento a Carga Parcial + + + Coefficient 2 of the Part Load Performance Curve + Coeficiente 2 de la Curva de Rendimiento a Carga Parcial + + + Coefficient 3 of the Part Load Performance Curve + Coeficiente 3 de la Curva de Rendimiento a Carga Parcial + + + Coefficient 4 of the Part Load Performance Curve + Coeficiente 4 de la Curva de Rendimiento a Carga Parcial + + + Minimum Flow Rate + Caudal Mínimo + + + Pump Control Type + Tipo de Control de la Bomba + + + Pump Flow Rate Schedule Name + Nombre del Horario de Caudal de la Bomba + + + VFD Control Type + Tipo de Control VFD + + + Design Power Consumption + Consumo de Energía de Diseño + + + Design Electric Power per Unit Flow Rate + Potencia Eléctrica de Diseño por Unidad de Caudal + + + Design Shaft Power per Unit Flow Rate per Unit Head + Potencia del Eje de Diseño por Caudal y Presión + + + Design Minimum Flow Rate Fraction + Fracción del Caudal Mínimo de Diseño + + + Skin Loss Radiative Fraction + Fracción Radiativa de Pérdida de Calor por Superficie + + + + Reference Capacity + Capacidad de Referencia + + + Reference COP + COP de Referencia + + + Reference Leaving Chilled Water Temperature + Temperatura de Salida del Agua Fría de Referencia + + + Reference Entering Condenser Fluid Temperature + Temperatura de Entrada del Fluido del Condensador de Referencia + + + Reference Chilled Water Flow Rate + Caudal de Agua Fría de Referencia + + + Reference Condenser Water Flow Rate + Caudal de Agua del Condensador de Referencia + + + Cooling Capacity Function of Temperature Curve Name + Curva de Capacidad de Enfriamiento en Función de Temperatura + + + Electric Input to Cooling Output Ratio Function of Temperature Curve Name + Curva de Relación Entrada Eléctrica/Salida de Enfriamiento en Función de Temperatura + + + Electric Input to Cooling Output Ratio Function of Part Load Ratio Curve Name + Curva de Relación Entrada Eléctrica/Salida de Enfriamiento en Función de Carga Parcial + + + Minimum Part Load Ratio + Relación de Carga Parcial Mínima + + + Maximum Part Load Ratio + Relación de Carga Parcial Máxima + + + Optimum Part Load Ratio + Relación de Carga Parcial Óptima + + + Minimum Unloading Ratio + Relación Mínima de Descarga + + + Condenser Fan Power Ratio + Relación de Potencia del Ventilador del Condensador + + + Fraction of Compressor Electric Consumption Rejected by Condenser + Fracción del Consumo Eléctrico del Compresor Rechazado por el Condensador + + + Leaving Chilled Water Lower Temperature Limit + Límite Inferior de Temperatura del Agua Fría a la Salida + + + Chiller Flow Mode + Modo de Flujo del Enfriador + + + Design Heat Recovery Water Flow Rate + Caudal de Agua de Recuperación de Calor de Diseño + + + Sizing Factor + Factor de Dimensionamiento + + + + Maximum Loop Temperature + Temperatura Máxima del Bucle + + + Minimum Loop Temperature + Temperatura Mínima del Bucle + + + Plant Loop Volume + Volumen del Bucle de Planta + + + Common Pipe Simulation + Simulación de Tubería Común + + + Pressure Simulation Type + Tipo de Simulación de Presión + + + + Loop Type + Tipo de Bucle + + + Design Loop Exit Temperature + Temperatura de Salida del Bucle de Diseño + + + Loop Design Temperature Difference + Diferencia de Temperatura de Diseño del Bucle + + + + Fan Power at Design Air Flow Rate + Potencia del Ventilador al Caudal de Aire de Diseño + + + U-Factor Times Area Value at Design Air Flow Rate + Valor U×A al Caudal de Aire de Diseño + + + Air Flow Rate in Free Convection Regime + Caudal de Aire en Régimen de Convección Libre + + + U-Factor Times Area Value at Free Convection Air Flow Rate + Valor U×A al Caudal de Aire de Convección Libre + + + Free Convection Capacity + Capacidad de Convección Libre + + + Evaporation Loss Mode + Modo de Pérdida por Evaporación + + + Evaporation Loss Factor + Factor de Pérdida por Evaporación + + + Drift Loss Percent + Porcentaje de Pérdida por Arrastre + + + Blowdown Calculation Method + Método de Cálculo de Purga + + + Blowdown Concentration Ratio + Relación de Concentración de Purga + + + Cell Control + Control de Celda + + + Cell Minimum Water Flow Rate Fraction + Fracción de Caudal Mínimo de Agua por Celda + + + Cell Maximum Water Flow Rate Fraction + Fracción de Caudal Máximo de Agua por Celda + + + + Reference Temperature Type + Tipo de Temperatura de Referencia + + + Offset Temperature Difference + Diferencia de Temperatura de Compensación + + + Maximum Setpoint Temperature + Temperatura Máxima del Punto de Ajuste + + + Minimum Setpoint Temperature + Temperatura Mínima del Punto de Ajuste + + + + Nominal Thermal Efficiency + Eficiencia Térmica Nominal + + + Efficiency Curve Temperature Evaluation Variable + Variable de Evaluación de Temperatura de la Curva de Eficiencia + + + Normalized Boiler Efficiency Curve Name + Nombre de la Curva de Eficiencia Normalizada de la Caldera + + + Design Water Outlet Temperature + Temperatura de Salida del Agua de Diseño + + + Water Outlet Upper Temperature Limit + Límite Superior de Temperatura de Salida del Agua + + + Boiler Flow Mode + Modo de Flujo de la Caldera + + + Off Cycle Parasitic Fuel Load + Carga de Combustible Parásita en Ciclo Inactivo + + + + Tank Volume + Volumen del Depósito + + + Setpoint Temperature Schedule Name + Nombre del Horario de Temperatura de Ajuste + + + Deadband Temperature Difference + Diferencia de Temperatura de Zona Muerta + + + Maximum Temperature Limit + Límite Máximo de Temperatura + + + Heater Control Type + Tipo de Control del Calentador + + + Heater Maximum Capacity + Capacidad Máxima del Calentador + + + Heater Minimum Capacity + Capacidad Mínima del Calentador + + + Heater Fuel Type + Tipo de Combustible del Calentador + + + Heater Thermal Efficiency + Eficiencia Térmica del Calentador + + + Off Cycle Parasitic Fuel Consumption Rate + Tasa de Consumo de Combustible Parásito en Ciclo Inactivo + + + Off Cycle Parasitic Fuel Type + Tipo de Combustible Parásito en Ciclo Inactivo + + + Off Cycle Parasitic Heat Fraction to Tank + Fracción de Calor Parásito al Depósito en Ciclo Inactivo + + + On Cycle Parasitic Fuel Consumption Rate + Tasa de Consumo de Combustible Parásito en Ciclo Activo + + + On Cycle Parasitic Fuel Type + Tipo de Combustible Parásito en Ciclo Activo + + + On Cycle Parasitic Heat Fraction to Tank + Fracción de Calor Parásito al Depósito en Ciclo Activo + + + Ambient Temperature Indicator + Indicador de Temperatura Ambiente + + + Ambient Temperature Schedule Name + Nombre del Horario de Temperatura Ambiente + + + Off Cycle Loss Coefficient to Ambient Temperature + Coeficiente de Pérdida en Ciclo Inactivo a Temperatura Ambiente + + + Off Cycle Loss Fraction to Zone + Fracción de Pérdida en Ciclo Inactivo a Zona + + + On Cycle Loss Coefficient to Ambient Temperature + Coeficiente de Pérdida en Ciclo Activo a Temperatura Ambiente + + + On Cycle Loss Fraction to Zone + Fracción de Pérdida en Ciclo Activo a Zona + + + Use Side Effectiveness + Efectividad del Lado de Uso + + + Source Side Effectiveness + Efectividad del Lado de Fuente + + + Use Side Design Flow Rate + Caudal de Diseño del Lado de Uso + + + Source Side Design Flow Rate + Caudal de Diseño del Lado de Fuente + + + Indirect Water Heating Recovery Time + Tiempo de Recuperación del Calentamiento Indirecto de Agua + + + + Tank Height + Altura del Depósito + + + Tank Shape + Forma del Depósito + + + Tank Perimeter + Perímetro del Depósito + + + Heater Priority Control + Control de Prioridad del Calentador + + + Heater 1 Setpoint Temperature Schedule Name + Nombre del Horario de Temperatura de Ajuste del Calentador 1 + + + Heater 1 Deadband Temperature Difference + Diferencia de Temperatura de Zona Muerta del Calentador 1 + + + Heater 1 Capacity + Capacidad del Calentador 1 + + + Heater 1 Height + Altura del Calentador 1 + + + Heater 2 Setpoint Temperature Schedule Name + Nombre del Horario de Temperatura de Ajuste del Calentador 2 + + + Heater 2 Deadband Temperature Difference + Diferencia de Temperatura de Zona Muerta del Calentador 2 + + + Heater 2 Capacity + Capacidad del Calentador 2 + + + Heater 2 Height + Altura del Calentador 2 + + + Uniform Skin Loss Coefficient per Unit Area to Ambient Temperature + Coeficiente Uniforme de Pérdida por Superficie por Unidad de Área + + + Number of Nodes + Número de Nodos + + + Additional Destratification Conductivity + Conductividad de Destratificación Adicional + + + Use Side Inlet Height + Altura de Entrada del Lado de Uso + + + Use Side Outlet Height + Altura de Salida del Lado de Uso + + + Source Side Inlet Height + Altura de Entrada del Lado de Fuente + + + Source Side Outlet Height + Altura de Salida del Lado de Fuente + + + + Hot Water Supply Temperature Schedule Name + Nombre del Horario de Temperatura del Agua Caliente de Suministro + + + Cold Water Supply Temperature Schedule Name + Nombre del Horario de Temperatura del Agua Fría de Suministro + + + Drain Water Heat Exchanger Type + Tipo de Intercambiador de Calor de Drenaje + + + Drain Water Heat Exchanger Destination + Destino del Intercambiador de Calor de Drenaje + + + Drain Water Heat Exchanger U-Factor Times Area + Valor U×A del Intercambiador de Calor de Drenaje + + + + Peak Flow Rate + Caudal Pico + + + Flow Rate Fraction Schedule Name + Nombre del Horario de Fracción del Caudal + + + Target Temperature Schedule Name + Nombre del Horario de Temperatura Objetivo + + + Sensible Fraction Schedule Name + Nombre del Horario de Fracción Sensible + + + Latent Fraction Schedule Name + Nombre del Horario de Fracción Latente + + + Zone Name + Nombre de la Zona + + + + Cooling COP + COP de Enfriamiento + + + Minimum Outdoor Temperature in Cooling Mode + Temperatura Mínima Exterior en Modo Enfriamiento + + + Maximum Outdoor Temperature in Cooling Mode + Temperatura Máxima Exterior en Modo Enfriamiento + + + Heating Capacity + Capacidad de Calefacción + + + Minimum Outdoor Temperature in Heating Mode + Temperatura Mínima Exterior en Modo Calefacción + + + Maximum Outdoor Temperature in Heating Mode + Temperatura Máxima Exterior en Modo Calefacción + + + Minimum Heat Pump Part-Load Ratio + Relación de Carga Parcial Mínima de la Bomba de Calor + + + Zone for Master Thermostat Location + Zona para Ubicación del Termostato Maestro + + + Master Thermostat Priority Control Type + Tipo de Control de Prioridad del Termostato Maestro + + + Heat Pump Waste Heat Recovery + Recuperación de Calor Residual de la Bomba de Calor + + + Defrost Strategy + Estrategia de Desescarche + + + Defrost Control + Control de Desescarche + + + Defrost Time Period Fraction + Fracción del Período de Desescarche + + + Resistive Defrost Heater Capacity + Capacidad del Calentador de Desescarche Resistivo + + + Maximum Outdoor Dry-Bulb Temperature for Defrost Operation + Temperatura Máxima Exterior para Operación de Desescarche + + + Crankcase Heater Power per Compressor + Potencia del Calentador del Cárter por Compresor + + + Number of Compressors + Número de Compresores + + + Ratio of Compressor Size to Total Compressor Capacity + Relación del Tamaño del Compresor a la Capacidad Total + + + + Supply Air Flow Rate During Cooling Operation + Caudal de Suministro durante Operación de Enfriamiento + + + Supply Air Flow Rate When No Cooling is Needed + Caudal de Suministro cuando no se Necesita Enfriamiento + + + Supply Air Flow Rate During Heating Operation + Caudal de Suministro durante Operación de Calefacción + + + Supply Air Flow Rate When No Heating is Needed + Caudal de Suministro cuando no se Necesita Calefacción + + + Outdoor Air Flow Rate During Cooling Operation + Caudal de Aire Exterior durante Operación de Enfriamiento + + + Outdoor Air Flow Rate During Heating Operation + Caudal de Aire Exterior durante Operación de Calefacción + + + Outdoor Air Flow Rate When No Cooling or Heating is Needed + Caudal de Aire Exterior cuando no se Necesita Enfriamiento ni Calefacción + + + Zone Terminal Unit Cooling Minimum Air Flow Fraction + Fracción de Caudal Mínimo de Enfriamiento de la Unidad Terminal de Zona + + + Zone Terminal Unit Heating Minimum Air Flow Fraction + Fracción de Caudal Mínimo de Calefacción de la Unidad Terminal de Zona + + + Zone Terminal Unit On Parasitic Electric Energy Use + Uso de Energía Eléctrica Parásita en Ciclo Activo de la Unidad Terminal + + + Zone Terminal Unit Off Parasitic Electric Energy Use + Uso de Energía Eléctrica Parásita en Ciclo Inactivo de la Unidad Terminal + + + Rated Total Heating Capacity Sizing Ratio + Relación de Dimensionamiento de Capacidad Total de Calefacción Nominal + + + Supply Air Fan Placement + Posición del Ventilador de Suministro de Aire + + + + openstudio::HVACToolbarView + + Layout + Diseño + + + Control + Control + + + Grid + Cuadrícula + + + + openstudio::HVACControlsController + + Drag From Library + Arrastrar desde la Biblioteca + + + + openstudio::OSGridController + + Apply to Selected + Aplicar a Seleccionados + + + + openstudio::HorizontalHeaderWidget + + Apply to Selected + Aplicar a Seleccionados + + + + openstudio::RefrigerationCaseGridController + + All + Todos + + + Name + Nombre + + + Thermal Zone + Zona Térmica + + + Rack + Rack + + + Case Length + Longitud de Vitrina + + + General + General + + + Operation + Operación + + + Cooling +Capacity + Capacidad de +Enfriamiento + + + Fan + Ventilador + + + Lighting + Iluminación + + + Case +Anti-Sweat +Heaters + Calefactor +Anti-Condensación + + + Defrost +And +Restocking + Desescarche +y +Reposición + + + + openstudio::RefrigerationWalkInGridController + + Name + Nombre + + + Thermal Zone + Zona Térmica + + + General + General + + + Dimensions + Dimensiones + + + Construction + Construcción + + + Operation + Operación + + + Fans + Ventiladores + + + Lighting + Iluminación + + + Heating + Calefacción + + + Defrost + Desescarche + + + Restocking + Reposición + + + + openstudio::VariablesTabView + + Output Variables + Variables de Salida + + + + OutputVariables + + Air System Component Model Simulation Calls + Llamadas de Simulación del Modelo de Componente del Sistema de Aire + + + Air System Mixed Air Mass Flow Rate + Caudal Másico de Aire Mezclado del Sistema de Aire + + + Air System Outdoor Air Economizer Status + Estado del Economizador de Aire Exterior del Sistema de Aire + + + Air System Outdoor Air Flow Fraction + Fracción de Flujo de Aire Exterior del Sistema de Aire + + + Air System Outdoor Air Heat Recovery Bypass Heating Coil Activity Status + Estado de Actividad del Serpentín de Calefacción en Bypass de Recuperación de Calor del Aire Exterior + + + Air System Outdoor Air Heat Recovery Bypass Minimum Outdoor Air Mixed Air Temperature + Temperatura Mínima de Aire Mezclado en Bypass de Recuperación de Calor del Aire Exterior + + + Air System Outdoor Air Heat Recovery Bypass Status + Estado del Bypass de Recuperación de Calor del Aire Exterior del Sistema de Aire + + + Air System Outdoor Air High Humidity Control Status + Estado del Control de Alta Humedad del Aire Exterior del Sistema de Aire + + + Air System Outdoor Air Mass Flow Rate + Caudal Másico de Aire Exterior del Sistema de Aire + + + Air System Outdoor Air Maximum Flow Fraction + Fracción de Flujo Máximo de Aire Exterior del Sistema de Aire + + + Air System Outdoor Air Mechanical Ventilation Requested Mass Flow Rate + Caudal Másico Requerido por Ventilación Mecánica del Aire Exterior del Sistema de Aire + + + Air System Outdoor Air Minimum Flow Fraction + Fracción de Flujo Mínimo de Aire Exterior del Sistema de Aire + + + Air System Simulation Cycle On Off Status + Estado de Ciclo Encendido/Apagado de Simulación del Sistema de Aire + + + Air System Simulation Iteration Count + Conteo de Iteraciones de Simulación del Sistema de Aire + + + Air System Simulation Maximum Iteration Count + Conteo Máximo de Iteraciones de Simulación del Sistema de Aire + + + Air System Solver Iteration Count + Conteo de Iteraciones del Solucionador del Sistema de Aire + + + Baseboard Convective Heating Energy + Energía de Calefacción Convectiva del Zócalo + + + Baseboard Convective Heating Rate + Tasa de Calefacción Convectiva del Zócalo + + + Baseboard Electricity Energy + Energía Eléctrica del Zócalo + + + Baseboard Electricity Rate + Tasa de Electricidad del Zócalo + + + Baseboard Radiant Heating Energy + Energía de Calefacción Radiante del Zócalo + + + Baseboard Radiant Heating Rate + Tasa de Calefacción Radiante del Zócalo + + + Baseboard Total Heating Energy + Energía de Calefacción Total del Zócalo + + + Baseboard Total Heating Rate + Tasa de Calefacción Total del Zócalo + + + Boiler Ancillary Electricity Energy + Energía Eléctrica Auxiliar de la Caldera + + + Boiler Coal Energy + Energía de Carbón de la Caldera + + + Boiler Coal Rate + Tasa de Carbón de la Caldera + + + Boiler Diesel Energy + Energía de Diésel de la Caldera + + + Boiler Diesel Rate + Tasa de Diésel de la Caldera + + + Boiler Electricity Energy + Energía Eléctrica de la Caldera + + + Boiler Electricity Rate + Tasa de Electricidad de la Caldera + + + Boiler FuelOilNo1 Energy + Energía de Combustóleo No. 1 de la Caldera + + + Boiler FuelOilNo1 Rate + Tasa de Combustóleo No. 1 de la Caldera + + + Boiler FuelOilNo2 Energy + Energía de Combustóleo No. 2 de la Caldera + + + Boiler FuelOilNo2 Rate + Tasa de Combustóleo No. 2 de la Caldera + + + Boiler Gasoline Energy + Energía de Gasolina de la Caldera + + + Boiler Gasoline Rate + Tasa de Gasolina de la Caldera + + + Boiler Heating Energy + Energía de Calefacción de la Caldera + + + Boiler Heating Rate + Tasa de Calefacción de la Caldera + + + Boiler Inlet Temperature + Temperatura de Entrada de la Caldera + + + Boiler Mass Flow Rate + Caudal Másico de la Caldera + + + Boiler NaturalGas Energy + Energía de Gas Natural de la Caldera + + + Boiler NaturalGas Rate + Tasa de Gas Natural de la Caldera + + + Boiler OtherFuel1 Energy + Energía de Otro Combustible 1 de la Caldera + + + Boiler OtherFuel1 Rate + Tasa de Otro Combustible 1 de la Caldera + + + Boiler OtherFuel2 Energy + Energía de Otro Combustible 2 de la Caldera + + + Boiler OtherFuel2 Rate + Tasa de Otro Combustible 2 de la Caldera + + + Boiler Outlet Temperature + Temperatura de Salida de la Caldera + + + Boiler Parasitic Electric Power + Potencia Eléctrica Parásita de la Caldera + + + Boiler Part Load Ratio + Relación de Carga Parcial de la Caldera + + + Boiler Propane Energy + Energía de Propano de la Caldera + + + Boiler Propane Rate + Tasa de Propano de la Caldera + + + Chilled Water Thermal Storage Tank Final Tank Temperature + Temperatura Final del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 1 + Temperatura Final del Nodo 1 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 10 + Temperatura Final del Nodo 10 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 11 + Temperatura Final del Nodo 11 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 12 + Temperatura Final del Nodo 12 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 2 + Temperatura Final del Nodo 2 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 3 + Temperatura Final del Nodo 3 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 4 + Temperatura Final del Nodo 4 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 5 + Temperatura Final del Nodo 5 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 6 + Temperatura Final del Nodo 6 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 7 + Temperatura Final del Nodo 7 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 8 + Temperatura Final del Nodo 8 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Final Temperature Node 9 + Temperatura Final del Nodo 9 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Heat Gain Energy + Energía de Ganancia de Calor del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Heat Gain Rate + Tasa de Ganancia de Calor del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Source Side Heat Transfer Energy + Energía de Transferencia de Calor del Lado Fuente del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Source Side Heat Transfer Rate + Tasa de Transferencia de Calor del Lado Fuente del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Source Side Inlet Temperature + Temperatura de Entrada del Lado Fuente del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Source Side Mass Flow Rate + Caudal Másico del Lado Fuente del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Source Side Outlet Temperature + Temperatura de Salida del Lado Fuente del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature + Temperatura del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 1 + Temperatura del Nodo 1 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 10 + Temperatura del Nodo 10 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 11 + Temperatura del Nodo 11 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 12 + Temperatura del Nodo 12 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 2 + Temperatura del Nodo 2 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 3 + Temperatura del Nodo 3 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 4 + Temperatura del Nodo 4 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 5 + Temperatura del Nodo 5 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 6 + Temperatura del Nodo 6 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 7 + Temperatura del Nodo 7 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 8 + Temperatura del Nodo 8 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Temperature Node 9 + Temperatura del Nodo 9 del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Use Side Heat Transfer Energy + Energía de Transferencia de Calor del Lado de Uso del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Use Side Heat Transfer Rate + Tasa de Transferencia de Calor del Lado de Uso del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Use Side Inlet Temperature + Temperatura de Entrada del Lado de Uso del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Use Side Mass Flow Rate + Caudal Másico del Lado de Uso del Tanque de Almacenamiento Térmico de Agua Helada + + + Chilled Water Thermal Storage Tank Use Side Outlet Temperature + Temperatura de Salida del Lado de Uso del Tanque de Almacenamiento Térmico de Agua Helada + + + Chiller Basin Heater Electricity Energy + Energía Eléctrica del Calefactor de Depósito de la Enfriadora + + + Chiller Basin Heater Electricity Rate + Tasa de Electricidad del Calefactor de Depósito de la Enfriadora + + + Chiller COP + COP de la Enfriadora + + + Chiller Capacity Temperature Modifier Multiplier + Multiplicador Modificador de Temperatura de Capacidad de la Enfriadora + + + Chiller Condenser Fan Electricity Energy + Energía Eléctrica del Ventilador del Condensador de la Enfriadora + + + Chiller Condenser Fan Electricity Rate + Tasa de Electricidad del Ventilador del Condensador de la Enfriadora + + + Chiller Condenser Heat Transfer Energy + Energía de Transferencia de Calor del Condensador de la Enfriadora + + + Chiller Condenser Heat Transfer Rate + Tasa de Transferencia de Calor del Condensador de la Enfriadora + + + Chiller Condenser Inlet Temperature + Temperatura de Entrada del Condensador de la Enfriadora + + + Chiller Condenser Mass Flow Rate + Caudal Másico del Condensador de la Enfriadora + + + Chiller Condenser Outlet Temperature + Temperatura de Salida del Condensador de la Enfriadora + + + Chiller Cycling Ratio + Relación de Ciclos de la Enfriadora + + + Chiller EIR Part Load Modifier Multiplier + Multiplicador Modificador de Carga Parcial EIR de la Enfriadora + + + Chiller EIR Temperature Modifier Multiplier + Multiplicador Modificador de Temperatura EIR de la Enfriadora + + + Chiller Effective Heat Rejection Temperature + Temperatura Efectiva de Rechazo de Calor de la Enfriadora + + + Chiller Electricity Energy + Energía Eléctrica de la Enfriadora + + + Chiller Electricity Rate + Tasa de Electricidad de la Enfriadora + + + Chiller Evaporative Condenser Mains Supply Water Volume + Volumen de Agua de Red del Condensador Evaporativo de la Enfriadora + + + Chiller Evaporative Condenser Water Volume + Volumen de Agua del Condensador Evaporativo de la Enfriadora + + + Chiller Evaporator Cooling Energy + Energía de Enfriamiento del Evaporador de la Enfriadora + + + Chiller Evaporator Cooling Rate + Tasa de Enfriamiento del Evaporador de la Enfriadora + + + Chiller Evaporator Inlet Temperature + Temperatura de Entrada del Evaporador de la Enfriadora + + + Chiller Evaporator Mass Flow Rate + Caudal Másico del Evaporador de la Enfriadora + + + Chiller Evaporator Outlet Temperature + Temperatura de Salida del Evaporador de la Enfriadora + + + Chiller False Load Heat Transfer Energy + Energía de Transferencia de Calor de Carga Falsa de la Enfriadora + + + Chiller False Load Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Falsa de la Enfriadora + + + Chiller Heat Recovery Inlet Temperature + Temperatura de Entrada de Recuperación de Calor de la Enfriadora + + + Chiller Heat Recovery Mass Flow Rate + Caudal Másico de Recuperación de Calor de la Enfriadora + + + Chiller Heat Recovery Outlet Temperature + Temperatura de Salida de Recuperación de Calor de la Enfriadora + + + Chiller Hot Water Mass Flow Rate + Caudal Másico de Agua Caliente de la Enfriadora + + + Chiller Part Load Ratio + Relación de Carga Parcial de la Enfriadora + + + Chiller Part-Load Ratio + Relación de Carga Parcial de la Enfriadora (2) + + + Chiller Source Hot Water Energy + Energía de Agua Caliente de Fuente de la Enfriadora + + + Chiller Source Hot Water Rate + Tasa de Agua Caliente de Fuente de la Enfriadora + + + Chiller Source Steam Energy + Energía de Vapor de Fuente de la Enfriadora + + + Chiller Source Steam Rate + Tasa de Vapor de Fuente de la Enfriadora + + + Chiller Steam Heat Loss Rate + Tasa de Pérdida de Calor por Vapor de la Enfriadora + + + Chiller Steam Mass Flow Rate + Caudal Másico de Vapor de la Enfriadora + + + Chiller Total Recovered Heat Energy + Energía Total de Calor Recuperado de la Enfriadora + + + Chiller Total Recovered Heat Rate + Tasa Total de Calor Recuperado de la Enfriadora + + + Cooling Coil Air Inlet Humidity Ratio + Relación de Humedad del Aire de Entrada del Serpentín de Enfriamiento + + + Cooling Coil Air Inlet Temperature + Temperatura del Aire de Entrada del Serpentín de Enfriamiento + + + Cooling Coil Air Mass Flow Rate + Caudal Másico de Aire del Serpentín de Enfriamiento + + + Cooling Coil Air Outlet Humidity Ratio + Relación de Humedad del Aire de Salida del Serpentín de Enfriamiento + + + Cooling Coil Air Outlet Temperature + Temperatura del Aire de Salida del Serpentín de Enfriamiento + + + Cooling Coil Basin Heater Electricity Energy + Energía Eléctrica del Calefactor de Depósito del Serpentín de Enfriamiento + + + Cooling Coil Basin Heater Electricity Rate + Tasa de Electricidad del Calefactor de Depósito del Serpentín de Enfriamiento + + + Cooling Coil Condensate Volume + Volumen de Condensado del Serpentín de Enfriamiento + + + Cooling Coil Condensate Volume Flow Rate + Caudal Volumétrico de Condensado del Serpentín de Enfriamiento + + + Cooling Coil Condenser Inlet Temperature + Temperatura de Entrada del Condensador del Serpentín de Enfriamiento + + + Cooling Coil Crankcase Heater Electricity Energy + Energía Eléctrica del Calefactor del Cárter del Serpentín de Enfriamiento + + + Cooling Coil Crankcase Heater Electricity Rate + Tasa de Electricidad del Calefactor del Cárter del Serpentín de Enfriamiento + + + Cooling Coil Electricity Energy + Energía Eléctrica del Serpentín de Enfriamiento + + + Cooling Coil Electricity Rate + Tasa de Electricidad del Serpentín de Enfriamiento + + + Cooling Coil Evaporative Condenser Mains Supply Water Volume + Volumen de Agua de Red del Condensador Evaporativo del Serpentín de Enfriamiento + + + Cooling Coil Evaporative Condenser Mains Water Volume + Volumen de Agua de Red del Condensador Evaporativo del Serpentín de Enfriamiento (2) + + + Cooling Coil Evaporative Condenser Pump Electricity Energy + Energía Eléctrica de la Bomba del Condensador Evaporativo del Serpentín de Enfriamiento + + + Cooling Coil Evaporative Condenser Pump Electricity Rate + Tasa de Electricidad de la Bomba del Condensador Evaporativo del Serpentín de Enfriamiento + + + Cooling Coil Evaporative Condenser Water Volume + Volumen de Agua del Condensador Evaporativo del Serpentín de Enfriamiento + + + Cooling Coil Latent Cooling Energy + Energía de Enfriamiento Latente del Serpentín de Enfriamiento + + + Cooling Coil Latent Cooling Rate + Tasa de Enfriamiento Latente del Serpentín de Enfriamiento + + + Cooling Coil Neighboring Speed Levels Ratio + Relación de Niveles de Velocidad Vecinos del Serpentín de Enfriamiento + + + Cooling Coil Part Load Ratio + Relación de Carga Parcial del Serpentín de Enfriamiento + + + Cooling Coil Runtime Fraction + Fracción de Tiempo en Funcionamiento del Serpentín de Enfriamiento + + + Cooling Coil Sensible Cooling Energy + Energía de Enfriamiento Sensible del Serpentín de Enfriamiento + + + Cooling Coil Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Serpentín de Enfriamiento + + + Cooling Coil Source Side Heat Transfer Energy + Energía de Transferencia de Calor del Lado Fuente del Serpentín de Enfriamiento + + + Cooling Coil Source Side Heat Transfer Rate + Tasa de Transferencia de Calor del Lado Fuente del Serpentín de Enfriamiento + + + Cooling Coil Total Cooling Energy + Energía Total de Enfriamiento del Serpentín de Enfriamiento + + + Cooling Coil Total Cooling Rate + Tasa Total de Enfriamiento del Serpentín de Enfriamiento + + + Cooling Coil Upper Speed Level + Nivel de Velocidad Superior del Serpentín de Enfriamiento + + + Cooling Coil Wetted Area Fraction + Fracción de Área Húmeda del Serpentín de Enfriamiento + + + Cooling Panel Convective Cooling Energy + Energía de Enfriamiento Convectivo del Panel de Enfriamiento + + + Cooling Panel Convective Cooling Rate + Tasa de Enfriamiento Convectivo del Panel de Enfriamiento + + + Cooling Panel Radiant Cooling Energy + Energía de Enfriamiento Radiante del Panel de Enfriamiento + + + Cooling Panel Radiant Cooling Rate + Tasa de Enfriamiento Radiante del Panel de Enfriamiento + + + Cooling Panel Total Cooling Energy + Energía de Enfriamiento Total del Panel de Enfriamiento + + + Cooling Panel Total Cooling Rate + Tasa de Enfriamiento Total del Panel de Enfriamiento + + + Cooling Panel Total System Cooling Energy + Energía de Enfriamiento Total del Sistema del Panel de Enfriamiento + + + Cooling Panel Total System Cooling Rate + Tasa de Enfriamiento Total del Sistema del Panel de Enfriamiento + + + Cooling Tower Air Flow Rate Ratio + Relación de Caudal de Aire de la Torre de Enfriamiento + + + Cooling Tower Basin Heater Electric Energy + Energía Eléctrica del Calefactor de Depósito de la Torre de Enfriamiento + + + Cooling Tower Basin Heater Electricity Rate + Tasa de Electricidad del Calefactor de Depósito de la Torre de Enfriamiento + + + Cooling Tower Bypass Fraction + Fracción de Bypass de la Torre de Enfriamiento + + + Cooling Tower Fan Cycling Ratio + Relación de Ciclos del Ventilador de la Torre de Enfriamiento + + + Cooling Tower Fan Electricity Energy + Energía Eléctrica del Ventilador de la Torre de Enfriamiento + + + Cooling Tower Fan Electricity Rate + Tasa de Electricidad del Ventilador de la Torre de Enfriamiento + + + Cooling Tower Fan Part Load Ratio + Relación de Carga Parcial del Ventilador de la Torre de Enfriamiento + + + Cooling Tower Fan Speed Level + Nivel de Velocidad del Ventilador de la Torre de Enfriamiento + + + Cooling Tower Heat Transfer Rate + Tasa de Transferencia de Calor de la Torre de Enfriamiento + + + Cooling Tower Inlet Temperature + Temperatura de Entrada de la Torre de Enfriamiento + + + Cooling Tower Make Up Mains Water Volume + Volumen de Agua de Red de Reposición de la Torre de Enfriamiento + + + Cooling Tower Make Up Water Volume + Volumen de Agua de Reposición de la Torre de Enfriamiento + + + Cooling Tower Make Up Water Volume Flow Rate + Caudal Volumétrico de Agua de Reposición de la Torre de Enfriamiento + + + Cooling Tower Mass Flow Rate + Caudal Másico de la Torre de Enfriamiento + + + Cooling Tower Operating Cells Count + Conteo de Celdas en Operación de la Torre de Enfriamiento + + + Cooling Tower Outlet Temperature + Temperatura de Salida de la Torre de Enfriamiento + + + Daylighting Lighting Power Multiplier + Multiplicador de Potencia de Iluminación por Luz Natural + + + Daylighting Reference Point 1 Daylight Illuminance Setpoint Exceeded Time + Tiempo de Superación del Punto de Ajuste de Iluminancia del Punto de Referencia 1 de Luz Natural + + + Daylighting Reference Point 1 Glare Index + Índice de Deslumbramiento del Punto de Referencia 1 de Luz Natural + + + Daylighting Reference Point 1 Glare Index Setpoint Exceeded Time + Tiempo de Superación del Punto de Ajuste del Índice de Deslumbramiento del Punto de Referencia 1 de Luz Natural + + + Daylighting Reference Point 1 Illuminance + Iluminancia del Punto de Referencia 1 de Luz Natural + + + Daylighting Reference Point 2 Daylight Illuminance Setpoint Exceeded Time + Tiempo de Superación del Punto de Ajuste de Iluminancia del Punto de Referencia 2 de Luz Natural + + + Daylighting Reference Point 2 Glare Index + Índice de Deslumbramiento del Punto de Referencia 2 de Luz Natural + + + Daylighting Reference Point 2 Glare Index Setpoint Exceeded Time + Tiempo de Superación del Punto de Ajuste del Índice de Deslumbramiento del Punto de Referencia 2 de Luz Natural + + + Daylighting Reference Point 2 Illuminance + Iluminancia del Punto de Referencia 2 de Luz Natural + + + Debug Plant Last Simulated Loop Side + Depuración: Último Lado del Circuito Simulado de Planta + + + Debug Plant Loop Bypass Fraction + Depuración: Fracción de Bypass del Circuito de Planta + + + District Cooling Water Energy + Energía de Agua de Enfriamiento Distrital + + + District Cooling Water Inlet Temperature + Temperatura de Entrada del Agua de Enfriamiento Distrital + + + District Cooling Water Mass Flow Rate + Caudal Másico del Agua de Enfriamiento Distrital + + + District Cooling Water Outlet Temperature + Temperatura de Salida del Agua de Enfriamiento Distrital + + + District Cooling Water Rate + Tasa de Agua de Enfriamiento Distrital + + + District Heating Water Energy + Energía de Agua de Calefacción Distrital + + + District Heating Water Inlet Temperature + Temperatura de Entrada del Agua de Calefacción Distrital + + + District Heating Water Mass Flow Rate + Caudal Másico del Agua de Calefacción Distrital + + + District Heating Water Outlet Temperature + Temperatura de Salida del Agua de Calefacción Distrital + + + District Heating Water Rate + Tasa de Agua de Calefacción Distrital + + + Electric Load Center Produced Electricity Energy + Energía Eléctrica Producida por el Centro de Carga Eléctrica + + + Electric Load Center Produced Electricity Rate + Tasa de Electricidad Producida por el Centro de Carga Eléctrica + + + Electric Load Center Produced Thermal Energy + Energía Térmica Producida por el Centro de Carga Eléctrica + + + Electric Load Center Produced Thermal Rate + Tasa Térmica Producida por el Centro de Carga Eléctrica + + + Electric Load Center Requested Electricity Rate + Tasa de Electricidad Requerida por el Centro de Carga Eléctrica + + + Evaporative Cooler Dewpoint Bound Status + Estado del Límite de Punto de Rocío del Enfriador Evaporativo + + + Evaporative Cooler Electricity Energy + Energía Eléctrica del Enfriador Evaporativo + + + Evaporative Cooler Electricity Rate + Tasa de Electricidad del Enfriador Evaporativo + + + Evaporative Cooler Mains Water Volume + Volumen de Agua de Red del Enfriador Evaporativo + + + Evaporative Cooler Operating Mode Satus + Estado del Modo de Operación del Enfriador Evaporativo + + + Evaporative Cooler Part Load Ratio + Relación de Carga Parcial del Enfriador Evaporativo + + + Evaporative Cooler Stage Effectiveness + Efectividad de Etapa del Enfriador Evaporativo + + + Evaporative Cooler Total Stage Effectiveness + Efectividad Total de Etapa del Enfriador Evaporativo + + + Evaporative Cooler Water Volume + Volumen de Agua del Enfriador Evaporativo + + + Fan Air Mass Flow Rate + Caudal Másico de Aire del Ventilador + + + Fan Balanced Air Mass Flow Rate + Caudal Másico de Aire Balanceado del Ventilador + + + Fan Electricity Energy + Energía Eléctrica del Ventilador + + + Fan Electricity Rate + Tasa de Electricidad del Ventilador + + + Fan Heat Gain to Air + Ganancia de Calor al Aire del Ventilador + + + Fan Rise in Air Temperature + Incremento de Temperatura del Aire del Ventilador + + + Fan Runtime Fraction + Fracción de Tiempo en Funcionamiento del Ventilador + + + Fan Unbalanced Air Mass Flow Rate + Caudal Másico de Aire No Balanceado del Ventilador + + + Fluid Heat Exchanger Effectiveness + Efectividad del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Heat Transfer Energy + Energía de Transferencia de Calor del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Heat Transfer Rate + Tasa de Transferencia de Calor del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Loop Demand Side Inlet Temperature + Temperatura de Entrada del Lado de Demanda del Circuito del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Loop Demand Side Mass Flow Rate + Caudal Másico del Lado de Demanda del Circuito del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Loop Demand Side Outlet Temperature + Temperatura de Salida del Lado de Demanda del Circuito del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Loop Supply Side Inlet Temperature + Temperatura de Entrada del Lado de Suministro del Circuito del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Loop Supply Side Mass Flow Rate + Caudal Másico del Lado de Suministro del Circuito del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Loop Supply Side Outlet Temperature + Temperatura de Salida del Lado de Suministro del Circuito del Intercambiador de Calor de Fluido + + + Fluid Heat Exchanger Operation Status + Estado de Operación del Intercambiador de Calor de Fluido + + + Generator Ancillary Electricity Energy + Energía Eléctrica Auxiliar del Generador + + + Generator Ancillary Electricity Rate + Tasa de Electricidad Auxiliar del Generador + + + Generator Exhaust Air Mass Flow Rate + Caudal Másico del Aire de Escape del Generador + + + Generator Exhaust Air Temperature + Temperatura del Aire de Escape del Generador + + + Generator Fuel HHV Basis Energy + Energía Base PCS del Combustible del Generador + + + Generator Fuel HHV Basis Rate + Tasa Base PCS del Combustible del Generador + + + Generator LHV Basis Electric Efficiency + Eficiencia Eléctrica Base PCI del Generador + + + Generator NaturalGas HHV Basis Energy + Energía Base PCS de Gas Natural del Generador + + + Generator NaturalGas HHV Basis Rate + Tasa Base PCS de Gas Natural del Generador + + + Generator NaturalGas Mass Flow Rate + Caudal Másico de Gas Natural del Generador + + + Generator Produced AC Electricity Energy + Energía Eléctrica CA Producida por el Generador + + + Generator Produced AC Electricity Rate + Tasa de Electricidad CA Producida por el Generador + + + Generator Propane HHV Basis Energy + Energía Base PCS de Propano del Generador + + + Generator Propane HHV Basis Rate + Tasa Base PCS de Propano del Generador + + + Generator Propane Mass Flow Rate + Caudal Másico de Propano del Generador + + + Generator Standby Electric Energy + Energía Eléctrica en Espera del Generador + + + Generator Standby Electricity Rate + Tasa de Electricidad en Espera del Generador + + + Ground Heat Exchanger Average Borehole Temperature + Temperatura Promedio de la Perforación del Intercambiador de Calor de Suelo + + + Ground Heat Exchanger Average Fluid Temperature + Temperatura Promedio del Fluido del Intercambiador de Calor de Suelo + + + Ground Heat Exchanger Fluid Heat Transfer Rate + Tasa de Transferencia de Calor del Fluido del Intercambiador de Calor de Suelo + + + Ground Heat Exchanger Heat Transfer Rate + Tasa de Transferencia de Calor del Intercambiador de Calor de Suelo + + + Ground Heat Exchanger Inlet Temperature + Temperatura de Entrada del Intercambiador de Calor de Suelo + + + Ground Heat Exchanger Mass Flow Rate + Caudal Másico del Intercambiador de Calor de Suelo + + + Ground Heat Exchanger Outlet Temperature + Temperatura de Salida del Intercambiador de Calor de Suelo + + + HVAC System Solver Iteration Count + Conteo de Iteraciones del Solucionador del Sistema HVAC + + + Heat Exchanger Defrost Time Fraction + Fracción de Tiempo de Desescarche del Intercambiador de Calor + + + Heat Exchanger Electricity Energy + Energía Eléctrica del Intercambiador de Calor + + + Heat Exchanger Electricity Rate + Tasa de Electricidad del Intercambiador de Calor + + + Heat Exchanger Exhaust Air Bypass Mass Flow Rate + Caudal Másico en Bypass del Aire de Escape del Intercambiador de Calor + + + Heat Exchanger Latent Cooling Energy + Energía de Enfriamiento Latente del Intercambiador de Calor + + + Heat Exchanger Latent Cooling Rate + Tasa de Enfriamiento Latente del Intercambiador de Calor + + + Heat Exchanger Latent Effectiveness + Efectividad Latente del Intercambiador de Calor + + + Heat Exchanger Latent Gain Energy + Energía de Ganancia Latente del Intercambiador de Calor + + + Heat Exchanger Latent Gain Rate + Tasa de Ganancia Latente del Intercambiador de Calor + + + Heat Exchanger Sensible Cooling Energy + Energía de Enfriamiento Sensible del Intercambiador de Calor + + + Heat Exchanger Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Intercambiador de Calor + + + Heat Exchanger Sensible Effectiveness + Efectividad Sensible del Intercambiador de Calor + + + Heat Exchanger Sensible Heating Energy + Energía de Calefacción Sensible del Intercambiador de Calor + + + Heat Exchanger Sensible Heating Rate + Tasa de Calefacción Sensible del Intercambiador de Calor + + + Heat Exchanger Supply Air Bypass Mass Flow Rate + Caudal Másico en Bypass del Aire de Suministro del Intercambiador de Calor + + + Heat Exchanger Total Cooling Energy + Energía Total de Enfriamiento del Intercambiador de Calor + + + Heat Exchanger Total Cooling Rate + Tasa Total de Enfriamiento del Intercambiador de Calor + + + Heat Exchanger Total Heating Energy + Energía Total de Calefacción del Intercambiador de Calor + + + Heat Exchanger Total Heating Rate + Tasa Total de Calefacción del Intercambiador de Calor + + + Heating Coil Air Heating Energy + Energía de Calefacción del Aire del Serpentín de Calefacción + + + Heating Coil Air Heating Rate + Tasa de Calefacción del Aire del Serpentín de Calefacción + + + Heating Coil Ancillary Coal Energy + Energía Auxiliar de Carbón del Serpentín de Calefacción + + + Heating Coil Ancillary Coal Rate + Tasa Auxiliar de Carbón del Serpentín de Calefacción + + + Heating Coil Ancillary Diesel Energy + Energía Auxiliar de Diésel del Serpentín de Calefacción + + + Heating Coil Ancillary Diesel Rate + Tasa Auxiliar de Diésel del Serpentín de Calefacción + + + Heating Coil Ancillary FuelOilNo1 Energy + Energía Auxiliar de Combustóleo No. 1 del Serpentín de Calefacción + + + Heating Coil Ancillary FuelOilNo1 Rate + Tasa Auxiliar de Combustóleo No. 1 del Serpentín de Calefacción + + + Heating Coil Ancillary FuelOilNo2 Energy + Energía Auxiliar de Combustóleo No. 2 del Serpentín de Calefacción + + + Heating Coil Ancillary FuelOilNo2 Rate + Tasa Auxiliar de Combustóleo No. 2 del Serpentín de Calefacción + + + Heating Coil Ancillary Gasoline Energy + Energía Auxiliar de Gasolina del Serpentín de Calefacción + + + Heating Coil Ancillary Gasoline Rate + Tasa Auxiliar de Gasolina del Serpentín de Calefacción + + + Heating Coil Ancillary NaturalGas Energy + Energía Auxiliar de Gas Natural del Serpentín de Calefacción + + + Heating Coil Ancillary NaturalGas Rate + Tasa Auxiliar de Gas Natural del Serpentín de Calefacción + + + Heating Coil Ancillary OtherFuel1 Energy + Energía Auxiliar de Otro Combustible 1 del Serpentín de Calefacción + + + Heating Coil Ancillary OtherFuel1 Rate + Tasa Auxiliar de Otro Combustible 1 del Serpentín de Calefacción + + + Heating Coil Ancillary OtherFuel2 Energy + Energía Auxiliar de Otro Combustible 2 del Serpentín de Calefacción + + + Heating Coil Ancillary OtherFuel2 Rate + Tasa Auxiliar de Otro Combustible 2 del Serpentín de Calefacción + + + Heating Coil Ancillary Propane Energy + Energía Auxiliar de Propano del Serpentín de Calefacción + + + Heating Coil Ancillary Propane Rate + Tasa Auxiliar de Propano del Serpentín de Calefacción + + + Heating Coil Coal Energy + Energía de Carbón del Serpentín de Calefacción + + + Heating Coil Coal Rate + Tasa de Carbón del Serpentín de Calefacción + + + Heating Coil Crankcase Heater Electricity Energy + Energía Eléctrica del Calefactor del Cárter del Serpentín de Calefacción + + + Heating Coil Crankcase Heater Electricity Rate + Tasa de Electricidad del Calefactor del Cárter del Serpentín de Calefacción + + + Heating Coil Defrost Electricity Energy + Energía Eléctrica de Desescarche del Serpentín de Calefacción + + + Heating Coil Defrost Electricity Rate + Tasa de Electricidad de Desescarche del Serpentín de Calefacción + + + Heating Coil Defrost Gas Energy + Energía de Gas de Desescarche del Serpentín de Calefacción + + + Heating Coil Defrost Gas Rate + Tasa de Gas de Desescarche del Serpentín de Calefacción + + + Heating Coil Diesel Energy + Energía de Diésel del Serpentín de Calefacción + + + Heating Coil Diesel Rate + Tasa de Diésel del Serpentín de Calefacción + + + Heating Coil Electricity Energy + Energía Eléctrica del Serpentín de Calefacción + + + Heating Coil Electricity Rate + Tasa de Electricidad del Serpentín de Calefacción + + + Heating Coil FuelOilNo1 Energy + Energía de Combustóleo No. 1 del Serpentín de Calefacción + + + Heating Coil FuelOilNo1 Rate + Tasa de Combustóleo No. 1 del Serpentín de Calefacción + + + Heating Coil FuelOilNo2 Energy + Energía de Combustóleo No. 2 del Serpentín de Calefacción + + + Heating Coil FuelOilNo2 Rate + Tasa de Combustóleo No. 2 del Serpentín de Calefacción + + + Heating Coil Gasoline Energy + Energía de Gasolina del Serpentín de Calefacción + + + Heating Coil Gasoline Rate + Tasa de Gasolina del Serpentín de Calefacción + + + Heating Coil Heating Energy + Energía de Calefacción del Serpentín de Calefacción + + + Heating Coil Heating Rate + Tasa de Calefacción del Serpentín de Calefacción + + + Heating Coil NaturalGas Energy + Energía de Gas Natural del Serpentín de Calefacción + + + Heating Coil NaturalGas Rate + Tasa de Gas Natural del Serpentín de Calefacción + + + Heating Coil OtherFuel1 Energy + Energía de Otro Combustible 1 del Serpentín de Calefacción + + + Heating Coil OtherFuel1 Rate + Tasa de Otro Combustible 1 del Serpentín de Calefacción + + + Heating Coil OtherFuel2 Energy + Energía de Otro Combustible 2 del Serpentín de Calefacción + + + Heating Coil OtherFuel2 Rate + Tasa de Otro Combustible 2 del Serpentín de Calefacción + + + Heating Coil Propane Energy + Energía de Propano del Serpentín de Calefacción + + + Heating Coil Propane Rate + Tasa de Propano del Serpentín de Calefacción + + + Heating Coil Runtime Fraction + Fracción de Tiempo en Funcionamiento del Serpentín de Calefacción + + + Heating Coil Source Side Heat Transfer Energy + Energía de Transferencia de Calor del Lado Fuente del Serpentín de Calefacción + + + Heating Coil Total Heating Energy + Energía Total de Calefacción del Serpentín de Calefacción + + + Heating Coil Total Heating Rate + Tasa Total de Calefacción del Serpentín de Calefacción + + + Heating Coil U Factor Times Area Value + Valor del Factor U por Área del Serpentín de Calefacción + + + Humidifier Electricity Energy + Energía Eléctrica del Humidificador + + + Humidifier Electricity Rate + Tasa de Electricidad del Humidificador + + + Humidifier Mains Water Volume + Volumen de Agua de Red del Humidificador + + + Humidifier Water Volume + Volumen de Agua del Humidificador + + + Humidifier Water Volume Flow Rate + Caudal Volumétrico de Agua del Humidificador + + + Ice Thermal Storage Ancillary Electricity Energy + Energía Eléctrica Auxiliar del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Ancillary Electricity Rate + Tasa de Electricidad Auxiliar del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Blended Outlet Temperature + Temperatura de Salida Mezclada del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Bypass Mass Flow Rate + Caudal Másico en Bypass del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Change Fraction + Fracción de Cambio del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Cooling Charge Energy + Energía de Carga de Enfriamiento del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Cooling Charge Rate + Tasa de Carga de Enfriamiento del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Cooling Discharge Energy + Energía de Descarga de Enfriamiento del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Cooling Discharge Rate + Tasa de Descarga de Enfriamiento del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Cooling Rate + Tasa de Enfriamiento del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage End Fraction + Fracción Final del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Fluid Inlet Temperature + Temperatura de Entrada del Fluido del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Mass Flow Rate + Caudal Másico del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage On Coil Fraction + Fracción Sobre el Serpentín del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Tank Mass Flow Rate + Caudal Másico del Tanque del Almacenamiento Térmico de Hielo + + + Ice Thermal Storage Tank Outlet Temperature + Temperatura de Salida del Tanque del Almacenamiento Térmico de Hielo + + + Performance Curve Input Variable 1 Value + Valor de la Variable de Entrada 1 de la Curva de Rendimiento + + + Performance Curve Input Variable 2 Value + Valor de la Variable de Entrada 2 de la Curva de Rendimiento + + + Performance Curve Output Value + Valor de Salida de la Curva de Rendimiento + + + Plant Common Pipe Flow Direction Status + Estado de Dirección de Flujo de la Tubería Común de Planta + + + Plant Common Pipe Mass Flow Rate + Caudal Másico de la Tubería Común de Planta + + + Plant Common Pipe Primary Mass Flow Rate + Caudal Másico Primario de la Tubería Común de Planta + + + Plant Common Pipe Primary to Secondary Mass Flow Rate + Caudal Másico Primario a Secundario de la Tubería Común de Planta + + + Plant Common Pipe Secondary Mass Flow Rate + Caudal Másico Secundario de la Tubería Común de Planta + + + Plant Common Pipe Secondary to Primary Mass Flow Rate + Caudal Másico Secundario a Primario de la Tubería Común de Planta + + + Plant Common Pipe Temperature + Temperatura de la Tubería Común de Planta + + + Plant Demand Side Loop Pressure Difference + Diferencia de Presión del Circuito en el Lado de Demanda de Planta + + + Plant Load Profile Cooling Energy + Energía de Enfriamiento del Perfil de Carga de Planta + + + Plant Load Profile Heat Transfer Energy + Energía de Transferencia de Calor del Perfil de Carga de Planta + + + Plant Load Profile Heat Transfer Rate + Tasa de Transferencia de Calor del Perfil de Carga de Planta + + + Plant Load Profile Heating Energy + Energía de Calefacción del Perfil de Carga de Planta + + + Plant Load Profile Mass Flow Rate + Caudal Másico del Perfil de Carga de Planta + + + Plant Loop Pressure Difference + Diferencia de Presión del Circuito de Planta + + + Plant Solver Half Loop Calls Count + Conteo de Llamadas de Medio Circuito del Solucionador de Planta + + + Plant Solver Sub Iteration Count + Conteo de Sub-iteraciones del Solucionador de Planta + + + Plant Supply Side Cooling Demand Rate + Tasa de Demanda de Enfriamiento del Lado de Suministro de Planta + + + Plant Supply Side Heating Demand Rate + Tasa de Demanda de Calefacción del Lado de Suministro de Planta + + + Plant Supply Side Inlet Mass Flow Rate + Caudal Másico de Entrada del Lado de Suministro de Planta + + + Plant Supply Side Inlet Temperature + Temperatura de Entrada del Lado de Suministro de Planta + + + Plant Supply Side Loop Pressure Difference + Diferencia de Presión del Circuito en el Lado de Suministro de Planta + + + Plant Supply Side Not Distributed Demand Rate + Tasa de Demanda No Distribuida del Lado de Suministro de Planta + + + Plant Supply Side Outlet Temperature + Temperatura de Salida del Lado de Suministro de Planta + + + Plant Supply Side Unmet Demand Rate + Tasa de Demanda No Satisfecha del Lado de Suministro de Planta + + + Plant System Cycle On Off Status + Estado de Ciclo Encendido/Apagado del Sistema de Planta + + + Primary Side Common Pipe Flow Direction + Dirección de Flujo de la Tubería Común del Lado Primario + + + Pump Electricity Energy + Energía Eléctrica de la Bomba + + + Pump Electricity Rate + Tasa de Electricidad de la Bomba + + + Pump Fluid Heat Gain Energy + Energía de Ganancia de Calor del Fluido de la Bomba + + + Pump Fluid Heat Gain Rate + Tasa de Ganancia de Calor del Fluido de la Bomba + + + Pump Mass Flow Rate + Caudal Másico de la Bomba + + + Pump Operating Pumps Count + Conteo de Bombas en Operación + + + Pump Outlet Temperature + Temperatura de Salida de la Bomba + + + Pump Shaft Power + Potencia del Eje de la Bomba + + + Pump Zone Convective Heating Rate + Tasa de Calefacción Convectiva de la Zona por la Bomba + + + Pump Zone Radiative Heating Rate + Tasa de Calefacción Radiativa de la Zona por la Bomba + + + Pump Zone Total Heating Energy + Energía de Calefacción Total de la Zona por la Bomba + + + Pump Zone Total Heating Rate + Tasa de Calefacción Total de la Zona por la Bomba + + + Refrigeration Air Chiller System Average Compressor COP + COP Promedio del Compresor del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Condensing Temperature + Temperatura de Condensación del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Estimated High Stage Refrigerant Mass Flow Rate + Caudal Másico Estimado de Refrigerante de Alta Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Estimated Low Stage Refrigerant Mass Flow Rate + Caudal Másico Estimado de Refrigerante de Baja Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Estimated Refrigerant Inventory Mass + Masa Estimada de Inventario de Refrigerante del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Estimated Refrigerant Mass Flow Rate + Caudal Másico Estimado de Refrigerante del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Evaporating Temperature + Temperatura de Evaporación del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Intercooler Pressure + Presión del Interenfriador del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Intercooler Temperature + Temperatura del Interenfriador del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Liquid Suction Subcooler Heat Transfer Energy + Energía de Transferencia de Calor del Subenfriador de Succión Líquida del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Liquid Suction Subcooler Heat Transfer Rate + Tasa de Transferencia de Calor del Subenfriador de Succión Líquida del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Net Rejected Heat Transfer Energy + Energía de Transferencia de Calor Rechazado Neto del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Net Rejected Heat Transfer Rate + Tasa de Transferencia de Calor Rechazado Neto del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Suction Temperature + Temperatura de Succión del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System TXV Liquid Temperature + Temperatura del Líquido de la VTX del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Air Chiller Heat Transfer Rate + Tasa Total de Transferencia de Calor del Enfriador de Aire del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Case and Walk In Heat Transfer Energy + Energía de Transferencia de Calor Total de Vitrinas y Cámaras del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Compressor Electricity Energy + Energía Eléctrica Total del Compresor del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Compressor Electricity Rate + Tasa de Electricidad Total del Compresor del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Compressor Heat Transfer Energy + Energía de Transferencia de Calor Total del Compresor del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Compressor Heat Transfer Rate + Tasa de Transferencia de Calor Total del Compresor del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total High Stage Compressor Electricity Energy + Energía Eléctrica Total del Compresor de Alta Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total High Stage Compressor Electricity Rate + Tasa de Electricidad Total del Compresor de Alta Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total High Stage Compressor Heat Transfer Energy + Energía de Transferencia de Calor Total del Compresor de Alta Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total High Stage Compressor Heat Transfer Rate + Tasa de Transferencia de Calor Total del Compresor de Alta Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Low Stage Compressor Electricity Energy + Energía Eléctrica Total del Compresor de Baja Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Low Stage Compressor Electricity Rate + Tasa de Electricidad Total del Compresor de Baja Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Low Stage Compressor Heat Transfer Energy + Energía de Transferencia de Calor Total del Compresor de Baja Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Low Stage Compressor Heat Transfer Rate + Tasa de Transferencia de Calor Total del Compresor de Baja Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Low and High Stage Compressor Electricity Energy + Energía Eléctrica Total de los Compresores de Baja y Alta Etapa del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Suction Pipe Heat Gain Energy + Energía Total de Ganancia de Calor en la Tubería de Succión del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Suction Pipe Heat Gain Rate + Tasa Total de Ganancia de Calor en la Tubería de Succión del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Transferred Load Heat Transfer Energy + Energía de Transferencia de Calor de Carga Transferida Total del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration Air Chiller System Total Transferred Load Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Transferida Total del Sistema Enfriador de Aire por Refrigeración + + + Refrigeration System Average Compressor COP + COP Promedio del Compresor del Sistema de Refrigeración + + + Refrigeration System Condensing Temperature + Temperatura de Condensación del Sistema de Refrigeración + + + Refrigeration System Estimated High Stage Refrigerant Mass Flow Rate + Caudal Másico Estimado de Refrigerante de Alta Etapa del Sistema de Refrigeración + + + Refrigeration System Estimated Low Stage Refrigerant Mass Flow Rate + Caudal Másico Estimado de Refrigerante de Baja Etapa del Sistema de Refrigeración + + + Refrigeration System Estimated Refrigerant Inventory + Inventario Estimado de Refrigerante del Sistema de Refrigeración + + + Refrigeration System Estimated Refrigerant Inventory Mass + Masa Estimada de Inventario de Refrigerante del Sistema de Refrigeración + + + Refrigeration System Estimated Refrigerant Mass Flow Rate + Caudal Másico Estimado de Refrigerante del Sistema de Refrigeración + + + Refrigeration System Evaporating Temperature + Temperatura de Evaporación del Sistema de Refrigeración + + + Refrigeration System Liquid Suction Subcooler Heat Transfer Energy + Energía de Transferencia de Calor del Subenfriador de Succión Líquida del Sistema de Refrigeración + + + Refrigeration System Liquid Suction Subcooler Heat Transfer Rate + Tasa de Transferencia de Calor del Subenfriador de Succión Líquida del Sistema de Refrigeración + + + Refrigeration System Net Rejected Heat Transfer Energy + Energía de Transferencia de Calor Rechazado Neto del Sistema de Refrigeración + + + Refrigeration System Net Rejected Heat Transfer Rate + Tasa de Transferencia de Calor Rechazado Neto del Sistema de Refrigeración + + + Refrigeration System Suction Pipe Suction Temperature + Temperatura de Succión de la Tubería de Succión del Sistema de Refrigeración + + + Refrigeration System Thermostatic Expansion Valve Liquid Temperature + Temperatura del Líquido de la Válvula de Expansión Termostática del Sistema de Refrigeración + + + Refrigeration System Total Cases and Walk Ins Heat Transfer Energy + Energía de Transferencia de Calor Total de Vitrinas y Cámaras del Sistema de Refrigeración + + + Refrigeration System Total Cases and Walk Ins Heat Transfer Rate + Tasa de Transferencia de Calor Total de Vitrinas y Cámaras del Sistema de Refrigeración + + + Refrigeration System Total Compressor Electricity Energy + Energía Eléctrica Total del Compresor del Sistema de Refrigeración + + + Refrigeration System Total Compressor Electricity Rate + Tasa de Electricidad Total del Compresor del Sistema de Refrigeración + + + Refrigeration System Total Compressor Heat Transfer Energy + Energía de Transferencia de Calor Total del Compresor del Sistema de Refrigeración + + + Refrigeration System Total Compressor Heat Transfer Rate + Tasa de Transferencia de Calor Total del Compresor del Sistema de Refrigeración + + + Refrigeration System Total High Stage Compressor Electricity Energy + Energía Eléctrica Total del Compresor de Alta Etapa del Sistema de Refrigeración + + + Refrigeration System Total High Stage Compressor Electricity Rate + Tasa de Electricidad Total del Compresor de Alta Etapa del Sistema de Refrigeración + + + Refrigeration System Total High Stage Compressor Heat Transfer Energy + Energía de Transferencia de Calor Total del Compresor de Alta Etapa del Sistema de Refrigeración + + + Refrigeration System Total High Stage Compressor Heat Transfer Rate + Tasa de Transferencia de Calor Total del Compresor de Alta Etapa del Sistema de Refrigeración + + + Refrigeration System Total Low Stage Compressor Electricity Energy + Energía Eléctrica Total del Compresor de Baja Etapa del Sistema de Refrigeración + + + Refrigeration System Total Low Stage Compressor Electricity Rate + Tasa de Electricidad Total del Compresor de Baja Etapa del Sistema de Refrigeración + + + Refrigeration System Total Low Stage Compressor Heat Transfer Energy + Energía de Transferencia de Calor Total del Compresor de Baja Etapa del Sistema de Refrigeración + + + Refrigeration System Total Low Stage Compressor Heat Transfer Rate + Tasa de Transferencia de Calor Total del Compresor de Baja Etapa del Sistema de Refrigeración + + + Refrigeration System Total Low and High Stage Compressor Electricity Energy + Energía Eléctrica Total de los Compresores de Baja y Alta Etapa del Sistema de Refrigeración + + + Refrigeration System Total Suction Pipe Heat Gain Energy + Energía Total de Ganancia de Calor en la Tubería de Succión del Sistema de Refrigeración + + + Refrigeration System Total Suction Pipe Heat Gain Rate + Tasa Total de Ganancia de Calor en la Tubería de Succión del Sistema de Refrigeración + + + Refrigeration System Total Transferred Load Heat Transfer Energy + Energía de Transferencia de Calor de Carga Transferida Total del Sistema de Refrigeración + + + Refrigeration System Total Transferred Load Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Transferida Total del Sistema de Refrigeración + + + Refrigeration Walk In Zone Latent Energy + Energía Latente de la Zona de Cámara de Refrigeración + + + Refrigeration Walk In Zone Latent Rate + Tasa Latente de la Zona de Cámara de Refrigeración + + + Refrigeration Walk In Zone Sensible Cooling Energy + Energía de Enfriamiento Sensible de la Zona de Cámara de Refrigeración + + + Refrigeration Walk In Zone Sensible Cooling Rate + Tasa de Enfriamiento Sensible de la Zona de Cámara de Refrigeración + + + Refrigeration Walk In Zone Sensible Heating Energy + Energía de Calefacción Sensible de la Zona de Cámara de Refrigeración + + + Refrigeration Walk In Zone Sensible Heating Rate + Tasa de Calefacción Sensible de la Zona de Cámara de Refrigeración + + + Refrigeration Zone Air Chiller Heating Energy + Energía de Calefacción del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Heating Rate + Tasa de Calefacción del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Latent Cooling Energy + Energía de Enfriamiento Latente del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Latent Cooling Rate + Tasa de Enfriamiento Latente del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Sensible Cooling Energy + Energía de Enfriamiento Sensible del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Total Cooling Energy + Energía de Enfriamiento Total del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Total Cooling Rate + Tasa de Enfriamiento Total del Enfriador de Aire por Refrigeración de Zona + + + Refrigeration Zone Air Chiller Water Removed Mass Flow Rate + Caudal Másico de Agua Extraída del Enfriador de Aire por Refrigeración de Zona + + + Schedule Value + Valor de Horario + + + Secondary Side Common Pipe Flow Direction + Dirección de Flujo de la Tubería Común del Lado Secundario + + + Solar Collector Absorber Plate Temperature + Temperatura de la Placa Absorbedora del Colector Solar + + + Solar Collector Efficiency + Eficiencia del Colector Solar + + + Solar Collector Heat Gain Rate + Tasa de Ganancia de Calor del Colector Solar + + + Solar Collector Heat Loss Rate + Tasa de Pérdida de Calor del Colector Solar + + + Solar Collector Heat Transfer Energy + Energía de Transferencia de Calor del Colector Solar + + + Solar Collector Heat Transfer Rate + Tasa de Transferencia de Calor del Colector Solar + + + Solar Collector Incident Angle Modifier + Modificador del Ángulo de Incidencia del Colector Solar + + + Solar Collector Overall Top Heat Loss Coefficient + Coeficiente General de Pérdida de Calor Superior del Colector Solar + + + Solar Collector Skin Heat Transfer Energy + Energía de Transferencia de Calor por Capa Exterior del Colector Solar + + + Solar Collector Skin Heat Transfer Rate + Tasa de Transferencia de Calor por Capa Exterior del Colector Solar + + + Solar Collector Storage Heat Transfer Energy + Energía de Transferencia de Calor del Almacenamiento del Colector Solar + + + Solar Collector Storage Heat Transfer Rate + Tasa de Transferencia de Calor del Almacenamiento del Colector Solar + + + Solar Collector Storage Water Temperature + Temperatura del Agua de Almacenamiento del Colector Solar + + + Solar Collector Thermal Efficiency + Eficiencia Térmica del Colector Solar + + + Solar Collector Transmittance Absorptance Product + Producto de Transmitancia-Absortancia del Colector Solar + + + System Node Current Density + Densidad Actual del Nodo del Sistema + + + System Node Current Density Volume Flow Rate + Caudal Volumétrico a Densidad Actual del Nodo del Sistema + + + System Node Dewpoint Temperature + Temperatura de Punto de Rocío del Nodo del Sistema + + + System Node Enthalpy + Entalpía del Nodo del Sistema + + + System Node Height + Altura del Nodo del Sistema + + + System Node Humidity Ratio + Relación de Humedad del Nodo del Sistema + + + System Node Last Timestep Enthalpy + Entalpía del Último Paso de Tiempo del Nodo del Sistema + + + System Node Last Timestep Temperature + Temperatura del Último Paso de Tiempo del Nodo del Sistema + + + System Node Mass Flow Rate + Caudal Másico del Nodo del Sistema + + + System Node Pressure + Presión del Nodo del Sistema + + + System Node Quality + Calidad del Nodo del Sistema + + + System Node Relative Humidity + Humedad Relativa del Nodo del Sistema + + + System Node Setpoint High Temperature + Temperatura Alta del Punto de Ajuste del Nodo del Sistema + + + System Node Setpoint Humidity Ratio + Relación de Humedad del Punto de Ajuste del Nodo del Sistema + + + System Node Setpoint Low Temperature + Temperatura Baja del Punto de Ajuste del Nodo del Sistema + + + System Node Setpoint Maximum Humidity Ratio + Relación de Humedad Máxima del Punto de Ajuste del Nodo del Sistema + + + System Node Setpoint Minimum Humidity Ratio + Relación de Humedad Mínima del Punto de Ajuste del Nodo del Sistema + + + System Node Setpoint Temperature + Temperatura del Punto de Ajuste del Nodo del Sistema + + + System Node Specific Heat + Calor Específico del Nodo del Sistema + + + System Node Standard Density Volume Flow Rate + Caudal Volumétrico a Densidad Estándar del Nodo del Sistema + + + System Node Temperature + Temperatura del Nodo del Sistema + + + System Node Wetbulb Temperature + Temperatura de Bulbo Húmedo del Nodo del Sistema + + + Thermosiphon Status + Estado del Termosifón + + + Unitary System Ancillary Electricity Rate + Tasa de Electricidad Auxiliar del Sistema Unitario + + + Unitary System Compressor Part Load Ratio + Relación de Carga Parcial del Compresor del Sistema Unitario + + + Unitary System Compressor Speed Ratio + Relación de Velocidad del Compresor del Sistema Unitario + + + Unitary System Cooling Ancillary Electricity Energy + Energía Eléctrica Auxiliar de Enfriamiento del Sistema Unitario + + + Unitary System Cycling Ratio + Relación de Ciclos del Sistema Unitario + + + Unitary System DX Coil Cycling Ratio + Relación de Ciclos del Serpentín DX del Sistema Unitario + + + Unitary System DX Coil Speed Level + Nivel de Velocidad del Serpentín DX del Sistema Unitario + + + Unitary System DX Coil Speed Ratio + Relación de Velocidad del Serpentín DX del Sistema Unitario + + + Unitary System Electricity Energy + Energía Eléctrica del Sistema Unitario + + + Unitary System Electricity Rate + Tasa de Electricidad del Sistema Unitario + + + Unitary System Fan Part Load Ratio + Relación de Carga Parcial del Ventilador del Sistema Unitario + + + Unitary System Heat Recovery Energy + Energía de Recuperación de Calor del Sistema Unitario + + + Unitary System Heat Recovery Fluid Mass Flow Rate + Caudal Másico del Fluido de Recuperación de Calor del Sistema Unitario + + + Unitary System Heat Recovery Inlet Temperature + Temperatura de Entrada de Recuperación de Calor del Sistema Unitario + + + Unitary System Heat Recovery Outlet Temperature + Temperatura de Salida de Recuperación de Calor del Sistema Unitario + + + Unitary System Heat Recovery Rate + Tasa de Recuperación de Calor del Sistema Unitario + + + Unitary System Heating Ancillary Electricity Energy + Energía Eléctrica Auxiliar de Calefacción del Sistema Unitario + + + Unitary System Latent Cooling Rate + Tasa de Enfriamiento Latente del Sistema Unitario + + + Unitary System Latent Heating Rate + Tasa de Calefacción Latente del Sistema Unitario + + + Unitary System Predicted Moisture Load to Setpoint Heat Transfer Rate + Tasa de Transferencia de Calor de Carga de Humedad Prevista al Punto de Ajuste del Sistema Unitario + + + Unitary System Predicted Sensible Load to Setpoint Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Sensible Prevista al Punto de Ajuste del Sistema Unitario + + + Unitary System Requested Heating Rate + Tasa de Calefacción Requerida del Sistema Unitario + + + Unitary System Requested Latent Cooling Rate + Tasa de Enfriamiento Latente Requerida del Sistema Unitario + + + Unitary System Requested Sensible Cooling Rate + Tasa de Enfriamiento Sensible Requerida del Sistema Unitario + + + Unitary System Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Sistema Unitario + + + Unitary System Sensible Heating Rate + Tasa de Calefacción Sensible del Sistema Unitario + + + Unitary System Total Cooling Rate + Tasa Total de Enfriamiento del Sistema Unitario + + + Unitary System Total Heating Rate + Tasa Total de Calefacción del Sistema Unitario + + + Unitary System Water Coil Cycling Ratio + Relación de Ciclos del Serpentín de Agua del Sistema Unitario + + + Unitary System Water Coil Speed Level + Nivel de Velocidad del Serpentín de Agua del Sistema Unitario + + + Unitary System Water Coil Speed Ratio + Relación de Velocidad del Serpentín de Agua del Sistema Unitario + + + VRF Heat Pump Basin Heater Electricity Energy + Energía Eléctrica del Calefactor de Depósito de la Bomba de Calor VRF + + + VRF Heat Pump Basin Heater Electricity Rate + Tasa de Electricidad del Calefactor de Depósito de la Bomba de Calor VRF + + + VRF Heat Pump COP + COP de la Bomba de Calor VRF + + + VRF Heat Pump Condenser Heat Transfer Energy + Energía de Transferencia de Calor del Condensador de la Bomba de Calor VRF + + + VRF Heat Pump Condenser Heat Transfer Rate + Tasa de Transferencia de Calor del Condensador de la Bomba de Calor VRF + + + VRF Heat Pump Condenser Inlet Temperature + Temperatura de Entrada del Condensador de la Bomba de Calor VRF + + + VRF Heat Pump Condenser Mass Flow Rate + Caudal Másico del Condensador de la Bomba de Calor VRF + + + VRF Heat Pump Condenser Outlet Temperature + Temperatura de Salida del Condensador de la Bomba de Calor VRF + + + VRF Heat Pump Cooling COP + COP de Enfriamiento de la Bomba de Calor VRF + + + VRF Heat Pump Cooling Electricity Energy + Energía Eléctrica de Enfriamiento de la Bomba de Calor VRF + + + VRF Heat Pump Cooling Electricity Rate + Tasa de Electricidad de Enfriamiento de la Bomba de Calor VRF + + + VRF Heat Pump Crankcase Heater Electricity Energy + Energía Eléctrica del Calefactor del Cárter de la Bomba de Calor VRF + + + VRF Heat Pump Crankcase Heater Electricity Rate + Tasa de Electricidad del Calefactor del Cárter de la Bomba de Calor VRF + + + VRF Heat Pump Cycling Ratio + Relación de Ciclos de la Bomba de Calor VRF + + + VRF Heat Pump Defrost Electricity Energy + Energía Eléctrica de Desescarche de la Bomba de Calor VRF + + + VRF Heat Pump Defrost Electricity Rate + Tasa de Electricidad de Desescarche de la Bomba de Calor VRF + + + VRF Heat Pump Evaporative Condenser Pump Electricity Energy + Energía Eléctrica de la Bomba del Condensador Evaporativo de la Bomba de Calor VRF + + + VRF Heat Pump Evaporative Condenser Pump Electricity Rate + Tasa de Electricidad de la Bomba del Condensador Evaporativo de la Bomba de Calor VRF + + + VRF Heat Pump Evaporative Condenser Water Use Volume + Volumen de Uso de Agua del Condensador Evaporativo de la Bomba de Calor VRF + + + VRF Heat Pump Heat Recovery Status Change Multiplier + Multiplicador de Cambio de Estado de Recuperación de Calor de la Bomba de Calor VRF + + + VRF Heat Pump Heating COP + COP de Calefacción de la Bomba de Calor VRF + + + VRF Heat Pump Heating Electricity Energy + Energía Eléctrica de Calefacción de la Bomba de Calor VRF + + + VRF Heat Pump Heating Electricity Rate + Tasa de Electricidad de Calefacción de la Bomba de Calor VRF + + + VRF Heat Pump Maximum Capacity Cooling Rate + Tasa de Enfriamiento de Capacidad Máxima de la Bomba de Calor VRF + + + VRF Heat Pump Maximum Capacity Heating Rate + Tasa de Calefacción de Capacidad Máxima de la Bomba de Calor VRF + + + VRF Heat Pump Operating Mode + Modo de Operación de la Bomba de Calor VRF + + + VRF Heat Pump Part Load Ratio + Relación de Carga Parcial de la Bomba de Calor VRF + + + VRF Heat Pump Runtime Fraction + Fracción de Tiempo en Funcionamiento de la Bomba de Calor VRF + + + VRF Heat Pump Simultaneous Cooling and Heating Efficiency + Eficiencia de Enfriamiento y Calefacción Simultáneos de la Bomba de Calor VRF + + + VRF Heat Pump Terminal Unit Cooling Load Rate + Tasa de Carga de Enfriamiento de la Unidad Terminal de la Bomba de Calor VRF + + + VRF Heat Pump Terminal Unit Heating Load Rate + Tasa de Carga de Calefacción de la Unidad Terminal de la Bomba de Calor VRF + + + VRF Heat Pump Total Cooling Rate + Tasa Total de Enfriamiento de la Bomba de Calor VRF + + + VRF Heat Pump Total Heating Rate + Tasa Total de Calefacción de la Bomba de Calor VRF + + + VSAirtoAirHP Recoverable Waste Heat + Calor Residual Recuperable del Sistema de Bomba de Calor Aire-Aire de Velocidad Variable + + + Water Heater Coal Energy + Energía de Carbón del Calentador de Agua + + + Water Heater Coal Rate + Tasa de Carbón del Calentador de Agua + + + Water Heater Cycle On Count + Conteo de Ciclos de Encendido del Calentador de Agua + + + Water Heater Diesel Energy + Energía de Diésel del Calentador de Agua + + + Water Heater Diesel Rate + Tasa de Diésel del Calentador de Agua + + + Water Heater Electricity Energy + Energía Eléctrica del Calentador de Agua + + + Water Heater Electricity Rate + Tasa de Electricidad del Calentador de Agua + + + Water Heater Final Tank Temperature + Temperatura Final del Tanque del Calentador de Agua + + + Water Heater Final Temperature Node 1 + Temperatura Final del Nodo 1 del Calentador de Agua + + + Water Heater Final Temperature Node 10 + Temperatura Final del Nodo 10 del Calentador de Agua + + + Water Heater Final Temperature Node 11 + Temperatura Final del Nodo 11 del Calentador de Agua + + + Water Heater Final Temperature Node 12 + Temperatura Final del Nodo 12 del Calentador de Agua + + + Water Heater Final Temperature Node 2 + Temperatura Final del Nodo 2 del Calentador de Agua + + + Water Heater Final Temperature Node 3 + Temperatura Final del Nodo 3 del Calentador de Agua + + + Water Heater Final Temperature Node 4 + Temperatura Final del Nodo 4 del Calentador de Agua + + + Water Heater Final Temperature Node 5 + Temperatura Final del Nodo 5 del Calentador de Agua + + + Water Heater Final Temperature Node 6 + Temperatura Final del Nodo 6 del Calentador de Agua + + + Water Heater Final Temperature Node 7 + Temperatura Final del Nodo 7 del Calentador de Agua + + + Water Heater Final Temperature Node 8 + Temperatura Final del Nodo 8 del Calentador de Agua + + + Water Heater Final Temperature Node 9 + Temperatura Final del Nodo 9 del Calentador de Agua + + + Water Heater FuelOilNo1 Energy + Energía de Combustóleo No. 1 del Calentador de Agua + + + Water Heater FuelOilNo1 Rate + Tasa de Combustóleo No. 1 del Calentador de Agua + + + Water Heater FuelOilNo2 Energy + Energía de Combustóleo No. 2 del Calentador de Agua + + + Water Heater FuelOilNo2 Rate + Tasa de Combustóleo No. 2 del Calentador de Agua + + + Water Heater Gasoline Energy + Energía de Gasolina del Calentador de Agua + + + Water Heater Gasoline Rate + Tasa de Gasolina del Calentador de Agua + + + Water Heater Heat Loss Energy + Energía de Pérdida de Calor del Calentador de Agua + + + Water Heater Heat Loss Rate + Tasa de Pérdida de Calor del Calentador de Agua + + + Water Heater Heater 1 Cycle On Count + Conteo de Ciclos de Encendido del Elemento 1 del Calentador de Agua + + + Water Heater Heater 1 Heating Energy + Energía de Calefacción del Elemento 1 del Calentador de Agua + + + Water Heater Heater 1 Heating Rate + Tasa de Calefacción del Elemento 1 del Calentador de Agua + + + Water Heater Heater 1 Runtime Fraction + Fracción de Tiempo en Funcionamiento del Elemento 1 del Calentador de Agua + + + Water Heater Heater 2 Cycle On Count + Conteo de Ciclos de Encendido del Elemento 2 del Calentador de Agua + + + Water Heater Heater 2 Heating Energy + Energía de Calefacción del Elemento 2 del Calentador de Agua + + + Water Heater Heater 2 Heating Rate + Tasa de Calefacción del Elemento 2 del Calentador de Agua + + + Water Heater Heater 2 Runtime Fraction + Fracción de Tiempo en Funcionamiento del Elemento 2 del Calentador de Agua + + + Water Heater Heating Energy + Energía de Calefacción del Calentador de Agua + + + Water Heater Heating Rate + Tasa de Calefacción del Calentador de Agua + + + Water Heater NaturalGas Energy + Energía de Gas Natural del Calentador de Agua + + + Water Heater NaturalGas Rate + Tasa de Gas Natural del Calentador de Agua + + + Water Heater Net Heat Transfer Energy + Energía Neta de Transferencia de Calor del Calentador de Agua + + + Water Heater Net Heat Transfer Rate + Tasa Neta de Transferencia de Calor del Calentador de Agua + + + Water Heater Off Cycle Parasitic Tank Heat Transfer Energy + Energía de Transferencia de Calor Parásita del Tanque en Ciclo Apagado del Calentador de Agua + + + Water Heater Off Cycle Parasitic Tank Heat Transfer Rate + Tasa de Transferencia de Calor Parásita del Tanque en Ciclo Apagado del Calentador de Agua + + + Water Heater On Cycle Parasitic Tank Heat Transfer Energy + Energía de Transferencia de Calor Parásita del Tanque en Ciclo Encendido del Calentador de Agua + + + Water Heater On Cycle Parasitic Tank Heat Transfer Rate + Tasa de Transferencia de Calor Parásita del Tanque en Ciclo Encendido del Calentador de Agua + + + Water Heater OtherFuel1 Energy + Energía de Otro Combustible 1 del Calentador de Agua + + + Water Heater OtherFuel1 Rate + Tasa de Otro Combustible 1 del Calentador de Agua + + + Water Heater OtherFuel2 Energy + Energía de Otro Combustible 2 del Calentador de Agua + + + Water Heater OtherFuel2 Rate + Tasa de Otro Combustible 2 del Calentador de Agua + + + Water Heater Part Load Ratio + Relación de Carga Parcial del Calentador de Agua + + + Water Heater Propane Energy + Energía de Propano del Calentador de Agua + + + Water Heater Propane Rate + Tasa de Propano del Calentador de Agua + + + Water Heater Runtime Fraction + Fracción de Tiempo en Funcionamiento del Calentador de Agua + + + Water Heater Source Side Heat Transfer Energy + Energía de Transferencia de Calor del Lado Fuente del Calentador de Agua + + + Water Heater Source Side Heat Transfer Rate + Tasa de Transferencia de Calor del Lado Fuente del Calentador de Agua + + + Water Heater Source Side Inlet Temperature + Temperatura de Entrada del Lado Fuente del Calentador de Agua + + + Water Heater Source Side Mass Flow Rate + Caudal Másico del Lado Fuente del Calentador de Agua + + + Water Heater Source Side Outlet Temperature + Temperatura de Salida del Lado Fuente del Calentador de Agua + + + Water Heater Tank Temperature + Temperatura del Tanque del Calentador de Agua + + + Water Heater Temperature Node 1 + Temperatura del Nodo 1 del Calentador de Agua + + + Water Heater Temperature Node 10 + Temperatura del Nodo 10 del Calentador de Agua + + + Water Heater Temperature Node 11 + Temperatura del Nodo 11 del Calentador de Agua + + + Water Heater Temperature Node 12 + Temperatura del Nodo 12 del Calentador de Agua + + + Water Heater Temperature Node 2 + Temperatura del Nodo 2 del Calentador de Agua + + + Water Heater Temperature Node 3 + Temperatura del Nodo 3 del Calentador de Agua + + + Water Heater Temperature Node 4 + Temperatura del Nodo 4 del Calentador de Agua + + + Water Heater Temperature Node 5 + Temperatura del Nodo 5 del Calentador de Agua + + + Water Heater Temperature Node 6 + Temperatura del Nodo 6 del Calentador de Agua + + + Water Heater Temperature Node 7 + Temperatura del Nodo 7 del Calentador de Agua + + + Water Heater Temperature Node 8 + Temperatura del Nodo 8 del Calentador de Agua + + + Water Heater Temperature Node 9 + Temperatura del Nodo 9 del Calentador de Agua + + + Water Heater Total Demand Energy + Energía de Demanda Total del Calentador de Agua + + + Water Heater Total Demand Heat Transfer Rate + Tasa de Transferencia de Calor de Demanda Total del Calentador de Agua + + + Water Heater Unmet Demand Heat Transfer Energy + Energía de Transferencia de Calor de Demanda No Satisfecha del Calentador de Agua + + + Water Heater Unmet Demand Heat Transfer Rate + Tasa de Transferencia de Calor de Demanda No Satisfecha del Calentador de Agua + + + Water Heater Use Side Heat Transfer Energy + Energía de Transferencia de Calor del Lado de Uso del Calentador de Agua + + + Water Heater Use Side Heat Transfer Rate + Tasa de Transferencia de Calor del Lado de Uso del Calentador de Agua + + + Water Heater Use Side Inlet Temperature + Temperatura de Entrada del Lado de Uso del Calentador de Agua + + + Water Heater Use Side Mass Flow Rate + Caudal Másico del Lado de Uso del Calentador de Agua + + + Water Heater Use Side Outlet Temperature + Temperatura de Salida del Lado de Uso del Calentador de Agua + + + Water Heater Venting Heat Transfer Energy + Energía de Transferencia de Calor por Ventilación del Calentador de Agua + + + Water Heater Venting Heat Transfer Rate + Tasa de Transferencia de Calor por Ventilación del Calentador de Agua + + + Water Heater Water Volume + Volumen de Agua del Calentador de Agua + + + Water Heater Water Volume Flow Rate + Caudal Volumétrico de Agua del Calentador de Agua + + + Water Use Connections Cold Water Mass Flow Rate + Caudal Másico de Agua Fría de las Conexiones de Uso de Agua + + + Water Use Connections Cold Water Temperature + Temperatura del Agua Fría de las Conexiones de Uso de Agua + + + Water Use Connections Cold Water Volume + Volumen de Agua Fría de las Conexiones de Uso de Agua + + + Water Use Connections Cold Water Volume Flow Rate + Caudal Volumétrico de Agua Fría de las Conexiones de Uso de Agua + + + Water Use Connections Drain Water Mass Flow Rate + Caudal Másico del Agua de Drenaje de las Conexiones de Uso de Agua + + + Water Use Connections Drain Water Temperature + Temperatura del Agua de Drenaje de las Conexiones de Uso de Agua + + + Water Use Connections Heat Recovery Effectiveness + Efectividad de Recuperación de Calor de las Conexiones de Uso de Agua + + + Water Use Connections Heat Recovery Energy + Energía de Recuperación de Calor de las Conexiones de Uso de Agua + + + Water Use Connections Heat Recovery Mass Flow Rate + Caudal Másico de Recuperación de Calor de las Conexiones de Uso de Agua + + + Water Use Connections Heat Recovery Rate + Tasa de Recuperación de Calor de las Conexiones de Uso de Agua + + + Water Use Connections Heat Recovery Water Temperature + Temperatura del Agua de Recuperación de Calor de las Conexiones de Uso de Agua + + + Water Use Connections Hot Water Mass Flow Rate + Caudal Másico de Agua Caliente de las Conexiones de Uso de Agua + + + Water Use Connections Hot Water Temperature + Temperatura del Agua Caliente de las Conexiones de Uso de Agua + + + Water Use Connections Hot Water Volume + Volumen de Agua Caliente de las Conexiones de Uso de Agua + + + Water Use Connections Hot Water Volume Flow Rate + Caudal Volumétrico de Agua Caliente de las Conexiones de Uso de Agua + + + Water Use Connections Plant Hot Water Energy + Energía de Agua Caliente de Planta de las Conexiones de Uso de Agua + + + Water Use Connections Return Water Temperature + Temperatura del Agua de Retorno de las Conexiones de Uso de Agua + + + Water Use Connections Total Mass Flow Rate + Caudal Másico Total de las Conexiones de Uso de Agua + + + Water Use Connections Total Volume + Volumen Total de las Conexiones de Uso de Agua + + + Water Use Connections Total Volume Flow Rate + Caudal Volumétrico Total de las Conexiones de Uso de Agua + + + Water Use Connections Waste Water Temperature + Temperatura del Agua Residual de las Conexiones de Uso de Agua + + + Zone Air CO2 Concentration + Concentración de CO2 del Aire de la Zona + + + Zone Air CO2 Internal Gain Volume Flow Rate + Caudal Volumétrico de Ganancia Interna de CO2 del Aire de la Zona + + + Zone Air Generic Air Contaminant Concentration + Concentración de Contaminante Genérico del Aire de la Zona + + + Zone Air Heat Balance Air Energy Storage Rate + Tasa de Almacenamiento de Energía del Aire en el Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance Deviation Rate + Tasa de Desviación del Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance Internal Convective Heat Gain Rate + Tasa de Ganancia de Calor Convectivo Interno del Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance Interzone Air Transfer Rate + Tasa de Transferencia de Aire entre Zonas del Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance Outdoor Air Transfer Rate + Tasa de Transferencia de Aire Exterior del Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance Surface Convection Rate + Tasa de Convección de Superficies del Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance System Air Transfer Rate + Tasa de Transferencia de Aire del Sistema del Balance Térmico del Aire de la Zona + + + Zone Air Heat Balance System Convective Heat Gain Rate + Tasa de Ganancia de Calor Convectivo del Sistema del Balance Térmico del Aire de la Zona + + + Zone Air Humidity Ratio + Relación de Humedad del Aire de la Zona + + + Zone Air Relative Humidity + Humedad Relativa del Aire de la Zona + + + Zone Air System Sensible Cooling Energy + Energía de Enfriamiento Sensible del Sistema de Aire de la Zona + + + Zone Air System Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Sistema de Aire de la Zona + + + Zone Air System Sensible Heating Energy + Energía de Calefacción Sensible del Sistema de Aire de la Zona + + + Zone Air System Sensible Heating Rate + Tasa de Calefacción Sensible del Sistema de Aire de la Zona + + + Zone Air Temperature + Temperatura del Aire de la Zona + + + Zone Air Terminal Sensible Cooling Energy + Energía de Enfriamiento Sensible del Terminal de Aire de la Zona + + + Zone Air Terminal Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Terminal de Aire de la Zona + + + Zone Air Terminal Sensible Heating Energy + Energía de Calefacción Sensible del Terminal de Aire de la Zona + + + Zone Air Terminal Sensible Heating Rate + Tasa de Calefacción Sensible del Terminal de Aire de la Zona + + + Zone Dehumidifier Electricity Energy + Energía Eléctrica del Deshumidificador de Zona + + + Zone Dehumidifier Electricity Rate + Tasa de Electricidad del Deshumidificador de Zona + + + Zone Dehumidifier Off Cycle Parasitic Electricity Energy + Energía Eléctrica Parásita en Ciclo Apagado del Deshumidificador de Zona + + + Zone Dehumidifier Off Cycle Parasitic Electricity Rate + Tasa de Electricidad Parásita en Ciclo Apagado del Deshumidificador de Zona + + + Zone Dehumidifier Outlet Air Temperature + Temperatura del Aire de Salida del Deshumidificador de Zona + + + Zone Dehumidifier Part Load Ratio + Relación de Carga Parcial del Deshumidificador de Zona + + + Zone Dehumidifier Removed Water Mass + Masa de Agua Extraída por el Deshumidificador de Zona + + + Zone Dehumidifier Removed Water Mass Flow Rate + Caudal Másico de Agua Extraída por el Deshumidificador de Zona + + + Zone Dehumidifier Runtime Fraction + Fracción de Tiempo en Funcionamiento del Deshumidificador de Zona + + + Zone Dehumidifier Sensible Heating Energy + Energía de Calefacción Sensible del Deshumidificador de Zona + + + Zone Dehumidifier Sensible Heating Rate + Tasa de Calefacción Sensible del Deshumidificador de Zona + + + Zone Electric Equipment Convective Heating Energy + Energía de Calefacción Convectiva del Equipo Eléctrico de Zona + + + Zone Electric Equipment Convective Heating Rate + Tasa de Calefacción Convectiva del Equipo Eléctrico de Zona + + + Zone Electric Equipment Electricity Energy + Energía Eléctrica del Equipo Eléctrico de Zona + + + Zone Electric Equipment Electricity Rate + Tasa de Electricidad del Equipo Eléctrico de Zona + + + Zone Electric Equipment Latent Gain Energy + Energía de Ganancia Latente del Equipo Eléctrico de Zona + + + Zone Electric Equipment Latent Gain Rate + Tasa de Ganancia Latente del Equipo Eléctrico de Zona + + + Zone Electric Equipment Lost Heat Energy + Energía de Calor Perdido del Equipo Eléctrico de Zona + + + Zone Electric Equipment Lost Heat Rate + Tasa de Calor Perdido del Equipo Eléctrico de Zona + + + Zone Electric Equipment Radiant Heating Energy + Energía de Calefacción Radiante del Equipo Eléctrico de Zona + + + Zone Electric Equipment Radiant Heating Rate + Tasa de Calefacción Radiante del Equipo Eléctrico de Zona + + + Zone Electric Equipment Total Heating Energy + Energía de Calefacción Total del Equipo Eléctrico de Zona + + + Zone Electric Equipment Total Heating Rate + Tasa de Calefacción Total del Equipo Eléctrico de Zona + + + Zone Exterior Windows Total Transmitted Beam Solar Radiation Energy + Energía de Radiación Solar de Haz Transmitida Total por Ventanas Exteriores de Zona + + + Zone Exterior Windows Total Transmitted Beam Solar Radiation Rate + Tasa de Radiación Solar de Haz Transmitida Total por Ventanas Exteriores de Zona + + + Zone Exterior Windows Total Transmitted Diffuse Solar Radiation Energy + Energía de Radiación Solar Difusa Transmitida Total por Ventanas Exteriores de Zona + + + Zone Exterior Windows Total Transmitted Diffuse Solar Radiation Rate + Tasa de Radiación Solar Difusa Transmitida Total por Ventanas Exteriores de Zona + + + Zone Gas Equipment Convective Heating Energy + Energía de Calefacción Convectiva del Equipo de Gas de Zona + + + Zone Gas Equipment Convective Heating Rate + Tasa de Calefacción Convectiva del Equipo de Gas de Zona + + + Zone Gas Equipment Latent Gain Energy + Energía de Ganancia Latente del Equipo de Gas de Zona + + + Zone Gas Equipment Latent Gain Rate + Tasa de Ganancia Latente del Equipo de Gas de Zona + + + Zone Gas Equipment Lost Heat Energy + Energía de Calor Perdido del Equipo de Gas de Zona + + + Zone Gas Equipment Lost Heat Rate + Tasa de Calor Perdido del Equipo de Gas de Zona + + + Zone Gas Equipment NaturalGas Energy + Energía de Gas Natural del Equipo de Gas de Zona + + + Zone Gas Equipment NaturalGas Rate + Tasa de Gas Natural del Equipo de Gas de Zona + + + Zone Gas Equipment Radiant Heating Energy + Energía de Calefacción Radiante del Equipo de Gas de Zona + + + Zone Gas Equipment Radiant Heating Rate + Tasa de Calefacción Radiante del Equipo de Gas de Zona + + + Zone Gas Equipment Total Heating Energy + Energía de Calefacción Total del Equipo de Gas de Zona + + + Zone Gas Equipment Total Heating Rate + Tasa de Calefacción Total del Equipo de Gas de Zona + + + Zone Generic Air Contaminant Generation Volume Flow Rate + Caudal Volumétrico de Generación de Contaminante Genérico del Aire de Zona + + + Zone Hot Water Equipment Convective Heating Energy + Energía de Calefacción Convectiva del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Convective Heating Rate + Tasa de Calefacción Convectiva del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment District Heating Energy + Energía de Calefacción Distrital del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment District Heating Rate + Tasa de Calefacción Distrital del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Latent Gain Energy + Energía de Ganancia Latente del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Latent Gain Rate + Tasa de Ganancia Latente del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Lost Heat Energy + Energía de Calor Perdido del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Lost Heat Rate + Tasa de Calor Perdido del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Radiant Heating Energy + Energía de Calefacción Radiante del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Radiant Heating Rate + Tasa de Calefacción Radiante del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Total Heating Energy + Energía de Calefacción Total del Equipo de Agua Caliente de Zona + + + Zone Hot Water Equipment Total Heating Rate + Tasa de Calefacción Total del Equipo de Agua Caliente de Zona + + + Zone ITE Adjusted Return Air Temperature + Temperatura de Aire de Retorno Ajustada del ITE de Zona + + + Zone ITE Air Mass Flow Rate + Caudal Másico de Aire del ITE de Zona + + + Zone ITE Any Air Inlet Dewpoint Temperature Above Operating Range Time + Tiempo de Temperatura de Punto de Rocío de Entrada de Aire del ITE de Zona por Encima del Rango de Operación + + + Zone ITE Any Air Inlet Dewpoint Temperature Below Operating Range Time + Tiempo de Temperatura de Punto de Rocío de Entrada de Aire del ITE de Zona por Debajo del Rango de Operación + + + Zone ITE Any Air Inlet Dry-Bulb Temperature Above Operating Range Time + Tiempo de Temperatura de Bulbo Seco de Entrada de Aire del ITE de Zona por Encima del Rango de Operación + + + Zone ITE Any Air Inlet Dry-Bulb Temperature Below Operating Range Time + Tiempo de Temperatura de Bulbo Seco de Entrada de Aire del ITE de Zona por Debajo del Rango de Operación + + + Zone ITE Any Air Inlet Operating Range Exceeded Time + Tiempo de Rango de Operación de Entrada de Aire del ITE de Zona Superado + + + Zone ITE Any Air Inlet Relative Humidity Above Operating Range Time + Tiempo de Humedad Relativa de Entrada de Aire del ITE de Zona por Encima del Rango de Operación + + + Zone ITE Any Air Inlet Relative Humidity Below Operating Range Time + Tiempo de Humedad Relativa de Entrada de Aire del ITE de Zona por Debajo del Rango de Operación + + + Zone ITE Average Supply Heat Index + Índice de Calor de Suministro Promedio del ITE de Zona + + + Zone ITE CPU Electricity Energy + Energía Eléctrica de la CPU del ITE de Zona + + + Zone ITE CPU Electricity Energy at Design Inlet Conditions + Energía Eléctrica de la CPU del ITE de Zona en Condiciones de Diseño de Entrada + + + Zone ITE CPU Electricity Rate + Tasa de Electricidad de la CPU del ITE de Zona + + + Zone ITE CPU Electricity Rate at Design Inlet Conditions + Tasa de Electricidad de la CPU del ITE de Zona en Condiciones de Diseño de Entrada + + + Zone ITE Fan Electricity Energy + Energía Eléctrica del Ventilador del ITE de Zona + + + Zone ITE Fan Electricity Energy at Design Inlet Conditions + Energía Eléctrica del Ventilador del ITE de Zona en Condiciones de Diseño de Entrada + + + Zone ITE Fan Electricity Rate + Tasa de Electricidad del Ventilador del ITE de Zona + + + Zone ITE Fan Electricity Rate at Design Inlet Conditions + Tasa de Electricidad del Ventilador del ITE de Zona en Condiciones de Diseño de Entrada + + + Zone ITE Standard Density Air Volume Flow Rate + Caudal Volumétrico de Aire a Densidad Estándar del ITE de Zona + + + Zone ITE Total Heat Gain to Zone Energy + Energía de Ganancia de Calor Total a la Zona del ITE de Zona + + + Zone ITE Total Heat Gain to Zone Rate + Tasa de Ganancia de Calor Total a la Zona del ITE de Zona + + + Zone ITE UPS Electricity Energy + Energía Eléctrica del SAI del ITE de Zona + + + Zone ITE UPS Electricity Rate + Tasa de Electricidad del SAI del ITE de Zona + + + Zone ITE UPS Heat Gain to Zone Energy + Energía de Ganancia de Calor del SAI a la Zona del ITE de Zona + + + Zone ITE UPS Heat Gain to Zone Rate + Tasa de Ganancia de Calor del SAI a la Zona del ITE de Zona + + + Zone Ideal Loads Economizer Active Time + Tiempo Activo del Economizador de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Active Time + Tiempo Activo de Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Latent Cooling Energy + Energía de Enfriamiento Latente por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Latent Cooling Rate + Tasa de Enfriamiento Latente por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Latent Heating Energy + Energía de Calefacción Latente por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Latent Heating Rate + Tasa de Calefacción Latente por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Sensible Cooling Energy + Energía de Enfriamiento Sensible por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Sensible Cooling Rate + Tasa de Enfriamiento Sensible por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Sensible Heating Energy + Energía de Calefacción Sensible por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Sensible Heating Rate + Tasa de Calefacción Sensible por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Total Cooling Energy + Energía Total de Enfriamiento por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Total Cooling Rate + Tasa Total de Enfriamiento por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Total Heating Energy + Energía Total de Calefacción por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Heat Recovery Total Heating Rate + Tasa Total de Calefacción por Recuperación de Calor de Cargas Ideales de Zona + + + Zone Ideal Loads Hybrid Ventilation Available Status + Estado Disponible de Ventilación Híbrida de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Latent Cooling Energy + Energía de Enfriamiento Latente del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Latent Cooling Rate + Tasa de Enfriamiento Latente del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Latent Heating Energy + Energía de Calefacción Latente del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Latent Heating Rate + Tasa de Calefacción Latente del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Mass Flow Rate + Caudal Másico de Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Sensible Cooling Energy + Energía de Enfriamiento Sensible del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Sensible Heating Energy + Energía de Calefacción Sensible del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Sensible Heating Rate + Tasa de Calefacción Sensible del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Standard Density Volume Flow Rate + Caudal Volumétrico a Densidad Estándar del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Total Cooling Energy + Energía Total de Enfriamiento del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Total Cooling Rate + Tasa Total de Enfriamiento del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Total Heating Energy + Energía Total de Calefacción del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Outdoor Air Total Heating Rate + Tasa Total de Calefacción del Aire Exterior de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Latent Cooling Energy + Energía de Enfriamiento Latente del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Latent Cooling Rate + Tasa de Enfriamiento Latente del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Latent Heating Energy + Energía de Calefacción Latente del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Latent Heating Rate + Tasa de Calefacción Latente del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Mass Flow Rate + Caudal Másico del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Sensible Cooling Energy + Energía de Enfriamiento Sensible del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Sensible Heating Energy + Energía de Calefacción Sensible del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Sensible Heating Rate + Tasa de Calefacción Sensible del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Standard Density Volume Flow Rate + Caudal Volumétrico a Densidad Estándar del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Cooling Energy + Energía Total de Enfriamiento del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Cooling Fuel Energy + Energía de Combustible Total de Enfriamiento del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Cooling Fuel Energy Rate + Tasa de Energía de Combustible Total de Enfriamiento del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Cooling Rate + Tasa Total de Enfriamiento del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Heating Energy + Energía Total de Calefacción del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Heating Fuel Energy + Energía de Combustible Total de Calefacción del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Heating Fuel Energy Rate + Tasa de Energía de Combustible Total de Calefacción del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Supply Air Total Heating Rate + Tasa Total de Calefacción del Aire de Suministro de Cargas Ideales de Zona + + + Zone Ideal Loads Zone Cooling Fuel Energy + Energía de Combustible de Enfriamiento de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Cooling Fuel Energy Rate + Tasa de Energía de Combustible de Enfriamiento de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Heating Fuel Energy + Energía de Combustible de Calefacción de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Heating Fuel Energy Rate + Tasa de Energía de Combustible de Calefacción de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Latent Cooling Energy + Energía de Enfriamiento Latente de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Latent Cooling Rate + Tasa de Enfriamiento Latente de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Latent Heating Energy + Energía de Calefacción Latente de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Latent Heating Rate + Tasa de Calefacción Latente de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Sensible Cooling Energy + Energía de Enfriamiento Sensible de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Sensible Cooling Rate + Tasa de Enfriamiento Sensible de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Sensible Heating Energy + Energía de Calefacción Sensible de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Sensible Heating Rate + Tasa de Calefacción Sensible de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Total Cooling Energy + Energía Total de Enfriamiento de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Total Cooling Rate + Tasa Total de Enfriamiento de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Total Heating Energy + Energía Total de Calefacción de Zona de Cargas Ideales + + + Zone Ideal Loads Zone Total Heating Rate + Tasa Total de Calefacción de Zona de Cargas Ideales + + + Zone Infiltration Current Density Air Change Rate + Tasa de Cambio de Aire a Densidad Actual por Infiltración de Zona + + + Zone Infiltration Current Density Volume + Volumen a Densidad Actual por Infiltración de Zona + + + Zone Infiltration Current Density Volume Flow Rate + Caudal Volumétrico a Densidad Actual por Infiltración de Zona + + + Zone Infiltration Latent Heat Gain Energy + Energía de Ganancia de Calor Latente por Infiltración de Zona + + + Zone Infiltration Latent Heat Loss Energy + Energía de Pérdida de Calor Latente por Infiltración de Zona + + + Zone Infiltration Mass + Masa de Infiltración de Zona + + + Zone Infiltration Mass Flow Rate + Caudal Másico de Infiltración de Zona + + + Zone Infiltration Outdoor Density Air Change Rate + Tasa de Cambio de Aire a Densidad Exterior por Infiltración de Zona + + + Zone Infiltration Outdoor Density Volume Flow Rate + Caudal Volumétrico a Densidad Exterior por Infiltración de Zona + + + Zone Infiltration Sensible Heat Gain Energy + Energía de Ganancia de Calor Sensible por Infiltración de Zona + + + Zone Infiltration Sensible Heat Loss Energy + Energía de Pérdida de Calor Sensible por Infiltración de Zona + + + Zone Infiltration Standard Density Air Change Rate + Tasa de Cambio de Aire a Densidad Estándar por Infiltración de Zona + + + Zone Infiltration Standard Density Volume + Volumen a Densidad Estándar por Infiltración de Zona + + + Zone Infiltration Standard Density Volume Flow Rate + Caudal Volumétrico a Densidad Estándar por Infiltración de Zona + + + Zone Infiltration Total Heat Gain Energy + Energía de Ganancia de Calor Total por Infiltración de Zona + + + Zone Infiltration Total Heat Loss Energy + Energía de Pérdida de Calor Total por Infiltración de Zona + + + Zone Interior Windows Total Transmitted Beam Solar Radiation Energy + Energía de Radiación Solar de Haz Transmitida Total por Ventanas Interiores de Zona + + + Zone Interior Windows Total Transmitted Beam Solar Radiation Rate + Tasa de Radiación Solar de Haz Transmitida Total por Ventanas Interiores de Zona + + + Zone Interior Windows Total Transmitted Diffuse Solar Radiation Energy + Energía de Radiación Solar Difusa Transmitida Total por Ventanas Interiores de Zona + + + Zone Interior Windows Total Transmitted Diffuse Solar Radiation Rate + Tasa de Radiación Solar Difusa Transmitida Total por Ventanas Interiores de Zona + + + Zone Lights Convective Heating Energy + Energía de Calefacción Convectiva de las Luminarias de Zona + + + Zone Lights Convective Heating Rate + Tasa de Calefacción Convectiva de las Luminarias de Zona + + + Zone Lights Electricity Energy + Energía Eléctrica de las Luminarias de Zona + + + Zone Lights Electricity Rate + Tasa de Electricidad de las Luminarias de Zona + + + Zone Lights Radiant Heating Energy + Energía de Calefacción Radiante de las Luminarias de Zona + + + Zone Lights Radiant Heating Rate + Tasa de Calefacción Radiante de las Luminarias de Zona + + + Zone Lights Return Air Heating Energy + Energía de Calefacción del Aire de Retorno de las Luminarias de Zona + + + Zone Lights Return Air Heating Rate + Tasa de Calefacción del Aire de Retorno de las Luminarias de Zona + + + Zone Lights Total Heating Energy + Energía de Calefacción Total de las Luminarias de Zona + + + Zone Lights Total Heating Rate + Tasa de Calefacción Total de las Luminarias de Zona + + + Zone Lights Visible Radiation Heating Energy + Energía de Calefacción por Radiación Visible de las Luminarias de Zona + + + Zone Lights Visible Radiation Heating Rate + Tasa de Calefacción por Radiación Visible de las Luminarias de Zona + + + Zone Mean Air Dewpoint Temperature + Temperatura de Punto de Rocío del Aire Medio de Zona + + + Zone Mean Air Temperature + Temperatura del Aire Medio de Zona + + + Zone Mean Radiant Temperature + Temperatura Radiante Media de Zona + + + Zone Mechanical Ventilation Air Changes per Hour + Renovaciones de Aire por Hora de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Cooling Load Decrease Energy + Energía de Disminución de Carga de Enfriamiento por Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Cooling Load Increase Energy + Energía de Aumento de Carga de Enfriamiento por Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Cooling Load Increase Energy Due to Overheating Energy + Energía de Aumento de Carga de Enfriamiento por Sobrecalentamiento en Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Current Density Volume + Volumen a Densidad Actual de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Current Density Volume Flow Rate + Caudal Volumétrico a Densidad Actual de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Heating Load Decrease Energy + Energía de Disminución de Carga de Calefacción por Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Heating Load Increase Energy + Energía de Aumento de Carga de Calefacción por Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Heating Load Increase Energy Due to Overcooling Energy + Energía de Aumento de Carga de Calefacción por Sobreenfriamiento en Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Mass + Masa de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Mass Flow Rate + Caudal Másico de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation No Load Heat Addition Energy + Energía de Adición de Calor sin Carga de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation No Load Heat Removal Energy + Energía de Extracción de Calor sin Carga de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Standard Density Volume + Volumen a Densidad Estándar de Ventilación Mecánica de Zona + + + Zone Mechanical Ventilation Standard Density Volume Flow Rate + Caudal Volumétrico a Densidad Estándar de Ventilación Mecánica de Zona + + + Zone Operative Temperature + Temperatura Operativa de Zona + + + Zone Other Equipment Convective Heating Energy + Energía de Calefacción Convectiva de Otro Equipo de Zona + + + Zone Other Equipment Convective Heating Rate + Tasa de Calefacción Convectiva de Otro Equipo de Zona + + + Zone Other Equipment Latent Gain Energy + Energía de Ganancia Latente de Otro Equipo de Zona + + + Zone Other Equipment Latent Gain Rate + Tasa de Ganancia Latente de Otro Equipo de Zona + + + Zone Other Equipment Lost Heat Energy + Energía de Calor Perdido de Otro Equipo de Zona + + + Zone Other Equipment Lost Heat Rate + Tasa de Calor Perdido de Otro Equipo de Zona + + + Zone Other Equipment Radiant Heating Energy + Energía de Calefacción Radiante de Otro Equipo de Zona + + + Zone Other Equipment Radiant Heating Rate + Tasa de Calefacción Radiante de Otro Equipo de Zona + + + Zone Other Equipment Total Heating Energy + Energía de Calefacción Total de Otro Equipo de Zona + + + Zone Other Equipment Total Heating Rate + Tasa de Calefacción Total de Otro Equipo de Zona + + + Zone Outdoor Air Drybulb Temperature + Temperatura de Bulbo Seco del Aire Exterior de Zona + + + Zone Outdoor Air Wetbulb Temperature + Temperatura de Bulbo Húmedo del Aire Exterior de Zona + + + Zone Outdoor Air Wind Speed + Velocidad del Viento del Aire Exterior de Zona + + + Zone People Convective Heating Energy + Energía de Calefacción Convectiva por Personas de Zona + + + Zone People Convective Heating Rate + Tasa de Calefacción Convectiva por Personas de Zona + + + Zone People Latent Gain Energy + Energía de Ganancia Latente por Personas de Zona + + + Zone People Latent Gain Rate + Tasa de Ganancia Latente por Personas de Zona + + + Zone People Occupant Count + Conteo de Ocupantes por Personas de Zona + + + Zone People Radiant Heating Energy + Energía de Calefacción Radiante por Personas de Zona + + + Zone People Radiant Heating Rate + Tasa de Calefacción Radiante por Personas de Zona + + + Zone People Sensible Heating Energy + Energía de Calefacción Sensible por Personas de Zona + + + Zone People Sensible Heating Rate + Tasa de Calefacción Sensible por Personas de Zona + + + Zone People Total Heating Energy + Energía de Calefacción Total por Personas de Zona + + + Zone People Total Heating Rate + Tasa de Calefacción Total por Personas de Zona + + + Zone Predicted Moisture Load Moisture Transfer Rate + Tasa de Transferencia de Humedad de Carga de Humedad Prevista de Zona + + + Zone Predicted Moisture Load to Dehumidifying Setpoint Moisture Transfer Rate + Tasa de Transferencia de Humedad de Carga de Humedad Prevista al Punto de Ajuste de Deshumidificación de Zona + + + Zone Predicted Moisture Load to Humidifying Setpoint Moisture Transfer Rate + Tasa de Transferencia de Humedad de Carga de Humedad Prevista al Punto de Ajuste de Humidificación de Zona + + + Zone Predicted Sensible Load to Cooling Setpoint Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Sensible Prevista al Punto de Ajuste de Enfriamiento de Zona + + + Zone Predicted Sensible Load to Heating Setpoint Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Sensible Prevista al Punto de Ajuste de Calefacción de Zona + + + Zone Predicted Sensible Load to Setpoint Heat Transfer Rate + Tasa de Transferencia de Calor de Carga Sensible Prevista al Punto de Ajuste de Zona + + + Zone Radiant HVAC Electricity Energy + Energía Eléctrica del HVAC Radiante de Zona + + + Zone Radiant HVAC Electricity Rate + Tasa de Electricidad del HVAC Radiante de Zona + + + Zone Radiant HVAC Heating Energy + Energía de Calefacción del HVAC Radiante de Zona + + + Zone Radiant HVAC Heating Rate + Tasa de Calefacción del HVAC Radiante de Zona + + + Zone Radiant HVAC NaturalGas Energy + Energía de Gas Natural del HVAC Radiante de Zona + + + Zone Radiant HVAC NaturalGas Rate + Tasa de Gas Natural del HVAC Radiante de Zona + + + Zone Steam Equipment Convective Heating Energy + Energía de Calefacción Convectiva del Equipo de Vapor de Zona + + + Zone Steam Equipment Convective Heating Rate + Tasa de Calefacción Convectiva del Equipo de Vapor de Zona + + + Zone Steam Equipment District Heating Energy + Energía de Calefacción Distrital del Equipo de Vapor de Zona + + + Zone Steam Equipment District Heating Rate + Tasa de Calefacción Distrital del Equipo de Vapor de Zona + + + Zone Steam Equipment Latent Gain Energy + Energía de Ganancia Latente del Equipo de Vapor de Zona + + + Zone Steam Equipment Latent Gain Rate + Tasa de Ganancia Latente del Equipo de Vapor de Zona + + + Zone Steam Equipment Lost Heat Energy + Energía de Calor Perdido del Equipo de Vapor de Zona + + + Zone Steam Equipment Lost Heat Rate + Tasa de Calor Perdido del Equipo de Vapor de Zona + + + Zone Steam Equipment Radiant Heating Energy + Energía de Calefacción Radiante del Equipo de Vapor de Zona + + + Zone Steam Equipment Radiant Heating Rate + Tasa de Calefacción Radiante del Equipo de Vapor de Zona + + + Zone Steam Equipment Total Heating Energy + Energía de Calefacción Total del Equipo de Vapor de Zona + + + Zone Steam Equipment Total Heating Rate + Tasa de Calefacción Total del Equipo de Vapor de Zona + + + Zone Thermal Comfort ASHRAE 55 Adaptive Model 80% Acceptability Status + Estado de Aceptabilidad del 80% del Modelo Adaptativo ASHRAE 55 de Confort Térmico de Zona + + + Zone Thermal Comfort ASHRAE 55 Adaptive Model 90% Acceptability Status + Estado de Aceptabilidad del 90% del Modelo Adaptativo ASHRAE 55 de Confort Térmico de Zona + + + Zone Thermal Comfort ASHRAE 55 Adaptive Model Running Average Outdoor Air Temperature + Temperatura Promedio Móvil del Aire Exterior del Modelo Adaptativo ASHRAE 55 de Confort Térmico de Zona + + + Zone Thermal Comfort ASHRAE 55 Adaptive Model Temperature + Temperatura del Modelo Adaptativo ASHRAE 55 de Confort Térmico de Zona + + + Zone Thermal Comfort CEN 15251 Adaptive Model Category I Status + Estado de Categoría I del Modelo Adaptativo CEN 15251 de Confort Térmico de Zona + + + Zone Thermal Comfort CEN 15251 Adaptive Model Category II Status + Estado de Categoría II del Modelo Adaptativo CEN 15251 de Confort Térmico de Zona + + + Zone Thermal Comfort CEN 15251 Adaptive Model Category III Status + Estado de Categoría III del Modelo Adaptativo CEN 15251 de Confort Térmico de Zona + + + Zone Thermal Comfort CEN 15251 Adaptive Model Running Average Outdoor Air Temperature + Temperatura Promedio Móvil del Aire Exterior del Modelo Adaptativo CEN 15251 de Confort Térmico de Zona + + + Zone Thermal Comfort CEN 15251 Adaptive Model Temperature + Temperatura del Modelo Adaptativo CEN 15251 de Confort Térmico de Zona + + + Zone Thermal Comfort Clothing Surface Temperature + Temperatura de Superficie de la Ropa del Confort Térmico de Zona + + + Zone Thermal Comfort Fanger Model PMV + PMV del Modelo Fanger de Confort Térmico de Zona + + + Zone Thermal Comfort Fanger Model PPD + PPD del Modelo Fanger de Confort Térmico de Zona + + + Zone Thermal Comfort KSU Model Thermal Sensation Index + Índice de Sensación Térmica del Modelo KSU de Confort Térmico de Zona + + + Zone Thermal Comfort Mean Radiant Temperature + Temperatura Radiante Media del Confort Térmico de Zona + + + Zone Thermal Comfort Operative Temperature + Temperatura Operativa del Confort Térmico de Zona + + + Zone Thermal Comfort Pierce Model Discomfort Index + Índice de Incomodidad del Modelo Pierce de Confort Térmico de Zona + + + Zone Thermal Comfort Pierce Model Effective Temperature PMV + PMV de Temperatura Efectiva del Modelo Pierce de Confort Térmico de Zona + + + Zone Thermal Comfort Pierce Model Standard Effective Temperature PMV + PMV de Temperatura Efectiva Estándar del Modelo Pierce de Confort Térmico de Zona + + + Zone Thermal Comfort Pierce Model Thermal Sensation Index + Índice de Sensación Térmica del Modelo Pierce de Confort Térmico de Zona + + + Zone Thermostat Control Type + Tipo de Control del Termostato de Zona + + + Zone Thermostat Cooling Setpoint Temperature + Temperatura de Punto de Ajuste de Enfriamiento del Termostato de Zona + + + Zone Thermostat Heating Setpoint Temperature + Temperatura de Punto de Ajuste de Calefacción del Termostato de Zona + + + Zone Total Internal Convective Heating Energy + Energía de Calefacción Convectiva Total Interna de Zona + + + Zone Total Internal Convective Heating Rate + Tasa de Calefacción Convectiva Total Interna de Zona + + + Zone Total Internal Latent Gain Energy + Energía de Ganancia Latente Total Interna de Zona + + + Zone Total Internal Latent Gain Rate + Tasa de Ganancia Latente Total Interna de Zona + + + Zone Total Internal Radiant Heating Energy + Energía de Calefacción Radiante Total Interna de Zona + + + Zone Total Internal Radiant Heating Rate + Tasa de Calefacción Radiante Total Interna de Zona + + + Zone Total Internal Total Heating Energy + Energía de Calefacción Total Interna Total de Zona + + + Zone Total Internal Total Heating Rate + Tasa de Calefacción Total Interna Total de Zona + + + Zone Total Internal Visible Radiation Heating Energy + Energía de Calefacción por Radiación Visible Total Interna de Zona + + + Zone Total Internal Visible Radiation Heating Rate + Tasa de Calefacción por Radiación Visible Total Interna de Zona + + + Zone Unit Ventilator Fan Availability Status + Estado de Disponibilidad del Ventilador del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Fan Electricity Energy + Energía Eléctrica del Ventilador del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Fan Electricity Rate + Tasa de Electricidad del Ventilador del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Fan Part Load Ratio + Relación de Carga Parcial del Ventilador del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Heating Energy + Energía de Calefacción del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Heating Rate + Tasa de Calefacción del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Sensible Cooling Energy + Energía de Enfriamiento Sensible del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Total Cooling Energy + Energía Total de Enfriamiento del Ventilador de Unidad de Zona + + + Zone Unit Ventilator Total Cooling Rate + Tasa Total de Enfriamiento del Ventilador de Unidad de Zona + + + Zone VRF Air Terminal Cooling Electricity Energy + Energía Eléctrica de Enfriamiento del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Cooling Electricity Rate + Tasa de Electricidad de Enfriamiento del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Fan Availability Status + Estado de Disponibilidad del Ventilador del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Heating Electricity Energy + Energía Eléctrica de Calefacción del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Heating Electricity Rate + Tasa de Electricidad de Calefacción del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Latent Cooling Energy + Energía de Enfriamiento Latente del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Latent Cooling Rate + Tasa de Enfriamiento Latente del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Latent Heating Energy + Energía de Calefacción Latente del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Latent Heating Rate + Tasa de Calefacción Latente del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Sensible Cooling Energy + Energía de Enfriamiento Sensible del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Sensible Heating Energy + Energía de Calefacción Sensible del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Sensible Heating Rate + Tasa de Calefacción Sensible del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Total Cooling Energy + Energía Total de Enfriamiento del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Total Cooling Rate + Tasa Total de Enfriamiento del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Total Heating Energy + Energía Total de Calefacción del Terminal de Aire VRF de Zona + + + Zone VRF Air Terminal Total Heating Rate + Tasa Total de Calefacción del Terminal de Aire VRF de Zona + + + Zone Ventilation Air Inlet Temperature + Temperatura del Aire de Entrada de Ventilación de Zona + + + Zone Ventilation Current Density Air Change Rate + Tasa de Cambio de Aire a Densidad Actual de Ventilación de Zona + + + Zone Ventilation Current Density Volume + Volumen a Densidad Actual de Ventilación de Zona + + + Zone Ventilation Current Density Volume Flow Rate + Caudal Volumétrico a Densidad Actual de Ventilación de Zona + + + Zone Ventilation Fan Electricity Energy + Energía Eléctrica del Ventilador de Ventilación de Zona + + + Zone Ventilation Latent Heat Gain Energy + Energía de Ganancia de Calor Latente por Ventilación de Zona + + + Zone Ventilation Latent Heat Loss Energy + Energía de Pérdida de Calor Latente por Ventilación de Zona + + + Zone Ventilation Mass + Masa de Ventilación de Zona + + + Zone Ventilation Mass Flow Rate + Caudal Másico de Ventilación de Zona + + + Zone Ventilation Outdoor Density Air Change Rate + Tasa de Cambio de Aire a Densidad Exterior de Ventilación de Zona + + + Zone Ventilation Outdoor Density Volume Flow Rate + Caudal Volumétrico a Densidad Exterior de Ventilación de Zona + + + Zone Ventilation Sensible Heat Gain Energy + Energía de Ganancia de Calor Sensible por Ventilación de Zona + + + Zone Ventilation Sensible Heat Loss Energy + Energía de Pérdida de Calor Sensible por Ventilación de Zona + + + Zone Ventilation Standard Density Air Change Rate + Tasa de Cambio de Aire a Densidad Estándar de Ventilación de Zona + + + Zone Ventilation Standard Density Volume + Volumen a Densidad Estándar de Ventilación de Zona + + + Zone Ventilation Standard Density Volume Flow Rate + Caudal Volumétrico a Densidad Estándar de Ventilación de Zona + + + Zone Ventilation Total Heat Gain Energy + Energía de Ganancia de Calor Total por Ventilación de Zona + + + Zone Ventilation Total Heat Loss Energy + Energía de Pérdida de Calor Total por Ventilación de Zona + + + Zone Ventilator Electricity Energy + Energía Eléctrica del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Electricity Rate + Tasa de Electricidad del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Latent Cooling Energy + Energía de Enfriamiento Latente del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Latent Cooling Rate + Tasa de Enfriamiento Latente del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Latent Heating Energy + Energía de Calefacción Latente del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Latent Heating Rate + Tasa de Calefacción Latente del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Sensible Cooling Energy + Energía de Enfriamiento Sensible del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Sensible Cooling Rate + Tasa de Enfriamiento Sensible del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Sensible Heating Energy + Energía de Calefacción Sensible del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Sensible Heating Rate + Tasa de Calefacción Sensible del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Supply Fan Availability Status + Estado de Disponibilidad del Ventilador de Suministro del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Total Cooling Energy + Energía Total de Enfriamiento del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Total Cooling Rate + Tasa Total de Enfriamiento del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Total Heating Energy + Energía Total de Calefacción del Ventilador de Recuperación de Energía de Zona + + + Zone Ventilator Total Heating Rate + Tasa Total de Calefacción del Ventilador de Recuperación de Energía de Zona + + + Zone Windows Total Heat Gain Energy + Energía de Ganancia de Calor Total por Ventanas de Zona + + + Zone Windows Total Heat Gain Rate + Tasa de Ganancia de Calor Total por Ventanas de Zona + + + Zone Windows Total Heat Loss Energy + Energía de Pérdida de Calor Total por Ventanas de Zona + + + Zone Windows Total Heat Loss Rate + Tasa de Pérdida de Calor Total por Ventanas de Zona + + + Zone Windows Total Transmitted Solar Radiation Energy + Energía de Radiación Solar Transmitida Total por Ventanas de Zona + + + Zone Windows Total Transmitted Solar Radiation Rate + Tasa de Radiación Solar Transmitida Total por Ventanas de Zona + + + + openstudio::SimSettingsTabController + + Simulation Settings + Configuración de Simulación + + + + openstudio::SimSettingsView + + Run Period + Período de Ejecución + + + Date Range + Rango de Fechas + + + Advanced RunPeriod Parameters + Parámetros Avanzados del Período de Ejecución + + + Use Weather File Holidays and Special Days + Usar Días Festivos y Especiales del Archivo Meteorológico + + + Use Weather File Daylight Savings Period + Usar Período de Horario de Verano del Archivo Meteorológico + + + Use Weather File Rain Indicators + Usar Indicadores de Lluvia del Archivo Meteorológico + + + Use Weather File Snow Indicators + Usar Indicadores de Nieve del Archivo Meteorológico + + + Apply Weekend Holiday Rule + Aplicar Regla de Festivos en Fin de Semana + + + Radiance Parameters + Parámetros de Radiance + + + Coarse (Fast, less accurate) + Grueso (Rápido, menos preciso) + + + Fine (Slow, more accurate) + Fino (Lento, más preciso) + + + Custom + Personalizado + + + Accumulated Rays per Record: + Rayos Acumulados por Registro: + + + Direct Threshold: + Umbral Directo: + + + Direct Certainty: + Certeza Directa: + + + Direct Jitter: + Fluctuación Directa: + + + Direct Pretest: + Preprueba Directa: + + + Ambient Bounces VMX: + Rebotes Ambientales VMX: + + + Ambient Bounces DMX: + Rebotes Ambientales DMX: + + + Ambient Divisions VMX: + Divisiones Ambientales VMX: + + + Ambient Divisions DMX: + Divisiones Ambientales DMX: + + + Ambient Supersamples: + Supermuestras Ambientales: + + + Limit Weight VMX: + Peso Límite VMX: + + + Limit Weight DMX: + Peso Límite DMX: + + + Klems Sampling Density: + Densidad de Muestreo Klems: + + + Sky Discretization Resolution: + Resolución de Discretización del Cielo: + + + Sizing Parameters + Parámetros de Dimensionamiento + + + Heating Sizing Factor + Factor de Dimensionamiento de Calefacción + + + Cooling Sizing Factor + Factor de Dimensionamiento de Enfriamiento + + + Timesteps In Averaging Window + Pasos de Tiempo en la Ventana de Promediado + + + Timestep + Paso de Tiempo + + + Number Of Timesteps Per Hour + Número de Pasos de Tiempo por Hora + + + Simulation Control + Control de Simulación + + + Do Zone Sizing Calculation + Realizar Cálculo de Dimensionamiento de Zona + + + Do System Sizing Calculation + Realizar Cálculo de Dimensionamiento del Sistema + + + Do Plant Sizing Calculation + Realizar Cálculo de Dimensionamiento de Planta + + + Run Simulation For Sizing Periods + Ejecutar Simulación para Períodos de Dimensionamiento + + + Run Simulation For Weather File Run Periods + Ejecutar Simulación para Períodos del Archivo Meteorológico + + + Maximum Number Of Warmup Days + Número Máximo de Días de Calentamiento + + + Minimum Number Of Warmup Days + Número Mínimo de Días de Calentamiento + + + Loads Convergence Tolerance Value + Valor de Tolerancia de Convergencia de Cargas + + + Temperature Convergence Tolerance Value + Valor de Tolerancia de Convergencia de Temperatura + + + Solar Distribution + Distribución Solar + + + Do HVAC Sizing Simulation for Sizing Periods + Realizar Simulación de Dimensionamiento HVAC para Períodos de Dimensionamiento + + + Maximum Number of HVAC Sizing Simulation Passes + Número Máximo de Pasadas de Simulación de Dimensionamiento HVAC + + + Program Control + Control de Programa + + + Number Of Threads Allowed + Número de Hilos Permitidos + + + Output Control Reporting Tolerances + Tolerancias de Reporte del Control de Salida + + + Tolerance For Time Heating Setpoint Not Met + Tolerancia para Tiempo con Punto de Ajuste de Calefacción No Cumplido + + + Tolerance For Time Cooling Setpoint Not Met + Tolerancia para Tiempo con Punto de Ajuste de Enfriamiento No Cumplido + + + Convergence Limits + Límites de Convergencia + + + Maximum HVAC Iterations + Iteraciones Máximas de HVAC + + + Minimum Plant Iterations + Iteraciones Mínimas de Planta + + + Maximum Plant Iterations + Iteraciones Máximas de Planta + + + Minimum System Timestep + Paso de Tiempo Mínimo del Sistema + + + Shadow Calculation + Cálculo de Sombras + + + Shading Calculation Update Frequency + Frecuencia de Actualización del Cálculo de Sombreado + + + Maximum Figures In Shadow Overlap Calculations + Figuras Máximas en Cálculos de Superposición de Sombras + + + Polygon Clipping Algorithm + Algoritmo de Recorte de Polígonos + + + Sky Diffuse Modeling Algorithm + Algoritmo de Modelado de Radiación Difusa del Cielo + + + Inside Surface Convection Algorithm + Algoritmo de Convección de Superficie Interior + + + Outside Surface Convection Algorithm + Algoritmo de Convección de Superficie Exterior + + + Heat Balance Algorithm + Algoritmo de Balance Térmico + + + Algorithm + Algoritmo + + + Surface Temperature Upper Limit + Límite Superior de Temperatura de Superficie + + + Minimum Surface Convection Heat Transfer Coefficient Value + Valor Mínimo del Coeficiente de Transferencia de Calor por Convección de Superficie + + + Maximum Surface Convection Heat Transfer Coefficient Value + Valor Máximo del Coeficiente de Transferencia de Calor por Convección de Superficie + + + Zone Air Heat Balance Algorithm + Algoritmo de Balance Térmico del Aire de Zona + + + Zone Air Contaminant Balance + Balance de Contaminantes del Aire de Zona + + + Carbon Dioxide Concentration + Concentración de Dióxido de Carbono + + + Outdoor Carbon Dioxide Schedule Name + Nombre del Horario de CO2 Exterior + + + Zone Capacitance Multiple Research Special + Multiplicador de Capacitancia de Zona (Investigación Especial) + + + Temperature Capacity Multiplier + Multiplicador de Capacidad Térmica + + + Humidity Capacity Multiplier + Multiplicador de Capacidad de Humedad + + + Carbon Dioxide Capacity Multiplier + Multiplicador de Capacidad de CO2 + + + Output JSON + Salida JSON + + + Option Type + Tipo de Opción + + + Output CBOR + Salida CBOR + + + Output MessagePack + Salida MessagePack + + + Output Table Summary Reports + Informes de Resumen de Tablas de Salida + + + Enable AllSummary Report + Habilitar Informe de Resumen General + + + Output Diagnostics + Diagnósticos de Salida + + + Enable DisplayExtraWarnings + Habilitar Visualización de Advertencias Adicionales + + + Output Control Resilience Summaries + Resúmenes de Resiliencia del Control de Salida + + + Heat Index Algorithm + Algoritmo de Índice de Calor + + + Run Control + Control de Ejecución + + + Run Simulation for Weather File + Ejecutar Simulación para Archivo Meteorológico + + + Run Simulation for Design Days + Ejecutar Simulación para Días de Diseño + + + Perform Zone Sizing + Realizar Dimensionamiento de Zona + + + Perform System Sizing + Realizar Dimensionamiento del Sistema + + + Perform Plant Sizing + Realizar Dimensionamiento de Planta + + + + openstudio::measuretab::WorkflowController + + OpenStudio Measures + Medidas de OpenStudio + + + EnergyPlus Measures + Medidas de EnergyPlus + + + Reporting Measures + Medidas de Informe + + + + openstudio::measuretab::NewMeasureDropZone + + Drop Measure From Library to Create a New Always Run Measure + Arrastre una Medida de la Biblioteca para Crear una Nueva Medida de Ejecución Siempre + + + + openstudio::ScriptsTabView + + Measures + Medidas + + + Sync Project Measures with Library + Sincronizar Medidas del Proyecto con la Biblioteca + + + Check the Library for Newer Versions of the Measures in Your Project and Provides Sync Option + Busca Versiones Más Recientes de las Medidas del Proyecto en la Biblioteca y Ofrece la Opción de Sincronización + + + + openstudio::LocalLibraryView + + Copy Selected Measure and Add to My Measures + Copiar la Medida Seleccionada y Agregar a Mis Medidas + + + Create a Measure from Template and add to My Measures + Crear una Medida desde Plantilla y Agregarla a Mis Medidas + + + Look for BCL measure updates online + Buscar Actualizaciones de Medidas de BCL en Línea + + + Open the My Measures Directory + Abrir el Directorio Mis Medidas + + + Find Measures on BCL + Buscar Medidas en BCL + + + Connect to Online BCL to Download New Measures and Update Existing Measures to Library + Conectar a BCL en Línea para Descargar Nuevas Medidas y Actualizar las Medidas Existentes en la Biblioteca + + + + TaxonomyCategories + + Measures + Medidas + + + Envelope + Envolvente + + + Form + Forma + + + Opaque + Opaco + + + Fenestration + Fenestración + + + Construction Sets + Conjuntos de Construcción + + + Daylighting + Luz Natural + + + Infiltration + Infiltración + + + Electric Lighting + Iluminación Eléctrica + + + Electric Lighting Controls + Controles de Iluminación Eléctrica + + + Lighting Equipment + Equipo de Iluminación + + + Equipment + Equipo + + + Equipment Controls + Controles de Equipo + + + Electric Equipment + Equipo Eléctrico + + + Gas Equipment + Equipo de Gas + + + People + Personas + + + People Schedules + Horarios de Personas + + + Characteristics + Características + + + HVAC + HVAC + + + HVAC Controls + Controles de HVAC + + + Heating + Calefacción + + + Cooling + Enfriamiento + + + Heat Rejection + Rechazo de Calor + + + Energy Recovery + Recuperación de Energía + + + Distribution + Distribución + + + Ventilation + Ventilación + + + Whole System + Sistema Completo + + + Refrigeration + Refrigeración + + + Refrigeration Controls + Controles de Refrigeración + + + Cases and Walkins + Vitrinas y Cámaras + + + Compressors + Compresores + + + Condensers + Condensadores + + + Heat Reclaim + Recuperación de Calor Residual + + + Service Water Heating + Calentamiento de Agua Sanitaria + + + Water Use + Uso de Agua + + + Water Heating + Calentamiento de Agua + + + Onsite Power Generation + Generación de Energía en Sitio + + + Photovoltaic + Fotovoltaico + + + Whole Building + Edificio Completo + + + Whole Building Schedules + Horarios del Edificio Completo + + + Space Types + Tipos de Espacio + + + Economics + Economía + + + Life Cycle Cost Analysis + Análisis de Costo de Ciclo de Vida + + + Reporting + Informes + + + QAQC + QAQC + + + Troubleshooting + Solución de Problemas + + + + openstudio::RunTabView + + Run Simulation + Ejecutar Simulación + + + + openstudio::RunView + + Run + Ejecutar + + + Verbose + Detallado + + + Classic CLI + CLI Clásico + + + Show Simulation + Mostrar Simulación + + + Unable to open simulation + No se puede abrir la simulación + + + Please save the OpenStudio Model to view the simulation. + Por favor, guarde el modelo de OpenStudio para ver la simulación. + + + Could not open socket connection to OpenStudio Classic CLI. + No se pudo abrir la conexión de socket al CLI Clásico de OpenStudio. + + + Falling back to stdout/stderr parsing, live updates might be slower. + Usando análisis de stdout/stderr; las actualizaciones en tiempo real pueden ser más lentas. + + + Aborted + Cancelado + + + Initializing workflow. + Inicializando flujo de trabajo. + + + The classic command is deprecated and will be removed in a future release. + El comando clásico está obsoleto y se eliminará en una versión futura. + + + Processing OpenStudio Measures. + Procesando Medidas de OpenStudio. + + + Translating the OpenStudio Model to EnergyPlus. + Traduciendo el Modelo de OpenStudio a EnergyPlus. + + + Processing EnergyPlus Measures. + Procesando Medidas de EnergyPlus. + + + Adding Simulation Output Requests. + Agregando Solicitudes de Salida de Simulación. + + + Starting EnergyPlus Simulation. + Iniciando Simulación de EnergyPlus. + + + Processing Reporting Measures. + Procesando Medidas de Informe. + + + Gathering Reports. + Recopilando Informes. + + + Failed. + Fallido. + + + Completed. + Completado. + + + + openstudio::ResultsTabController + + Results Summary + Resumen de Resultados + + + + openstudio::ResultsView + + Refresh + Actualizar + + + Open DView for +Detailed Reports + Abrir DView para +Informes Detallados + + + Reports: + Informes: + + + Set Path to DView +in Preferences + Configurar Ruta de DView +en Preferencias + + + Unable to launch DView + No se puede iniciar DView + + + DView was not found in the expected location: + + DView no se encontró en la ubicación esperada: + + + + EnergyPlus Results + Resultados de EnergyPlus + + + Custom Report + Informe Personalizado From bce5a709d919dc3c62c2ef82c4dd2af6df38d605 Mon Sep 17 00:00:00 2001 From: Ski90Moo Date: Sat, 9 May 2026 18:32:00 +0200 Subject: [PATCH 4/4] test: add GTest suite for i18n translation (issue #680) Adds Translation_GTest.cpp to the OpenStudioApp test target, covering: Translation_ts suite (no build-path dependency, uses .ts source file): - ValidXml: verifies OpenStudioApp_es.ts parses as well-formed XML - HasExpectedContexts: checks all new translation contexts are present (IDD, OutputVariables, TaxonomyCategories, SimSettingsView, RunView, etc.) - TranslationCountIsSubstantial: guards against accidental file truncation - IddContextHasEntries: IDD context has >50 field-name translations - OutputVariablesContextHasEntries: OutputVariables context has >=1000 entries - TaxonomyCategoriesContextHasEntries: taxonomy categories are present Translation_qm suite (requires compiled .qm, skipped gracefully if absent): - QmFileLoads: QTranslator::load() succeeds for OpenStudioApp_es.qm - SpanishSimSettingsStringsTranslated: spot-checks Simulation Settings labels - SpanishRunViewStringsTranslated: spot-checks Run Simulation labels - TaxonomyCategoriesTranslated: spot-checks library sidebar category names - OutputVariablesSampleTranslated: spot-checks output variable name translations - EnglishStringsReturnedWithoutTranslator: verifies English fallback when no QTranslator is installed Co-Authored-By: Claude Sonnet 4.6 --- src/openstudio_app/CMakeLists.txt | 1 + src/openstudio_app/test/Translation_GTest.cpp | 280 ++++++++++++++++++ 2 files changed, 281 insertions(+) create mode 100644 src/openstudio_app/test/Translation_GTest.cpp diff --git a/src/openstudio_app/CMakeLists.txt b/src/openstudio_app/CMakeLists.txt index b2620d38d..6968a6071 100644 --- a/src/openstudio_app/CMakeLists.txt +++ b/src/openstudio_app/CMakeLists.txt @@ -537,6 +537,7 @@ set(${target_name}_test_src test/OpenStudioAppFixture.hpp test/OpenStudioAppFixture.cpp test/Resources_GTest.cpp + test/Translation_GTest.cpp test/Units_GTest.cpp ) diff --git a/src/openstudio_app/test/Translation_GTest.cpp b/src/openstudio_app/test/Translation_GTest.cpp new file mode 100644 index 000000000..33ceecd61 --- /dev/null +++ b/src/openstudio_app/test/Translation_GTest.cpp @@ -0,0 +1,280 @@ +/*********************************************************************************************************************** +* OpenStudio(R), Copyright (c) OpenStudio Coalition and other contributors. +* See also https://openstudiocoalition.org/about/software_license/ +***********************************************************************************************************************/ + +#include + +#include "OpenStudioAppFixture.hpp" +#include "../../utilities/OpenStudioApplicationPathHelpers.hpp" +#include "../../model_editor/Utilities.hpp" + +#include +#include +#include +#include +#include + +using namespace openstudio; + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +static openstudio::path translationsSourceDir() { + return getOpenStudioApplicationSourceDirectory() / toPath("translations"); +} + +// Locate the compiled .qm file. It is generated into the build tree under +// Products/Release/translations/ on Windows and into the equivalent on other +// platforms. We try a few candidate paths so the test works from different +// build configurations. +static openstudio::path findQmFile(const std::string& language) { + const std::string filename = "OpenStudioApp_" + language + ".qm"; + + // 1. Next to the test executable (CTest sets the working directory here) + openstudio::path candidates[] = { + toPath("translations") / toPath(filename), + toPath("../translations") / toPath(filename), + toPath("../../Products/Release/translations") / toPath(filename), + toPath("../../Products/Debug/translations") / toPath(filename), + translationsSourceDir() / toPath(filename), // committed .qm (if present) + }; + + for (const auto& p : candidates) { + if (openstudio::filesystem::exists(p)) { + return p; + } + } + return {}; // empty = not found +} + +// --------------------------------------------------------------------------- +// Test Suite: Translation_ts (validates the .ts source file – no build dep) +// --------------------------------------------------------------------------- + +class Translation_ts : public OpenStudioAppFixture +{ + protected: + QDomDocument m_doc; + + void SetUp() override { + openstudio::path tsPath = translationsSourceDir() / toPath("OpenStudioApp_es.ts"); + ASSERT_TRUE(openstudio::filesystem::exists(tsPath)) + << "Translation source file not found: " << tsPath; + + QFile file(toQString(tsPath)); + ASSERT_TRUE(file.open(QIODevice::ReadOnly)) << "Cannot open OpenStudioApp_es.ts"; + + QString errorMsg; + int errorLine = 0; + ASSERT_TRUE(m_doc.setContent(&file, &errorMsg, &errorLine)) + << "XML parse error in OpenStudioApp_es.ts at line " << errorLine << ": " + << errorMsg.toStdString(); + } +}; + +TEST_F(Translation_ts, ValidXml) { + // Root element should be + EXPECT_EQ(m_doc.documentElement().tagName(), "TS"); +} + +TEST_F(Translation_ts, HasExpectedContexts) { + // Verify contexts we introduced are present in the file + const QStringList requiredContexts = { + "openstudio::SimSettingsView", + "openstudio::RunView", + "openstudio::RunTabView", + "openstudio::ResultsView", + "openstudio::ResultsTabController", + "openstudio::VariablesList", + "openstudio::ScriptsTabView", + "openstudio::LocalLibraryView", + "openstudio::measuretab::WorkflowController", + "openstudio::measuretab::NewMeasureDropZone", + "IDD", + "OutputVariables", + "TaxonomyCategories", + }; + + QSet foundContexts; + QDomNodeList contextNodes = m_doc.elementsByTagName("context"); + for (int i = 0; i < contextNodes.count(); ++i) { + QDomElement nameEl = contextNodes.at(i).firstChildElement("name"); + if (!nameEl.isNull()) { + foundContexts.insert(nameEl.text()); + } + } + + for (const QString& ctx : requiredContexts) { + EXPECT_TRUE(foundContexts.contains(ctx)) + << "Missing translation context: " << ctx.toStdString(); + } +} + +TEST_F(Translation_ts, TranslationCountIsSubstantial) { + // Sanity check: the file should contain at least 2000 translated messages. + // This catches accidental truncation of the file. + int count = 0; + QDomNodeList messages = m_doc.elementsByTagName("message"); + for (int i = 0; i < messages.count(); ++i) { + QDomElement translation = messages.at(i).firstChildElement("translation"); + if (!translation.isNull() && translation.attribute("type") != "unfinished" + && !translation.text().isEmpty()) { + ++count; + } + } + EXPECT_GE(count, 2000) << "Unexpectedly few finished translations: " << count; +} + +TEST_F(Translation_ts, IddContextHasEntries) { + int iddCount = 0; + QDomNodeList contextNodes = m_doc.elementsByTagName("context"); + for (int i = 0; i < contextNodes.count(); ++i) { + QDomElement nameEl = contextNodes.at(i).firstChildElement("name"); + if (!nameEl.isNull() && nameEl.text() == "IDD") { + iddCount = contextNodes.at(i).toElement().elementsByTagName("message").count(); + break; + } + } + EXPECT_GT(iddCount, 50) << "IDD context has unexpectedly few entries: " << iddCount; +} + +TEST_F(Translation_ts, OutputVariablesContextHasEntries) { + int count = 0; + QDomNodeList contextNodes = m_doc.elementsByTagName("context"); + for (int i = 0; i < contextNodes.count(); ++i) { + QDomElement nameEl = contextNodes.at(i).firstChildElement("name"); + if (!nameEl.isNull() && nameEl.text() == "OutputVariables") { + count = contextNodes.at(i).toElement().elementsByTagName("message").count(); + break; + } + } + // There are 1051 output variable names + EXPECT_GE(count, 1000) << "OutputVariables context has unexpectedly few entries: " << count; +} + +TEST_F(Translation_ts, TaxonomyCategoriesContextHasEntries) { + int count = 0; + QDomNodeList contextNodes = m_doc.elementsByTagName("context"); + for (int i = 0; i < contextNodes.count(); ++i) { + QDomElement nameEl = contextNodes.at(i).firstChildElement("name"); + if (!nameEl.isNull() && nameEl.text() == "TaxonomyCategories") { + count = contextNodes.at(i).toElement().elementsByTagName("message").count(); + break; + } + } + EXPECT_GT(count, 30) << "TaxonomyCategories context has unexpectedly few entries: " << count; +} + +// --------------------------------------------------------------------------- +// Test Suite: Translation_qm (validates the compiled .qm and live translate) +// --------------------------------------------------------------------------- + +class Translation_qm : public OpenStudioAppFixture +{ + protected: + QTranslator m_translator; + bool m_loaded = false; + + void SetUp() override { + openstudio::path qmPath = findQmFile("es"); + if (!qmPath.empty()) { + m_loaded = m_translator.load(toQString(qmPath)); + if (m_loaded) { + QCoreApplication::installTranslator(&m_translator); + } + } + } + + void TearDown() override { + if (m_loaded) { + QCoreApplication::removeTranslator(&m_translator); + } + } +}; + +TEST_F(Translation_qm, QmFileLoads) { + openstudio::path qmPath = findQmFile("es"); + if (qmPath.empty()) { + GTEST_SKIP() << "OpenStudioApp_es.qm not found in candidate paths; skipping runtime translation tests. " + "Build the translations target and re-run."; + } + EXPECT_TRUE(m_loaded) << "QTranslator::load() failed for: " << qmPath; +} + +TEST_F(Translation_qm, SpanishSimSettingsStringsTranslated) { + if (!m_loaded) { + GTEST_SKIP() << "Spanish .qm not loaded."; + } + + // Spot-check a few strings from the Simulation Settings tab + EXPECT_EQ(QCoreApplication::translate("openstudio::SimSettingsView", "Run Period"), + QString("Período de Ejecución")); + EXPECT_EQ(QCoreApplication::translate("openstudio::SimSettingsView", "Timestep"), + QString("Paso de Tiempo")); + EXPECT_EQ(QCoreApplication::translate("openstudio::SimSettingsView", "Shadow Calculation"), + QString("Cálculo de Sombras")); + EXPECT_EQ(QCoreApplication::translate("openstudio::SimSettingsView", "Algorithm"), + QString("Algoritmo")); +} + +TEST_F(Translation_qm, SpanishRunViewStringsTranslated) { + if (!m_loaded) { + GTEST_SKIP() << "Spanish .qm not loaded."; + } + + EXPECT_EQ(QCoreApplication::translate("openstudio::RunView", "Run"), QString("Ejecutar")); + EXPECT_EQ(QCoreApplication::translate("openstudio::RunView", "Verbose"), QString("Detallado")); + EXPECT_EQ(QCoreApplication::translate("openstudio::RunView", "Show Simulation"), + QString("Mostrar Simulación")); + EXPECT_EQ(QCoreApplication::translate("openstudio::RunView", "Initializing workflow."), + QString("Inicializando flujo de trabajo.")); +} + +TEST_F(Translation_qm, TaxonomyCategoriesTranslated) { + if (!m_loaded) { + GTEST_SKIP() << "Spanish .qm not loaded."; + } + + EXPECT_EQ(QCoreApplication::translate("TaxonomyCategories", "Envelope"), QString("Envolvente")); + EXPECT_EQ(QCoreApplication::translate("TaxonomyCategories", "HVAC"), QString("HVAC")); + EXPECT_EQ(QCoreApplication::translate("TaxonomyCategories", "Refrigeration"), + QString("Refrigeración")); + EXPECT_EQ(QCoreApplication::translate("TaxonomyCategories", "Whole Building"), + QString("Edificio Completo")); + EXPECT_EQ(QCoreApplication::translate("TaxonomyCategories", "Troubleshooting"), + QString("Solución de Problemas")); +} + +TEST_F(Translation_qm, OutputVariablesSampleTranslated) { + if (!m_loaded) { + GTEST_SKIP() << "Spanish .qm not loaded."; + } + + // A sampling of output variable names + EXPECT_EQ(QCoreApplication::translate("OutputVariables", "Zone Air Temperature"), + QString("Temperatura del Aire de la Zona")); + EXPECT_EQ(QCoreApplication::translate("OutputVariables", "Fan Electricity Energy"), + QString("Energía Eléctrica del Ventilador")); + EXPECT_EQ(QCoreApplication::translate("OutputVariables", "Boiler Heating Energy"), + QString("Energía de Calefacción de la Caldera")); +} + +TEST_F(Translation_qm, EnglishStringsReturnedWithoutTranslator) { + // Remove the translator to verify English fallback works + if (m_loaded) { + QCoreApplication::removeTranslator(&m_translator); + } + + // tr() / translate() must return the source string when no translator is loaded + EXPECT_EQ(QCoreApplication::translate("openstudio::RunView", "Run"), QString("Run")); + EXPECT_EQ(QCoreApplication::translate("TaxonomyCategories", "Envelope"), QString("Envelope")); + EXPECT_EQ(QCoreApplication::translate("openstudio::SimSettingsView", "Timestep"), + QString("Timestep")); + + // Re-install for TearDown + if (m_loaded) { + QCoreApplication::installTranslator(&m_translator); + } +}