feat(nmNum): 补充翻译

feature/Sensitivity-20261012
lvjunjie 2 days ago
parent 1cad10ffac
commit 15a5b9601d

Binary file not shown.

@ -3427,6 +3427,10 @@ No valid error was returned; keep the last accepted result and reduce the step.<
<source>Time</source>
<translation>时间</translation>
</message>
<message>
<source>Flow</source>
<translation>流量</translation>
</message>
<message>
<source>Pressure</source>
<translation>压力</translation>
@ -3604,6 +3608,22 @@ Solve time: %2 ms</source>
<source>Sensitivity loglog plot</source>
<translation>敏感性分析双对数图</translation>
</message>
<message>
<source>Forecast - %1</source>
<translation>预测 - %1</translation>
</message>
<message>
<source>Production rate</source>
<translation>产量</translation>
</message>
<message>
<source>Bottomhole pressure</source>
<translation>井底压力</translation>
</message>
<message>
<source>Cumulative production</source>
<translation>累计产量</translation>
</message>
</context>
<context>
<name>nmSubWndPostprocessing</name>
@ -4441,6 +4461,38 @@ Supported types: Vertical, Vertical Fractured, and Horizontal Multi-Fractured We
<source>Max Delta T</source>
<translation>最大时间间隔</translation>
</message>
<message>
<source>Initial pressure</source>
<translation>初始压力</translation>
</message>
<message>
<source>Abandonment rate</source>
<translation>废弃产量</translation>
</message>
<message>
<source>Maximum rate</source>
<translation>最大产量</translation>
</message>
<message>
<source>Forecast duration</source>
<translation>预测时长</translation>
</message>
<message>
<source>Producing pressure</source>
<translation>生产压力</translation>
</message>
<message>
<source>Producing pressure (start)</source>
<translation>起始生产压力</translation>
</message>
<message>
<source>Producing pressure (end)</source>
<translation>终止生产压力</translation>
</message>
<message>
<source>Pressure change period</source>
<translation>压力变化时长</translation>
</message>
</context>
<context>
<name>nmWxAutomaticFitting</name>
@ -6626,6 +6678,10 @@ Please check your input coordinates.</source>
<source>Generate the model to enable sensitivity analysis.</source>
<translation>生成模型后可进行敏感性分析。</translation>
</message>
<message>
<source>Generate the model to enable forecast.</source>
<translation>生成模型后可使用预测功能。</translation>
</message>
</context>
<context>
<name>nmWxParaProperty</name>
@ -8354,6 +8410,42 @@ Average pressure in contour: %2 MPa</source>
<source>Regenerate the model before running sensitivity.</source>
<translation>请重新生成模型后再进行敏感性分析。</translation>
</message>
<message>
<source>Forecast input is unavailable.</source>
<translation>预测输入数据不可用。</translation>
</message>
<message>
<source>Generate the current model before forecasting.</source>
<translation>请先生成当前模型,再进行预测。</translation>
</message>
<message>
<source>Rate forecast currently supports single-phase models only.</source>
<translation>产量预测目前仅支持单相模型。</translation>
</message>
<message>
<source>Rate forecast currently requires one rate-controlled well.</source>
<translation>产量预测目前要求模型中仅有一口井,且该井采用产量控制。</translation>
</message>
<message>
<source>Enter a positive initial pressure and a complete rate schedule.</source>
<translation>请输入大于零的初始压力和完整的分段产量制度。</translation>
</message>
<message>
<source>Each duration must be positive and each production rate non-negative.</source>
<translation>每段持续时间必须大于零,产量不得小于零。</translation>
</message>
<message>
<source>The solver returned incomplete forecast pressure data.</source>
<translation>求解器返回的预测压力数据不完整。</translation>
</message>
<message>
<source>Invalid forecast pressure or time. Check the rate schedule and model.</source>
<translation>预测压力或时间无效,请检查分段产量制度和模型。</translation>
</message>
<message>
<source>The solver did not reach the end of the forecast schedule.</source>
<translation>求解器未计算到预测制度的结束时刻。</translation>
</message>
</context>
<context>
<name>nmParameterField</name>
@ -8639,4 +8731,91 @@ Average pressure in contour: %2 MPa</source>
<translation>取消</translation>
</message>
</context>
<context>
<name>nmWxForecast</name>
<message>
<source>Forecast</source>
<translation>预测</translation>
</message>
<message>
<source>Forecast options</source>
<translation>预测选项</translation>
</message>
<message>
<source>Constant pressure</source>
<translation>恒定压力</translation>
</message>
<message>
<source>Declining pressure (ramp)</source>
<translation>压力递减(线性)</translation>
</message>
<message>
<source>Multiple pressures</source>
<translation>多段压力</translation>
</message>
<message>
<source>Multiple rates</source>
<translation>多段产量</translation>
</message>
<message>
<source>Use past history</source>
<translation>使用历史数据</translation>
</message>
<message>
<source>Surface pressures</source>
<translation>井口压力</translation>
</message>
<message>
<source>Parameters</source>
<translation>参数</translation>
</message>
<message>
<source>Load data</source>
<translation>加载数据</translation>
</message>
<message>
<source>Generate</source>
<translation>生成</translation>
</message>
<message>
<source>Cancel</source>
<translation>取消</translation>
</message>
<message>
<source>Duration</source>
<translation>持续时间</translation>
</message>
<message>
<source>Pressure</source>
<translation>压力</translation>
</message>
<message>
<source>Rate</source>
<translation>产量</translation>
</message>
<message>
<source>Generate the current model before forecasting.</source>
<translation>请先生成当前模型,再进行预测。</translation>
</message>
<message>
<source>Rate forecast currently supports single-well, single-phase models only.</source>
<translation>产量预测目前仅支持单井单相模型。</translation>
</message>
<message>
<source>Enter a positive initial pressure.</source>
<translation>请输入大于零的初始压力。</translation>
</message>
<message>
<source>Row %1: enter a positive duration and a non-negative production rate (0 for shut-in).</source>
<translation>第 %1 行:持续时间必须大于零,产量不得小于零(0 表示关井)。</translation>
</message>
<message>
<source>Enter at least one duration and production rate.</source>
<translation>请至少输入一段持续时间和产量。</translation>
</message>
<message>
<source>The model changed. Generate the forecast again.</source>
<translation>模型已发生变化,请重新生成预测。</translation>
</message>
</context>
</TS>

@ -4,6 +4,15 @@ QMap<QString, QString> nmTranslationManager::m_mapEnToZh;
void nmTranslationManager::initTranslations() {
m_mapEnToZh = QMap<QString, QString>();
// 预测参数组件沿用名称映射,保留数据中的英文名称与单位代码。
m_mapEnToZh.insert("Initial pressure", tr("Initial pressure"));
m_mapEnToZh.insert("Abandonment rate", tr("Abandonment rate"));
m_mapEnToZh.insert("Maximum rate", tr("Maximum rate"));
m_mapEnToZh.insert("Forecast duration", tr("Forecast duration"));
m_mapEnToZh.insert("Producing pressure", tr("Producing pressure"));
m_mapEnToZh.insert("Producing pressure (start)", tr("Producing pressure (start)"));
m_mapEnToZh.insert("Producing pressure (end)", tr("Producing pressure (end)"));
m_mapEnToZh.insert("Pressure change period", tr("Pressure change period"));
// 油藏
m_mapEnToZh.insert("Initial Pressure",tr("Initial Pressure"));
//m_mapEnToZh.insert("Reservoir type",tr("Reservoir type"));

@ -33,7 +33,7 @@ nmWxForecast::nmWxForecast(QWidget *parent, nmDataAnalyzeManager* manager)
, m_extStackedWidget(nullptr)
, m_extEmpty(nullptr)
{
setWindowTitle("Forecast");
setWindowTitle(tr("Forecast"));
setFixedSize(520, 560);
setAttribute(Qt::WA_DeleteOnClose);
@ -108,13 +108,13 @@ void nmWxForecast::setupUI()
m_mainLayout = new QVBoxLayout(this);
// ========== Forecast options ==========
m_forecastOptionsGroup = new QGroupBox("Forecast options", this);
m_forecastOptionsGroup = new QGroupBox(tr("Forecast options"), this);
m_forecastOptionsLayout = new QVBoxLayout(m_forecastOptionsGroup);
m_constantPressureRadio = new QRadioButton("Constant pressure", this);
m_decliningPressureRadio = new QRadioButton("Declining pressure (ramp)", this);
m_multiplePressuresRadio = new QRadioButton("Multiple pressures", this);
m_multipleRatesRadio = new QRadioButton("Multiple rates", this);
m_constantPressureRadio = new QRadioButton(tr("Constant pressure"), this);
m_decliningPressureRadio = new QRadioButton(tr("Declining pressure (ramp)"), this);
m_multiplePressuresRadio = new QRadioButton(tr("Multiple pressures"), this);
m_multipleRatesRadio = new QRadioButton(tr("Multiple rates"), this);
// 求解器目前仅接通产量控制;压力控制保留入口但不允许生成。
m_constantPressureRadio->setEnabled(false);
m_decliningPressureRadio->setEnabled(false);
@ -126,8 +126,8 @@ void nmWxForecast::setupUI()
m_forecastButtonGroup->addButton(m_multiplePressuresRadio, 2);
m_forecastButtonGroup->addButton(m_multipleRatesRadio, 3);
m_usePastHistoryCheck = new QCheckBox("Use past history", this);
m_surfacePressuresCheck = new QCheckBox("Surface pressures", this);
m_usePastHistoryCheck = new QCheckBox(tr("Use past history"), this);
m_surfacePressuresCheck = new QCheckBox(tr("Surface pressures"), this);
m_usePastHistoryCheck->setEnabled(false);
m_surfacePressuresCheck->setEnabled(false);
@ -143,7 +143,7 @@ void nmWxForecast::setupUI()
m_forecastOptionsLayout->addLayout(checkBoxLayout);
// ========== Parameters ==========
m_parametersGroup = new QGroupBox("Parameters", this);
m_parametersGroup = new QGroupBox(tr("Parameters"), this);
QVBoxLayout *parametersOuterLayout = new QVBoxLayout(m_parametersGroup);
parametersOuterLayout->setContentsMargins(6, 6, 6, 6);
@ -247,9 +247,9 @@ void nmWxForecast::setupUI()
// ========== Buttons ==========
m_buttonLayout = new QHBoxLayout();
m_loadDataButton = new QPushButton("Load data", this);
m_generateButton = new QPushButton("Generate", this);
m_cancelButton = new QPushButton("Cancel", this);
m_loadDataButton = new QPushButton(tr("Load data"), this);
m_generateButton = new QPushButton(tr("Generate"), this);
m_cancelButton = new QPushButton(tr("Cancel"), this);
m_loadDataButton->setEnabled(false);
m_buttonLayout->addWidget(m_loadDataButton);
@ -333,7 +333,7 @@ QWidget* nmWxForecast::buildExtMultiPressurePage()
// 创建表格
m_pressureTableWidget = new QTableWidget(0, 2);
m_pressureTableWidget->setHorizontalHeaderLabels(QStringList() << "Duration" << "Pressure");
m_pressureTableWidget->setHorizontalHeaderLabels(QStringList() << tr("Duration") << tr("Pressure"));
m_pressureTableWidget->verticalHeader()->setVisible(false);
m_pressureTableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
@ -401,7 +401,7 @@ QWidget* nmWxForecast::buildExtMultiRatePage()
// 创建表格
m_rateTableWidget = new QTableWidget(0, 2);
// 根据截图设置表头
m_rateTableWidget->setHorizontalHeaderLabels(QStringList() << "Duration" << "Rate");
m_rateTableWidget->setHorizontalHeaderLabels(QStringList() << tr("Duration") << tr("Rate"));
m_rateTableWidget->verticalHeader()->setVisible(false);
m_rateTableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);

Loading…
Cancel
Save