ontomde-uml2-struts 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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