Add TranslationProvider
This commit is contained in:
committed by
Matthias Mailänder
parent
a065e6a47c
commit
68eec52cef
@@ -85,7 +85,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
var status = new CachedTransform<string, string>(s => WidgetUtils.TruncateText(s, statusLabel.Bounds.Width, statusFont));
|
||||
statusLabel.GetText = () => status.Update(getStatusText());
|
||||
|
||||
var text = modData.Translation.GetString(Downloading, Translation.Arguments("title", download.Title));
|
||||
var text = TranslationProvider.GetString(Downloading, Translation.Arguments("title", download.Title));
|
||||
panel.Get<LabelWidget>("TITLE").Text = text;
|
||||
|
||||
ShowDownloadDialog();
|
||||
@@ -93,7 +93,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
void ShowDownloadDialog()
|
||||
{
|
||||
getStatusText = () => modData.Translation.GetString(FetchingMirrorList);
|
||||
getStatusText = () => TranslationProvider.GetString(FetchingMirrorList);
|
||||
progressBar.Indeterminate = true;
|
||||
|
||||
var retryButton = panel.Get<ButtonWidget>("RETRY_BUTTON");
|
||||
@@ -107,7 +107,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
var dataTotal = 0.0f;
|
||||
var mag = 0;
|
||||
var dataSuffix = "";
|
||||
var host = downloadHost ?? modData.Translation.GetString(UnknownHost);
|
||||
var host = downloadHost ?? TranslationProvider.GetString(UnknownHost);
|
||||
|
||||
if (total < 0)
|
||||
{
|
||||
@@ -115,7 +115,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
dataReceived = read / (float)(1L << (mag * 10));
|
||||
dataSuffix = SizeSuffixes[mag];
|
||||
|
||||
getStatusText = () => modData.Translation.GetString(DownloadingFrom,
|
||||
getStatusText = () => TranslationProvider.GetString(DownloadingFrom,
|
||||
Translation.Arguments("host", host, "received", $"{dataReceived:0.00}", "suffix", dataSuffix));
|
||||
progressBar.Indeterminate = true;
|
||||
}
|
||||
@@ -126,7 +126,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
dataReceived = read / (float)(1L << (mag * 10));
|
||||
dataSuffix = SizeSuffixes[mag];
|
||||
|
||||
getStatusText = () => modData.Translation.GetString(DownloadingFromProgress,
|
||||
getStatusText = () => TranslationProvider.GetString(DownloadingFromProgress,
|
||||
Translation.Arguments("host", host, "received", $"{dataReceived:0.00}", "total", $"{dataTotal:0.00}",
|
||||
"suffix", dataSuffix, "progress", progressPercentage));
|
||||
progressBar.Indeterminate = false;
|
||||
@@ -139,7 +139,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
void OnError(string s) => Game.RunAfterTick(() =>
|
||||
{
|
||||
var host = downloadHost ?? modData.Translation.GetString(UnknownHost);
|
||||
var host = downloadHost ?? TranslationProvider.GetString(UnknownHost);
|
||||
Log.Write("install", $"Download from {host} failed: " + s);
|
||||
|
||||
progressBar.Indeterminate = false;
|
||||
@@ -183,7 +183,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
// Validate integrity
|
||||
if (!string.IsNullOrEmpty(download.SHA1))
|
||||
{
|
||||
getStatusText = () => modData.Translation.GetString(VerifyingArchive);
|
||||
getStatusText = () => TranslationProvider.GetString(VerifyingArchive);
|
||||
progressBar.Indeterminate = true;
|
||||
|
||||
var archiveValid = false;
|
||||
@@ -205,13 +205,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
if (!archiveValid)
|
||||
{
|
||||
OnError(modData.Translation.GetString(ArchiveValidationFailed));
|
||||
OnError(TranslationProvider.GetString(ArchiveValidationFailed));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Automatically extract
|
||||
getStatusText = () => modData.Translation.GetString(Extracting);
|
||||
getStatusText = () => TranslationProvider.GetString(Extracting);
|
||||
progressBar.Indeterminate = true;
|
||||
|
||||
var extracted = new List<string>();
|
||||
@@ -231,7 +231,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
continue;
|
||||
}
|
||||
|
||||
OnExtractProgress(modData.Translation.GetString(ExtractingEntry, Translation.Arguments("entry", kv.Value)));
|
||||
OnExtractProgress(TranslationProvider.GetString(ExtractingEntry, Translation.Arguments("entry", kv.Value)));
|
||||
Log.Write("install", "Extracting " + kv.Value);
|
||||
var targetPath = Platform.ResolvePath(kv.Key);
|
||||
Directory.CreateDirectory(Path.GetDirectoryName(targetPath));
|
||||
@@ -262,7 +262,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
File.Delete(f);
|
||||
}
|
||||
|
||||
OnError(modData.Translation.GetString(ArchiveExtractionFailed));
|
||||
OnError(TranslationProvider.GetString(ArchiveExtractionFailed));
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -295,7 +295,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
{
|
||||
Log.Write("install", "Mirror selection failed with error:");
|
||||
Log.Write("install", e.ToString());
|
||||
OnError(modData.Translation.GetString(MirrorSelectionFailed));
|
||||
OnError(TranslationProvider.GetString(MirrorSelectionFailed));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -159,15 +159,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
void DetectContentSources()
|
||||
{
|
||||
var message = modData.Translation.GetString(DetectingSources);
|
||||
ShowProgressbar(modData.Translation.GetString(CheckingSources), () => message);
|
||||
var message = TranslationProvider.GetString(DetectingSources);
|
||||
ShowProgressbar(TranslationProvider.GetString(CheckingSources), () => message);
|
||||
ShowBackRetry(DetectContentSources);
|
||||
|
||||
new Task(() =>
|
||||
{
|
||||
foreach (var kv in sources)
|
||||
{
|
||||
message = modData.Translation.GetString(SearchingSourceFor, Translation.Arguments("title", kv.Value.Title));
|
||||
message = TranslationProvider.GetString(SearchingSourceFor, Translation.Arguments("title", kv.Value.Title));
|
||||
|
||||
var sourceResolver = kv.Value.ObjectCreator.CreateObject<ISourceResolver>($"{kv.Value.Type.Value}SourceResolver");
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
{
|
||||
Game.RunAfterTick(() =>
|
||||
{
|
||||
ShowList(kv.Value, modData.Translation.GetString(ContentPackageInstallation));
|
||||
ShowList(kv.Value, TranslationProvider.GetString(ContentPackageInstallation));
|
||||
ShowContinueCancel(() => InstallFromSource(path, kv.Value));
|
||||
});
|
||||
|
||||
@@ -219,14 +219,14 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
var options = new Dictionary<string, IEnumerable<string>>();
|
||||
|
||||
if (gameSources.Any())
|
||||
options.Add(modData.Translation.GetString(GameSources), gameSources);
|
||||
options.Add(TranslationProvider.GetString(GameSources), gameSources);
|
||||
|
||||
if (digitalInstalls.Any())
|
||||
options.Add(modData.Translation.GetString(DigitalInstalls), digitalInstalls);
|
||||
options.Add(TranslationProvider.GetString(DigitalInstalls), digitalInstalls);
|
||||
|
||||
Game.RunAfterTick(() =>
|
||||
{
|
||||
ShowList(modData.Translation.GetString(GameContentNotFound), modData.Translation.GetString(AlternativeContentSources), options);
|
||||
ShowList(TranslationProvider.GetString(GameContentNotFound), TranslationProvider.GetString(AlternativeContentSources), options);
|
||||
ShowBackRetry(DetectContentSources);
|
||||
});
|
||||
}).Start();
|
||||
@@ -235,7 +235,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
void InstallFromSource(string path, ModContent.ModSource modSource)
|
||||
{
|
||||
var message = "";
|
||||
ShowProgressbar(modData.Translation.GetString(InstallingContent), () => message);
|
||||
ShowProgressbar(TranslationProvider.GetString(InstallingContent), () => message);
|
||||
ShowDisabledCancel();
|
||||
|
||||
new Task(() =>
|
||||
@@ -286,7 +286,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
|
||||
Game.RunAfterTick(() =>
|
||||
{
|
||||
ShowMessage(modData.Translation.GetString(InstallationFailed), modData.Translation.GetString(CheckInstallLog));
|
||||
ShowMessage(TranslationProvider.GetString(InstallationFailed), TranslationProvider.GetString(CheckInstallLog));
|
||||
ShowBackRetry(() => InstallFromSource(path, modSource));
|
||||
});
|
||||
}
|
||||
@@ -391,11 +391,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
void ShowContinueCancel(Action continueAction)
|
||||
{
|
||||
primaryButton.OnClick = continueAction;
|
||||
primaryButton.Text = modData.Translation.GetString(Continue);
|
||||
primaryButton.Text = TranslationProvider.GetString(Continue);
|
||||
primaryButton.Visible = true;
|
||||
|
||||
secondaryButton.OnClick = Ui.CloseWindow;
|
||||
secondaryButton.Text = modData.Translation.GetString(Cancel);
|
||||
secondaryButton.Text = TranslationProvider.GetString(Cancel);
|
||||
secondaryButton.Visible = true;
|
||||
secondaryButton.Disabled = false;
|
||||
Game.RunAfterTick(Ui.ResetTooltips);
|
||||
@@ -404,11 +404,11 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
void ShowBackRetry(Action retryAction)
|
||||
{
|
||||
primaryButton.OnClick = retryAction;
|
||||
primaryButton.Text = modData.Translation.GetString(Retry);
|
||||
primaryButton.Text = TranslationProvider.GetString(Retry);
|
||||
primaryButton.Visible = true;
|
||||
|
||||
secondaryButton.OnClick = Ui.CloseWindow;
|
||||
secondaryButton.Text = modData.Translation.GetString(Back);
|
||||
secondaryButton.Text = TranslationProvider.GetString(Back);
|
||||
secondaryButton.Visible = true;
|
||||
secondaryButton.Disabled = false;
|
||||
Game.RunAfterTick(Ui.ResetTooltips);
|
||||
|
||||
@@ -23,7 +23,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
[TranslationReference]
|
||||
const string ManualInstall = "button-manual-install";
|
||||
|
||||
readonly ModData modData;
|
||||
readonly ModContent content;
|
||||
readonly ScrollPanelWidget scrollPanel;
|
||||
readonly Widget template;
|
||||
@@ -34,9 +33,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
bool sourceAvailable;
|
||||
|
||||
[ObjectCreator.UseCtor]
|
||||
public ModContentLogic(ModData modData, Widget widget, Manifest mod, ModContent content, Action onCancel)
|
||||
public ModContentLogic(Widget widget, Manifest mod, ModContent content, Action onCancel)
|
||||
{
|
||||
this.modData = modData;
|
||||
this.content = content;
|
||||
|
||||
var panel = widget.Get("CONTENT_PANEL");
|
||||
@@ -143,7 +141,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
requiresSourceWidget.IsVisible = () => !installed && !downloadEnabled;
|
||||
if (!isSourceAvailable)
|
||||
{
|
||||
var manualInstall = modData.Translation.GetString(ManualInstall);
|
||||
var manualInstall = TranslationProvider.GetString(ManualInstall);
|
||||
requiresSourceWidget.GetText = () => manualInstall;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
||||
this.content = content;
|
||||
CheckRequiredContentInstalled();
|
||||
|
||||
var continueMessage = modData.Translation.GetString(Continue);
|
||||
var quitMessage = modData.Translation.GetString(Quit);
|
||||
var continueMessage = TranslationProvider.GetString(Continue);
|
||||
var quitMessage = TranslationProvider.GetString(Quit);
|
||||
|
||||
var panel = widget.Get("CONTENT_PROMPT_PANEL");
|
||||
var headerTemplate = panel.Get<LabelWidget>("HEADER_TEMPLATE");
|
||||
|
||||
Reference in New Issue
Block a user