diff Translatable/ControlTranslator.cs @ 20:06715f517af6

Re #47: Add translatable GTK# widgets * Add ITranslatableWithActions interface to provide a common way to get at actions (WinForms menu items are widgets, GTK uses Actions and ActionGroups) * Add implementation of interface for Windows (most likely candidate for having translatable actions) * Translate actions as well as sub-widgets
author IBBoard <dev@ibboard.co.uk>
date Mon, 27 Dec 2010 20:48:29 +0000
parents 2ddde7f1730e
children 0364560fcec2
line wrap: on
line diff
--- a/Translatable/ControlTranslator.cs	Mon Dec 27 20:19:36 2010 +0000
+++ b/Translatable/ControlTranslator.cs	Mon Dec 27 20:48:29 2010 +0000
@@ -38,8 +38,23 @@
 			{
 				TranslateWidget(childWidget, cascade);
 			}
+
+			if (container is ITranslatableWithActions)
+			{
+				TranslateActions((ITranslatableWithActions)container);
+			}
 		}
 
+		private static void TranslateActions(ITranslatableWithActions actionContainer)
+		{
+			foreach (Action action in actionContainer.Actions)
+			{
+				if (action is ITranslatable)
+				{
+					Translation.Translate((ITranslatable)action);
+				}
+			}
+		}
 	}
 }