From d5a48672dc1c3efc366bf18e218159c1d83262e8 Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 29 Oct 2015 11:04:42 +0000 Subject: * internationalization of application messages git-svn-id: https://svn.emkael.info/an9k@63 05ec0d5d-773b-4d93-9e23-c81a7ac79feb --- Analizator9000/Analizator9000/BCalcWrapper.cs | 6 +- Analizator9000/Analizator9000/DealerParser.cs | 8 +- Analizator9000/Analizator9000/DealerWrapper.cs | 4 +- Analizator9000/Analizator9000/Form1.cs | 35 ++++++-- Analizator9000/Analizator9000/Form1.resx | 105 +++++++++++++++++++--- Analizator9000/Analizator9000/ScoreAccumulator.cs | 17 ++-- 6 files changed, 139 insertions(+), 36 deletions(-) (limited to 'Analizator9000') diff --git a/Analizator9000/Analizator9000/BCalcWrapper.cs b/Analizator9000/Analizator9000/BCalcWrapper.cs index 9c0a5fa..c9b493e 100644 --- a/Analizator9000/Analizator9000/BCalcWrapper.cs +++ b/Analizator9000/Analizator9000/BCalcWrapper.cs @@ -144,7 +144,7 @@ namespace Analizator9000 } catch (Exception) { - throw new Exception("Nie można wczytać rozdania: " + deal); + throw new Exception(Form1.GetResourceManager().GetString("BCalcWrapper_dealLoadError") + ": " + deal); } this.solver = BCalcWrapper.bcalcDDS_new(Marshal.StringToHGlobalAnsi(BCalcWrapper.table), Marshal.StringToHGlobalAnsi(this.deal), 0, 0); this.errorCheck(); @@ -158,7 +158,7 @@ namespace Analizator9000 { if (trumpSuit < 0) { - throw new Exception("Nieprawidłowe miano: " + trumpSuit); + throw new Exception(Form1.GetResourceManager().GetString("BCalcWrapper_trumpError") + ": " + trumpSuit); } BCalcWrapper.bcalcDDS_setTrumpAndReset(solver, trumpSuit); this.errorCheck(); @@ -175,7 +175,7 @@ namespace Analizator9000 { if (declarer < 0) { - throw new Exception("Nieprawidłowy rozgrywający: " + declarer); + throw new Exception(Form1.GetResourceManager().GetString("BCalcWrapper_declarerError") + ": " + declarer); } int l = (declarer + 1) % 4; BCalcWrapper.bcalcDDS_setPlayerOnLeadAndReset(solver, l); diff --git a/Analizator9000/Analizator9000/DealerParser.cs b/Analizator9000/Analizator9000/DealerParser.cs index 06adcbc..9d9c61c 100644 --- a/Analizator9000/Analizator9000/DealerParser.cs +++ b/Analizator9000/Analizator9000/DealerParser.cs @@ -95,7 +95,7 @@ namespace Analizator9000 case "generate": if (section.Length > 1) { - throw new Exception("Zbyt duża liczba wartości 'generate' w skrypcie"); + throw new Exception(Form1.GetResourceManager().GetString("DealerParser_errorTooManyGenerate")); } if (section.Length == 1) { @@ -105,14 +105,14 @@ namespace Analizator9000 } catch (OverflowException) { - throw new Exception("Za duża wartość 'generate'"); + throw new Exception(Form1.GetResourceManager().GetString("DealerParser_errorGenerateOverflow")); } } break; case "produce": if (section.Length > 1) { - throw new Exception("Zbyt duża liczba linii 'produce' w skrypcie"); + throw new Exception(Form1.GetResourceManager().GetString("DealerParser_errorTooManyProduce")); } if (section.Length == 1) { @@ -122,7 +122,7 @@ namespace Analizator9000 } catch (OverflowException) { - throw new Exception("Za duża wartość 'produce'"); + throw new Exception(Form1.GetResourceManager().GetString("DealerParser_errorProduceOverflow")); } } break; diff --git a/Analizator9000/Analizator9000/DealerWrapper.cs b/Analizator9000/Analizator9000/DealerWrapper.cs index 15db4d2..cc739f2 100644 --- a/Analizator9000/Analizator9000/DealerWrapper.cs +++ b/Analizator9000/Analizator9000/DealerWrapper.cs @@ -46,11 +46,11 @@ namespace Analizator9000 { if (!File.Exists(scriptname)) { - throw new Exception("Nie znaleziono pliku: " + scriptname); + throw new Exception(Form1.GetResourceManager().GetString("DealerWrapper_errorFileNotFound") + ": " + scriptname); } if (produce < 1) { - throw new Exception("Nieprawidłowa liczba rozdań do wyprodukowania"); + throw new Exception(Form1.GetResourceManager().GetString("DealerWrapper_errorInvalidDealCount")); } this.scriptname = scriptname; this.debugForm = debugForm; diff --git a/Analizator9000/Analizator9000/Form1.cs b/Analizator9000/Analizator9000/Form1.cs index 180d9e5..0d2ae22 100644 --- a/Analizator9000/Analizator9000/Form1.cs +++ b/Analizator9000/Analizator9000/Form1.cs @@ -4,6 +4,7 @@ using System.ComponentModel; using System.Linq; using System.Windows.Forms; using System.IO; +using System.Resources; namespace Analizator9000 { @@ -26,6 +27,18 @@ namespace Analizator9000 this.parser = new DealerParser(); } + /// + /// Public getter for localization resource manager + /// + /// Component resource manager for Form1 + public static ResourceManager GetResourceManager() { + if (resManager == null) + { + resManager = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); + } + return resManager; + } + /// /// "Select file" button click, opens file selection dialog for input script. /// @@ -86,7 +99,9 @@ namespace Analizator9000 } catch (Exception ex) { - MessageBox.Show("Błąd wczytywania pliku: " + ex.Message, "Błąd wczytywania pliku", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show( + GetResourceManager().GetString("Form1_fileOpenError") + ": " + ex.Message, + GetResourceManager().GetString("Form1_fileOpenError"), MessageBoxButtons.OK, MessageBoxIcon.Error); } } @@ -122,7 +137,7 @@ namespace Analizator9000 } catch (Exception ex) { - MessageBox.Show("Błąd wprowadzania danych: " + ex.Message, "Błąd wprowadzania danych", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(GetResourceManager().GetString("Form1_generateInputError") + ": " + ex.Message, GetResourceManager().GetString("Form1_generateInputError"), MessageBoxButtons.OK, MessageBoxIcon.Error); generateGroup.Enabled = true; analyzeGroup.Enabled = true; } @@ -134,13 +149,13 @@ namespace Analizator9000 } catch (FileNotFoundException) { - MessageBox.Show("Nie można utworzyć pliku. Sprawdź, czy w katalogu programu istnieje katalog 'files'", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(GetResourceManager().GetString("Form1_generateFileNotFoundError"), GetResourceManager().GetString("Form1_error"), MessageBoxButtons.OK, MessageBoxIcon.Error); generateGroup.Enabled = true; analyzeGroup.Enabled = true; } catch (Exception ex) { - MessageBox.Show("Błąd generatora: " + ex.Message, "Błąd generatora", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(GetResourceManager().GetString("Form1_generateGeneratorError") + ": " + ex.Message, GetResourceManager().GetString("Form1_generateGeneratorError"), MessageBoxButtons.OK, MessageBoxIcon.Error); generateGroup.Enabled = true; analyzeGroup.Enabled = true; } @@ -166,7 +181,7 @@ namespace Analizator9000 progressBar.Value = 100; if (filename != null) { - this.addStatusLine("Zapisano do pliku: " + filename); + this.addStatusLine(GetResourceManager().GetString("Form1_generateFileSaved") + ": " + filename); } analyzeFileNameTextBox.Text = Path.GetFullPath(@"files\" + filename); generateGroup.Enabled = true; @@ -257,13 +272,13 @@ namespace Analizator9000 this.abortButton.Enabled = true; this.fullContractTable.Enabled = false; statusListBox.Items.Clear(); - this.addStatusLine("Otwieram plik: " + analyzeFileNameTextBox.Text); + this.addStatusLine(GetResourceManager().GetString("Form1_analyzeOpenFile") + ": " + analyzeFileNameTextBox.Text); try { String[] deals = File.ReadAllLines(analyzeFileNameTextBox.Text); if (deals.Length == 0) { - throw new Exception("Plik nie zawiera żadnych rozdań"); + throw new Exception(GetResourceManager().GetString("Form1_analyzeNoDealsError")); } List cons = new List(); foreach (int i in Enumerable.Range(1, 5)) @@ -278,7 +293,7 @@ namespace Analizator9000 } if (cons.Count == 0) { - throw new Exception("Nie podano kontraktów"); + throw new Exception(GetResourceManager().GetString("Form1_analyzeNoContractsError")); } // we run either "old" Accumulator or contract analysis with ScoreAccumulator, // depending on the button of event origin @@ -289,7 +304,7 @@ namespace Analizator9000 } catch (Exception ex) { - MessageBox.Show("Błąd analizy: " + ex.Message, "Błąd analizy", MessageBoxButtons.OK, MessageBoxIcon.Error); + MessageBox.Show(GetResourceManager().GetString("Form1_analyzeError") + ": " + ex.Message, GetResourceManager().GetString("Form1_analyzeError"), MessageBoxButtons.OK, MessageBoxIcon.Error); this.setProgress(0); analyzeButton.Enabled = true; abortButton.Enabled = false; @@ -622,5 +637,7 @@ namespace Analizator9000 this.contractAnalyzeButton.Enabled = true; this.abortButton_Click(sender, e); } + + private static ResourceManager resManager; } } diff --git a/Analizator9000/Analizator9000/Form1.resx b/Analizator9000/Analizator9000/Form1.resx index eda0d46..6aef0b5 100644 --- a/Analizator9000/Analizator9000/Form1.resx +++ b/Analizator9000/Analizator9000/Form1.resx @@ -1135,7 +1135,7 @@ 4 - 411, 20 + 353, 18 75, 23 @@ -1162,7 +1162,7 @@ 7, 20 - 398, 20 + 340, 20 0 @@ -1180,10 +1180,10 @@ 1 - 514, 12 + 572, 12 - 492, 50 + 434, 50 1 @@ -1203,9 +1203,9 @@ 3 - + 17, 17 - + 514, 327 @@ -1251,9 +1251,9 @@ 1 - + 171, 17 - + Lucida Console, 9pt @@ -4434,12 +4434,12 @@ 0 - + True - - + + True - + 6, 13 @@ -10670,4 +10670,85 @@ System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Nie można wczytać rozdania + + + Nieprawidłowy rozgrywający + + + Nieprawidłowe miano + + + Za duża wartość 'generate' + + + Za duża wartość 'produce' + + + Zbyt duża liczba wartości 'generate' w skrypcie + + + Zbyt duża liczba linii 'produce' w skrypcie + + + Nie znaleziono pliku + + + Nieprawidłowa liczba rozdań do wyprodukowania + + + Błąd analizy + + + Nie podano kontraktów + + + Plik nie zawiera żadnych rozdań + + + Otwieram plik + + + Błąd + + + Błąd wczytywania pliku + + + Nie można utworzyć pliku. Sprawdź, czy w katalogu programu istnieje katalog 'files' + + + Zapisano do pliku + + + Błąd generatora + + + Błąd wprowadzania danych + + + IMP + + + max + + + KONTRAKT LEWY ZAPIS WYGRA? MAX IMP + + + obie po + + + EW po + + + Założenia + + + obie przed + + + NS po + \ No newline at end of file diff --git a/Analizator9000/Analizator9000/ScoreAccumulator.cs b/Analizator9000/Analizator9000/ScoreAccumulator.cs index 236c118..f213d31 100644 --- a/Analizator9000/Analizator9000/ScoreAccumulator.cs +++ b/Analizator9000/Analizator9000/ScoreAccumulator.cs @@ -6,11 +6,16 @@ using System.IO; namespace Analizator9000 { /// - /// Analysis accumulator for scoreing contracts + /// Analysis accumulator for scoring contracts /// class ScoreAccumulator : Accumulator { - private readonly string[] vulnerabilities = { "obie przed", "obie po", "NS po", "EW po" }; + private readonly string[] vulnerabilities = { + Form1.GetResourceManager().GetString("ScoreAccumulator_vulNone"), + Form1.GetResourceManager().GetString("ScoreAccumulator_vulBoth"), + Form1.GetResourceManager().GetString("ScoreAccumulator_vulNS"), + Form1.GetResourceManager().GetString("ScoreAccumulator_vulEW") + }; /// /// Vulnerability setting of the analysis /// @@ -99,8 +104,8 @@ namespace Analizator9000 { StringWriter sw = new StringWriter(); sw.WriteLine(); - sw.WriteLine("Założenia: {0}", this.vulnerabilities[this.vulnerability]); - sw.WriteLine(" KONTRAKT LEWY ZAPIS WYGRA? MAX IMP "); + sw.WriteLine(Form1.GetResourceManager().GetString("ScoreAccumulator_vulnerability") + ": {0}", this.vulnerabilities[this.vulnerability]); + sw.WriteLine(Form1.GetResourceManager().GetString("ScoreAccumulator_txtHeader")); foreach (KeyValuePair tricks in this.trickSums) { sw.WriteLine(" {0,6} (x{1,3}) {2,5:0.00} {3,9:0.00} {6,5:0.00} {4,5:0.00} {5,7:0.00} ", @@ -181,8 +186,8 @@ namespace Analizator9000 { this.maxScoreSums[result.Key] += result.Key.Frequency > 0 ? result.Value : 0; } - this.logScores(impScores, dealNo, "IMP"); - this.logScores(maxScores, dealNo, "max"); + this.logScores(impScores, dealNo, Form1.GetResourceManager().GetString("ScoreAccumulator_IMP")); + this.logScores(maxScores, dealNo, Form1.GetResourceManager().GetString("ScoreAccumulator_MP")); this.form.updateContractTable(this.trickSums, this.scoreSums, this.successSums, this.maxScoreSums, this.impScoreSums, this.dealsScored); } -- cgit v1.2.3