[WICKET-6988] String.format is replaced with concatenation of strings
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
index da947ee..e2e7eee 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxTimerBehavior.java
@@ -201,8 +201,7 @@
 		timerId = getTimerId();
 
 		headerResponse.render(
-			OnLoadHeaderItem.forScript(String.format("Wicket.Timer.set('%s', function(){%s}, %d);",
-				timerId, js, updateInterval.getMilliseconds())));
+			OnLoadHeaderItem.forScript("Wicket.Timer.set('" + timerId + "', function(){" + js + "}, " + updateInterval.getMilliseconds() + ");"));
 	}
 
 	private void clearTimeout(IHeaderResponse headerResponse)
diff --git a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxTimerBehaviorTest.java b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxTimerBehaviorTest.java
index d8c2392..3612757 100644
--- a/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxTimerBehaviorTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/ajax/AjaxTimerBehaviorTest.java
@@ -27,6 +27,8 @@
 import org.apache.wicket.util.tester.WicketTestCase;
 import org.apache.wicket.util.time.Duration;
 import org.junit.Test;
+import java.util.Locale;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -82,7 +84,6 @@
 		assertMatches("Wicket.Timer.set", 1);
 	}
 
-
 	/**
 	 * tests timer behavior in a WebPage.
 	 */
@@ -204,6 +205,7 @@
 	{
 		final AbstractAjaxTimerBehavior timer = new AbstractAjaxTimerBehavior(Duration.seconds(20))
 		{
+			private static final long serialVersionUID = 1L;
 			private boolean enabled = true;
 			
 			@Override
@@ -332,6 +334,49 @@
 	}
 
 	/**
+	 * Tests timer behavior in a component added to an AjaxRequestTarget
+	 */
+	@Test
+	public void arabicAddedInAjaxSetsTimout()
+	{
+		Locale def = Locale.getDefault();
+		try {
+			Locale.setDefault(Locale.forLanguageTag("ar-EG"));
+			Duration dur = Duration.seconds(20);
+			final AjaxSelfUpdatingTimerBehavior timer = new AjaxSelfUpdatingTimerBehavior(dur);
+			final MockPageWithLinkAndComponent page = new MockPageWithLinkAndComponent();
+
+			page.add(new WebComponent(MockPageWithLinkAndComponent.COMPONENT_ID)
+				.setOutputMarkupId(true));
+
+
+			page.add(new AjaxLink<Void>(MockPageWithLinkAndComponent.LINK_ID)
+			{
+				private static final long serialVersionUID = 1L;
+
+				@Override
+				public void onClick(AjaxRequestTarget target)
+				{
+					WebMarkupContainer wmc = new WebMarkupContainer(
+						MockPageWithLinkAndComponent.COMPONENT_ID);
+					wmc.setOutputMarkupId(true);
+					wmc.add(timer);
+					page.replace(wmc);
+					target.add(wmc);
+				}
+			});
+
+			tester.startPage(page);
+			tester.clickLink(MockPageWithLinkAndComponent.LINK_ID);
+
+			// first render sets timeout in correct Locale
+			assertMatches(", 20000", 1);
+		} finally {
+			Locale.setDefault(def);
+		}
+	}
+
+	/**
 	 * Validates the response, then makes sure the timer injects itself again when called.
 	 * 
 	 * @param string