diff -r 2.0.0/whoopy/.classpath 2.3.1/whoopy/.classpath 0a1 > 2,13c3,18 < < < < < < < < < < < < --- > > > > > > > > > > > > > > > > diff -r 2.0.0/whoopy/.project 2.3.1/whoopy/.project 15c15 < com.springsource.sts.grails.core.nature --- > org.grails.ide.eclipse.core.nature Only in 2.0.0/whoopy: .settings diff -r 2.0.0/whoopy/application.properties 2.3.1/whoopy/application.properties 2,3c2,3 < #Thu Nov 07 00:22:26 PST 2013 < app.grails.version=2.0.0 --- > #Thu Nov 07 00:24:06 PST 2013 > app.grails.version=2.3.1 5d4 < app.servlet.version=2.5 diff -r 2.0.0/whoopy/grails-app/conf/BuildConfig.groovy 2.3.1/whoopy/grails-app/conf/BuildConfig.groovy 1c1 < grails.servlet.version = "2.5" // Change depending on target container compliance (2.5 or 3.0) --- > grails.servlet.version = "3.0" // Change depending on target container compliance (2.5 or 3.0) 4a5 > grails.project.work.dir = "target/work" 8a10,24 > grails.project.fork = [ > // configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required > // compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true], > > // configure settings for the test-app JVM, uses the daemon by default > test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true], > // configure settings for the run-app JVM > run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false], > // configure settings for the run-war JVM > war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false], > // configure settings for the Console UI JVM > console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256] > ] > > grails.project.dependency.resolver = "maven" // or ivy 12c28 < // uncomment to disable ehcache --- > // specify dependency exclusions here; for example, uncomment this to disable ehcache: 16a33 > legacyResolve false // whether to do a secondary resolve on plugin installation, not advised and here for backwards compatibility 19a37 > 21a40 > mavenLocal() 24,28c43 < < // uncomment these to enable remote dependency resolution from public Maven repositories < //mavenCentral() < //mavenLocal() < //mavenRepo "http://snapshots.repository.codehaus.org" --- > // uncomment these (or add new ones) to enable remote dependency resolution from public Maven repositories 33,34d47 < dependencies { < // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes eg. 36c49,51 < // runtime 'mysql:mysql-connector-java:5.1.16' --- > dependencies { > // specify dependencies here under either 'build', 'compile', 'runtime', 'test' or 'provided' scopes e.g. > // runtime 'mysql:mysql-connector-java:5.1.24' 40,42c55,56 < runtime ":hibernate:$grailsVersion" < runtime ":jquery:1.7.1" < runtime ":resources:1.1.5" --- > // plugins for the build system only > build ":tomcat:7.0.42" 44c58,70 < build ":tomcat:$grailsVersion" --- > // plugins for the compile step > compile ":scaffolding:2.0.1" > compile ':cache:1.1.1' > > // plugins needed at runtime but not for compilation > runtime ":hibernate:3.6.10.2" // or ":hibernate4:4.1.11.2" > runtime ":database-migration:1.3.5" > runtime ":jquery:1.10.2" > runtime ":resources:1.2.1" > // Uncomment these (or add new ones) to enable additional resources capabilities > //runtime ":zipped-resources:1.0.1" > //runtime ":cached-resources:1.1" > //runtime ":yui-minify-resources:0.1.5" diff -r 2.0.0/whoopy/grails-app/conf/Config.groovy 2.3.1/whoopy/grails-app/conf/Config.groovy 1,2c1,3 < // locations to search for config files that get merged into the main config < // config files can either be Java properties files or ConfigSlurper scripts --- > // locations to search for config files that get merged into the main config; > // config files can be ConfigSlurper scripts, Java properties files, or classes > // in the classpath in ConfigSlurper format 13d13 < 15,29c15,32 < grails.mime.file.extensions = true // enables the parsing of file extensions from URLs into the request format < grails.mime.use.accept.header = false < grails.mime.types = [ html: ['text/html','application/xhtml+xml'], < xml: ['text/xml', 'application/xml'], < text: 'text/plain', < js: 'text/javascript', < rss: 'application/rss+xml', < atom: 'application/atom+xml', < css: 'text/css', < csv: 'text/csv', < all: '*/*', < json: ['application/json','text/json'], < form: 'application/x-www-form-urlencoded', < multipartForm: 'multipart/form-data' < ] --- > > // The ACCEPT header will not be used for content negotiation for user agents containing the following strings (defaults to the 4 major rendering engines) > grails.mime.disable.accept.header.userAgents = ['Gecko', 'WebKit', 'Presto', 'Trident'] > grails.mime.types = [ > all: '*/*', > atom: 'application/atom+xml', > css: 'text/css', > csv: 'text/csv', > form: 'application/x-www-form-urlencoded', > html: ['text/html','application/xhtml+xml'], > js: 'text/javascript', > json: ['application/json', 'text/json'], > multipartForm: 'multipart/form-data', > rss: 'application/rss+xml', > text: 'text/plain', > hal: ['application/hal+json','application/hal+xml'], > xml: ['text/xml', 'application/xml'] > ] 36a40,41 > // Legacy setting for codec used to encode data with ${} > grails.views.default.codec = "html" 38,40c43,66 < // The default codec used to encode data with ${} < grails.views.default.codec = "none" // none, html, base64 < grails.views.gsp.encoding = "UTF-8" --- > // The default scope for controllers. May be prototype, session or singleton. > // If unspecified, controllers are prototype scoped. > grails.controllers.defaultScope = 'singleton' > > // GSP settings > grails { > views { > gsp { > encoding = 'UTF-8' > htmlcodec = 'xml' // use xml escaping instead of HTML4 escaping > codecs { > expression = 'html' // escapes values inside ${} > scriptlet = 'html' // escapes output from scriptlets in GSPs > taglib = 'none' // escapes output from taglibs > staticparts = 'none' // escapes output from static template parts > } > } > // escapes all not-encoded output at final stage of outputting > filteringCodecForContentType { > //'text/html' = 'html' > } > } > } > 42,43d67 < // enable Sitemesh preprocessing of GSP pages < grails.views.gsp.sitemesh.preprocess = true 59,60c83,84 < // enable query caching by default < grails.hibernate.cache.queries = true --- > // configure auto-caching of queries by default (if false you can cache individual queries with 'cache: true') > grails.hibernate.cache.queries = false 62d85 < // set per-environment serverURL stem for creating absolute links 75,76c98 < // Example of changing the log pattern for the default console < // appender: --- > // Example of changing the log pattern for the default console appender: 82,84c104,106 < error 'org.codehaus.groovy.grails.web.servlet', // controllers < 'org.codehaus.groovy.grails.web.pages', // GSP < 'org.codehaus.groovy.grails.web.sitemesh', // layouts --- > error 'org.codehaus.groovy.grails.web.servlet', // controllers > 'org.codehaus.groovy.grails.web.pages', // GSP > 'org.codehaus.groovy.grails.web.sitemesh', // layouts 86,89c108,111 < 'org.codehaus.groovy.grails.web.mapping', // URL mapping < 'org.codehaus.groovy.grails.commons', // core / classloading < 'org.codehaus.groovy.grails.plugins', // plugins < 'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration --- > 'org.codehaus.groovy.grails.web.mapping', // URL mapping > 'org.codehaus.groovy.grails.commons', // core / classloading > 'org.codehaus.groovy.grails.plugins', // plugins > 'org.codehaus.groovy.grails.orm.hibernate', // hibernate integration diff -r 2.0.0/whoopy/grails-app/conf/DataSource.groovy 2.3.1/whoopy/grails-app/conf/DataSource.groovy 9,10c9,11 < cache.use_query_cache = true < cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' --- > cache.use_query_cache = false > cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' // Hibernate 3 > // cache.region.factory_class = 'org.hibernate.cache.ehcache.EhCacheRegionFactory' // Hibernate 4 11a13 > 17c19 < url = "jdbc:h2:mem:devDb;MVCC=TRUE" --- > url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 23c25 < url = "jdbc:h2:mem:testDb;MVCC=TRUE" --- > url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 29,30c31 < url = "jdbc:h2:prodDb;MVCC=TRUE" < pooled = true --- > url = "jdbc:h2:prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000" 38c39 < testOnReturn=true --- > testOnReturn=false 39a41 > jdbcInterceptors="ConnectionState" diff -r 2.0.0/whoopy/grails-app/conf/UrlMappings.groovy 2.3.1/whoopy/grails-app/conf/UrlMappings.groovy 4,8c4,8 < "/$controller/$action?/$id?"{ < constraints { < // apply constraints here < } < } --- > "/$controller/$action?/$id?(.${format})?"{ > constraints { > // apply constraints here > } > } 10,11c10,11 < "/"(view:"/index") < "500"(view:'/error') --- > "/"(view:"/index") > "500"(view:'/error') diff -r 2.0.0/whoopy/grails-app/i18n/messages_cs_CZ.properties 2.3.1/whoopy/grails-app/i18n/messages_cs_CZ.properties 1,55c1,55 < default.doesnt.match.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] neodpovídá požadovanému vzoru [{3}] < default.invalid.url.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není validní URL < default.invalid.creditCard.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není validní číslo kreditní karty < default.invalid.email.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není validní emailová adresa < default.invalid.range.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není v povoleném rozmezí od [{3}] do [{4}] < default.invalid.size.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není v povoleném rozmezí od [{3}] do [{4}] < default.invalid.max.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] překračuje maximální povolenou hodnotu [{3}] < default.invalid.min.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] je menší než minimální povolená hodnota [{3}] < default.invalid.max.size.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] překračuje maximální velikost [{3}] < default.invalid.min.size.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] je menší než minimální velikost [{3}] < default.invalid.validator.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] neprošla validací < default.not.inlist.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není obsažena v seznamu [{3}] < default.blank.message=Položka [{0}] třídy [{1}] nemůže být prázdná < default.not.equal.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] nemůže být stejná jako [{3}] < default.null.message=Položka [{0}] třídy [{1}] nemůže být prázdná < default.not.unique.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] musí být unikátní < < default.paginate.prev=Předcházející < default.paginate.next=Následující < default.boolean.true=Pravda < default.boolean.false=Nepravda < default.date.format=dd. MM. yyyy HH:mm:ss z < default.number.format=0 < < default.created.message={0} {1} vytvořeno < default.updated.message={0} {1} aktualizováno < default.deleted.message={0} {1} smazáno < default.not.deleted.message={0} {1} nelze smazat < default.not.found.message={0} nenalezen s id {1} < default.optimistic.locking.failure=Jiný uživatel aktualizoval záznam {0}, právě když byl vámi editován < < default.home.label=Domů < default.list.label={0} Seznam < default.add.label=Přidat {0} < default.new.label=Nový {0} < default.create.label=Vytvořit {0} < default.show.label=Ukázat {0} < default.edit.label=Editovat {0} < < default.button.create.label=Vytvoř < default.button.edit.label=Edituj < default.button.update.label=Aktualizuj < default.button.delete.label=Smaž < default.button.delete.confirm.message=Jste si jistý? < < # Data binding errors. Use "typeMismatch.$className.$propertyName to customize (eg typeMismatch.Book.author) < typeMismatch.java.net.URL=Položka {0} musí být validní URL < typeMismatch.java.net.URI=Položka {0} musí být validní URI < typeMismatch.java.util.Date=Položka {0} musí být validní datum < typeMismatch.java.lang.Double=Položka {0} musí být validní desetinné číslo < typeMismatch.java.lang.Integer=Položka {0} musí být validní číslo < typeMismatch.java.lang.Long=Položka {0} musí být validní číslo < typeMismatch.java.lang.Short=Položka {0} musí být validní číslo < typeMismatch.java.math.BigDecimal=Položka {0} musí být validní číslo < typeMismatch.java.math.BigInteger=Položka {0} musí být validní číslo \ No newline at end of file --- > default.doesnt.match.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] neodpovídá požadovanému vzoru [{3}] > default.invalid.url.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není validní URL > default.invalid.creditCard.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není validní číslo kreditní karty > default.invalid.email.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není validní emailová adresa > default.invalid.range.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není v povoleném rozmezí od [{3}] do [{4}] > default.invalid.size.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není v povoleném rozmezí od [{3}] do [{4}] > default.invalid.max.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] překračuje maximální povolenou hodnotu [{3}] > default.invalid.min.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] je menší než minimální povolená hodnota [{3}] > default.invalid.max.size.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] překračuje maximální velikost [{3}] > default.invalid.min.size.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] je menší než minimální velikost [{3}] > default.invalid.validator.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] neprošla validací > default.not.inlist.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] není obsažena v seznamu [{3}] > default.blank.message=Položka [{0}] třídy [{1}] nemůže být prázdná > default.not.equal.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] nemůže být stejná jako [{3}] > default.null.message=Položka [{0}] třídy [{1}] nemůže být prázdná > default.not.unique.message=Položka [{0}] třídy [{1}] o hodnotě [{2}] musí být unikátní > > default.paginate.prev=Předcházející > default.paginate.next=Následující > default.boolean.true=Pravda > default.boolean.false=Nepravda > default.date.format=dd. MM. yyyy HH:mm:ss z > default.number.format=0 > > default.created.message={0} {1} vytvořeno > default.updated.message={0} {1} aktualizováno > default.deleted.message={0} {1} smazáno > default.not.deleted.message={0} {1} nelze smazat > default.not.found.message={0} nenalezen s id {1} > default.optimistic.locking.failure=Jiný uživatel aktualizoval záznam {0}, právě když byl vámi editován > > default.home.label=Domů > default.list.label={0} Seznam > default.add.label=Přidat {0} > default.new.label=Nový {0} > default.create.label=Vytvořit {0} > default.show.label=Ukázat {0} > default.edit.label=Editovat {0} > > default.button.create.label=Vytvoř > default.button.edit.label=Edituj > default.button.update.label=Aktualizuj > default.button.delete.label=Smaž > default.button.delete.confirm.message=Jste si jistý? > > # Data binding errors. Use "typeMismatch.$className.$propertyName to customize (eg typeMismatch.Book.author) > typeMismatch.java.net.URL=Položka {0} musí být validní URL > typeMismatch.java.net.URI=Položka {0} musí být validní URI > typeMismatch.java.util.Date=Položka {0} musí být validní datum > typeMismatch.java.lang.Double=Položka {0} musí být validní desetinné číslo > typeMismatch.java.lang.Integer=Položka {0} musí být validní číslo > typeMismatch.java.lang.Long=Položka {0} musí být validní číslo > typeMismatch.java.lang.Short=Položka {0} musí být validní číslo > typeMismatch.java.math.BigDecimal=Položka {0} musí být validní číslo > typeMismatch.java.math.BigInteger=Položka {0} musí být validní číslo diff -r 2.0.0/whoopy/grails-app/i18n/messages_de.properties 2.3.1/whoopy/grails-app/i18n/messages_de.properties 1,55c1,55 < default.doesnt.match.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] entspricht nicht dem vorgegebenen Muster [{3}] < default.invalid.url.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist keine gültige URL < default.invalid.creditCard.message=Das Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist keine gültige Kreditkartennummer < default.invalid.email.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist keine gültige E-Mail Adresse < default.invalid.range.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist nicht im Wertebereich von [{3}] bis [{4}] < default.invalid.size.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist nicht im Wertebereich von [{3}] bis [{4}] < default.invalid.max.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist größer als der Höchstwert von [{3}] < default.invalid.min.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist kleiner als der Mindestwert von [{3}] < default.invalid.max.size.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] übersteigt den Höchstwert von [{3}] < default.invalid.min.size.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] unterschreitet den Mindestwert von [{3}] < default.invalid.validator.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist ungültig < default.not.inlist.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist nicht in der Liste [{3}] enthalten. < default.blank.message=Die Eigenschaft [{0}] des Typs [{1}] darf nicht leer sein < default.not.equal.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] darf nicht gleich [{3}] sein < default.null.message=Die Eigenschaft [{0}] des Typs [{1}] darf nicht null sein < default.not.unique.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] darf nur einmal vorkommen < < default.paginate.prev=Vorherige < default.paginate.next=Nächste < default.boolean.true=Wahr < default.boolean.false=Falsch < default.date.format=dd.MM.yyyy HH:mm:ss z < default.number.format=0 < < default.created.message={0} {1} wurde angelegt < default.updated.message={0} {1} wurde geändert < default.deleted.message={0} {1} wurde gelöscht < default.not.deleted.message={0} {1} konnte nicht gelöscht werden < default.not.found.message={0} mit der id {1} wurde nicht gefunden < default.optimistic.locking.failure=Ein anderer Benutzer hat das {0} Object geändert während Sie es bearbeitet haben < < default.home.label=Home < default.list.label={0} Liste < default.add.label={0} hinzufügen < default.new.label={0} anlegen < default.create.label={0} anlegen < default.show.label={0} anzeigen < default.edit.label={0} bearbeiten < < default.button.create.label=Anlegen < default.button.edit.label=Bearbeiten < default.button.update.label=Aktualisieren < default.button.delete.label=Löschen < default.button.delete.confirm.message=Sind Sie sicher? < < # Data binding errors. Use "typeMismatch.$className.$propertyName to customize (eg typeMismatch.Book.author) < typeMismatch.java.net.URL=Die Eigenschaft {0} muss eine gültige URL sein < typeMismatch.java.net.URI=Die Eigenschaft {0} muss eine gültige URI sein < typeMismatch.java.util.Date=Die Eigenschaft {0} muss ein gültiges Datum sein < typeMismatch.java.lang.Double=Die Eigenschaft {0} muss eine gültige Zahl sein < typeMismatch.java.lang.Integer=Die Eigenschaft {0} muss eine gültige Zahl sein < typeMismatch.java.lang.Long=Die Eigenschaft {0} muss eine gültige Zahl sein < typeMismatch.java.lang.Short=Die Eigenschaft {0} muss eine gültige Zahl sein < typeMismatch.java.math.BigDecimal=Die Eigenschaft {0} muss eine gültige Zahl sein < typeMismatch.java.math.BigInteger=Die Eigenschaft {0} muss eine gültige Zahl sein \ No newline at end of file --- > default.doesnt.match.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] entspricht nicht dem vorgegebenen Muster [{3}] > default.invalid.url.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist keine gültige URL > default.invalid.creditCard.message=Das Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist keine gültige Kreditkartennummer > default.invalid.email.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist keine gültige E-Mail Adresse > default.invalid.range.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist nicht im Wertebereich von [{3}] bis [{4}] > default.invalid.size.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist nicht im Wertebereich von [{3}] bis [{4}] > default.invalid.max.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist größer als der Höchstwert von [{3}] > default.invalid.min.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist kleiner als der Mindestwert von [{3}] > default.invalid.max.size.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] übersteigt den Höchstwert von [{3}] > default.invalid.min.size.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] unterschreitet den Mindestwert von [{3}] > default.invalid.validator.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist ungültig > default.not.inlist.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] ist nicht in der Liste [{3}] enthalten. > default.blank.message=Die Eigenschaft [{0}] des Typs [{1}] darf nicht leer sein > default.not.equal.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] darf nicht gleich [{3}] sein > default.null.message=Die Eigenschaft [{0}] des Typs [{1}] darf nicht null sein > default.not.unique.message=Die Eigenschaft [{0}] des Typs [{1}] mit dem Wert [{2}] darf nur einmal vorkommen > > default.paginate.prev=Vorherige > default.paginate.next=Nächste > default.boolean.true=Wahr > default.boolean.false=Falsch > default.date.format=dd.MM.yyyy HH:mm:ss z > default.number.format=0 > > default.created.message={0} {1} wurde angelegt > default.updated.message={0} {1} wurde geändert > default.deleted.message={0} {1} wurde gelöscht > default.not.deleted.message={0} {1} konnte nicht gelöscht werden > default.not.found.message={0} mit der id {1} wurde nicht gefunden > default.optimistic.locking.failure=Ein anderer Benutzer hat das {0} Object geändert während Sie es bearbeitet haben > > default.home.label=Home > default.list.label={0} Liste > default.add.label={0} hinzufügen > default.new.label={0} anlegen > default.create.label={0} anlegen > default.show.label={0} anzeigen > default.edit.label={0} bearbeiten > > default.button.create.label=Anlegen > default.button.edit.label=Bearbeiten > default.button.update.label=Aktualisieren > default.button.delete.label=Löschen > default.button.delete.confirm.message=Sind Sie sicher? > > # Data binding errors. Use "typeMismatch.$className.$propertyName to customize (eg typeMismatch.Book.author) > typeMismatch.java.net.URL=Die Eigenschaft {0} muss eine gültige URL sein > typeMismatch.java.net.URI=Die Eigenschaft {0} muss eine gültige URI sein > typeMismatch.java.util.Date=Die Eigenschaft {0} muss ein gültiges Datum sein > typeMismatch.java.lang.Double=Die Eigenschaft {0} muss eine gültige Zahl sein > typeMismatch.java.lang.Integer=Die Eigenschaft {0} muss eine gültige Zahl sein > typeMismatch.java.lang.Long=Die Eigenschaft {0} muss eine gültige Zahl sein > typeMismatch.java.lang.Short=Die Eigenschaft {0} muss eine gültige Zahl sein > typeMismatch.java.math.BigDecimal=Die Eigenschaft {0} muss eine gültige Zahl sein > typeMismatch.java.math.BigInteger=Die Eigenschaft {0} muss eine gültige Zahl sein diff -r 2.0.0/whoopy/grails-app/i18n/messages_es.properties 2.3.1/whoopy/grails-app/i18n/messages_es.properties 37c37 < default.show.label=Mostar {0} --- > default.show.label=Mostrar {0} diff -r 2.0.0/whoopy/grails-app/i18n/messages_fr.properties 2.3.1/whoopy/grails-app/i18n/messages_fr.properties 1,19c1,19 < default.doesnt.match.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] ne correspond pas au pattern [{3}] < default.invalid.url.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas une URL valide < default.invalid.creditCard.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas un numéro de carte de crédit valide < default.invalid.email.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas une adresse e-mail valide < default.invalid.range.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas contenue dans l'intervalle [{3}] à [{4}] < default.invalid.size.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas contenue dans l'intervalle [{3}] à [{4}] < default.invalid.max.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est supérieure à la valeur maximum [{3}] < default.invalid.min.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est inférieure à la valeur minimum [{3}] < default.invalid.max.size.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est supérieure à la valeur maximum [{3}] < default.invalid.min.size.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est inférieure à la valeur minimum [{3}] < default.invalid.validator.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas valide < default.not.inlist.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] ne fait pas partie de la liste [{3}] < default.blank.message=La propriété [{0}] de la classe [{1}] ne peut pas être vide < default.not.equal.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] ne peut pas être égale à [{3}] < default.null.message=La propriété [{0}] de la classe [{1}] ne peut pas être nulle < default.not.unique.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] doit être unique < < default.paginate.prev=Précédent < default.paginate.next=Suivant --- > default.doesnt.match.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] ne correspond pas au pattern [{3}] > default.invalid.url.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas une URL valide > default.invalid.creditCard.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas un numéro de carte de crédit valide > default.invalid.email.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas une adresse e-mail valide > default.invalid.range.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas contenue dans l'intervalle [{3}] à [{4}] > default.invalid.size.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas contenue dans l'intervalle [{3}] à [{4}] > default.invalid.max.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est supérieure à la valeur maximum [{3}] > default.invalid.min.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est inférieure à la valeur minimum [{3}] > default.invalid.max.size.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est supérieure à la valeur maximum [{3}] > default.invalid.min.size.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] est inférieure à la valeur minimum [{3}] > default.invalid.validator.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] n'est pas valide > default.not.inlist.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] ne fait pas partie de la liste [{3}] > default.blank.message=La propriété [{0}] de la classe [{1}] ne peut pas être vide > default.not.equal.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] ne peut pas être égale à [{3}] > default.null.message=La propriété [{0}] de la classe [{1}] ne peut pas être nulle > default.not.unique.message=La propriété [{0}] de la classe [{1}] avec la valeur [{2}] doit être unique > > default.paginate.prev=Précédent > default.paginate.next=Suivant diff -r 2.0.0/whoopy/grails-app/i18n/messages_it.properties 2.3.1/whoopy/grails-app/i18n/messages_it.properties 1,19c1,55 < 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 \ No newline at end of file --- > 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 diff -r 2.0.0/whoopy/grails-app/i18n/messages_ja.properties 2.3.1/whoopy/grails-app/i18n/messages_ja.properties 1,55c1,55 < 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}は有効な数値でなければなりません。 --- > 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}は有効な数値でなければなりません。 Only in 2.3.1/whoopy/grails-app/i18n: messages_nb.properties Only in 2.3.1/whoopy/grails-app/i18n: messages_pl.properties diff -r 2.0.0/whoopy/grails-app/i18n/messages_pt_PT.properties 2.3.1/whoopy/grails-app/i18n/messages_pt_PT.properties 1,34c1,34 < # < # translation by miguel.ping@gmail.com, based on pt_BR translation by Lucas Teixeira - lucastex@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. --- > # > # translation by miguel.ping@gmail.com, based on pt_BR translation by Lucas Teixeira - lucastex@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. diff -r 2.0.0/whoopy/grails-app/i18n/messages_ru.properties 2.3.1/whoopy/grails-app/i18n/messages_ru.properties 1,31c1,31 < 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} не является допустимым числом --- > 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} не является допустимым числом diff -r 2.0.0/whoopy/grails-app/i18n/messages_th.properties 2.3.1/whoopy/grails-app/i18n/messages_th.properties 1,55c1,55 < 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 --- > 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 diff -r 2.0.0/whoopy/grails-app/i18n/messages_zh_CN.properties 2.3.1/whoopy/grails-app/i18n/messages_zh_CN.properties 1,18c1,18 < 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 --- > 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 diff -r 2.0.0/whoopy/grails-app/views/error.gsp 2.3.1/whoopy/grails-app/views/error.gsp 1c1 < --- > 4c4 < Grails Runtime Exception --- > <g:if env="development">Grails Runtime Exception</g:if><g:else>Error</g:else> 6c6 < --- > 9c9,16 < --- > > > > >
    >
  • An error has occurred
  • >
>
11c18 < \ No newline at end of file --- > diff -r 2.0.0/whoopy/grails-app/views/index.gsp 2.3.1/whoopy/grails-app/views/index.gsp 1c1 < --- > 32a33,36 > #status li { > line-height: 1.3; > } > 49a54 > line-height: 1.5; 57a63 > line-height: 1.3; 84c90 <
  • Groovy version: ${org.codehaus.groovy.runtime.InvokerHelper.getVersion()}
  • --- >
  • Groovy version: ${GroovySystem.getVersion()}
  • diff -r 2.0.0/whoopy/grails-app/views/layouts/main.gsp 2.3.1/whoopy/grails-app/views/layouts/main.gsp 1c1 < --- > 18c18 < --- > 26c26 < --- > 28c28 < \ No newline at end of file --- > Only in 2.3.1/whoopy: grailsw Only in 2.3.1/whoopy: grailsw.bat diff -r 2.0.0/whoopy/web-app/WEB-INF/applicationContext.xml 2.3.1/whoopy/web-app/WEB-INF/applicationContext.xml 3,5c3,4 < xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" < xsi:schemaLocation=" < http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> --- > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 32a32,33 > > Only in 2.3.1/whoopy/web-app/WEB-INF/tld: spring-form.tld diff -r 2.0.0/whoopy/web-app/WEB-INF/tld/spring.tld 2.3.1/whoopy/web-app/WEB-INF/tld/spring.tld 1,11c1,9 < < < < < < 1.1.1 < < 1.2 < < Spring < --- > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" > version="2.0"> > > Spring Framework JSP Tag Library > 3.0 > spring 14,16d11 < Spring Framework JSP Tag Library. Authors: Rod Johnson, Juergen Hoeller < < 18,22d12 < < htmlEscape < org.springframework.web.servlet.tags.HtmlEscapeTag < JSP < 27c17,19 < --- > htmlEscape > org.springframework.web.servlet.tags.HtmlEscapeTag > JSP 28a21,22 > Set the default value for HTML escaping, to be put > into the current PageContext. 33d26 < 36d28 < 38,42d29 < < escapeBody < org.springframework.web.servlet.tags.EscapeBodyTag < JSP < 48c35,37 < --- > escapeBody > org.springframework.web.servlet.tags.EscapeBodyTag > JSP 49a39,40 > Set HTML escaping for this tag, as boolean value. Overrides the > default HTML escaping setting for the current page. 54d44 < 55a46,47 > Set JavaScript escaping for this tag, as boolean value. > Default is false. 60d51 < 63d53 < 65,69d54 < < message < org.springframework.web.servlet.tags.MessageTag < JSP < 75c60,62 < --- > message > org.springframework.web.servlet.tags.MessageTag > JSP 76a64,77 > A MessageSourceResolvable argument (direct or through JSP EL). > Fits nicely when used in conjunction with Spring's own validation error > classes which all implement the MessageSourceResolvable interface. For > example, this allows you to iterate over all of the errors in a form, > passing each error (using a runtime expression) as the value of this > 'message' attribute, thus effecting the easy display of such error > messages. > message > false > true > > > The code (key) to use when looking up the message. > If code is not provided, the text attribute will be used. 81d81 < 82a83,86 > Set optional message arguments for this tag, as a > (comma-)delimited String (each String argument can contain JSP EL), > an Object array (used as argument array), or a single Object (used > as single argument). 87d90 < 88a92,101 > The separator character to be used for splitting the > arguments string value; defaults to a 'comma' (','). > argumentSeparator > false > true > > > Default text to output when a message for the given code > could not be found. If both text and code are not set, the tag will > output null. 93d105 < 94a107,109 > The string to use when binding the result to the page, > request, session or application scope. If not specified, the result > gets outputted to the writer (i.e. typically directly to the JSP). 99d113 < 100a115,117 > The scope to use when exporting the result to a variable. > This attribute is only used when var is also set. Possible values are > page, request, session and application. 105d121 < 106a123,124 > Set HTML escaping for this tag, as boolean value. > Overrides the default HTML escaping setting for the current page. 111d128 < 112a130 > Set JavaScript escaping for this tag, as boolean value. Default is false. 117d134 < 120d136 < 122,126d137 < < theme < org.springframework.web.servlet.tags.ThemeTag < JSP < 132c143,145 < --- > theme > org.springframework.web.servlet.tags.ThemeTag > JSP 133a147,154 > A MessageSourceResolvable argument (direct or through JSP EL). > message > false > true > > > The code (key) to use when looking up the message. > If code is not provided, the text attribute will be used. 138d158 < 139a160,163 > Set optional message arguments for this tag, as a > (comma-)delimited String (each String argument can contain JSP EL), > an Object array (used as argument array), or a single Object (used > as single argument). 144d167 < 145a169,178 > The separator character to be used for splitting the > arguments string value; defaults to a 'comma' (','). > argumentSeparator > false > true > > > Default text to output when a message for the given code > could not be found. If both text and code are not set, the tag will > output null. 150d182 < 151a184,186 > The string to use when binding the result to the page, > request, session or application scope. If not specified, the result > gets outputted to the writer (i.e. typically directly to the JSP). 156d190 < 157a192,194 > The scope to use when exporting the result to a variable. > This attribute is only used when var is also set. Possible values are > page, request, session and application. 162d198 < 163a200,201 > Set HTML escaping for this tag, as boolean value. > Overrides the default HTML escaping setting for the current page. 168d205 < 169a207 > Set JavaScript escaping for this tag, as boolean value. Default is false. 174d211 < 177d213 < 179,183d214 < < hasBindErrors < org.springframework.web.servlet.tags.BindErrorsTag < JSP < 189c220,222 < --- > hasBindErrors > org.springframework.web.servlet.tags.BindErrorsTag > JSP 194d226 < 195a228,230 > The name of the bean in the request, that needs to be > inspected for errors. If errors are available for this bean, they > will be bound under the 'errors' key. 200d234 < 201a236,237 > Set HTML escaping for this tag, as boolean value. > Overrides the default HTML escaping setting for the current page. 206d241 < 209d243 < 211,215d244 < < nestedPath < org.springframework.web.servlet.tags.NestedPathTag < JSP < 219c248,250 < --- > nestedPath > org.springframework.web.servlet.tags.NestedPathTag > JSP 224d254 < 225a256,258 > Set the path that this tag should apply. E.g. 'customer' > to allow bind paths like 'address.street' rather than > 'customer.address.street'. 230d262 < 233d264 < 235,239d265 < < bind < org.springframework.web.servlet.tags.BindTag < JSP < 245c271,273 < --- > bind > org.springframework.web.servlet.tags.BindTag > JSP 250d277 < 251a279,282 > The path to the bean or bean property to bind status > information for. For instance account.name, company.address.zipCode > or just employee. The status object will exported to the page scope, > specifically for this bean or bean property 256d286 < 257a288 > Set whether to ignore a nested path, if any. Default is to not ignore. 262d292 < 263a294,295 > Set HTML escaping for this tag, as boolean value. Overrides > the default HTML escaping setting for the current page. 268d299 < 271d301 < 273,277d302 < < transform < org.springframework.web.servlet.tags.TransformTag < JSP < 282c307 < (i.e. by HtmlEscapeTag or a "defaultHtmlEscape" context-param in web.xml). --- > (i.e. by HtmlEscapeTag or a 'defaultHtmlEscape' context-param in web.xml). 284c309,311 < --- > transform > org.springframework.web.servlet.tags.TransformTag > JSP 285a313,315 > The value to transform. This is the actual object you want > to have transformed (for instance a Date). Using the PropertyEditor that > is currently in use by the 'spring:bind' tag. 290d319 < 291a321,323 > The string to use when binding the result to the page, > request, session or application scope. If not specified, the result gets > outputted to the writer (i.e. typically directly to the JSP). 296d327 < 297a329,331 > The scope to use when exported the result to a variable. > This attribute is only used when var is also set. Possible values are > page, request, session and application. 301a336,343 > > Set HTML escaping for this tag, as boolean value. Overrides > the default HTML escaping setting for the current page. > htmlEscape > false > true > > 302a345,372 > > URL tag based on the JSTL c:url tag. This variant is fully > backwards compatible with the standard tag. Enhancements include support > for URL template parameters. > url > org.springframework.web.servlet.tags.UrlTag > JSP > > The URL to build. This value can include template place holders > that are replaced with the URL encoded value of the named parameter. Parameters > must be defined using the param tag inside the body of this tag. > value > true > true > > > Specifies a remote application context path. The default is the > current application context path. > context > false > true > > > The name of the variable to export the URL value to. > var > false > true > 303a374,383 > The scope for the var. 'application', 'session', 'request' and > 'page' scopes are supported. Defaults to page scope. This attribute has no > effect unless the var attribute is also defined. > scope > false > true > > > Set HTML escaping for this tag, as a boolean value. Overrides the > default HTML escaping setting for the current page. 307a388,415 > > Set JavaScript escaping for this tag, as a boolean value. > Default is false. > javaScriptEscape > false > true > > > > > Parameter tag based on the JSTL c:param tag. The sole purpose is to > support params inside the spring:url tag. > param > org.springframework.web.servlet.tags.ParamTag > JSP > > The name of the parameter. > name > true > true > > > The value of the parameter. > value > false > true > > 308a417,454 > > Evaluates a Spring expression (SpEL) and either prints the result or assigns it to a variable. > eval > org.springframework.web.servlet.tags.EvalTag > JSP > > The expression to evaluate. > expression > true > true > > > The name of the variable to export the evaluation result to. > var > false > true > > > The scope for the var. 'application', 'session', 'request' and > 'page' scopes are supported. Defaults to page scope. This attribute has no > effect unless the var attribute is also defined. > scope > false > true > > > Set HTML escaping for this tag, as a boolean value. Overrides the > default HTML escaping setting for the current page. > htmlEscape > false > true > > > Set JavaScript escaping for this tag, as a boolean value. Default is false. > javaScriptEscape > false > true > diff -r 2.0.0/whoopy/web-app/css/main.css 2.3.1/whoopy/web-app/css/main.css 6a7,10 > h1, h2, h3, h4, h5, h6 { > line-height: 1.1; > } > 309a314,315 > margin-left: 0; > margin-right: 0; 328c334 < padding: 0.5em; --- > padding: 0.25em; 356,357c362,363 < background: transparent url(../images/skin/exclamation.png) 0 50% no-repeat; < text-indent: 22px; --- > background: transparent url(../images/skin/exclamation.png) 0.5em 50% no-repeat; > text-indent: 2.2em; 361,362c367,368 < background: transparent url(../images/skin/information.png) 0 50% no-repeat; < text-indent: 22px; --- > background: transparent url(../images/skin/information.png) 0.5em 50% no-repeat; > text-indent: 2.2em; 569a576,580 > .ie6 .buttons input.delete, .ie6 .buttons input.edit, .ie6 .buttons input.save, > .ie7 .buttons input.delete, .ie7 .buttons input.edit, .ie7 .buttons input.save { > padding-left: 36px; > } > Only in 2.0.0/whoopy/web-app/images: grails_logo.jpg Only in 2.0.0/whoopy/web-app/images: leftnav_btm.png Only in 2.0.0/whoopy/web-app/images: leftnav_midstretch.png Only in 2.0.0/whoopy/web-app/images: leftnav_top.png Only in 2.3.1/whoopy: wrapper