001/*
002 *   Licensed to the Apache Software Foundation (ASF) under one
003 *   or more contributor license agreements.  See the NOTICE file
004 *   distributed with this work for additional information
005 *   regarding copyright ownership.  The ASF licenses this file
006 *   to you under the Apache License, Version 2.0 (the
007 *   "License"); you may not use this file except in compliance
008 *   with the License.  You may obtain a copy of the License at
009 *
010 *     http://www.apache.org/licenses/LICENSE-2.0
011 *
012 *   Unless required by applicable law or agreed to in writing,
013 *   software distributed under the License is distributed on an
014 *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 *   KIND, either express or implied.  See the License for the
016 *   specific language governing permissions and limitations
017 *   under the License.
018 *
019 */
020
021package org.apache.directory.server.i18n;
022
023
024import java.text.MessageFormat;
025import java.util.Locale;
026import java.util.MissingResourceException;
027import java.util.ResourceBundle;
028
029
030/**
031 * Provides i18n handling of error codes.
032 * About formatting see also {@link MessageFormat}
033 *
034 * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
035 */
036public enum I18n
037{
038    ERR_1("ERR_1"),
039    ERR_2("ERR_2"),
040    ERR_3("ERR_3"),
041    ERR_4("ERR_4"),
042    ERR_5("ERR_5"),
043    ERR_6("ERR_6"),
044    ERR_7("ERR_7"),
045    ERR_8("ERR_8"),
046    ERR_9("ERR_9"),
047    ERR_10("ERR_10"),
048    ERR_11("ERR_11"),
049    ERR_12("ERR_12"),
050    ERR_13("ERR_13"),
051    ERR_14("ERR_14"),
052    ERR_15("ERR_15"),
053    ERR_16("ERR_16"),
054    ERR_17("ERR_17"),
055    ERR_18("ERR_18"),
056    ERR_19("ERR_19"),
057    ERR_20("ERR_20"),
058    ERR_21("ERR_21"),
059    ERR_22("ERR_22"),
060    ERR_23("ERR_23"),
061    ERR_24("ERR_24"),
062    ERR_25("ERR_25"),
063    ERR_26("ERR_26"),
064    ERR_27("ERR_27"),
065    ERR_28("ERR_28"),
066    ERR_29("ERR_29"),
067    ERR_30("ERR_30"),
068    ERR_31("ERR_31"),
069    ERR_32("ERR_32"),
070    ERR_33("ERR_33"),
071    ERR_34("ERR_34"),
072    ERR_35("ERR_35"),
073    ERR_36("ERR_36"),
074    ERR_37("ERR_37"),
075    ERR_38("ERR_38"),
076    ERR_39("ERR_39"),
077    ERR_40("ERR_40"),
078    ERR_41("ERR_41"),
079    ERR_42("ERR_42"),
080    ERR_43("ERR_43"),
081    ERR_44("ERR_44"),
082    // ERR_45( "ERR_45" ),
083    // ERR_46( "ERR_46" ),
084    ERR_47("ERR_47"),
085    ERR_48("ERR_48"),
086    ERR_49("ERR_49"),
087    ERR_50("ERR_50"),
088    ERR_51("ERR_51"),
089    ERR_52("ERR_52"),
090    ERR_53("ERR_53"),
091    ERR_54("ERR_54"),
092    ERR_55("ERR_55"),
093    ERR_56("ERR_56"),
094    ERR_57("ERR_57"),
095    ERR_58("ERR_58"),
096    ERR_59("ERR_59"),
097    ERR_60("ERR_60"),
098    ERR_61("ERR_61"),
099    ERR_62("ERR_62"),
100    ERR_63("ERR_63"),
101    ERR_64("ERR_64"),
102    ERR_65("ERR_65"),
103    ERR_66("ERR_66"),
104    // ERR_67( "ERR_67" ),
105    ERR_68("ERR_68"),
106    ERR_69("ERR_69"),
107    ERR_70("ERR_70"),
108    ERR_71("ERR_71"),
109    ERR_72("ERR_72"),
110    ERR_73("ERR_73"),
111    ERR_74("ERR_74"),
112    ERR_75("ERR_75"),
113    ERR_76("ERR_76"),
114    ERR_77("ERR_77"),
115    ERR_78("ERR_78"),
116    ERR_79("ERR_79"),
117    ERR_80("ERR_80"),
118    ERR_81("ERR_81"),
119    ERR_82("ERR_82"),
120    ERR_83("ERR_83"),
121    ERR_84("ERR_84"),
122    ERR_85("ERR_85"),
123    ERR_86("ERR_86"),
124    ERR_87("ERR_87"),
125    ERR_88("ERR_88"),
126    ERR_89("ERR_89"),
127    ERR_90("ERR_90"),
128    ERR_91("ERR_91"),
129    // ERR_92( "ERR_92" ),
130    // ERR_93( "ERR_93" ),
131    // ERR_94( "ERR_94" ),
132    // ERR_95( "ERR_95" ),
133    // ERR_96( "ERR_96" ),
134    // ERR_97( "ERR_97" ),
135    // ERR_98( "ERR_98" ),
136    // ERR_99( "ERR_99" ),
137    // ERR_100( "ERR_100" ),
138    // ERR_101( "ERR_101" ),
139    // ERR_102( "ERR_102" ),
140    // ERR_103( "ERR_103" ),
141    // ERR_104( "ERR_104" ),
142    // ERR_105( "ERR_105" ),
143    // ERR_106( "ERR_106" ),
144    // ERR_107( "ERR_107" ),
145    // ERR_108( "ERR_108" ),
146    // ERR_109( "ERR_109" ),
147    // ERR_110( "ERR_110" ),
148    // ERR_111( "ERR_111" ),
149    ERR_112_COULD_NOT_CREATE_DIRECTORY("ERR_112_COULD_NOT_CREATE_DIRECTORY"),
150    ERR_113_COULD_NOT_DELETE_FILE_OR_DIRECTORY("ERR_113_COULD_NOT_DELETE_FILE_OR_DIRECTORY"),
151    ERR_114("ERR_114"),
152    ERR_115("ERR_115"),
153    ERR_116("ERR_116"),
154    ERR_117("ERR_117"),
155    ERR_118("ERR_118"),
156    ERR_119("ERR_119"),
157    ERR_120("ERR_120"),
158    ERR_121("ERR_121"),
159    ERR_122("ERR_122"),
160    // ERR_123( "ERR_123" ),
161    ERR_124("ERR_124"),
162    ERR_125("ERR_125"),
163    ERR_126("ERR_126"),
164    ERR_127("ERR_127"),
165    ERR_128("ERR_128"),
166    // ERR_129( "ERR_129" ),
167    // ERR_130( "ERR_130" ),
168    ERR_131("ERR_131"),
169    ERR_132("ERR_132"),
170    ERR_133("ERR_133"),
171    ERR_134("ERR_134"),
172    ERR_135("ERR_135"),
173    ERR_136("ERR_136"),
174    ERR_137("ERR_137"),
175    ERR_138("ERR_138"),
176    ERR_139("ERR_139"),
177    ERR_140("ERR_140"),
178    ERR_141("ERR_141"),
179    ERR_142("ERR_142"),
180    ERR_143("ERR_143"),
181    ERR_144("ERR_144"),
182    ERR_145("ERR_145"),
183    ERR_146("ERR_146"),
184    ERR_147("ERR_147"),
185    ERR_148("ERR_148"),
186    ERR_149("ERR_149"),
187    ERR_150("ERR_150"),
188    ERR_151("ERR_151"),
189    ERR_152("ERR_152"),
190    ERR_153("ERR_153"),
191    ERR_154("ERR_154"),
192    ERR_155("ERR_155"),
193    ERR_156("ERR_156"),
194    ERR_157("ERR_157"),
195    ERR_158("ERR_158"),
196    ERR_159("ERR_159"),
197    ERR_160("ERR_160"),
198    ERR_161("ERR_161"),
199    ERR_162("ERR_162"),
200    ERR_163("ERR_163"),
201    ERR_164("ERR_164"),
202    ERR_165("ERR_165"),
203    ERR_166("ERR_166"),
204    ERR_167("ERR_167"),
205    ERR_168("ERR_168"),
206    ERR_169("ERR_169"),
207    ERR_170("ERR_170"),
208    ERR_171("ERR_171"),
209    ERR_172("ERR_172"),
210    ERR_173("ERR_173"),
211    ERR_174("ERR_174"),
212    ERR_175("ERR_175"),
213    ERR_176("ERR_176"),
214    ERR_177("ERR_177"),
215    ERR_178("ERR_178"),
216    ERR_179("ERR_179"),
217    ERR_180("ERR_180"),
218    ERR_181("ERR_181"),
219    ERR_182("ERR_182"),
220    ERR_183("ERR_183"),
221    ERR_184("ERR_184"),
222    ERR_185("ERR_185"),
223    ERR_186("ERR_186"),
224    ERR_187("ERR_187"),
225    ERR_188("ERR_188"),
226    ERR_189("ERR_189"),
227    ERR_190("ERR_190"),
228    ERR_191("ERR_191"),
229    ERR_192("ERR_192"),
230    ERR_193("ERR_193"),
231    ERR_194("ERR_194"),
232    ERR_195("ERR_195"),
233    ERR_196("ERR_196"),
234    ERR_197("ERR_197"),
235    ERR_198("ERR_198"),
236    ERR_199("ERR_199"),
237    ERR_200("ERR_200"),
238    ERR_201("ERR_201"),
239    ERR_202("ERR_202"),
240    ERR_203("ERR_203"),
241    ERR_204("ERR_204"),
242    ERR_205("ERR_205"),
243    ERR_206("ERR_206"),
244    ERR_207("ERR_207"),
245    ERR_208("ERR_208"),
246    ERR_209("ERR_209"),
247    ERR_210("ERR_210"),
248    ERR_211("ERR_211"),
249    ERR_212("ERR_212"),
250    ERR_213("ERR_213"),
251    ERR_214("ERR_214"),
252    ERR_215_CANNOT_STORE_CLONED_SERVER_ENTRY("ERR_215_CANNOT_STORE_CLONED_SERVER_ENTRY"),
253    ERR_216_ID_FOR_PARENT_NOT_FOUND("ERR_216_ID_FOR_PARENT_NOT_FOUND"),
254    ERR_217("ERR_217"),
255    ERR_218("ERR_218"),
256    ERR_219("ERR_219"),
257    ERR_220("ERR_220"),
258    ERR_221("ERR_221"),
259    ERR_222("ERR_222"),
260    ERR_223("ERR_223"),
261    ERR_224("ERR_224"),
262    ERR_225("ERR_225"),
263    ERR_226("ERR_226"),
264    ERR_227("ERR_227"),
265    ERR_228("ERR_228"),
266    ERR_229("ERR_229"),
267    ERR_230("ERR_230"),
268    ERR_231("ERR_231"),
269    ERR_232("ERR_232"),
270    ERR_233("ERR_233"),
271    ERR_234("ERR_234"),
272    ERR_235("ERR_235"),
273    ERR_236("ERR_236"),
274    ERR_237("ERR_237"),
275    ERR_238("ERR_238"),
276    ERR_239("ERR_239"),
277    ERR_240("ERR_240"),
278    ERR_241_CANNOT_STORE_COLLECTIVE_ATT_IN_ENTRY("ERR_241_CANNOT_STORE_COLLECTIVE_ATT_IN_ENTRY"),
279    ERR_242("ERR_242"),
280    ERR_243("ERR_243"),
281    ERR_244("ERR_244"),
282    ERR_245("ERR_245"),
283    ERR_246("ERR_246"),
284    ERR_247("ERR_247"),
285    ERR_248("ERR_248"),
286    ERR_249("ERR_249"),
287    ERR_250_ENTRY_ALREADY_EXISTS("ERR_250_ENTRY_ALREADY_EXISTS"),
288    ERR_251_PARENT_NOT_FOUND("ERR_251_PARENT_NOT_FOUND"),
289    ERR_252_ALIAS_WITH_CHILD_NOT_ALLOWED("ERR_252_ALIAS_WITH_CHILD_NOT_ALLOWED"),
290    ERR_253("ERR_253"),
291    ERR_254_ADD_EXISTING_VALUE("ERR_254_ADD_EXISTING_VALUE"),
292    ERR_255("ERR_255"),
293    ERR_256_NO_SUCH_OBJECT("ERR_256_NO_SUCH_OBJECT"),
294    ERR_257_COLLECTIVE_SUBENTRY_WITHOUT_COLLECTIVE_AT("ERR_257_COLLECTIVE_SUBENTRY_WITHOUT_COLLECTIVE_AT"),
295    ERR_258("ERR_258"),
296    ERR_259("ERR_259"),
297    ERR_260("ERR_260"),
298    ERR_261("ERR_261"),
299    ERR_262("ERR_262"),
300    ERR_263("ERR_263"),
301    ERR_264("ERR_264"),
302    ERR_265("ERR_265"),
303    ERR_266("ERR_266"),
304    ERR_267("ERR_267"),
305    ERR_268("ERR_268"),
306    ERR_269("ERR_269"),
307    ERR_270("ERR_270"),
308    ERR_271("ERR_271"),
309    ERR_272_MODIFY_LEAVES_NO_STRUCTURAL_OBJECT_CLASS("ERR_272_MODIFY_LEAVES_NO_STRUCTURAL_OBJECT_CLASS"),
310    ERR_273("ERR_273"),
311    ERR_274("ERR_274"),
312    ERR_275("ERR_275"),
313    ERR_276("ERR_276"),
314    ERR_277("ERR_277"),
315    ERR_278("ERR_278"),
316    ERR_279("ERR_279"),
317    ERR_280("ERR_280"),
318    ERR_281("ERR_281"),
319    ERR_282("ERR_282"),
320    ERR_283("ERR_283"),
321    ERR_284("ERR_284"),
322    ERR_285("ERR_285"),
323    ERR_286("ERR_286"),
324    ERR_287("ERR_287"),
325    ERR_288("ERR_288"),
326    ERR_289("ERR_289"),
327    ERR_290("ERR_290"),
328    ERR_291("ERR_291"),
329    ERR_292("ERR_292"),
330    ERR_293("ERR_293"),
331    ERR_294("ERR_294"),
332    ERR_295("ERR_295"),
333    ERR_296("ERR_296"),
334    ERR_297("ERR_297"),
335    // ERR_298( "ERR_298" ),
336    // ERR_299( "ERR_299" ),
337    // ERR_300( "ERR_300" ),
338    ERR_301("ERR_301"),
339    ERR_302("ERR_302"),
340    ERR_303("ERR_303"),
341    ERR_304("ERR_304"),
342    ERR_305("ERR_305"),
343    ERR_306("ERR_306"),
344    ERR_307("ERR_307"),
345    ERR_308("ERR_308"),
346    ERR_309("ERR_309"),
347    ERR_310("ERR_310"),
348    ERR_311("ERR_311"),
349    ERR_312("ERR_312"),
350    ERR_313("ERR_313"),
351    ERR_314("ERR_314"),
352    ERR_315("ERR_315"),
353    ERR_316("ERR_316"),
354    ERR_317("ERR_317"),
355    // ERR_318( "ERR_318" ),
356    ERR_319("ERR_319"),
357    ERR_320("ERR_320"),
358    ERR_321("ERR_321"),
359    ERR_322("ERR_322"),
360    ERR_323("ERR_323"),
361    ERR_324("ERR_324"),
362    ERR_325("ERR_325"),
363    ERR_326_NEW_SUPERIROR_CANNOT_BE_NULL("ERR_326_NEW_SUPERIROR_CANNOT_BE_NULL"),
364    ERR_327_MOVE_AND_RENAME_OPERATION("ERR_327_MOVE_AND_RENAME_OPERATION"),
365    ERR_328("ERR_328"),
366    ERR_329("ERR_329"),
367    ERR_330("ERR_330"),
368    ERR_331("ERR_331"),
369    ERR_332("ERR_332"),
370    ERR_333("ERR_333"),
371    // ERR_334( "ERR_334" ),
372    ERR_335("ERR_335"),
373    ERR_336("ERR_336"),
374    ERR_337("ERR_337"),
375    ERR_338("ERR_338"),
376    ERR_339("ERR_339"),
377    // ERR_340( "ERR_340" ),
378    ERR_341("ERR_341"),
379    ERR_342("ERR_342"),
380    ERR_343("ERR_343"),
381    // ERR_344( "ERR_344" ),
382    ERR_345("ERR_345"),
383    ERR_346("ERR_346"),
384    ERR_347("ERR_347"),
385    ERR_348("ERR_348"),
386    ERR_349("ERR_349"),
387    ERR_350("ERR_350"),
388    ERR_351("ERR_351"),
389    ERR_352("ERR_352"),
390    ERR_353("ERR_353"),
391    ERR_354("ERR_354"),
392    ERR_355("ERR_355"),
393    // ERR_356( "ERR_356" ),
394    ERR_357("ERR_357"),
395    ERR_358("ERR_358"),
396    ERR_359("ERR_359"),
397    ERR_360("ERR_360"),
398    ERR_361("ERR_361"),
399    ERR_362("ERR_362"),
400    ERR_363("ERR_363"),
401    ERR_364("ERR_364"),
402    ERR_365("ERR_365"),
403    ERR_366("ERR_366"),
404    ERR_367("ERR_367"),
405    ERR_368("ERR_368"),
406    ERR_369("ERR_369"),
407    ERR_370("ERR_370"),
408    ERR_371("ERR_371"),
409    ERR_372("ERR_372"),
410    ERR_373("ERR_373"),
411    ERR_374("ERR_374"),
412    ERR_375("ERR_375"),
413    ERR_376("ERR_376"),
414    ERR_377("ERR_377"),
415    ERR_378("ERR_378"),
416    ERR_379("ERR_379"),
417    ERR_380("ERR_380"),
418    ERR_381("ERR_381"),
419    ERR_382("ERR_382"),
420    ERR_383("ERR_383"),
421    ERR_384("ERR_384"),
422    ERR_385("ERR_385"),
423    ERR_386("ERR_386"),
424    ERR_387("ERR_387"),
425    // ERR_388( "ERR_388" ),
426    ERR_389("ERR_389"),
427    ERR_390("ERR_390"),
428    ERR_391("ERR_391"),
429    // ERR_392( "ERR_392" ),
430    ERR_393("ERR_393"),
431    // ERR_394( "ERR_394" ),
432    // ERR_395( "ERR_395" ),
433    ERR_396("ERR_396"),
434    ERR_397("ERR_397"),
435    // ERR_398( "ERR_398" ),
436    ERR_399("ERR_399"),
437    ERR_400("ERR_400"),
438    ERR_401("ERR_401"),
439    ERR_402("ERR_402"),
440    ERR_403("ERR_403"),
441    // ERR_404( "ERR_404" ),
442    ERR_405("ERR_405"),
443    ERR_406("ERR_406"),
444    ERR_407("ERR_407"),
445    ERR_408("ERR_408"),
446    ERR_409("ERR_409"),
447    ERR_410("ERR_410"),
448    ERR_411("ERR_411"),
449    ERR_412("ERR_412"),
450    ERR_413("ERR_413"),
451    ERR_414("ERR_414"),
452    ERR_415("ERR_415"),
453    ERR_416("ERR_416"),
454    ERR_417("ERR_417"),
455    ERR_418("ERR_418"),
456    ERR_419("ERR_419"),
457    ERR_420("ERR_420"),
458    ERR_421("ERR_421"),
459    ERR_422("ERR_422"),
460    ERR_423("ERR_423"),
461    ERR_424("ERR_424"),
462    ERR_425("ERR_425"),
463    ERR_426("ERR_426"),
464    ERR_427("ERR_427"),
465    ERR_428("ERR_428"),
466    ERR_429("ERR_429"),
467    ERR_430("ERR_430"),
468    ERR_431("ERR_431"),
469    ERR_432("ERR_432"),
470    ERR_433("ERR_433"),
471    ERR_434("ERR_434"),
472    ERR_435("ERR_435"),
473    ERR_436("ERR_436"),
474    ERR_437("ERR_437"),
475    ERR_438("ERR_438"),
476    ERR_439("ERR_439"),
477    ERR_440("ERR_440"),
478    ERR_441("ERR_441"),
479    // ERR_442( "ERR_442" ),
480    ERR_443("ERR_443"),
481    ERR_444("ERR_444"),
482    ERR_445("ERR_445"),
483    ERR_446("ERR_446"),
484    ERR_447("ERR_447"),
485    ERR_448("ERR_448"),
486    ERR_449("ERR_449"),
487    ERR_450("ERR_450"),
488    ERR_451("ERR_451"),
489    ERR_452("ERR_452"),
490    ERR_453("ERR_453"),
491    ERR_454("ERR_454"),
492    ERR_455("ERR_455"),
493    ERR_456("ERR_456"),
494    // ERR_457( "ERR_457" ),
495    // ERR_458( "ERR_458" ),
496    // ERR_459( "ERR_459" ),
497    // ERR_460( "ERR_460" ),
498    // ERR_461( "ERR_461" ),
499    // ERR_462( "ERR_462" ),
500    // ERR_463( "ERR_463" ),
501    ERR_464("ERR_464"),
502    ERR_465("ERR_465"),
503    ERR_466("ERR_466"),
504    ERR_467("ERR_467"),
505    ERR_468("ERR_468"),
506    // ERR_469( "ERR_469" ),
507    // ERR_470( "ERR_470" ),
508    // ERR_471( "ERR_471" ),
509    ERR_472("ERR_472"),
510    ERR_473("ERR_473"),
511    ERR_474("ERR_474"),
512    ERR_475("ERR_475"),
513    ERR_476("ERR_476"),
514    ERR_477("ERR_477"),
515    ERR_478("ERR_478"),
516    ERR_479("ERR_479"),
517    ERR_480("ERR_480"),
518    ERR_481("ERR_481"),
519    ERR_482("ERR_482"),
520    ERR_483("ERR_483"),
521    ERR_484("ERR_484"),
522    ERR_485("ERR_485"),
523    // ERR_486( "ERR_486" ),
524    ERR_487("ERR_487"),
525    // ERR_488( "ERR_488" ),
526    ERR_489("ERR_489"),
527    ERR_490("ERR_490"),
528    ERR_491("ERR_491"),
529    ERR_492("ERR_492"),
530    ERR_493("ERR_493"),
531    ERR_494("ERR_494"),
532    ERR_495("ERR_495"),
533    // ERR_496( "ERR_496" ),
534    ERR_497("ERR_497"),
535    ERR_498("ERR_498"),
536    ERR_499("ERR_499"),
537    ERR_500("ERR_500"),
538    ERR_501("ERR_501"),
539    // ERR_502( "ERR_502" ),
540    ERR_503("ERR_503"),
541    ERR_504("ERR_504"),
542    ERR_505("ERR_505"),
543    ERR_506("ERR_506"),
544    ERR_507("ERR_507"),
545    ERR_508("ERR_508"),
546    ERR_509("ERR_509"),
547    ERR_510("ERR_510"),
548    ERR_511("ERR_511"),
549    ERR_512("ERR_512"),
550    ERR_513("ERR_513"),
551    ERR_514("ERR_514"),
552    ERR_515("ERR_515"),
553    ERR_516("ERR_516"),
554    ERR_517("ERR_517"),
555    ERR_518("ERR_518"),
556    ERR_519("ERR_519"),
557    // ERR_520("ERR_520"),
558    // ERR_521("ERR_521"),
559    ERR_522("ERR_522"),
560    ERR_523("ERR_523"),
561    ERR_524("ERR_524"),
562    ERR_525("ERR_525"),
563    ERR_526("ERR_526"),
564    ERR_527("ERR_527"),
565    ERR_528("ERR_528"),
566    ERR_529("ERR_529"),
567    // ERR_530( "ERR_530" ),
568    ERR_531("ERR_531"),
569    ERR_532("ERR_532"),
570    ERR_533("ERR_533"),
571    ERR_534("ERR_534"),
572    ERR_535("ERR_535"),
573    ERR_536("ERR_536"),
574    ERR_537("ERR_537"),
575    ERR_538("ERR_538"),
576    ERR_539_BAD_BLOCK_ID("ERR_539_BAD_BLOCK_ID"),
577    ERR_540("ERR_540"),
578    ERR_541("ERR_541"),
579    ERR_542("ERR_542"),
580    ERR_543("ERR_543"),
581    ERR_544("ERR_544"),
582    ERR_545("ERR_545"),
583    ERR_546("ERR_546"),
584    ERR_547("ERR_547"),
585    ERR_548("ERR_548"),
586    ERR_549("ERR_549"),
587    ERR_550("ERR_550"),
588    ERR_551("ERR_551"),
589    ERR_552("ERR_552"),
590    ERR_553("ERR_553"),
591    ERR_554("ERR_554"),
592    ERR_555("ERR_555"),
593    ERR_556("ERR_556"),
594    ERR_557("ERR_557"),
595    ERR_558("ERR_558"),
596    ERR_559("ERR_559"),
597    ERR_560("ERR_560"),
598    ERR_561("ERR_561"),
599    ERR_562("ERR_562"),
600    ERR_563("ERR_563"),
601    ERR_564("ERR_564"),
602    ERR_565("ERR_565"),
603    ERR_566("ERR_566"),
604    ERR_567("ERR_567"),
605    ERR_568("ERR_568"),
606    ERR_569("ERR_569"),
607    ERR_570("ERR_570"),
608    ERR_571("ERR_571"),
609    ERR_572("ERR_572"),
610    ERR_573("ERR_573"),
611    ERR_574("ERR_574"),
612    ERR_575("ERR_575"),
613    ERR_576("ERR_576"),
614    ERR_577("ERR_577"),
615    // ERR_578( "ERR_578" ),
616    // ERR_579( "ERR_579" ),
617    // ERR_580( "ERR_580" ),
618    ERR_581("ERR_581"),
619    // ERR_582( "ERR_582" ),
620    // ERR_583( "ERR_583" ),
621    // ERR_584( "ERR_584" ),
622    // ERR_585( "ERR_585" ),
623    // ERR_586( "ERR_586" ),
624    // ERR_587( "ERR_587" ),
625    // ERR_588( "ERR_588" ),
626    // ERR_589( "ERR_589" ),
627    // ERR_590( "ERR_590" ),
628    ERR_591("ERR_591"),
629    ERR_592("ERR_592"),
630    ERR_593("ERR_593"),
631    ERR_594("ERR_594"),
632    // ERR_595( "ERR_595" ),
633    ERR_596("ERR_596"),
634    ERR_597("ERR_597"),
635    // ERR_598( "ERR_598" ),
636    ERR_599("ERR_599"),
637    ERR_600("ERR_600"),
638    ERR_601("ERR_601"),
639    ERR_602("ERR_602"),
640    ERR_603("ERR_603"),
641    ERR_604("ERR_604"),
642    ERR_605("ERR_605"),
643    ERR_606("ERR_606"),
644    ERR_607("ERR_607"),
645    ERR_608("ERR_608"),
646    ERR_609("ERR_609"),
647    ERR_610("ERR_610"),
648    ERR_611("ERR_611"),
649    ERR_612("ERR_612"),
650    ERR_613("ERR_613"),
651    ERR_614("ERR_614"),
652    ERR_615("ERR_615"),
653    ERR_616("ERR_616"),
654    ERR_617("ERR_617"),
655    ERR_618("ERR_618"),
656    ERR_619("ERR_619"),
657    // ERR_620( "ERR_620" ),
658    // ERR_621( "ERR_621" ),
659    ERR_622("ERR_622"),
660    ERR_623("ERR_623"),
661    ERR_624("ERR_624"),
662    ERR_625("ERR_625"),
663    ERR_626("ERR_626"),
664    ERR_627("ERR_627"),
665    ERR_628("ERR_628"),
666    ERR_629("ERR_629"),
667    ERR_630("ERR_630"),
668    ERR_631("ERR_631"),
669    ERR_632("ERR_632"),
670    ERR_633("ERR_633"),
671    ERR_634("ERR_634"),
672    ERR_635("ERR_635"),
673    ERR_636("ERR_636"),
674    ERR_637("ERR_637"),
675    ERR_638("ERR_638"),
676    ERR_639("ERR_639"),
677    ERR_640("ERR_640"),
678    ERR_641("ERR_641"),
679    ERR_642("ERR_642"),
680    // ERR_643( "ERR_643" ),
681    // ERR_644( "ERR_644" ),
682    // ERR_645( "ERR_645" ),
683    ERR_646("ERR_646"),
684    ERR_647("ERR_647"),
685    ERR_648("ERR_648"),
686    ERR_649("ERR_649"),
687    ERR_650("ERR_650"),
688    ERR_651("ERR_651"),
689    ERR_652("ERR_652"),
690    ERR_653("ERR_653"),
691    ERR_654("ERR_654"),
692    ERR_655("ERR_655"),
693    ERR_656("ERR_656"),
694    ERR_657("ERR_657"),
695    ERR_658("ERR_658"),
696    ERR_659("ERR_659"),
697    ERR_660("ERR_660"),
698    ERR_661("ERR_661"),
699    ERR_662("ERR_662"),
700    ERR_663("ERR_663"),
701    ERR_664("ERR_664"),
702    // ERR_665( "ERR_665" ),
703    ERR_666("ERR_666"),
704    ERR_667("ERR_667"),
705    ERR_668("ERR_668"),
706    ERR_669("ERR_669"),
707    ERR_670("ERR_670"),
708    ERR_671("ERR_671"),
709    ERR_672("ERR_672"),
710    // ERR_673( "ERR_673" ),
711    ERR_674("ERR_674"),
712    ERR_675("ERR_675"),
713    ERR_676("ERR_676"),
714    ERR_677("ERR_677"),
715    ERR_678("ERR_678"),
716    ERR_679("ERR_679"),
717    ERR_680("ERR_680"),
718    ERR_681("ERR_681"),
719    ERR_682("ERR_682"),
720    ERR_683("ERR_683"),
721    ERR_684("ERR_684"),
722    ERR_685("ERR_685"),
723    ERR_686("ERR_686"),
724    ERR_687("ERR_687"),
725    // ERR_688( "ERR_688" ),
726    ERR_689("ERR_689"),
727    ERR_690("ERR_690"),
728    ERR_691("ERR_691"),
729    ERR_692("ERR_692"),
730    // ERR_693( "ERR_693" ),
731    ERR_694("ERR_694"),
732    ERR_695("ERR_695"),
733    // ERR_696( "ERR_696" ),
734    ERR_697("ERR_697"),
735    ERR_698("ERR_698"),
736    ERR_699("ERR_699"),
737    ERR_700("ERR_700"),
738    ERR_701("ERR_701"),
739    ERR_702("ERR_702"),
740    ERR_703("ERR_703"),
741    ERR_704("ERR_704"),
742    ERR_705("ERR_705"),
743    ERR_706("ERR_706"),
744    ERR_707("ERR_707"),
745    ERR_708("ERR_708"),
746    ERR_709("ERR_709"),
747    // ERR_710( "ERR_710" ),
748    ERR_711("ERR_711"),
749    ERR_712("ERR_712"),
750    ERR_713("ERR_713"),
751    ERR_714("ERR_714"),
752    ERR_715("ERR_715"),
753    ERR_716("ERR_716"),
754    ERR_717("ERR_717"),
755    ERR_718("ERR_718"),
756    ERR_719("ERR_719"),
757    ERR_720("ERR_720"),
758    ERR_721("ERR_721"),
759    ERR_722("ERR_722"),
760    ERR_723("ERR_723"),
761    ERR_724("ERR_724"),
762    ERR_725("ERR_725"),
763    ERR_726_FILE_UNDELETABLE("ERR_726_FILE_UNDELETABLE"),
764    ERR_727("ERR_727"),
765    ERR_728("ERR_728"),
766    ERR_729("ERR_729"),
767    ERR_730("ERR_730"),
768    ERR_731("ERR_731"),
769    ERR_732("ERR_732"),
770    ERR_733("ERR_733"),
771    ERR_734_CANNOT_ENCODE_KRBERROR("ERR_734_CANNOT_ENCODE_KRBERROR"),
772    ERR_735_CANNOT_ENCODE_KRBSAFEBODY("ERR_735_CANNOT_ENCODE_KRBSAFEBODY"),
773    ERR_736_CANNOT_ENCODE_KRBSAFE("ERR_736_CANNOT_ENCODE_KRBSAFE"),
774    ERR_737_CANNOT_ENCODE_ENC_KRB_PRIV_PART("ERR_737_CANNOT_ENCODE_ENC_KRB_PRIV_PART"),
775    ERR_738_CANNOT_ENCODE_KRB_PRIV("ERR_738_CANNOT_ENCODE_KRB_PRIV"),
776    ERR_739_CANNOT_ENCODE_KRB_CRED_INFO("ERR_739_CANNOT_ENCODE_KRB_CRED_INFO"),
777    ERR_740_CANNOT_ENCODE_ENC_KRB_CRED_PART("ERR_740_CANNOT_ENCODE_ENC_KRB_CRED_PART"),
778    ERR_741_CANNOT_ENCODE_KRB_CRED("ERR_741_CANNOT_ENCODE_KRB_CRED"),
779    ERR_742_CANNOT_ENCODE_ENC_TICKET_PART("ERR_742_CANNOT_ENCODE_ENC_TICKET_PART"),
780    ERR_743_CANNOT_ENCODE_TYPED_DATA("ERR_743_CANNOT_ENCODE_TYPED_DATA"),
781    ERR_744_NULL_PDU_LENGTH("ERR_744_NULL_PDU_LENGTH"),
782    ERR_745_NOT_A_KERBEROS_STRING("ERR_745_NOT_A_KERBEROS_STRING"),
783    ERR_746("ERR_746"),
784    ERR_747("ERR_747"),
785    ERR_748("ERR_748"),
786    ERR_749("ERR_749"),
787    ERR_750("ERR_750");
788
789    private static final ResourceBundle ERR_BUNDLE = ResourceBundle
790        .getBundle( "org.apache.directory.server.i18n.errors", Locale.ROOT );
791
792    private static final ResourceBundle MSG_BUNDLE = ResourceBundle
793        .getBundle( "org/apache/directory/server/i18n/messages", Locale.ROOT );
794
795    /** The error code */
796    private String errorCode;
797
798
799    /**
800     * Creates a new instance of I18n.
801     */
802    I18n( String errorCode )
803    {
804        this.errorCode = errorCode;
805    }
806
807
808    /**
809     * @return the errorCode
810     */
811    public String getErrorCode()
812    {
813        return errorCode;
814    }
815
816
817    /**
818     * 
819     * Translate an error code with argument(s)
820     *
821     * @param err The error code
822     * @param args The argument(s)
823     * @return The translate error code
824     */
825    public static String err( I18n err, Object... args )
826    {
827        try
828        {
829            return err + " "
830                + new MessageFormat( ERR_BUNDLE.getString( err.getErrorCode() ), Locale.ROOT ).format( args );
831        }
832        catch ( Exception e )
833        {
834            StringBuilder sb = new StringBuilder();
835            boolean comma = false;
836
837            for ( Object obj : args )
838            {
839                if ( comma )
840                {
841                    sb.append( "," );
842                }
843                else
844                {
845                    comma = true;
846                }
847
848                sb.append( obj );
849            }
850
851            return err + " (" + sb.toString() + ")";
852        }
853    }
854
855
856    /**
857     * 
858     * Translate a message with argument(s)
859     *
860     * @param msg The message
861     * @param args The argument(s)
862     * @return The translated message
863     */
864    public static String msg( String msg, Object... args )
865    {
866        try
867        {
868            return new MessageFormat( MSG_BUNDLE.getString( msg ), Locale.ROOT ).format( args );
869        }
870        catch ( MissingResourceException mre )
871        {
872            try
873            {
874                return new MessageFormat( msg, Locale.ROOT ).format( args );
875            }
876            catch ( Exception e )
877            {
878                StringBuilder sb = new StringBuilder();
879                boolean comma = false;
880
881                for ( Object obj : args )
882                {
883                    if ( comma )
884                    {
885                        sb.append( "," );
886                    }
887                    else
888                    {
889                        comma = true;
890                    }
891
892                    sb.append( obj );
893                }
894
895                return msg + " (" + sb.toString() + ")";
896            }
897        }
898    }
899}