ontomde-uml2-struts 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt ADDED
@@ -0,0 +1,5 @@
1
+ == 1.0.0 / 2007-10-28
2
+
3
+ * 1 major enhancement
4
+ * Birthday!
5
+
data/Manifest.txt ADDED
@@ -0,0 +1,31 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ lib/ontomde-uml2-struts.rb
6
+ lib/ontomde-uml2-struts/version.rb
7
+ lib/ontomde-uml2-struts/header.rb
8
+ lib/ontomde-uml2-struts/struts-config.rb
9
+ lib/ontomde-uml2-struts/jsp_edit_field.rb
10
+ lib/ontomde-uml2-struts/exceptionHandling.rb
11
+ lib/ontomde-uml2-struts/jsp_edit_js.rb
12
+ lib/ontomde-uml2-struts/mappingToJavaHierarchy.rb
13
+ lib/ontomde-uml2-struts/jsp_index.rb
14
+ lib/ontomde-uml2-struts/validator.rb
15
+ lib/ontomde-uml2-struts/blob.rb
16
+ lib/ontomde-uml2-struts/main.rb
17
+ lib/ontomde-uml2-struts/xmlForm.rb
18
+ lib/ontomde-uml2-struts/footer.rb
19
+ lib/ontomde-uml2-struts/action.rb
20
+ lib/ontomde-uml2-struts/mappingForJsp.rb
21
+ lib/ontomde-uml2-struts/spring.rb
22
+ lib/ontomde-uml2-struts/form.rb
23
+ lib/ontomde-uml2-struts/mappingForBean.rb
24
+ lib/ontomde-uml2-struts/MessageResources.rb
25
+ lib/ontomde-uml2-struts/header_link.rb
26
+ lib/ontomde-uml2-struts/validation.rb
27
+ lib/ontomde-uml2-struts/jsp_edit.rb
28
+ lib/ontomde-uml2-struts/webXml.rb
29
+ lib/ontomde-uml2-struts/reloadAction.rb
30
+ lib/ontomde-uml2-struts/localeAction.rb
31
+ test/test_ontomde-uml2-struts.rb
data/README.txt ADDED
@@ -0,0 +1,38 @@
1
+ ontomde-uml2-java
2
+ by stephane (Pierre) Carrie
3
+ http://ontomde.rubyforge.org
4
+
5
+ == DESCRIPTION:
6
+
7
+ ontomde-uml2-struts is library for generating a struts application.
8
+
9
+ == SYNOPSIS:
10
+
11
+ use commande line provided in ontomde-uml2-javaFrontEnd.
12
+
13
+
14
+ == INSTALL:
15
+
16
+ * (UNIX) sudo gem install ontomde-uml2-struts
17
+ * (WIN) gem install ontomde-uml2-struts
18
+
19
+ Additional information is available on ontoMDE web site :
20
+ http://ontomde.rubyforge.org/website/download.html
21
+ == LICENSE:
22
+
23
+ Copyright (C) 2008 Orange-labs
24
+ 38 rue General Leclerc
25
+ 92130 ISSY LES MOULINEAUX, France
26
+
27
+ This program is free software: you can redistribute it and/or modify
28
+ it under the terms of the GNU Affero General Public License as
29
+ published by the Free Software Foundation, either version 3 of the
30
+ License, or (at your option) any later version.
31
+
32
+ This program is distributed in the hope that it will be useful,
33
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
34
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
35
+ GNU Affero General Public License for more details.
36
+
37
+ You should have received a copy of the GNU Affero General Public License
38
+ along with this program. If not, see http://www.gnu.org/licenses/.
data/Rakefile ADDED
@@ -0,0 +1,32 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+ require './lib/ontomde-uml2-struts/version.rb'
6
+
7
+ Hoe.new('ontomde-uml2-struts', Ontomde::Uml2::Struts::VERSION) do |p|
8
+ p.rubyforge_name = 'ontomde'
9
+ p.author = 'Stephane (Pierre) Carrie'
10
+ p.email = 'stephanepierre.carrie@orange-ftgroup.com'
11
+ p.summary = 'OntoMDE struts generator cartridge'
12
+ p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
13
+ p.url="http://ontomde.rubyforge.org"
14
+ p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
15
+
16
+ p.extra_deps=[
17
+ [ 'ontomde-uml2-java',"= #{Ontomde::Uml2::Struts::VERSION}" ],
18
+ [ 'ontomde-uml2-apaCom',"= #{Ontomde::Uml2::Struts::VERSION}" ]
19
+ ]
20
+
21
+ #spec.custom_add_dependency('core')
22
+ #spec.custom_add_dependency('uml2')
23
+ #spec.custom_add_dependency('uml2_java')
24
+ #spec.custom_add_dependency('uml2_jpa')
25
+ #spec.custom_add_dependency('uml2_jdo')
26
+ #spec.custom_add_dependency('uml2_apaCom')
27
+ #spec.custom_add_dependency('libJava')
28
+
29
+ p.spec_extras={ :required_ruby_version => '>=1.8.6' ,:required_rubygems_version => '>=1.0.0'}
30
+ end
31
+
32
+ # vim: syntax=Ruby
@@ -0,0 +1,356 @@
1
+ # should generator check if every message used is defined ?
2
+ STRUTS_CHECK_MESSAGE_USED=true
3
+ STRUTS_MESSAGE_USED=Set.new
4
+ STRUTS_MESSAGE_DEFINED=Set.new
5
+
6
+ def struts_writeMsg(key)
7
+ STRUTS_MESSAGE_USED.add(key) if STRUTS_CHECK_MESSAGE_USED
8
+ return %{<bean:message key="#{key}"/>}
9
+ end
10
+
11
+ def struts_writeMsgRes(key,msg,writeAsComment,locale)
12
+ write(%{#{key}=#{writeAsComment ? "#{locale}: " : ""}#{msg}\n})
13
+ STRUTS_MESSAGE_DEFINED.add(key) if STRUTS_CHECK_MESSAGE_USED && (!writeAsComment)
14
+ end
15
+
16
+ def struts_messageCheck
17
+ STRUTS_MESSAGE_USED.each { |key|
18
+ next if STRUTS_MESSAGE_DEFINED.include?(key)
19
+ log.error("ressource undefined: #{key}")
20
+ }
21
+ end
22
+
23
+ module Mrdf_Model
24
+ STRUTS_DEFAULT_LOCALE="fr"
25
+ def struts_messageResources_generate
26
+ ["_fr","_en","_de","_ja","_zu",""].each {|lang|
27
+ f=%{#{context[:webResourcesDir]}/MessageResources#{lang}.properties}
28
+ mtk_writeSession(f) {
29
+ #mtk_protected("GENERIC"){
30
+ if(lang=="_en")
31
+ write MESSAGE_RES_EN
32
+ writeMessagesFromModel(lang)
33
+ elsif(lang=="_de")
34
+ write MESSAGE_RES_DE
35
+ writeMessagesFromModel(lang)
36
+ elsif(lang=="_ja")
37
+ write MESSAGE_RES_JA
38
+ writeMessagesFromModel(lang)
39
+ elsif(lang=="_fr")
40
+ #write MESSAGE_RES_FR
41
+ #writeMessagesFromModel(lang)
42
+ elsif(lang=="_zu")
43
+ write MESSAGE_RES_ZU
44
+ writeMessagesFromModel(lang,true,true)
45
+ elsif(lang=="")
46
+ struts_writeMsgRes(::Mrdf_Model::STRUTS_SESSION_TIMEOUT_IN_MINUTES_RES,"30",false,"")
47
+ write MESSAGE_RES_FR
48
+ writeMessagesFromModel(lang,true)
49
+ else
50
+ log.error "unknown locale #{lang}"
51
+ end
52
+ #}
53
+ }}
54
+ end
55
+
56
+ def writeMessagesFromModel(locale,fillFromModel=false,test=false)
57
+ uml_Class_all.each {|c|
58
+ next unless c.kind_of?(Muml_Class) #|| c.kind_of?(Muml_Interface)
59
+ next if c.kind_of?(Muml_Stereotype)
60
+ write("#############################\n")
61
+ write("##### #{c.java_qualifiedName}\n")
62
+ write("#############################\n")
63
+
64
+ c.struts_ownedTab.each { |tab|
65
+ struts_writeMsgRes("#{c.java_qualifiedName}.#{tab.java_Name}.tab","#{tab.java_Name}",!fillFromModel,locale)
66
+ }
67
+
68
+ struts_writeMsgRes("#{c.java_qualifiedName}.title","#{c.java_qualifiedName}",!fillFromModel,locale);
69
+ i=-1
70
+ (c.struts_formAttribute+c.struts_formOperation).each {|a|
71
+ msg="#{a.uml_name_one}"
72
+ if fillFromModel && !test
73
+ msg="#{a.uml_name_one}"
74
+ elsif fillFromModel
75
+ msg="#{a.uml_name_one.nil? ? "":a.uml_name_one.upcase}"
76
+ end
77
+ struts_writeMsgRes("#{c.java_qualifiedName}.#{a.java_Name}",msg,!fillFromModel,locale)
78
+ helpmsg=""
79
+ a.uml_ownedComment.each { |comment|
80
+ # comment are used as default help message for default locale.
81
+ helpmsg=comment.uml_body_one0
82
+ }
83
+ struts_writeMsgRes("#{c.java_qualifiedName}.#{a.java_Name}.help",helpmsg,false,locale)
84
+ }}
85
+
86
+ write "# *********************\n"
87
+ write "# Enumerations\n"
88
+ write "# *********************\n"
89
+ uml_Class_all.each {|c|
90
+ next unless c.kind_of?(Muml_Enumeration)
91
+ msg=c.java_enumAssignableDataType_inv.empty? ? "-- --" : "create and add"
92
+ struts_writeMsgRes("#{c.java_qualifiedName}.#{::Muml_Property::NIL_LVB_RES_KEY}",msg,!fillFromModel,locale)
93
+
94
+ c.uml_ownedLiteral.each {|ol|
95
+ struts_writeMsgRes("#{c.java_qualifiedName}.#{ol.java_Name}",ol.to_s,!fillFromModel,locale)
96
+ }
97
+ }
98
+
99
+ write "# *********************\n"
100
+ write "# End of file\n"
101
+ write "# *********************\n"
102
+
103
+ end
104
+
105
+ MESSAGE_RES_EN=<<ENDEN
106
+ java.lang.Boolean.true=true
107
+ java.lang.Boolean.false=false
108
+ button.delete=Erase
109
+ button.cancel=Cancel
110
+ button.confirm=Submit
111
+ button.reset=Reset
112
+ button.save=Save
113
+ button.validate=Validate
114
+ userMessage.deleteItem=_en :Are you sure that you want to delete this item ?
115
+ # Errors
116
+ errors.footer=
117
+ errors.header=<h3><font color="red">Validation error</font></h3>You should change the following error(s) before to continue :
118
+ errors.ioException=I/O exception during the error message : {0}
119
+ error.database.missing=<li>The users database is missing. Impossible to validate the connexion privileges.
120
+ errors.required={0} is required.
121
+ errors.minlength={0} can't have less than {1} character.
122
+ errors.maxlength={0} can't have more than {1} character.
123
+ errors.invalid={0} is invalid.
124
+
125
+ errors.byte={0} should be a byte number.
126
+ errors.short={0} should be a short number.
127
+ errors.integer={0} should be an integer number.
128
+ errors.long={0} should be a long number.
129
+ errors.float={0} should be a float number.
130
+ errors.double={0} should be a double number.
131
+
132
+ errors.date={0} isn't a date.
133
+
134
+ errors.range={0} isn't in the interval {1} to {2}.
135
+
136
+ errors.creditcard={0} isn't a valid credit card number.
137
+
138
+ errors.email={0} is an incorrect email address.
139
+
140
+ # Index Page
141
+ index.title=Struts Validator
142
+ index.power=Powered by Struts
143
+
144
+ # default Form
145
+ defaultForm.title=Type form
146
+ defaultForm.title.create=Create the form
147
+ defaultForm.byte.displayname=Byte field
148
+ defaultForm.short.displayname=Short field
149
+ defaultForm.integer.displayname=Integer field
150
+ defaultForm.long.displayname=Long field
151
+ defaultForm.float.displayname=Float field
152
+ defaultForm.floatRange.displayname=Float interval
153
+ defaultForm.double.displayname=Double field
154
+ defaultForm.date.displayname=Date field
155
+ defaultForm.creditCard.displayname=Credit card field
156
+ defaultForm.nested=Nested text
157
+ defaultForm.nested.name.displayname=Name
158
+ defaultForm.selectMessage = EN_Message_Generique
159
+ label.helper.cancel= cancel
160
+ label.helper.none=<i>there is no element to display.</i>
161
+ help.label=Field documentation:
162
+ ENDEN
163
+ MESSAGE_RES_DE=<<ENDDE
164
+ java.lang.Boolean.true=richtige
165
+ java.lang.Boolean.false=unwahrheit
166
+ button.delete=L�schen Sie
167
+ button.cancel=L�schen
168
+ button.confirm=Reichen Sie ein
169
+ button.reset=Zur�ckstellen
170
+ button.save=Au�er
171
+ button.validate=de_validate
172
+ userMessage.deleteItem=Sind Sie sicher, dass Sie l�schen wollen dieses Produkt ?
173
+
174
+ # Errors
175
+ errors.footer=
176
+ errors.header=<h3><font color="red">G�ltigkeitserkl�rungst�rung </font></h3>Sie sollten das folgende error(s) vorher �ndern, um fortzufahren :
177
+ errors.ioException=I/H Ausnahme w�hrend der Fehlermeldung : {0}
178
+ error.database.missing=<li>Die Benutzerdatenbank fehlt. Unm�glich, die Berechtigungen zu validieren..
179
+ errors.required={0} wird angefordert.
180
+ errors.minlength={0} {0} kann nicht kleiner als {1} Buchstabe haben.
181
+ errors.maxlength={0} kann nicht mehr als {1} Buchstabe haben.
182
+ errors.invalid={0} ist unzul�ssig.
183
+
184
+ errors.byte={0} sein sollte eine Bytezahl.
185
+ errors.short={0} sein sollte eine kurze Zahl.
186
+ errors.integer={0} sein sollte eine Ganzzahl Zahl.
187
+ errors.long={0} sein sollte eine lange Zahl.
188
+ errors.float={0} sein sollte eine Hin- und Herbewegung Zahl.
189
+ errors.double={0} sein sollte eine doppelte Zahl.
190
+
191
+ errors.date={0} nicht ist ein Datum.
192
+
193
+ errors.range={0} ist nicht im Abstand {1} {2}.
194
+
195
+ errors.creditcard={0} nicht ist eine g�ltige Kreditkarte Zahl.
196
+
197
+ errors.email={0} ist ein falsches email address.
198
+
199
+ # Index Page
200
+ index.title=Struts Validator
201
+ index.power=Vorbei Struts angetrieben
202
+
203
+ # default Form
204
+ defaultForm.title=Art Form
205
+ defaultForm.title.create=Verursachen Sie die Form
206
+ defaultForm.byte.displayname=Eine Byte Feld
207
+ defaultForm.short.displayname=Eine kurze Feld
208
+ defaultForm.integer.displayname=Eine Ganzzahl Feld
209
+ defaultForm.long.displayname=Eine lange Feld
210
+ defaultForm.float.displayname=Eine Hin- und Herbewegung Feld
211
+ defaultForm.floatRange.displayname=Eine Hin- und Herbewegung Abstand
212
+ defaultForm.double.displayname=Eine doppelte Feld
213
+ defaultForm.date.displayname=Datum Feld
214
+ defaultForm.creditCard.displayname=Kreditkarte Feld
215
+ defaultForm.nested=Genisteter Text
216
+ defaultForm.nested.name.displayname=Name
217
+ defaultForm.selectMessage = dl_Message_Generique
218
+ label.helper.cancel= dl_cancel
219
+ label.helper.none= dl:<i>il n'y a pas d'&eacute;l&eacute;�ment &agrave; afficher.</i>
220
+ help.label=Information sur le champs:
221
+ ENDEN
222
+ ENDDE
223
+ MESSAGE_RES_JA=<<ENDJA
224
+ button.delete=Supprimer
225
+ button.cancel=\u30ad\u30e3\u30f3\u30bb\u30eb
226
+ button.confirm=\u78ba\u8a8d
227
+ button.reset=\u30ea\u30bb\u30c3\u30c8
228
+ button.save=\u4fdd\u5b58
229
+ button.validate=??
230
+ userMessage.deleteItem=-ja :Etes-vous s&ucirc;r(e) de vouloir supprimer cet Item ?
231
+ # Errors
232
+ errors.footer=
233
+ errors.header=<h3><font color="red">\u5165\u529b\u30c1\u30a7\u30c3\u30af\u30a8\u30e9\u30fc</font></h3>\u4ee5\u4e0b\u306e\u30a8\u30e9\u30fc\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044:
234
+ errors.ioException=\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8 {0} \u306e\u51fa\u529b\u3067I/O\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f
235
+ error.database.missing=<li>\u30e6\u30fc\u30b6\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3002\u30ed\u30b0\u30aa\u30f3\u306e\u8a8d\u8a3c\u304c\u51fa\u6765\u307e\u305b\u3093\u3002</li>
236
+ errors.required={0} \u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
237
+ errors.minlength={0} \u306f {1} \u6587\u5b57\u4ee5\u4e0a\u3067\u306a\u3051\u308c\u3070\u3044\u3051\u307e\u305b\u3093
238
+ errors.maxlength={0} \u306F {1} \u6587\u5B57\u4EE5\u4E0B\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002
239
+ errors.invalid={0} \u306f\u6b63\u3057\u304f\u3042\u308a\u307e\u305b\u3093\u3002
240
+
241
+ errors.byte={0} \u306fbyte\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
242
+ errors.short={0} \u306fshort\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
243
+ errors.integer={0} \u306finteger\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
244
+ errors.long={0} \u306flong\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
245
+ errors.float={0} \u306ffloat\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
246
+ errors.double={0} \u306fdouble\u578b\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
247
+
248
+ errors.date={0} \u306f\u65e5\u4ed8\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
249
+
250
+ errors.range={0} \u306f {1} \u304b\u3089 {2} \u306e\u9593\u3067\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
251
+
252
+ errors.creditcard={0} \u306F\u6B63\u3057\u3044\u30AF\u30EC\u30B8\u30C3\u30C8\u30FC\u30AB\u30FC\u30C9\u756A\u53F7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
253
+
254
+ errors.email={0} \u306F\u6B63\u3057\u3044\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
255
+
256
+ # Index Page
257
+ index.title=Struts Validator
258
+ index.power=Powered by Struts
259
+
260
+ # Type form
261
+ defaultForm.name.displayname=String\u578B\u30D5\u30A3\u30FC\u30EB\u30C9
262
+ defaultForm.byte.displayname=Byte\u578b\u30d5\u30a3\u30fc\u30eb\u30c9
263
+ defaultForm.checkbox.wouldrecommend=\u304A\u3059\u3059\u3081
264
+ defaultForm.checkbox.used.languages=\u5229\u7528\u30D7\u30ED\u30B0\u30E9\u30E0\u8A00\u8A9E
265
+ defaultForm.creditCard.displayname=\u30af\u30ec\u30b8\u30c3\u30c8\u30fc\u30ab\u30fc\u30c9\u756a\u53f7\u30d5\u30a3\u30fc\u30eb\u30c9
266
+ defaultForm.date.displayname=\u65e5\u4ed8\u578b\u30d5\u30a3\u30fc\u30eb\u30c9
267
+ defaultForm.description=\u30d7\u30ea\u30df\u30c6\u30a3\u30d6\u578b\u306e\u6570\u5b57\u3001integer\u306e\u7bc4\u56f2\u3001\u65e5\u4ed8\u3001\u304a\u3088\u3073\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u756a\u53f7\u306e\u5165\u529b\u30c1\u30a7\u30c3\u30af\u306e\u30b5\u30f3\u30d7\u30eb
268
+ defaultForm.double.displayname=Double\u578b\u30d5\u30a3\u30fc\u30eb\u30c9
269
+ defaultForm.float.displayname=Float\u578b\u30d5\u30a3\u30fc\u30eb\u30c9
270
+ defaultForm.floatRange.displayname=Float\u578b\u306e\u7bc4\u56f2\u30c1\u30a7\u30c3\u30af\u30d5\u30a3\u30fc\u30eb\u30c9
271
+ defaultForm.integer.displayname=Integer\u578b\u30d5\u30a3\u30fc\u30eb\u30c9
272
+ defaultForm.long.displayname=Long\u578b\u30d5\u30a3\u30fc\u30eb\u30c9
273
+ defaultForm.nested.name.displayname=\u540d\u524d
274
+ defaultForm.selectMessage = JA_Message_Generique
275
+ label.helper.cancel= cancel
276
+ label.helper.none= JA_NONE
277
+ help.label=jp:Information sur le champs:
278
+ ENDEN
279
+ # default Labels (from model):
280
+ ENDJA
281
+ MESSAGE_RES_FR=<<END
282
+ # **************************************************
283
+ # DO NOT MODIFY THIS FILE (automatically generated)
284
+ # **************************************************
285
+ #
286
+ # To add custom labels, create a MessageResources_fr.properties file
287
+ #
288
+ # **************************************************
289
+ #
290
+ # Correct translations compliments of Regis Brochu
291
+ # Some fields have been added after Regis Brochu
292
+ # translated the file and may have incorrect translation.
293
+ java.lang.Boolean.true=vrai
294
+ java.lang.Boolean.false=faux
295
+ button.delete=Supprimer
296
+ button.cancel=Annuler
297
+ button.confirm=Soumettre
298
+ button.reset=Effacer
299
+ button.save=Sauvegarder
300
+ button.validate=Valider
301
+ userMessage.deleteItem=Etes-vous s&ucirc;r(e) de vouloir supprimer cet Item ?
302
+
303
+ # Errors
304
+ errors.footer=
305
+ errors.header=<h3><font color="red">Erreur de Validation</font></h3>Vous devez corriger l'erreur(s) suivante avant de continuer :
306
+ errors.ioException=Exception d'E/S durant le rendu des messages d'erreur: {0}
307
+ error.message=Nous sommes d&eacute;sol&eacute;s, une erreur technique est survenue.<br>L'&eacute;quipe technique met tout en oeuvre pour la corriger.
308
+ error.database.missing=<li>La base de donn&eacute;es des utilisateurs est manquante. Impossible de valider les privil&egrave;ges de connexion
309
+ errors.required={0} est obligatoire.
310
+ errors.minlength={0} ne peut pas &ecirc;tre moins de {1} caract&egrave;res.
311
+ errors.maxlength={0} ne peut pas &ecirc;tre plus de {1} caract&egrave;res.
312
+ errors.invalid={0} est invalide.
313
+
314
+ errors.byte={0} doit &ecirc;tre un nombre de type byte.
315
+ errors.string={0} doit &ecirc;tre un champ de type texte.
316
+ errors.short={0} doit &ecirc;tre un nombre de type short.
317
+ errors.integer={0} doit &ecirc;tre un nombre de type integer.
318
+ errors.long={0} doit &ecirc;tre un nombre de type long.
319
+ errors.float={0} doit &ecirc;tre un nombre de type float.
320
+ errors.double={0} doit &ecirc;tre un nombre de type double.
321
+
322
+ errors.date={0} n'est pas une date.
323
+
324
+ errors.range={0} n'est pas dans l'intervalle {1} &agrave; {2}.
325
+
326
+ errors.creditcard={0} n'est pas un num�ro de carte de cr&eacute;dit valide.
327
+
328
+ errors.email={0} est une adresse incorrecte de e-mail.
329
+
330
+ # Index Page
331
+ index.title=Struts Validator
332
+ index.power=Actionn� par Struts
333
+
334
+ # default Form
335
+ defaultForm.title=Formulaire de type
336
+ defaultForm.description=Exemple validant quelques nombres primitifs, un intervalle sur la zone de nombre entier, une date, et un nombre de carte de cr&eacute;dit.
337
+ defaultForm.title.create=Cr&eacute;er le formulaire
338
+ defaultForm.byte.displayname=Champ Octet
339
+ defaultForm.short.displayname=Champ Short
340
+ defaultForm.string.displayname=Champ Texte
341
+ defaultForm.integer.displayname=Champ Entier
342
+ defaultForm.long.displayname=Champ Long
343
+ defaultForm.float.displayname=Champ Float
344
+ defaultForm.floatRange.displayname=Champ Float l'intervalle
345
+ defaultForm.double.displayname=Champ Double
346
+ defaultForm.date.displayname=Champ Date
347
+ defaultForm.creditCard.displayname=Champ Carte de cr&eacute;dit
348
+ defaultForm.nested=Embo�t� Texte
349
+ defaultForm.nested.name.displayname=Nom
350
+ defaultForm.selectMessage = FR_Message_Generique
351
+ label.helper.cancel= cancel
352
+ label.helper.none= <i>il n'y a pas d'&eacute;l&eacute;ment &agrave; afficher.</i>
353
+ help.label=Information sur le champs:
354
+ END
355
+ MESSAGE_RES_ZU=""
356
+ end