i18n: Add comments and improve source strings
This commit is contained in:
parent
017f72f43e
commit
83b280d903
|
@ -527,20 +527,20 @@ void EnhancementsWidget::AddDescriptions()
|
|||
|
||||
"<br><br><b>Bicubic</b> - [16 samples]"
|
||||
"<br>Gamma corrected cubic interpolation between pixels."
|
||||
"<br>Good when rescaling between close resolutions. i.e 1080p and 1440p."
|
||||
"<br>Good when rescaling between close resolutions, e.g. 1080p and 1440p."
|
||||
"<br>Comes in various flavors:"
|
||||
"<br><b>B-Spline</b>: Blurry, but avoids all lobing artifacts"
|
||||
"<br><b>Mitchell-Netravali</b>: Good middle ground between blurry and lobing"
|
||||
"<br><b>Catmull-Rom</b>: Sharper, but can cause lobing artifacts"
|
||||
|
||||
"<br><br><b>Sharp Bilinear</b> - [1-4 samples]"
|
||||
"<br>Similarly to \"Nearest Neighbor\", it maintains a sharp look,"
|
||||
"<br>Similar to \"Nearest Neighbor\", it maintains a sharp look,"
|
||||
"<br>but also does some blending to avoid shimmering."
|
||||
"<br>Works best with 2D games at low resolutions."
|
||||
|
||||
"<br><br><b>Area Sampling</b> - [up to 324 samples]"
|
||||
"<br>Weights pixels by the percentage of area they occupy. Gamma corrected."
|
||||
"<br>Best for down scaling by more than 2x."
|
||||
"<br>Weighs pixels by the percentage of area they occupy. Gamma corrected."
|
||||
"<br>Best for downscaling by more than 2x."
|
||||
|
||||
"<br><br><dolphin_emphasis>If unsure, select 'Default'.</dolphin_emphasis>");
|
||||
static const char TR_COLOR_CORRECTION_DESCRIPTION[] =
|
||||
|
|
|
@ -729,9 +729,7 @@ void AssemblerWidget::NewEditor(const QString& path)
|
|||
if (!path.isEmpty() && !new_editor->LoadFromPath())
|
||||
{
|
||||
ModalMessageBox::warning(this, tr("Failed to open file"),
|
||||
tr("Failed to read the contents of file\n\n"
|
||||
"\"%1\"")
|
||||
.arg(path));
|
||||
tr("Failed to read the contents of file:\n%1").arg(path));
|
||||
delete new_editor;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -757,6 +757,8 @@ void BranchWatchDialog::OnToggleAutoSave(bool checked)
|
|||
return;
|
||||
|
||||
const QString filepath = DolphinFileDialog::getSaveFileName(
|
||||
// i18n: If the user selects a file, Branch Watch will save to that file.
|
||||
// If the user presses Cancel, Branch Watch will save to a file in the user folder.
|
||||
this, tr("Select Branch Watch snapshot auto-save file (for user folder location, cancel)"),
|
||||
QString::fromStdString(File::GetUserPath(D_DUMPDEBUG_BRANCHWATCH_IDX)),
|
||||
tr("Text file (*.txt);;All Files (*)"));
|
||||
|
|
|
@ -200,6 +200,7 @@ void MemoryWidget::CreateWidgets()
|
|||
m_display_combo->addItem(tr("Double"), int(Type::Double));
|
||||
|
||||
m_align_combo = new QComboBox;
|
||||
// i18n: "Fixed" here means that the alignment is always the same
|
||||
m_align_combo->addItem(tr("Fixed Alignment"));
|
||||
m_align_combo->addItem(tr("Type-based Alignment"), 0);
|
||||
m_align_combo->addItem(tr("No Alignment"), 1);
|
||||
|
|
|
@ -35,6 +35,7 @@ static QString s_last_figure_path;
|
|||
|
||||
InfinityBaseWindow::InfinityBaseWindow(QWidget* parent) : QWidget(parent)
|
||||
{
|
||||
// i18n: Window for managing Disney Infinity figures
|
||||
setWindowTitle(tr("Infinity Manager"));
|
||||
setObjectName(QStringLiteral("infinity_manager"));
|
||||
setMinimumSize(QSize(700, 200));
|
||||
|
@ -164,7 +165,7 @@ void InfinityBaseWindow::LoadFigurePath(u8 slot, const QString& path)
|
|||
{
|
||||
QMessageBox::warning(
|
||||
this, tr("Failed to open the Infinity file!"),
|
||||
tr("Failed to open the Infinity file(%1)!\nFile may already be in use on the base.")
|
||||
tr("Failed to open the Infinity file:\n%1\n\nThe file may already be in use on the base.")
|
||||
.arg(path),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
|
@ -172,9 +173,10 @@ void InfinityBaseWindow::LoadFigurePath(u8 slot, const QString& path)
|
|||
std::array<u8, IOS::HLE::USB::INFINITY_NUM_BLOCKS * IOS::HLE::USB::INFINITY_BLOCK_SIZE> file_data;
|
||||
if (!inf_file.ReadBytes(file_data.data(), file_data.size()))
|
||||
{
|
||||
QMessageBox::warning(this, tr("Failed to read the Infinity file!"),
|
||||
tr("Failed to read the Infinity file(%1)!\nFile was too small.").arg(path),
|
||||
QMessageBox::Ok);
|
||||
QMessageBox::warning(
|
||||
this, tr("Failed to read the Infinity file!"),
|
||||
tr("Failed to read the Infinity file(%1):\n%1\n\nThe file was too small.").arg(path),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -274,6 +276,7 @@ CreateFigureDialog::CreateFigureDialog(QWidget* parent, u8 slot) : QDialog(paren
|
|||
}
|
||||
else
|
||||
{
|
||||
// i18n: This is used to create a file name. The string must end in ".bin".
|
||||
QString str = tr("Unknown(%1).bin");
|
||||
predef_name += str.arg(char_number);
|
||||
}
|
||||
|
@ -289,7 +292,7 @@ CreateFigureDialog::CreateFigureDialog(QWidget* parent, u8 slot) : QDialog(paren
|
|||
{
|
||||
QMessageBox::warning(
|
||||
this, tr("Failed to create Infinity file"),
|
||||
tr("Blank figure creation failed at:\n%1, try again with a different character")
|
||||
tr("Blank figure creation failed at:\n%1\n\nTry again with a different character.")
|
||||
.arg(m_file_path),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
|
|
|
@ -53,10 +53,12 @@ SkylanderModifyDialog::SkylanderModifyDialog(QWidget* parent, u8 slot)
|
|||
{
|
||||
// Should never be able to happen. Still good to have
|
||||
name =
|
||||
// i18n: "Var" is short for "variant"
|
||||
tr("Unknown (Id:%1 Var:%2)").arg(m_figure_data.figure_id).arg(m_figure_data.variant_id);
|
||||
}
|
||||
}
|
||||
|
||||
// i18n: %1 is a name
|
||||
auto* label_name = new QLabel(tr("Modifying Skylander: %1").arg(name));
|
||||
|
||||
hbox_name->addWidget(label_name);
|
||||
|
@ -136,11 +138,13 @@ void SkylanderModifyDialog::PopulateSkylanderOptions(QVBoxLayout* layout)
|
|||
reinterpret_cast<char16_t*>(m_figure_data.skylander_data.nickname.data())));
|
||||
|
||||
auto* hbox_playtime = new QHBoxLayout();
|
||||
// i18n: The total amount of time the Skylander has been used for
|
||||
auto* label_playtime = new QLabel(tr("Playtime:"));
|
||||
auto* edit_playtime =
|
||||
new QLineEdit(QStringLiteral("%1").arg(m_figure_data.skylander_data.playtime));
|
||||
|
||||
auto* hbox_last_reset = new QHBoxLayout();
|
||||
// i18n: A timestamp for when the Skylander was most recently reset
|
||||
auto* label_last_reset = new QLabel(tr("Last reset:"));
|
||||
auto* edit_last_reset =
|
||||
new QDateTimeEdit(QDateTime(QDate(m_figure_data.skylander_data.last_reset.year,
|
||||
|
@ -150,6 +154,7 @@ void SkylanderModifyDialog::PopulateSkylanderOptions(QVBoxLayout* layout)
|
|||
m_figure_data.skylander_data.last_reset.minute)));
|
||||
|
||||
auto* hbox_last_placed = new QHBoxLayout();
|
||||
// i18n: A timestamp for when the Skylander was most recently used
|
||||
auto* label_last_placed = new QLabel(tr("Last placed:"));
|
||||
auto* edit_last_placed =
|
||||
new QDateTimeEdit(QDateTime(QDate(m_figure_data.skylander_data.last_placed.year,
|
||||
|
@ -167,10 +172,10 @@ void SkylanderModifyDialog::PopulateSkylanderOptions(QVBoxLayout* layout)
|
|||
edit_last_placed->setDisplayFormat(QStringLiteral("dd/MM/yyyy hh:mm"));
|
||||
|
||||
edit_toy_code->setToolTip(tr("The toy code for this figure. Only available for real figures."));
|
||||
edit_money->setToolTip(tr("The amount of money this skylander should have. Between 0 and 65000"));
|
||||
edit_hero->setToolTip(tr("The hero level of this skylander. Only seen in Skylanders: Spyro's "
|
||||
edit_money->setToolTip(tr("The amount of money this Skylander has. Between 0 and 65000"));
|
||||
edit_hero->setToolTip(tr("The hero level of this Skylander. Only seen in Skylanders: Spyro's "
|
||||
"Adventures. Between 0 and 100"));
|
||||
edit_nick->setToolTip(tr("The nickname for this skylander. Limited to 15 characters"));
|
||||
edit_nick->setToolTip(tr("The nickname for this Skylander. Limited to 15 characters"));
|
||||
edit_playtime->setToolTip(
|
||||
tr("The total time this figure has been used inside a game in seconds"));
|
||||
edit_last_reset->setToolTip(tr("The last time the figure has been reset. If the figure has never "
|
||||
|
@ -309,6 +314,8 @@ bool SkylanderModifyDialog::PopulateTrophyOptions(QVBoxLayout* layout)
|
|||
edit_villains[i] = new QCheckBox();
|
||||
edit_villains[i]->setChecked(static_cast<bool>(m_figure_data.trophy_data.unlocked_villains &
|
||||
(0b1 << shift_distances[i])));
|
||||
// i18n: "Captured" is a participle here. This string is used when listing villains, not when a
|
||||
// villain was just captured
|
||||
auto* const label = new QLabel(tr("Captured villain %1:").arg(i + 1));
|
||||
auto* const hbox = new QHBoxLayout();
|
||||
hbox->addWidget(label);
|
||||
|
|
|
@ -546,6 +546,7 @@ void SkylanderPortalWindow::LoadSelected()
|
|||
}
|
||||
else
|
||||
{
|
||||
// i18n: This is used to create a file name. The string must end in ".sky".
|
||||
const QString str = tr("Unknown(%1 %2).sky");
|
||||
predef_name += str.arg(m_sky_id, m_sky_var);
|
||||
}
|
||||
|
@ -629,6 +630,7 @@ void SkylanderPortalWindow::CreateSkylanderAdvanced()
|
|||
}
|
||||
else
|
||||
{
|
||||
// i18n: This is used to create a file name. The string must end in ".sky".
|
||||
QString str = tr("Unknown(%1 %2).sky");
|
||||
predef_name += str.arg(m_sky_id, m_sky_var);
|
||||
}
|
||||
|
@ -673,7 +675,7 @@ void SkylanderPortalWindow::ClearSlot(u8 slot)
|
|||
if (!system.GetSkylanderPortal().RemoveSkylander(slot_infos->portal_slot))
|
||||
{
|
||||
QMessageBox::warning(this, tr("Failed to clear Skylander!"),
|
||||
tr("Failed to clear the Skylander from slot(%1)!").arg(slot),
|
||||
tr("Failed to clear the Skylander from slot %1!").arg(slot),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
|
@ -795,7 +797,7 @@ void SkylanderPortalWindow::CreateSkyfile(const QString& path, bool load_after)
|
|||
{
|
||||
QMessageBox::warning(
|
||||
this, tr("Failed to create Skylander file!"),
|
||||
tr("Failed to create Skylander file:\n%1\n(Skylander may already be on the portal)")
|
||||
tr("Failed to create Skylander file:\n%1\n\nThe Skylander may already be on the portal.")
|
||||
.arg(path),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
|
@ -813,11 +815,11 @@ void SkylanderPortalWindow::LoadSkyfilePath(u8 slot, const QString& path)
|
|||
File::IOFile sky_file(path.toStdString(), "r+b");
|
||||
if (!sky_file)
|
||||
{
|
||||
QMessageBox::warning(
|
||||
this, tr("Failed to open the Skylander file!"),
|
||||
tr("Failed to open the Skylander file(%1)!\nFile may already be in use on the portal.")
|
||||
.arg(path),
|
||||
QMessageBox::Ok);
|
||||
QMessageBox::warning(this, tr("Failed to open the Skylander file!"),
|
||||
tr("Failed to open the Skylander file:\n%1\n\nThe file may already be in "
|
||||
"use on the portal.")
|
||||
.arg(path),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
std::array<u8, 0x40 * 0x10> file_data;
|
||||
|
@ -825,7 +827,7 @@ void SkylanderPortalWindow::LoadSkyfilePath(u8 slot, const QString& path)
|
|||
{
|
||||
QMessageBox::warning(
|
||||
this, tr("Failed to read the Skylander file!"),
|
||||
tr("Failed to read the Skylander file(%1)!\nFile was too small.").arg(path),
|
||||
tr("Failed to read the Skylander file:\n%1\n\nThe file was too small.").arg(path),
|
||||
QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
|
@ -839,7 +841,7 @@ void SkylanderPortalWindow::LoadSkyfilePath(u8 slot, const QString& path)
|
|||
if (portal_slot == 0xFF)
|
||||
{
|
||||
QMessageBox::warning(this, tr("Failed to load the Skylander file!"),
|
||||
tr("Failed to load the Skylander file(%1)!\n").arg(path), QMessageBox::Ok);
|
||||
tr("Failed to load the Skylander file:\n%1").arg(path), QMessageBox::Ok);
|
||||
return;
|
||||
}
|
||||
m_sky_slots[slot] = {portal_slot, id_var.first, id_var.second};
|
||||
|
@ -862,6 +864,7 @@ void SkylanderPortalWindow::UpdateSlotNames()
|
|||
}
|
||||
else
|
||||
{
|
||||
// i18n: "Var" is short for "variant"
|
||||
display_string = tr("Unknown (Id:%1 Var:%2)").arg(sd->m_sky_id).arg(sd->m_sky_var);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue