[gbrainy] Fixes to English texts plus better plural I18N of some strings



commit fcb77aa3a75b5ff5755997feebd70cd7dd76efa6
Author: Jordi Mas <jmas softcatala org>
Date:   Sun Apr 3 17:11:10 2011 +0200

    Fixes to English texts plus better plural I18N of some strings

 data/games.xml                    |    2 +-
 data/verbal_analogies.xml         |    5 ++++-
 src/Clients/Classical/gbrainy.cs  |    2 +-
 src/Games/Logic/PuzzleCounting.cs |   29 ++++++++++++++++++++++-------
 4 files changed, 28 insertions(+), 10 deletions(-)
---
diff --git a/data/games.xml b/data/games.xml
index beea4d2..d86e4e8 100644
--- a/data/games.xml
+++ b/data/games.xml
@@ -388,7 +388,7 @@
 				int option_d = num_x * 4;
 				int product = num_x * num_y;
 			</variables>
-			<_question>Which pair of numbers of the list below are both multiple of [num_x] and [num_y]? [option_answers]</_question>
+			<_question>Which two numbers of the list below are both multiple of [num_x] and [num_y]? [option_answers]</_question>
 			<_tip>A multiple is a number that may be divided by another number with no remainder. For example, 10, 15 and 25 are multiples of 5.</_tip>
 
 			<string _text = "Possible answers are:" x = "0.1" y = "0.15" size = "large"/>
diff --git a/data/verbal_analogies.xml b/data/verbal_analogies.xml
index 7ff4e9f..4983850 100644
--- a/data/verbal_analogies.xml
+++ b/data/verbal_analogies.xml
@@ -382,10 +382,13 @@
 	<analogy>
 		<_question type = "PairOfWordsOptions">button / push | key (used in a lock)</_question> -->
 		<_answer correct ="yes">Turn</_answer>
+		<!-- Translator: 'Open' as verb, like open with a key -->
 		<_answer>Open</_answer>
+		<!-- Translator: 'Lock' as verb, like locked with a key -->
 		<_answer>Lock</_answer>
+		<!-- Translator: 'Close' as verb, like closed with a key -->
 		<_answer>Close</_answer>
-		<_rationale>A button needs to be pushed to make it work and a key needs to be turned.</_rationale>
+		<_rationale>To make both objects work, a button needs to be pushed and a key needs to be turned.</_rationale>
 	</analogy>
 
 	<!--- Pair of words compare  -->
diff --git a/src/Clients/Classical/gbrainy.cs b/src/Clients/Classical/gbrainy.cs
index 0d16177..6d8c681 100644
--- a/src/Clients/Classical/gbrainy.cs
+++ b/src/Clients/Classical/gbrainy.cs
@@ -518,7 +518,7 @@ namespace gbrainy.Clients.Classical
 				Gtk.MessageType.Warning,
 				Gtk.ButtonsType.Ok,
 				Catalog.GetString ("The level of translation of gbrainy for your language is low."),
-				Catalog.GetString ("You may be exposed to partially translated games making it more difficult to play. If you prefer to play in English you can do so in gbrainy's Preferences."));
+				Catalog.GetString ("You may be exposed to partially translated games making it more difficult to play. If you prefer to play in English, there is an option for doing so in gbrainy's Preferences."));
 		
 			try {
 	 			dlg.Run ();
diff --git a/src/Games/Logic/PuzzleCounting.cs b/src/Games/Logic/PuzzleCounting.cs
index 05e4bf8..27af82e 100644
--- a/src/Games/Logic/PuzzleCounting.cs
+++ b/src/Games/Logic/PuzzleCounting.cs
@@ -79,12 +79,19 @@ namespace gbrainy.Games.Logic
 				total = 20 + random.Next (20);
 				ans = 4 * total - 4;
 				question = String.Format (
-					// Translators: {0} is always a number greater than 20
-					ServiceLocator.Instance.GetService <ITranslations> ().GetString ("A fence is built to enclose a square shaped region. {0} fence poles are used in each side of the square. How many fence poles are used in total?"),
+					// Translators: {0} is a number
+					ServiceLocator.Instance.GetService <ITranslations> ().GetPluralString (
+						"A fence is built to enclose a square shaped region. {0} fence pole is used in each side of the square. How many fence poles are used in total?",
+						"A fence is built to enclose a square shaped region. {0} fence poles are used in each side of the square. How many fence poles are used in total?",
+						total),
 					total);
-					// Translators: {0} is always a number greater than 20
+					// Translators: {0} is a number
 				answer = String.Format (
-					ServiceLocator.Instance.GetService <ITranslations> ().GetString ("There are {0} fence poles since the poles on the corners of the square are shared."), ans);
+					ServiceLocator.Instance.GetService <ITranslations> ().GetPluralString (
+						"There is {0} fence pole since the poles on the corners of the square are shared.",
+						"There are {0} fence poles since the poles on the corners of the square are shared.",
+						ans)
+					, ans);
 				break;
 
 			case GameType.Present:
@@ -92,10 +99,18 @@ namespace gbrainy.Games.Logic
 				total = present + 2;
 				ans = total;
 				question = String.Format (
-					// Translators: {0} is always a number greater than 5
-					ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Wrapping an anniversary present costs one euro. The anniversary present costs {0} euros more than the cost to wrap it. How much does it cost to both purchase and wrap the present?"),
+					// Translators: {0} is a number
+					ServiceLocator.Instance.GetService <ITranslations> ().GetPluralString (
+						"Wrapping an anniversary present costs one monetary unit. The anniversary present costs {0} monetary unit more than the cost to wrap it. How much does it cost to both purchase and wrap the present?",
+						"Wrapping an anniversary present costs one monetary unit. The anniversary present costs {0} monetary units more than the cost to wrap it. How much does it cost to both purchase and wrap the present?",
+						present),
 					present);
-				answer = ServiceLocator.Instance.GetService <ITranslations> ().GetString ("Individually, the present costs one euro more to purchase than to wrap.");
+
+				answer = String.Format (
+					ServiceLocator.Instance.GetService <ITranslations> ().GetPluralString (
+					"It is the cost of the present, {0} monetary unit, plus one monetary unit of the wrapping.",
+					"It is the cost of the present, {0} monetary units, plus one monetary unit of the wrapping.",
+					present + 1), present + 1);
 				break;
 			default:
 				throw new Exception ("Unexpected value");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]