http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_it.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_it.properties 
b/wicket-user-guide/grails-app/i18n/messages_it.properties
deleted file mode 100644
index 462ec1c..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_it.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-default.doesnt.match.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] non corrisponde al pattern [{3}]
-default.invalid.url.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] non è un URL valido
-default.invalid.creditCard.message=La proprietà [{0}] della classe [{1}] con 
valore [{2}] non è un numero di carta di credito valido
-default.invalid.email.message=La proprietà [{0}] della classe [{1}] con 
valore [{2}] non è un indirizzo email valido
-default.invalid.range.message=La proprietà [{0}] della classe [{1}] con 
valore [{2}] non rientra nell'intervallo valido da [{3}] a [{4}]
-default.invalid.size.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] non rientra nell'intervallo di dimensioni valide da [{3}] a [{4}]
-default.invalid.max.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] è maggiore di [{3}]
-default.invalid.min.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] è minore di [{3}]
-default.invalid.max.size.message=La proprietà [{0}] della classe [{1}] con 
valore [{2}] è maggiore di [{3}]
-default.invalid.min.size.message=La proprietà [{0}] della classe [{1}] con 
valore [{2}] è minore di [{3}]
-default.invalid.validator.message=La proprietà [{0}] della classe [{1}] con 
valore [{2}] non è valida
-default.not.inlist.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] non è contenuta nella lista [{3}]
-default.blank.message=La proprietà [{0}] della classe [{1}] non può essere 
vuota
-default.not.equal.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] non può essere uguale a [{3}]
-default.null.message=La proprietà [{0}] della classe [{1}] non può essere 
null
-default.not.unique.message=La proprietà [{0}] della classe [{1}] con valore 
[{2}] deve essere unica
-
-default.paginate.prev=Precedente
-default.paginate.next=Successivo
-default.boolean.true=Vero
-default.boolean.false=Falso
-default.date.format=dd/MM/yyyy HH:mm:ss z
-default.number.format=0
-
-default.created.message={0} {1} creato
-default.updated.message={0} {1} aggiornato
-default.deleted.message={0} {1} eliminato
-default.not.deleted.message={0} {1} non può essere eliminato
-default.not.found.message={0} non trovato con id {1}
-default.optimistic.locking.failure=Un altro utente ha aggiornato questo {0} 
mentre si era in modifica
-
-default.home.label=Home
-default.list.label={0} Elenco
-default.add.label=Aggiungi {0}
-default.new.label=Nuovo {0}
-default.create.label=Crea {0}
-default.show.label=Mostra {0}
-default.edit.label=Modifica {0}
-
-default.button.create.label=Crea
-default.button.edit.label=Modifica
-default.button.update.label=Aggiorna
-default.button.delete.label=Elimina
-default.button.delete.confirm.message=Si è sicuri?
-
-# Data binding errors. Usa "typeMismatch.$className.$propertyName per la 
personalizzazione (es typeMismatch.Book.author)
-typeMismatch.java.net.URL=La proprietà {0} deve essere un URL valido
-typeMismatch.java.net.URI=La proprietà {0} deve essere un URI valido
-typeMismatch.java.util.Date=La proprietà {0} deve essere una data valida
-typeMismatch.java.lang.Double=La proprietà {0} deve essere un numero valido
-typeMismatch.java.lang.Integer=La proprietà {0} deve essere un numero valido
-typeMismatch.java.lang.Long=La proprietà {0} deve essere un numero valido
-typeMismatch.java.lang.Short=La proprietà {0} deve essere un numero valido
-typeMismatch.java.math.BigDecimal=La proprietà {0} deve essere un numero 
valido
-typeMismatch.java.math.BigInteger=La proprietà {0} deve essere un numero 
valido

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_ja.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_ja.properties 
b/wicket-user-guide/grails-app/i18n/messages_ja.properties
deleted file mode 100644
index b5e4d18..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_ja.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-default.doesnt.match.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、[{3}]パターンと一致していません。
-default.invalid.url.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、有効なURLではありません。
-default.invalid.creditCard.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、有効なクレジットカード番号ではありません。
-default.invalid.email.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、有効なメールアドレスではありません。
-default.invalid.range.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、[{3}]から[{4}]範囲å†
…を指定してください。
-default.invalid.size.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、[{3}]から[{4}]以å†
…を指定してください。
-default.invalid.max.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、最大値[{3}]より大きいです。
-default.invalid.min.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、最小値[{3}]より小さいです。
-default.invalid.max.size.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、最大値[{3}]より大きいです。
-default.invalid.min.size.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、最小値[{3}]より小さいです。
-default.invalid.validator.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、カスタãƒ
 ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’通過できません。
-default.not.inlist.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、[{3}]リストå†
…に存在しません。
-default.blank.message=[{1}]クラスのプロパティ[{0}]の空白は許可されません。
-default.not.equal.message=クラス[{1}]プロパティ[{0}]の値[{2}]は、[{3}]と同等ではありません。
-default.null.message=[{1}]クラスのプロパティ[{0}]にnullは許可されません。
-default.not.unique.message=クラス[{1}]プロパティ[{0}]の値[{2}]は既に使用されています。
-
-default.paginate.prev=戻る
-default.paginate.next=次へ
-default.boolean.true=はい
-default.boolean.false=いいえ
-default.date.format=yyyy/MM/dd HH:mm:ss z
-default.number.format=0
-
-default.created.message={0}(id:{1})を作成しました。
-default.updated.message={0}(id:{1})を更新しました。
-default.deleted.message={0}(id:{1})を削除しました。
-default.not.deleted.message={0}(id:{1})は削除できませんでした。
-default.not.found.message={0}(id:{1})は見つかりませんでした。
-default.optimistic.locking.failure=この{0}は編集中に他のユーザによってå
…ˆã«æ›´æ–°ã•れています。
-
-default.home.label=ホーム
-default.list.label={0}リスト
-default.add.label={0}を追加
-default.new.label={0}を新規作成
-default.create.label={0}を作成
-default.show.label={0}詳細
-default.edit.label={0}を編集
-
-default.button.create.label=作成
-default.button.edit.label=編集
-default.button.update.label=更新
-default.button.delete.label=削除
-default.button.delete.confirm.message=本当に削除してよろしいですか?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize 
(eg typeMismatch.Book.author)
-typeMismatch.java.net.URL={0}は有効なURLでなければなりません。
-typeMismatch.java.net.URI={0}は有効なURIでなければなりません。
-typeMismatch.java.util.Date={0}は有効な日付でなければなりません。
-typeMismatch.java.lang.Double={0}は有効な数値でなければなりません。
-typeMismatch.java.lang.Integer={0}は有効な数値でなければなりません。
-typeMismatch.java.lang.Long={0}は有効な数値でなければなりません。
-typeMismatch.java.lang.Short={0}は有効な数値でなければなりません。
-typeMismatch.java.math.BigDecimal={0}は有効な数値でなければなりません。
-typeMismatch.java.math.BigInteger={0}は有効な数値でなければなりません。

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_nb.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_nb.properties 
b/wicket-user-guide/grails-app/i18n/messages_nb.properties
deleted file mode 100644
index 47a8a1a..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_nb.properties
+++ /dev/null
@@ -1,56 +0,0 @@
-default.doesnt.match.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] 
overholder ikke mønsteret [{3}]
-default.invalid.url.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] er 
ikke en gyldig URL
-default.invalid.creditCard.message=Feltet [{0}] i klassen [{1}] med verdien 
[{2}] er ikke et gyldig kredittkortnummer
-default.invalid.email.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] 
er ikke en gyldig epostadresse
-default.invalid.range.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] 
er ikke innenfor intervallet [{3}] til [{4}]
-default.invalid.size.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] er 
ikke innenfor intervallet [{3}] til [{4}]
-default.invalid.max.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] 
overstiger maksimumsverdien på [{3}]
-default.invalid.min.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] er 
under minimumsverdien på [{3}]
-default.invalid.max.size.message=Feltet [{0}] i klassen [{1}] med verdien 
[{2}] overstiger maksimumslengden på [{3}]
-default.invalid.min.size.message=Feltet [{0}] i klassen [{1}] med verdien 
[{2}] er kortere enn minimumslengden på [{3}]
-default.invalid.validator.message=Feltet [{0}] i klassen [{1}] med verdien 
[{2}] overholder ikke den brukerdefinerte valideringen
-default.not.inlist.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] 
finnes ikke i listen [{3}]
-default.blank.message=Feltet [{0}] i klassen [{1}] kan ikke være tom
-default.not.equal.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] kan 
ikke være [{3}]
-default.null.message=Feltet [{0}] i klassen [{1}] kan ikke være null
-default.not.unique.message=Feltet [{0}] i klassen [{1}] med verdien [{2}] må 
være unik
-
-default.paginate.prev=Forrige
-default.paginate.next=Neste
-default.boolean.true=Ja
-default.boolean.false=Nei
-default.date.format=dd.MM.yyyy HH:mm:ss z
-default.number.format=0
-
-default.created.message={0} {1} opprettet
-default.updated.message={0} {1} oppdatert
-default.deleted.message={0} {1} slettet
-default.not.deleted.message={0} {1} kunne ikke slettes
-default.not.found.message={0} med id {1} ble ikke funnet
-default.optimistic.locking.failure=En annen bruker har oppdatert denne {0} 
mens du redigerte
-
-default.home.label=Hjem
-default.list.label={0}liste
-default.add.label=Legg til {0}
-default.new.label=Ny {0}
-default.create.label=Opprett {0}
-default.show.label=Vis {0}
-default.edit.label=Endre {0}
-
-default.button.create.label=Opprett
-default.button.edit.label=Endre
-default.button.update.label=Oppdater
-default.button.delete.label=Slett
-default.button.delete.confirm.message=Er du sikker?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize 
(eg typeMismatch.Book.author)
-typeMismatch.java.net.URL=Feltet {0} må være en gyldig URL
-typeMismatch.java.net.URI=Feltet {0} må være en gyldig URI
-typeMismatch.java.util.Date=Feltet {0} må være en gyldig dato
-typeMismatch.java.lang.Double=Feltet {0} må være et gyldig tall
-typeMismatch.java.lang.Integer=Feltet {0} må være et gyldig heltall
-typeMismatch.java.lang.Long=Feltet {0} må være et gyldig heltall
-typeMismatch.java.lang.Short=Feltet {0} må være et gyldig heltall
-typeMismatch.java.math.BigDecimal=Feltet {0} må være et gyldig tall
-typeMismatch.java.math.BigInteger=Feltet {0} må være et gyldig heltall
-

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_nl.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_nl.properties 
b/wicket-user-guide/grails-app/i18n/messages_nl.properties
deleted file mode 100644
index cd5cc94..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_nl.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-default.doesnt.match.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] komt niet overeen met het vereiste patroon [{3}]
-default.invalid.url.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] is geen geldige URL
-default.invalid.creditCard.message=Attribuut [{0}] van entiteit [{1}] met 
waarde [{2}] is geen geldig credit card nummer
-default.invalid.email.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] is geen geldig e-mailadres
-default.invalid.range.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] valt niet in de geldige waardenreeks van [{3}] tot [{4}]
-default.invalid.size.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] valt niet in de geldige grootte van [{3}] tot [{4}]
-default.invalid.max.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] overschrijdt de maximumwaarde [{3}]
-default.invalid.min.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] is minder dan de minimumwaarde [{3}]
-default.invalid.max.size.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] overschrijdt de maximumgrootte van [{3}]
-default.invalid.min.size.message=Attribuut [{0}] van entiteit [{1}] met waarde 
[{2}] is minder dan minimumgrootte van [{3}]
-default.invalid.validator.message=Attribuut [{0}] van entiteit [{1}] met 
waarde [{2}] is niet geldig
-default.not.inlist.message=Attribuut [{0}] van entiteit [{1}] met waarde [{2}] 
komt niet voor in de lijst [{3}]
-default.blank.message=Attribuut [{0}] van entiteit [{1}] mag niet leeg zijn
-default.not.equal.message=Attribuut [{0}] van entiteit [{1}] met waarde [{2}] 
mag niet gelijk zijn aan [{3}]
-default.null.message=Attribuut [{0}] van entiteit [{1}] mag niet leeg zijn
-default.not.unique.message=Attribuut [{0}] van entiteit [{1}] met waarde [{2}] 
moet uniek zijn
-
-default.paginate.prev=Vorige
-default.paginate.next=Volgende
-default.boolean.true=Ja
-default.boolean.false=Nee
-default.date.format=dd-MM-yyyy HH:mm:ss z
-default.number.format=0
-
-default.created.message={0} {1} ingevoerd
-default.updated.message={0} {1} gewijzigd
-default.deleted.message={0} {1} verwijderd
-default.not.deleted.message={0} {1} kon niet worden verwijderd
-default.not.found.message={0} met id {1} kon niet worden gevonden
-default.optimistic.locking.failure=Een andere gebruiker heeft deze {0} al 
gewijzigd
-
-default.home.label=Home
-default.list.label={0} Overzicht
-default.add.label=Toevoegen {0}
-default.new.label=Invoeren {0}
-default.create.label=Invoeren {0}
-default.show.label=Details {0}
-default.edit.label=Wijzigen {0}
-
-default.button.create.label=Invoeren
-default.button.edit.label=Wijzigen
-default.button.update.label=Opslaan
-default.button.delete.label=Verwijderen
-default.button.delete.confirm.message=Weet je het zeker?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize 
(eg typeMismatch.Book.author)
-typeMismatch.java.net.URL=Attribuut {0} is geen geldige URL
-typeMismatch.java.net.URI=Attribuut {0} is geen geldige URI
-typeMismatch.java.util.Date=Attribuut {0} is geen geldige datum
-typeMismatch.java.lang.Double=Attribuut {0} is geen geldig nummer
-typeMismatch.java.lang.Integer=Attribuut {0} is geen geldig nummer
-typeMismatch.java.lang.Long=Attribuut {0} is geen geldig nummer
-typeMismatch.java.lang.Short=Attribuut {0} is geen geldig nummer
-typeMismatch.java.math.BigDecimal=Attribuut {0} is geen geldig nummer
-typeMismatch.java.math.BigInteger=Attribuut {0} is geen geldig nummer

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_pl.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_pl.properties 
b/wicket-user-guide/grails-app/i18n/messages_pl.properties
deleted file mode 100644
index 959296c..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_pl.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Translated by Matthias Hryniszak - pad...@gmail.com
-#
-
-default.doesnt.match.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] nie pasuje do wymaganego wzorca [{3}]
-default.invalid.url.message=Właściwość [{0}] klasy [{1}] o wartości [{2}] 
jest niepoprawnym adresem URL
-default.invalid.creditCard.message=Właściwość [{0}] klasy [{1}] with value 
[{2}] nie jest poprawnym numerem karty kredytowej
-default.invalid.email.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] nie jest poprawnym adresem e-mail
-default.invalid.range.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] nie zawiera się zakładanym zakresie od [{3}] do [{4}]
-default.invalid.size.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] nie zawiera się w zakładanym zakresie rozmiarów od [{3}] do [{4}]
-default.invalid.max.message=Właściwość [{0}] klasy [{1}] o wartości [{2}] 
przekracza maksymalną wartość [{3}]
-default.invalid.min.message=Właściwość [{0}] klasy [{1}] o wartości [{2}] 
jest mniejsza niż minimalna wartość [{3}]
-default.invalid.max.size.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] przekracza maksymalny rozmiar [{3}]
-default.invalid.min.size.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] jest mniejsza niż minimalny rozmiar [{3}]
-default.invalid.validator.message=Właściwość [{0}] klasy [{1}] o wartości 
[{2}] nie spełnia założonych niestandardowych warunków
-default.not.inlist.message=Właściwość [{0}] klasy [{1}] o wartości [{2}] 
nie zawiera się w liście [{3}]
-default.blank.message=Właściwość [{0}] klasy [{1}] nie może być pusta
-default.not.equal.message=Właściwość [{0}] klasy [{1}] o wartości [{2}] 
nie może równać się [{3}]
-default.null.message=Właściwość [{0}] klasy [{1}] nie może być null
-default.not.unique.message=Właściwość [{0}] klasy [{1}] o wartości [{2}] 
musi być unikalna
-
-default.paginate.prev=Poprzedni
-default.paginate.next=Następny
-default.boolean.true=Prawda
-default.boolean.false=Fałsz
-default.date.format=yyyy-MM-dd HH:mm:ss z
-default.number.format=0
-
-default.created.message=Utworzono {0} {1}
-default.updated.message=Zaktualizowano {0} {1}
-default.deleted.message=Usunięto {0} {1}
-default.not.deleted.message={0} {1} nie mógł zostać usunięty
-default.not.found.message=Nie znaleziono {0} o id {1}
-default.optimistic.locking.failure=Inny użytkownik zaktualizował ten obiekt 
{0} w trakcie twoich zmian
-
-default.home.label=Strona domowa
-default.list.label=Lista {0}
-default.add.label=Dodaj {0}
-default.new.label=Utwórz {0}
-default.create.label=Utwórz {0}
-default.show.label=Pokaż {0}
-default.edit.label=Edytuj {0}
-
-default.button.create.label=Utwórz
-default.button.edit.label=Edytuj
-default.button.update.label=Zaktualizuj
-default.button.delete.label=Usuń
-default.button.delete.confirm.message=Czy jesteś pewien?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize 
(eg typeMismatch.Book.author)
-typeMismatch.java.net.URL=Właściwość {0} musi być poprawnym adresem URL
-typeMismatch.java.net.URI=Właściwość {0} musi być poprawnym adresem URI
-typeMismatch.java.util.Date=Właściwość {0} musi być poprawną datą
-typeMismatch.java.lang.Double=Właściwość {0} musi być poprawnyą liczbą
-typeMismatch.java.lang.Integer=Właściwość {0} musi być poprawnyą liczbą
-typeMismatch.java.lang.Long=Właściwość {0} musi być poprawnyą liczbą
-typeMismatch.java.lang.Short=Właściwość {0} musi być poprawnyą liczbą
-typeMismatch.java.math.BigDecimal=Właściwość {0} musi być poprawnyą 
liczbą
-typeMismatch.java.math.BigInteger=Właściwość {0} musi być poprawnyą 
liczbą

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_pt_BR.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_pt_BR.properties 
b/wicket-user-guide/grails-app/i18n/messages_pt_BR.properties
deleted file mode 100644
index 0c368f2..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_pt_BR.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# Translated by Lucas Teixeira - lucas...@gmail.com
-#
-
-default.doesnt.match.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não atende ao padrão definido [{3}]
-default.invalid.url.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não é uma URL válida
-default.invalid.creditCard.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] não é um número válido de cartão de crédito
-default.invalid.email.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não é um endereço de email válido.
-default.invalid.range.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não está entre a faixa de valores válida de [{3}] até [{4}]
-default.invalid.size.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não está na faixa de tamanho válida de [{3}] até [{4}]
-default.invalid.max.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
ultrapass o valor máximo [{3}]
-default.invalid.min.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não atinge o valor mínimo [{3}]
-default.invalid.max.size.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] ultrapassa o tamanho máximo de [{3}]
-default.invalid.min.size.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] não atinge o tamanho mínimo de [{3}]
-default.invalid.validator.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] não passou na validação
-default.not.inlist.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não é um valor dentre os permitidos na lista [{3}]
-default.blank.message=O campo [{0}] da classe [{1}] não pode ficar em branco
-default.not.equal.message=O campo [{0}] da classe [{1}] com o valor [{2}] não 
pode ser igual a [{3}]
-default.null.message=O campo [{0}] da classe [{1}] não pode ser vazia
-default.not.unique.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
deve ser único
-
-default.paginate.prev=Anterior
-default.paginate.next=Próximo
-default.boolean.true=Sim
-default.boolean.false=Não
-default.date.format=dd/MM/yyyy HH:mm:ss z
-default.number.format=0
-
-default.created.message={0} {1} criado
-default.updated.message={0} {1} atualizado
-default.deleted.message={0} {1} removido
-default.not.deleted.message={0} {1} não pode ser removido
-default.not.found.message={0} não foi encontrado com id {1}
-default.optimistic.locking.failure=Outro usuário atualizou este [{0}] 
enquanto você tentou salvá-lo
-
-default.home.label=Principal
-default.list.label={0} Listagem
-default.add.label=Adicionar {0}
-default.new.label=Novo {0}
-default.create.label=Criar {0}
-default.show.label=Ver {0}
-default.edit.label=Editar {0}
-
-default.button.create.label=Criar
-default.button.edit.label=Editar
-default.button.update.label=Alterar
-default.button.delete.label=Remover
-default.button.delete.confirm.message=Tem certeza?
-
-# Mensagens de erro em atribuição de valores. Use 
"typeMismatch.$className.$propertyName" para customizar (eg 
typeMismatch.Book.author)
-typeMismatch.java.net.URL=O campo {0} deve ser uma URL válida.
-typeMismatch.java.net.URI=O campo {0} deve ser uma URI válida.
-typeMismatch.java.util.Date=O campo {0} deve ser uma data válida
-typeMismatch.java.lang.Double=O campo {0} deve ser um número válido.
-typeMismatch.java.lang.Integer=O campo {0} deve ser um número válido.
-typeMismatch.java.lang.Long=O campo {0} deve ser um número válido.
-typeMismatch.java.lang.Short=O campo {0} deve ser um número válido.
-typeMismatch.java.math.BigDecimal=O campo {0} deve ser um número válido.
-typeMismatch.java.math.BigInteger=O campo {0} deve ser um número válido.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_pt_PT.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_pt_PT.properties 
b/wicket-user-guide/grails-app/i18n/messages_pt_PT.properties
deleted file mode 100644
index 43a6416..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_pt_PT.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# translation by miguel.p...@gmail.com, based on pt_BR translation by Lucas 
Teixeira - lucas...@gmail.com
-#
-
-default.doesnt.match.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não corresponde ao padrão definido [{3}]
-default.invalid.url.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não é um URL válido
-default.invalid.creditCard.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] não é um número válido de cartão de crédito
-default.invalid.email.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não é um endereço de email válido.
-default.invalid.range.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não está dentro dos limites de valores válidos de [{3}] a [{4}]
-default.invalid.size.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
está fora dos limites de tamanho válido de [{3}] a [{4}]
-default.invalid.max.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
ultrapassa o valor máximo [{3}]
-default.invalid.min.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não atinge o valor mínimo [{3}]
-default.invalid.max.size.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] ultrapassa o tamanho máximo de [{3}]
-default.invalid.min.size.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] não atinge o tamanho mínimo de [{3}]
-default.invalid.validator.message=O campo [{0}] da classe [{1}] com o valor 
[{2}] não passou na validação
-default.not.inlist.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
não se encontra nos valores permitidos da lista [{3}]
-default.blank.message=O campo [{0}] da classe [{1}] não pode ser vazio
-default.not.equal.message=O campo [{0}] da classe [{1}] com o valor [{2}] não 
pode ser igual a [{3}]
-default.null.message=O campo [{0}] da classe [{1}] não pode ser vazio
-default.not.unique.message=O campo [{0}] da classe [{1}] com o valor [{2}] 
deve ser único
-
-default.paginate.prev=Anterior
-default.paginate.next=Próximo
-
-# Mensagens de erro em atribuição de valores. Use 
"typeMismatch.$className.$propertyName" para personalizar(eg 
typeMismatch.Book.author)
-typeMismatch.java.net.URL=O campo {0} deve ser um URL válido.
-typeMismatch.java.net.URI=O campo {0} deve ser um URI válido.
-typeMismatch.java.util.Date=O campo {0} deve ser uma data válida
-typeMismatch.java.lang.Double=O campo {0} deve ser um número válido.
-typeMismatch.java.lang.Integer=O campo {0} deve ser um número válido.
-typeMismatch.java.lang.Long=O campo {0} deve ser um número valido.
-typeMismatch.java.lang.Short=O campo {0} deve ser um número válido.
-typeMismatch.java.math.BigDecimal=O campo {0} deve ser um número válido.
-typeMismatch.java.math.BigInteger=O campo {0} deve ser um número válido.

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_ru.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_ru.properties 
b/wicket-user-guide/grails-app/i18n/messages_ru.properties
deleted file mode 100644
index 02239db..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_ru.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-default.doesnt.match.message=Значение [{2}] поля [{0}] 
класса [{1}] не соответствует образцу [{3}]
-default.invalid.url.message=Значение [{2}] поля [{0}] класса 
[{1}] не является допустимым URL-адресом
-default.invalid.creditCard.message=Значение [{2}] поля [{0}] 
класса [{1}] не является допустимым номером 
кредитной карты
-default.invalid.email.message=Значение [{2}] поля [{0}] 
класса [{1}] не является допустимым e-mail 
адресом
-default.invalid.range.message=Значение [{2}] поля [{0}] 
класса [{1}] не попадает в допустимый 
интервал от [{3}] до [{4}]
-default.invalid.size.message=Размер поля [{0}] класса [{1}] 
(значение: [{2}]) не попадает в допустимый 
интервал от [{3}] до [{4}]
-default.invalid.max.message=Значение [{2}] поля [{0}] класса 
[{1}] больше чем максимально допустимое 
значение [{3}]
-default.invalid.min.message=Значение [{2}] поля [{0}] класса 
[{1}] меньше чем минимально допустимое 
значение [{3}]
-default.invalid.max.size.message=Размер поля [{0}] класса 
[{1}] (значение: [{2}]) больше чем максимально 
допустимый размер [{3}]
-default.invalid.min.size.message=Размер поля [{0}] класса 
[{1}] (значение: [{2}]) меньше чем минимально 
допустимый размер [{3}]
-default.invalid.validator.message=Значение [{2}] поля [{0}] 
класса [{1}] не допустимо
-default.not.inlist.message=Значение [{2}] поля [{0}] класса 
[{1}] не попадает в список допустимых 
значений [{3}]
-default.blank.message=Поле [{0}] класса [{1}] не может 
быть пустым
-default.not.equal.message=Значение [{2}] поля [{0}] класса 
[{1}] не может быть равно [{3}]
-default.null.message=Поле [{0}] класса [{1}] не может 
иметь значение null
-default.not.unique.message=Значение [{2}] поля [{0}] класса 
[{1}] должно быть уникальным
-
-default.paginate.prev=Предыдушая страница
-default.paginate.next=Следующая страница
-
-# Ошибки при присвоении данных. Для точной 
настройки для полей классов используйте
-# формат "typeMismatch.$className.$propertyName" (например, 
typeMismatch.Book.author)
-typeMismatch.java.net.URL=Значение поля {0} не является 
допустимым URL
-typeMismatch.java.net.URI=Значение поля {0} не является 
допустимым URI
-typeMismatch.java.util.Date=Значение поля {0} не 
является допустимой датой
-typeMismatch.java.lang.Double=Значение поля {0} не 
является допустимым числом
-typeMismatch.java.lang.Integer=Значение поля {0} не 
является допустимым числом
-typeMismatch.java.lang.Long=Значение поля {0} не 
является допустимым числом
-typeMismatch.java.lang.Short=Значение поля {0} не 
является допустимым числом
-typeMismatch.java.math.BigDecimal=Значение поля {0} не 
является допустимым числом
-typeMismatch.java.math.BigInteger=Значение поля {0} не 
является допустимым числом

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_sv.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_sv.properties 
b/wicket-user-guide/grails-app/i18n/messages_sv.properties
deleted file mode 100644
index 61899d7..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_sv.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-default.doesnt.match.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] matchar inte mot uttrycket [{3}]
-default.invalid.url.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] är inte en giltig URL
-default.invalid.creditCard.message=Attributet [{0}] för klassen [{1}] med 
värde [{2}] är inte ett giltigt kreditkortsnummer
-default.invalid.email.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] är inte en giltig e-postadress
-default.invalid.range.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] är inte inom intervallet [{3}] till [{4}]
-default.invalid.size.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] har en storlek som inte är inom [{3}] till [{4}]
-default.invalid.max.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] överskrider maxvärdet [{3}]
-default.invalid.min.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] är mindre än minimivärdet [{3}]
-default.invalid.max.size.message=Attributet [{0}] för klassen [{1}] med 
värde [{2}] överskrider maxstorleken [{3}]
-default.invalid.min.size.message=Attributet [{0}] för klassen [{1}] med 
värde [{2}] är mindre än minimistorleken [{3}]
-default.invalid.validator.message=Attributet [{0}] för klassen [{1}] med 
värde [{2}] är inte giltigt enligt anpassad regel
-default.not.inlist.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] är inte giltigt, måste vara ett av [{3}]
-default.blank.message=Attributet [{0}] för klassen [{1}] får inte vara tomt
-default.not.equal.message=Attributet [{0}] för klassen [{1}] med värde [{2}] 
får inte vara lika med [{3}]
-default.null.message=Attributet [{0}] för klassen [{1}] får inte vara tomt
-default.not.unique.message=Attributet [{0}] för klassen [{1}] med värde 
[{2}] måste vara unikt
-
-default.paginate.prev=Föregående
-default.paginate.next=Nästa
-default.boolean.true=Sant
-default.boolean.false=Falskt
-default.date.format=yyyy-MM-dd HH:mm:ss z
-default.number.format=0
-
-default.created.message={0} {1} skapades
-default.updated.message={0} {1} uppdaterades
-default.deleted.message={0} {1} borttagen
-default.not.deleted.message={0} {1} kunde inte tas bort
-default.not.found.message={0} med id {1} kunde inte hittas
-default.optimistic.locking.failure=En annan användare har uppdaterat det här 
{0} objektet medan du redigerade det
-
-default.home.label=Hem
-default.list.label= {0} - Lista
-default.add.label=Lägg till {0}
-default.new.label=Skapa {0}
-default.create.label=Skapa {0}
-default.show.label=Visa {0}
-default.edit.label=Ändra {0}
-
-default.button.create.label=Skapa
-default.button.edit.label=Ändra
-default.button.update.label=Uppdatera
-default.button.delete.label=Ta bort
-default.button.delete.confirm.message=Är du säker?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize 
(eg typeMismatch.Book.author)
-typeMismatch.java.net.URL=Värdet för {0} måste vara en giltig URL
-typeMismatch.java.net.URI=Värdet för {0} måste vara en giltig URI
-typeMismatch.java.util.Date=Värdet {0} måste vara ett giltigt datum
-typeMismatch.java.lang.Double=Värdet {0} måste vara ett giltigt nummer
-typeMismatch.java.lang.Integer=Värdet {0} måste vara ett giltigt heltal
-typeMismatch.java.lang.Long=Värdet {0} måste vara ett giltigt heltal
-typeMismatch.java.lang.Short=Värdet {0} måste vara ett giltigt heltal
-typeMismatch.java.math.BigDecimal=Värdet {0} måste vara ett giltigt nummer
-typeMismatch.java.math.BigInteger=Värdet {0} måste vara ett giltigt heltal
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_th.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_th.properties 
b/wicket-user-guide/grails-app/i18n/messages_th.properties
deleted file mode 100644
index 4f4076d..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_th.properties
+++ /dev/null
@@ -1,55 +0,0 @@
-default.doesnt.match.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ถูกต้องตามรูปแบบที่กำหนดไว้ใน
 [{3}]
-default.invalid.url.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ถูกต้องตามรูปแบบ URL
-default.invalid.creditCard.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ถูกต้องตามรูปแบบหมายเลขบัตรเครดิต
-default.invalid.email.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ถูกต้องตามรูปแบบอีเมล์
-default.invalid.range.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ได้มีค่าที่ถูกต้องในช่วงจาก
 [{3}] ถึง [{4}]
-default.invalid.size.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ได้มีขนาดที่ถูกต้องในช่วงจาก
 [{3}] ถึง [{4}]
-default.invalid.max.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
มีค่าเกิดกว่าค่ามากสุด [{3}]
-default.invalid.min.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
มีค่าน้อยกว่าค่าต่ำสุด  [{3}]
-default.invalid.max.size.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
มีขนาดเกินกว่าขนาดมากสุดของ
 [{3}]
-default.invalid.min.size.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
มีขนาดต่ำกว่าขนาดต่ำสุดของ  
[{3}]
-default.invalid.validator.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ผ่านการทวนสอบค่าที่ตั้งขึ้น
-default.not.inlist.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่ได้อยู่ในรายการต่อไปนี้  
[{3}]
-default.blank.message=คุณสมบัติ [{0}] ของคลาส 
[{1}] ไม่สามารถเป็นค่าว่างได้
-default.not.equal.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
ไม่สามารถเท่ากับ [{3}] ได้
-default.null.message=คุณสมบัติ [{0}] ของคลาส 
[{1}] ไม่สามารถเป็น null ได้
-default.not.unique.message=คุณสมบัติ [{0}] 
ของคลาส [{1}] ซึ่งมีค่าเป็น [{2}] 
จะต้องไม่ซ้ำ (unique)
-
-default.paginate.prev=ก่อนหน้า
-default.paginate.next=ถัดไป
-default.boolean.true=จริง
-default.boolean.false=เท็จ
-default.date.format=dd-MM-yyyy HH:mm:ss z
-default.number.format=0
-
-default.created.message=สร้าง {0} {1} 
เรียบร้อยแล้ว
-default.updated.message=ปรับปรุง {0} {1} 
เรียบร้อยแล้ว
-default.deleted.message=ลบ {0} {1} เรียบร้อยแล้ว
-default.not.deleted.message=ไม่สามารถลบ {0} {1} 
-default.not.found.message=ไม่พบ {0} ด้วย id {1} นี้
-default.optimistic.locking.failure=มีผู้ใช้ท่านอื่นปรับปรุง
 {0} 
ขณะที่คุณกำลังแก้ไขข้อมูลอยู่
-
-default.home.label=หน้าแรก
-default.list.label=รายการ {0}
-default.add.label=เพิ่ม {0}
-default.new.label=สร้าง {0} ใหม่
-default.create.label=สร้าง {0}
-default.show.label=แสดง {0}
-default.edit.label=แก้ไข {0}
-
-default.button.create.label=สร้าง
-default.button.edit.label=แก้ไข
-default.button.update.label=ปรับปรุง
-default.button.delete.label=ลบ
-default.button.delete.confirm.message=คุณแน่ใจหรือไม่
 ?
-
-# Data binding errors. Use "typeMismatch.$className.$propertyName to customize 
(eg typeMismatch.Book.author)
-typeMismatch.java.net.URL=คุณสมบัติ '{0}' 
จะต้องเป็นค่า URL ที่ถูกต้อง
-typeMismatch.java.net.URI=คุณสมบัติ '{0}' 
จะต้องเป็นค่า URI ที่ถูกต้อง
-typeMismatch.java.util.Date=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นวันที่
-typeMismatch.java.lang.Double=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นจำนวนประเภท 
Double
-typeMismatch.java.lang.Integer=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นจำนวนประเภท 
Integer
-typeMismatch.java.lang.Long=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นจำนวนประเภท 
Long
-typeMismatch.java.lang.Short=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นจำนวนประเภท 
Short
-typeMismatch.java.math.BigDecimal=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นจำนวนประเภท 
BigDecimal
-typeMismatch.java.math.BigInteger=คุณสมบัติ '{0}' 
จะต้องมีค่าเป็นจำนวนประเภท 
BigInteger

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/i18n/messages_zh_CN.properties
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/i18n/messages_zh_CN.properties 
b/wicket-user-guide/grails-app/i18n/messages_zh_CN.properties
deleted file mode 100644
index 782580b..0000000
--- a/wicket-user-guide/grails-app/i18n/messages_zh_CN.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-default.blank.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u4E0D\u80FD\u4E3A\u7A7A
-default.doesnt.match.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0E\u5B9A\u4E49\u7684\u6A21\u5F0F
 [{3}]\u4E0D\u5339\u914D
-default.invalid.creditCard.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u4FE1\u7528\u5361\u53F7
-default.invalid.email.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0D\u662F\u4E00\u4E2A\u5408\u6CD5\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740
-default.invalid.max.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u6BD4\u6700\u5927\u503C
 [{3}]\u8FD8\u5927
-default.invalid.max.size.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u7684\u5927\u5C0F\u6BD4\u6700\u5927\u503C
 [{3}]\u8FD8\u5927
-default.invalid.min.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u6BD4\u6700\u5C0F\u503C
 [{3}]\u8FD8\u5C0F
-default.invalid.min.size.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u7684\u5927\u5C0F\u6BD4\u6700\u5C0F\u503C
 [{3}]\u8FD8\u5C0F
-default.invalid.range.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0D\u5728\u5408\u6CD5\u7684\u8303\u56F4\u5185(
 [{3}] \uFF5E [{4}] )
-default.invalid.size.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u7684\u5927\u5C0F\u4E0D\u5728\u5408\u6CD5\u7684\u8303\u56F4\u5185(
 [{3}] \uFF5E [{4}] )
-default.invalid.url.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0D\u662F\u4E00\u4E2A\u5408\u6CD5\u7684URL
-default.invalid.validator.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u672A\u80FD\u901A\u8FC7\u81EA\u5B9A\u4E49\u7684\u9A8C\u8BC1
-default.not.equal.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0E[{3}]\u4E0D\u76F8\u7B49
-default.not.inlist.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u4E0D\u5728\u5217\u8868\u7684\u53D6\u503C\u8303\u56F4\u5185
-default.not.unique.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u7684\u503C[{2}]\u5FC5\u987B\u662F\u552F\u4E00\u7684
-default.null.message=[{1}]\u7C7B\u7684\u5C5E\u6027[{0}]\u4E0D\u80FD\u4E3Anull
-default.paginate.next=\u4E0B\u9875
-default.paginate.prev=\u4E0A\u9875

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/views/error.gsp
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/views/error.gsp 
b/wicket-user-guide/grails-app/views/error.gsp
deleted file mode 100644
index d85f57b..0000000
--- a/wicket-user-guide/grails-app/views/error.gsp
+++ /dev/null
@@ -1,18 +0,0 @@
-<!DOCTYPE html>
-<html>
-       <head>
-               <title><g:if env="development">Grails Runtime 
Exception</g:if><g:else>Error</g:else></title>
-               <meta name="layout" content="main">
-               <g:if env="development"><link rel="stylesheet" 
href="${resource(dir: 'css', file: 'errors.css')}" type="text/css"></g:if>
-       </head>
-       <body>
-               <g:if env="development">
-                       <g:renderException exception="${exception}" />
-               </g:if>
-               <g:else>
-                       <ul class="errors">
-                               <li>An error has occurred</li>
-                       </ul>
-               </g:else>
-       </body>
-</html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/views/index.gsp
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/views/index.gsp 
b/wicket-user-guide/grails-app/views/index.gsp
deleted file mode 100644
index cf4c0b4..0000000
--- a/wicket-user-guide/grails-app/views/index.gsp
+++ /dev/null
@@ -1,122 +0,0 @@
-<!DOCTYPE html>
-<html>
-       <head>
-               <meta name="layout" content="main"/>
-               <title>Welcome to Grails</title>
-               <style type="text/css" media="screen">
-                       #status {
-                               background-color: #eee;
-                               border: .2em solid #fff;
-                               margin: 2em 2em 1em;
-                               padding: 1em;
-                               width: 12em;
-                               float: left;
-                               -moz-box-shadow: 0px 0px 1.25em #ccc;
-                               -webkit-box-shadow: 0px 0px 1.25em #ccc;
-                               box-shadow: 0px 0px 1.25em #ccc;
-                               -moz-border-radius: 0.6em;
-                               -webkit-border-radius: 0.6em;
-                               border-radius: 0.6em;
-                       }
-
-                       .ie6 #status {
-                               display: inline; /* float double margin fix 
http://www.positioniseverything.net/explorer/doubled-margin.html */
-                       }
-
-                       #status ul {
-                               font-size: 0.9em;
-                               list-style-type: none;
-                               margin-bottom: 0.6em;
-                               padding: 0;
-                       }
-
-                       #status li {
-                               line-height: 1.3;
-                       }
-
-                       #status h1 {
-                               text-transform: uppercase;
-                               font-size: 1.1em;
-                               margin: 0 0 0.3em;
-                       }
-
-                       #page-body {
-                               margin: 2em 1em 1.25em 18em;
-                       }
-
-                       h2 {
-                               margin-top: 1em;
-                               margin-bottom: 0.3em;
-                               font-size: 1em;
-                       }
-
-                       p {
-                               line-height: 1.5;
-                               margin: 0.25em 0;
-                       }
-
-                       #controller-list ul {
-                               list-style-position: inside;
-                       }
-
-                       #controller-list li {
-                               line-height: 1.3;
-                               list-style-position: inside;
-                               margin: 0.25em 0;
-                       }
-
-                       @media screen and (max-width: 480px) {
-                               #status {
-                                       display: none;
-                               }
-
-                               #page-body {
-                                       margin: 0 1em 1em;
-                               }
-
-                               #page-body h1 {
-                                       margin-top: 0;
-                               }
-                       }
-               </style>
-       </head>
-       <body>
-               <a href="#page-body" class="skip"><g:message 
code="default.link.skip.label" default="Skip to content&hellip;"/></a>
-               <div id="status" role="complementary">
-                       <h1>Application Status</h1>
-                       <ul>
-                               <li>App version: <g:meta 
name="app.version"/></li>
-                               <li>Grails version: <g:meta 
name="app.grails.version"/></li>
-                               <li>Groovy version: 
${GroovySystem.getVersion()}</li>
-                               <li>JVM version: 
${System.getProperty('java.version')}</li>
-                               <li>Reloading active: 
${grails.util.Environment.reloadingAgentEnabled}</li>
-                               <li>Controllers: 
${grailsApplication.controllerClasses.size()}</li>
-                               <li>Domains: 
${grailsApplication.domainClasses.size()}</li>
-                               <li>Services: 
${grailsApplication.serviceClasses.size()}</li>
-                               <li>Tag Libraries: 
${grailsApplication.tagLibClasses.size()}</li>
-                       </ul>
-                       <h1>Installed Plugins</h1>
-                       <ul>
-                               <g:each var="plugin" 
in="${applicationContext.getBean('pluginManager').allPlugins}">
-                                       <li>${plugin.name} - 
${plugin.version}</li>
-                               </g:each>
-                       </ul>
-               </div>
-               <div id="page-body" role="main">
-                       <h1>Welcome to Grails</h1>
-                       <p>Congratulations, you have successfully started your 
first Grails application! At the moment
-                          this is the default page, feel free to modify it to 
either redirect to a controller or display whatever
-                          content you may choose. Below is a list of 
controllers that are currently deployed in this application,
-                          click on each to execute its default action:</p>
-
-                       <div id="controller-list" role="navigation">
-                               <h2>Available Controllers:</h2>
-                               <ul>
-                                       <g:each var="c" 
in="${grailsApplication.controllerClasses.sort { it.fullName } }">
-                                               <li class="controller"><g:link 
controller="${c.logicalPropertyName}">${c.fullName}</g:link></li>
-                                       </g:each>
-                               </ul>
-                       </div>
-               </div>
-       </body>
-</html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/grails-app/views/layouts/main.gsp
----------------------------------------------------------------------
diff --git a/wicket-user-guide/grails-app/views/layouts/main.gsp 
b/wicket-user-guide/grails-app/views/layouts/main.gsp
deleted file mode 100644
index c69c988..0000000
--- a/wicket-user-guide/grails-app/views/layouts/main.gsp
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
-<!--[if IE 7 ]>    <html lang="en" class="no-js ie7"> <![endif]-->
-<!--[if IE 8 ]>    <html lang="en" class="no-js ie8"> <![endif]-->
-<!--[if IE 9 ]>    <html lang="en" class="no-js ie9"> <![endif]-->
-<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"><!--<![endif]-->
-       <head>
-               <meta http-equiv="Content-Type" content="text/html; 
charset=UTF-8">
-               <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-               <title><g:layoutTitle default="Grails"/></title>
-               <meta name="viewport" content="width=device-width, 
initial-scale=1.0">
-               <link rel="shortcut icon" href="${resource(dir: 'images', file: 
'favicon.ico')}" type="image/x-icon">
-               <link rel="apple-touch-icon" href="${resource(dir: 'images', 
file: 'apple-touch-icon.png')}">
-               <link rel="apple-touch-icon" sizes="114x114" 
href="${resource(dir: 'images', file: 'apple-touch-icon-retina.png')}">
-               <link rel="stylesheet" href="${resource(dir: 'css', file: 
'main.css')}" type="text/css">
-               <link rel="stylesheet" href="${resource(dir: 'css', file: 
'mobile.css')}" type="text/css">
-               <g:layoutHead/>
-               <r:layoutResources />
-       </head>
-       <body>
-               <div id="grailsLogo" role="banner"><a 
href="http://grails.org";><img src="${resource(dir: 'images', file: 
'grails_logo.png')}" alt="Grails"/></a></div>
-               <g:layoutBody/>
-               <div class="footer" role="contentinfo"></div>
-               <div id="spinner" class="spinner" 
style="display:none;"><g:message code="spinner.alt" 
default="Loading&hellip;"/></div>
-               <g:javascript library="application"/>
-               <r:layoutResources />
-       </body>
-</html>

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/scripts/_Events.groovy
----------------------------------------------------------------------
diff --git a/wicket-user-guide/scripts/_Events.groovy 
b/wicket-user-guide/scripts/_Events.groovy
deleted file mode 100644
index 6c9d8fd..0000000
--- a/wicket-user-guide/scripts/_Events.groovy
+++ /dev/null
@@ -1,75 +0,0 @@
-import grails.util.Holders
-
-eventDocStart = { kind ->
-   println "Started $kind"
-   
-   if (kind == "refdocs") {
-       //the purpose of this custom macro is to centralize external URLs
-       //into Config.groovy Usage:
-       //{externalink:urlPropertyId@additional/path}
-       //If no content is provide the generated URL is used in its place.
-       
-       org.radeox.macro.MacroLoader.newInstance().add(
-        org.radeox.macro.MacroRepository.instance,
-        new org.radeox.macro.Preserved() {
-    
-          @Override
-          String getName() {
-            'externalink'
-          }
-    
-          @Override
-          void 
setInitialContext(org.radeox.api.engine.context.InitialRenderContext context) {
-            super.setInitialContext(context)
-          }
-    
-          @Override
-          void execute(Writer writer, 
org.radeox.macro.parameter.MacroParameter params) {
-           def content = params.content
-           def tagValue = params.get("0")
-           def tagSplitted = tagValue.split("@")
-           def propertyId = tagSplitted[0]
-           def urlSegments = tagSplitted.length > 1 ? tagSplitted[1] : ''
-           def baseUrl = Holders.config.flatten().get(propertyId)
-           
-           if (content == null) {
-            content = baseUrl + "/" + urlSegments
-           }
-           
-           writer << "<span class=\"nobr\">"
-           writer << "<a href=\""
-           writer << baseUrl + "/" + urlSegments
-           writer << "\" target=\"blank\">"
-           writer << content
-           writer << "</a></span>"
-          }
-        })
-        
-        org.radeox.macro.MacroLoader.newInstance().add(
-            org.radeox.macro.MacroRepository.instance,
-            new org.radeox.macro.Preserved() {
-    
-              @Override
-              String getName() {
-                'divcontainer'
-              }
-              
-              @Override
-              void execute(Writer writer, 
org.radeox.macro.parameter.MacroParameter params) {
-                def content = params.content
-                def tagValue = params.get("0")
-                
-                writer << "<div class=\"" + tagValue + "\">"
-                writer << content
-                writer << "</div>"
-              }
-            })
-        
-        println "macro externalink added"
-    }
-}
-
-eventDocEnd = { kind ->
-   println "Completed $kind"
-}
-

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/css/custom-pdf.css
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/css/custom-pdf.css 
b/wicket-user-guide/src/docs/css/custom-pdf.css
deleted file mode 100644
index 51868bd..0000000
--- a/wicket-user-guide/src/docs/css/custom-pdf.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-   Dummy stylesheet allowing for some customisation of pdf output without 
having to copy and modify the other stylesheets.
-*/
-
- body{
-   font-family:helvetica,arial,sans-serif!important;
-   font-size: 10pt!important;
- } 
-
-.paragraph{
-   font-family:helvetica,arial,sans-serif!important;   
-}
-
-.code pre {
-    page-break-inside: auto!important;
-}
-
-.bq {
-    page-break-inside: auto!important;
-}
-
-table {
-    page-break-inside: auto!important;
-}
-
-.paragraph{
- text-indent: 1em!important;
-}
-
-h1{
-  font-size:3em!important;
-  text-align:right;
-  padding-bottom: 30px;        
-}
-

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/css/custom.css
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/css/custom.css 
b/wicket-user-guide/src/docs/css/custom.css
deleted file mode 100644
index 1d14f7e..0000000
--- a/wicket-user-guide/src/docs/css/custom.css
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Color.
-//
-////////////////////////////////////////////////////////////////////////////////
-*/
-
-h1, h2, #main a, #main .project strong, .local .local-title .toggle a, 
#table-of-content a strong {
-    color: #E8590A!important;
-}
-
-
-/*
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Background Color.
-//
-////////////////////////////////////////////////////////////////////////////////
-*/
-
-
-#navigation .selected a {
-    background: #E8590A!important;
-}
-
-#navigation a:hover {
-    background: #777777!important;
-}
-
-#navigation .selected a:hover, #navigation .active .button {
-    background: #E8590A!important;
-}
-
-#table-of-content a {
-       border-right-color: #E8590A!important;
-}
-
-/*
-////////////////////////////////////////////////////////////////////////////////
-//
-//  Background Image.
-//
-////////////////////////////////////////////////////////////////////////////////
-*/
-
-.wiki-table th, #navigation {
-    background: #F17A2F!important;
-}
-
-#navigation .separator {
-    background: none!important;
-}
-
-@media print
-  {
-   #col2 {display:none!important;}
-  }
-
-.li-nested-content {
-       margin: .75em 0 .75em 32px
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced.gdoc 
b/wicket-user-guide/src/docs/guide/advanced.gdoc
deleted file mode 100644
index 9ed5818..0000000
--- a/wicket-user-guide/src/docs/guide/advanced.gdoc
+++ /dev/null
@@ -1 +0,0 @@
-In this chapter we will learn some advanced topics which have not been covered 
yet in the previous chapters but which are nonetheless essential to make the 
most of Wicket and to build sophisticated web applications.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
deleted file mode 100644
index ac01cf8..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_1.gdoc
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-With class @org.apache.wicket.behavior.Behavior@ Wicket provides a very 
flexible mechanism to share common features across different components and to 
enrich existing components with further functionalities. As the class name 
suggests, @Behavior@ adds a generic behavior to a component modifying its 
markup and/or contributing to the header section of the page (@Behavior@ 
implements the interface @IHeaderContributor@).
-
-One or more behaviors can be added to a component with @Component@'s method 
@add(Behavior...)@, while to remove a behavior we must use method 
@remove(Behavior)@.
-
-Here is a partial list of methods defined inside class @Behavior@ along with a 
brief description of what they do:
-
-* *beforeRender(Component component)*: called when a component is about to be 
rendered. 
-* *afterRender(Component component)*: called after a component has been 
rendered. 
-* *onComponentTag(Component component, ComponentTag tag)*: called when 
component tag is being rendered.
-* *getStatelessHint(Component component)*: returns if a behavior is stateless 
or not.
-* *bind(Component component)*: called after a behavior has been added to a 
component.
-* *unbind(Component component)*: called when a behavior has been removed from 
a component.
-* *detach(Component component)*: overriding this method a behavior can detach 
its state before being serialized.
-* *isEnabled(Component component)*: tells if the current behavior is enabled 
for a given component. When a behavior is disabled it will be simply ignored 
and not executed.
-* *isTemporary(Component component)*: tells component if the current behavior 
is temporary. A temporary behavior is discarded at the end of the current 
request (i.e it's executed only once). 
-* *onConfigure(Component component)*: called right after the owner component 
has been configured.
-* *onRemove(Component component)*: called when the owner component has been 
removed from its container.
-* *renderHead(Component component, IHeaderResponse response)*: overriding this 
method behaviors can render resources to the header section of the page. 
-
-For example the following behavior prepends a red asterisk to the tag of a 
form component if this one  is required:
-
-{code}
-public class RedAsteriskBehavior extends Behavior {
-
-  @Override
-  public void beforeRender(Component component) {
-      Response response = component.getResponse();
-      StringBuffer asterisktHtml = new StringBuffer(200);
-      
-      if(component instanceof FormComponent 
-            && ((FormComponent)component).isRequired()){
-        asteriskHtml.append(" <b style=\"color:red;font-size:medium\">*</b>");
-      }  
-      response.write(asteriskHtml);
-  }
-}
-{code}
-
-Since method @beforeRender@ is called before the coupled component is 
rendered, we can use it to prepend custom markup to component tag. This can be 
done writing our markup directly to the current  Response object, as we did in 
the example above.
-
-Please note that we could achieve the same result overriding component method 
@onBeforeRender@. However using a behavior we can easily reuse our custom code 
with any other kind of component without modifying its source code. As general 
best practice we should always consider to implement a new functionality using 
a behavior if it can be shared among different kinds of component.
-
-Behaviors play also a strategic role in the built-in AJAX support provided by 
Wicket, as we will see in the next chapter. 

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_2.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_2.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_2.gdoc
deleted file mode 100644
index 5934ffc..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_2.gdoc
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-With Wicket it's quite easy to build a callback URL that is handled on server 
side by a component or a behavior. What we have to do is to implement interface 
@org.apache.wicket.IRequestListener@:
-
-{code}
-public interface IRequestListener extends IClusterable
-{
-
-       /**
-        * Does invocation of this listener render the page. 
-        * 
-        * @return default {@code true}, i.e. a {@link 
RenderPageRequestHandler} is schedules after invocation 
-        */
-       default boolean rendersPage()
-       {
-               return true;
-       }
-       
-       /**
-        * Called when a request is received.
-        */
-       void onRequest();
-}
-{code}
-
-Method @onRequest@ is the handler that is executed to process the callback URL 
while @rendersPage@ tells if the whole page should be re-rendered after 
@onRequest@ has been executed (if we have a non-AJAX request).
-
-An example of a component that implements @IRequestListener@ can be seen in 
the Wicket standard link component. Here is an excerpt from its code:
-
-{code}
-public abstract class Link<T> extends AbstractLink implements IRequestListener 
... 
-{
-       /**
-        * Called when a link is clicked.
-        */
-       public abstract void onClick();
-
-       /**
-        * THIS METHOD IS NOT PART OF THE WICKET API. DO NOT ATTEMPT TO 
OVERRIDE OR CALL IT.
-        * 
-        * Called when a link is clicked. The implementation of this method is 
currently to simply call
-        * onClick(), but this may be augmented in the future.
-        */
-       @Override
-       public void onRequest()
-       {
-               // Invoke subclass handler
-               onClick();
-       }
-}
-{code}
-
-Callback URLs can be generated with @Component@'s method 
@urlFor(PageParameters)@ or with method @urlFor (Behavior, 
RequestListenerInterface, PageParameters)@ if we are using a callback interface 
with a behavior (see the following example).
-
-Project @CallbackURLExample@ contains a behavior (class 
@OnChangeSingleChoiceBehavior@) that implements 
@org.apache.wicket.IRequestListener@ to update the model of an 
@AbstractSingleSelectChoice@ component when user changes the selected option 
(it provides the same functionality of method 
@wantOnSelectionChangedNotifications@). 
-The following is the implementation of @onRequest()@ provided by 
@OnSelectionChangedNotifications@:
-
-{code}
-@Override
-public void onRequest() {      
-       Request request = RequestCycle.get().getRequest();
-       IRequestParameters requestParameters = request.getRequestParameters();
-       StringValue choiceId = requestParameters.getParameterValue("choiceId");
-       //boundComponent is the component that the behavior it is bound to.
-       boundComponent.setDefaultModelObject( 
convertChoiceIdToChoice(choiceId.toString()));
-}
-{code}
-
-When invoked via URL, the behavior expects to find a request parameter 
(choiceId) containing the id of the selected choice. This value is used to 
obtain the corresponding choice object that must be used to set the model of 
the component that the behavior is bound to (boundComponent). Method 
@convertChoiceIdToChoice@ is in charge of retrieving the choice object given 
its id and it has been copied from class @AbstractSingleSelectChoice@.
-
-Another interesting part of @OnChangeSingleChoiceBehavior@ is its method 
@onComponentTag@ where some JavaScript “magic” is used to move user's 
browser to the callback URL when event “change” occurs on bound component:
-
-{code}
-@Override
-public void onComponentTag(Component component, ComponentTag tag) {
-       super.onComponentTag(component, tag);
-               
-       CharSequence callBackURL = getCallbackUrl();
-       String separatorChar = (callBackURL.toString().indexOf('?') > -1 ? "&" 
: "?");
-               
-       String finalScript = "var isSelect = $(this).is('select');\n" +
-                                "var component;\n" +   
-                                "if(isSelect)\n" +
-                                "      component = $(this);\n" +
-                                "else \n" +
-                                "      component = 
$(this).find('input:radio:checked');\n" +
-                                "window.location.href='" + callBackURL +  
separatorChar + 
-                                "choiceId=' + " + "component.val()";
-               
-       tag.put("onchange", finalScript);
-}
-{code}
-
-The goal of @onComponentTag@ is to build an onchange handler that forces 
user's browser to move to the callback URL (modifing standard property 
window.location.href). Please note that we have appended the expected parameter 
(choiceId) to the URL retrieving its value with a JQuery selector suited for 
the current type of component (a drop-down menu or a radio group). Since we are 
using JQuery in our JavaScript code, the behavior comes also with method 
@renderHead@ that adds the bundled JQuery library to the current page.
-
-Method @getCallbackUrl()@ is used to generate the callback URL for our custom 
behavior: 
-
-{code}
-public CharSequence getCallbackUrl() {
-       if (boundComponent == null) {
-               throw new IllegalArgumentException(
-                       "Behavior must be bound to a component to create the 
URL");
-       }
-
-       return boundComponent.urlForListener(this, new PageParameters());
-}
-{code}
-
-
-The home page of project @CallbackURLExample@ contains a @DropDownChoice@ and 
a @RadioChoice@ which use our custom behavior. There are also two labels to 
display the content of the models of the two components:
-
-!CallbackURLExample-screenshot.png!
-
-{note}
-Implementing interface @IRequestListener@ makes a behavior stateful because 
its callback URL is specific for a given instance of component.
-{note}
-

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_3.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_3.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_3.gdoc
deleted file mode 100644
index ec8e7a3..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_3.gdoc
+++ /dev/null
@@ -1,37 +0,0 @@
-Starting from version 1.5 Wicket offers an event-based infrastructure for 
inter-component communication. The infrastructure is based on two simple 
interfaces (both in package @org.apache.wicket.event@) : @IEventSource@ and 
@IEventSink@. 
-
-The first interface must be implemented by those entities that want to 
broadcast en event while the second interface must be implemented by those 
entities that want to receive a broadcast event.
-
-The following entities already implement both these two interfaces (i.e. they 
can be either sender or receiver): @Component@, @Session@, @RequestCycle@ and 
@Application@.
-@IEventSource@ exposes a single method named send which takes in input three 
parameters:
-
-* *sink*: an implementation of @IEventSink@ that will be the receiver of the 
event. 
-* *broadcast*: a @Broadcast@ enum which defines the broadcast method used to 
dispatch the event to the sink and to other entities such as sink children, 
sink containers, session object, application object and the current request 
cycle. It has four possible values:
-{table}
-*Value* | *Description*
-BREADTH | The event is sent first to the specified sink and then to all its 
children components following a breadth-first order.
-DEPTH | The event is sent to the specified sink only after it has been 
dispatched to all its children components following a depth-first order.
-BUBBLE | The event is sent first to the specified sink and then to its parent 
containers.
-EXACT | The event is sent only to the specified sink.
-{table}
-* *payload*: a generic object representing the data sent with the event.
-
-Each broadcast mode has its own traversal order for @Session@, @RequestCycle@ 
and @Application@. See JavaDoc of class @Broadcast@ for further details about 
this order.
-
-Interface @IEventSink@ exposes callback method @onEvent(IEvent<?> event)@ 
which is triggered when a sink receives an event. The interface @IEvent@ 
represents the received event and provides getter methods to retrieve the event 
broadcast type, the source of the event and its payload. Typically the received 
event is used checking the type of its payload object:
-
-{code}
-@Override
-public void onEvent(IEvent event) {
-  //if the type of payload is MyPayloadClass perform some actions 
-  if(event.getPayload() instanceof MyPayloadClass) {
-     //execute some business code.
-  }else{
-     //other business code
-  }         
-}
-{code}
-
-Project @InterComponetsEventsExample@ provides a concrete example of sending 
an event to a component (named 'container in the middle') using all the 
available broadcast methods:
-
-!InterComponentsEventsExample-screenshot.png!
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_4.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_4.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_4.gdoc
deleted file mode 100644
index 0c6c3a6..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_4.gdoc
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-Some components or resources may need to be configured before being used in 
our applications. While so far we used Application's init method to initialize 
these kinds of entities, Wicket offers a more flexible and modular way to 
configure our classes. 
-
-During application's bootstrap Wicket searches for any properties file placed 
in one of the '/META-INF/wicket/' folder visible to the application classpath. 
When one of these files is found, the initializer defined inside it will be 
executed. An initializer is an implementation of interface 
@org.apache.wicket.IInitializer@ and is defined inside a properties with a line 
like this:
-
-{code}
-initializer=org.wicketTutorial.MyInitializer
-{code}
-
-The fully qualified class name corresponds to the initializer that must be 
executed. Interface @IInitializer@ defines method init(Application) which 
should contain our initialization code, and method @destroy(Application)@ which 
is invoked when application is terminated:
-
-{code}
-public class MyInitializer implements IInitializer{
-
-       public void init(Application application) {
-               //initialization code 
-       }
-
-       public void destroy(Application application) {
-               //code to execute when application is terminated
-       }       
-}
-{code}
-
-Only one initializer can be defined in a single properties file. To overcome 
this limit we can create a main initializer that in turn executes every 
initializer we need:
-
-{code}
-public class MainInitializer implements IInitializer{
-
-       public void init(Application application) {
-               new AnotherInitializer().init(application);
-               new YetAnotherInitializer().init(application);
-               //... 
-       }
-       //destroy... 
-}
-{code}

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_5.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_5.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_5.gdoc
deleted file mode 100644
index 34549c1..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_5.gdoc
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-JMX (Java Management Extensions) is the standard technology adopted in Java 
for managing and monitoring running applications or Java Virtual Machines. 
Wicket offers support for JMX through module wicket-jmx. In this paragraph we 
will see how we can connect to a Wicket application using JMX. In our example 
we will use JConsole as JMX client. This program is bundled with Java SE since 
version 5 and we can run it typing jconsole in our OS shell. 
-
-Once JConsole has started it will ask us to establish a new connection to a 
Java process, choosing between a local process or a remote one. In the 
following picture we have selected the process corresponding to the local 
instance of Jetty server we used to run one of our example projects:
-
-!JMX-new-connection.png!
-
-After we have established a JMX connection, JConsole will show us the 
following set of tabs:
-
-!JMX-console.png!
-
-JMX exposes application-specific informations using special objects called 
MBeans (Manageable Beans), hence if we want to control our application we must 
open the corresponding tab. The MBeans containing the application's 
informations is named @org.apache.wicket.app.<filter/servlet name>@.
-
-In our example we have used wicket.test as filter name for our application:
-
-!JMX-console2.png!
-
-As we can see in the picture above, every MBean exposes a node containing its 
attributes and another node showing the possible operations that can be 
performed on the object. In the case of a Wicket application the available 
operations are clearMarkupCache and clearLocalizerCache:
-
-!JMX-console3.png!
-
-With these two operations we can force Wicket to clear the internal caches 
used to load components markup and resource bundles. This can be particularly 
useful if we have our application running in DEPLOYMENT mode and we want to 
publish minor fixes for markup or bundle files (like spelling or typo 
corrections) without restarting the entire application. Without cleaning these 
two caches Wicket would continue to use cached values ignoring any change made 
to markup or bundle files.
-
-Some of the exposed properties are editable, hence we can tune their values 
while the application is running. For example if we look at the properties of 
@ApplicationSettings@ we can set the maximum size allowed for an upload 
modifying the attribute DefaultMaximumUploadSize:
-
-!JMX-console4.png!
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_6.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_6.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_6.gdoc
deleted file mode 100644
index 0117868..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_6.gdoc
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-So far, as markup source for our pages/panels we have used a static markup 
file, no matter if it was inherited or directly associated to the component. 
Now we want to investigate a more complex use case where we want to dynamical 
generate the markup directly inside component code.
-
-To become a markup producer, a component must simply implement interface 
@org.apache.wicket.markup.IMarkupResourceStreamProvider@. The only method 
defined in this interface is @getMarkupResourceStream(MarkupContainer, 
Class<?>)@ which returns an utility interface called @IResourceStream@ 
representing the actual markup.
-
-In the following example we have a custom panel without a related markup file 
that generates a simple <div> tag as markup: 
-
-{code}
-public class AutoMarkupGenPanel extends Panel implements 
IMarkupResourceStreamProvider {
-       public AutoMarkupGenPanel(String id, IModel<?> model) {
-               super(id, model);               
-       }
-
-       @Override
-       public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
-                       Class<?> containerClass) {
-               String markup = "<wicket:panel><div>Panel 
markup</div></wicket:panel>";
-               StringResourceStream resourceStream = new 
StringResourceStream(markup);
-               
-               return resourceStream;
-       }
-}
-{code}
-
-Class StringResourceStream is a resource stream that uses a String instance as 
backing object.
-
-h3. Avoiding markup caching
-
-As we have seen in the previous paragraph, Wicket uses an internal cache for 
components markup. This can be a problem if our component dynamical generates 
its markup when it is rendered because once the markup has been cached, Wicket 
will always use the cached version for the specific component. To overwrite 
this default caching policy, a component can implement interface 
@IMarkupCacheKeyProvider@. 
-
-This interface defines method @getCacheKey(MarkupContainer, Class<?>)@ which 
returns a string value representing the key used by Wicket to retrieve the 
markup of the component from the cache. If this value is null the markup will 
not be cached, allowing the component to display the last generated markup each 
time it is rendered:
-
-{code}
-public class NoCacheMarkupPanel extends Panel implements 
IMarkupCacheKeyProvider {
-       public NoCacheMarkupPanel(String id, IModel<?> model) {
-               super(id, model);               
-       }
-       
-       /**
-       * Generate a dynamic HTML markup that changes every time
-       * the component is rendered
-       */
-       @Override
-       public IResourceStream getMarkupResourceStream(MarkupContainer 
container,
-                       Class<?> containerClass) {
-               String markup = "<wicket:panel><div>Panel with current 
nanotime: " + System.nanoTime() +
-                                "</div></wicket:panel>";
-               StringResourceStream resourceStream = new 
StringResourceStream(markup);
-               
-               return resourceStream;
-       }
-
-       /**
-       * Avoid markup caching for this component
-       */
-       @Override
-       public String getCacheKey(MarkupContainer arg0, Class<?> arg1) {
-               return null;
-       }
-}
-{code}

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/advanced/advanced_7.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/advanced/advanced_7.gdoc 
b/wicket-user-guide/src/docs/guide/advanced/advanced_7.gdoc
deleted file mode 100644
index 564322c..0000000
--- a/wicket-user-guide/src/docs/guide/advanced/advanced_7.gdoc
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-In this chapter we have introduced some advanced topics we didn't have the 
chance to cover yet. We have started talking about behaviors and we have seen 
how they can be used to enrich existing components (promoting a 
component-oriented approach). Behaviors are also fundamental to work with AJAX 
in Wicket, as we will see in the next chapter.
-
-After behaviors we have learnt how to generate callback URLs to execute a 
custom method on server side defined inside a specific callback interface.
-
-The third topic of the chapter has been the event infrastructure provided in 
Wicket for inter-component communication which brings to our components a 
desktop-like event-driven architecture.
-
-Then, we have introduced a new entity called initializer which can be used to 
configure resources and component in a modular and self-contained way.
-
-We have also looked at Wicket support for JMX and we have seen how to use this 
technology for monitoring and managing our running applications.
-
-Finally we have introduced a new technique to generate the markup of a 
component from its Java code.
-
-
-
-

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/ajax.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/ajax.gdoc 
b/wicket-user-guide/src/docs/guide/ajax.gdoc
deleted file mode 100644
index 5da1ab1..0000000
--- a/wicket-user-guide/src/docs/guide/ajax.gdoc
+++ /dev/null
@@ -1,3 +0,0 @@
-AJAX has become a must-have for nearly all kinds of web application. This 
technology does not only help to achieve a better user experience but it also 
allows to improve the bandwidth performance of web applications. Using AJAX 
usually means writing tons of JavaScript code to handle asynchronous requests 
and to update user interface, but with Wicket we can leave all this boilerplate 
code to the framework and we don't even need to write a single line of 
JavaScript to start using AJAX.
-
-In this chapter we will learn how to leverage the AJAX support provided by 
Wicket to make our applications fully "Web 
2.0":http://en.wikipedia.org/wiki/Web_2.0 compliant.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/wicket/blob/533c2d36/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
----------------------------------------------------------------------
diff --git a/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc 
b/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
deleted file mode 100644
index 4c478a6..0000000
--- a/wicket-user-guide/src/docs/guide/ajax/ajax_1.gdoc
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-Wicket support for AJAX is implemented in file wicket-ajax-jquery.js which 
makes complete transparent to Java code any detail about AJAX communication. 
-
-AJAX components and behaviors shipped with Wicket expose one or more callback 
methods which are executed when they receive an AJAX request. One of the 
arguments of these methods is an instance of interface 
@org.apache.wicket.ajax.AjaxRequestTarget@. 
-
-For example component AjaxLink (in package 
@org.apache.wicket.ajax.markup.html@) defines abstract method 
@onClick(AjaxRequestTarget target)@ which is executed when user clicks on the 
component:
-
-{code}
-new AjaxLink("ajaxLink"){
-       @Override
-       public void onClick(AjaxRequestTarget target) {
-           //some server side code...
-       }       
-};
-{code}
-
-Using AjaxRequestTarget we can specify the content that must be sent back to 
the client as response to the current AJAX request. The most commonly used 
method of this interface is probably @add(Component... components)@. With this 
method we tell Wicket to render again the specified components and refresh 
their markup via AJAX:
-
-{code}
-new AjaxLink("ajaxLink"){
-       @Override
-       public void onClick(AjaxRequestTarget target) {
-           //modify the model of a label and refresh it on browser
-           label.setDefaultModelObject("Another value 4 label.");
-           target.add(label);
-       }       
-};
-{code}
-
-Components can be refreshed via Ajax only if they have rendered a markup id 
for their related tag. As a consequence, we must remember to set a valid id 
value on every component we want to add to @AjaxRequestTarget@. This can be 
done using one of the two methods seen in [paragraph 6.3|guide:keepControl_3]:
-
-{code}
-final Label label = new Label("labelComponent", "Initial value.");
-//autogenerate a markup id
-label.setOutputMarkupId(true);
-add(label);
-//...
-new AjaxLink("ajaxLink"){
-       @Override
-       public void onClick(AjaxRequestTarget target) {
-           //modify the model of a label and refresh it on client side
-           label.setDefaultModelObject("Another value 4 label.");
-           target.add(label);
-       }       
-};
-{code}
-
-Another common use of AjaxRequestTarget is to prepend or append some 
JavaScript code to the generated response. For example the following AJAX link 
displays an alert box as response to user's click:
-
-{code}
-new AjaxLink("ajaxLink"){
-       @Override
-       public void onClick(AjaxRequestTarget target) {
-           target.appendJavaScript(";alert('Hello!!');");
-       }       
-};
-{code}
-
-{warning}
-Repeaters component that have 
@org.apache.wicket.markup.repeater.AbstractRepeater@ as base class (like 
@ListView@, @RepeatingView@, etc...) can not be directly updated via AJAX.
-
-If we want to refresh their markup via AJAX we must add one of their parent 
containers to the @AjaxRequestTarget@.
-{warning}
-
-The standard implementation of @AjaxRequestTarget@ used by Wicket is class 
@org.apache.wicket.ajax.AjaxRequestHandler@. To create new instances of 
@AjaxRequestTarget@ a Wicket application uses the provider object registered 
with method @setAjaxRequestTargetProvider@:
-
-{code}
-setAjaxRequestTargetProvider(
-               Function<Page, AjaxRequestTarget> ajaxRequestTargetProvider)
-{code}
-
-The provider is an implementation of interface @java.util.function.Function@, 
hence to use custom implementations of @AjaxRequestTarget@ we must register a 
custom provider that returns the desired implementation:
-
-{code}
-private static class MyCustomAjaxRequestTargetProvider implements
-               Function<Page, AjaxRequestTarget>
-       {
-               @Override
-               public AjaxRequestTarget apply(Page page)
-               {
-                       return new MyCustomAjaxRequestTarget();
-               }
-       }
-{code}
-
-{note}
-During request handling @AjaxRequestHandler@ sends an event to its application 
to notify the entire component hierarchy of the current page:
-
-{code}
-   //'page' is the associated Page instance
-   page.send(app, Broadcast.BREADTH, this);
-{code}
-
-The payload of the event is the @AjaxRequestHandler@ itself.
-{note}

Reply via email to