You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2018/05/15 22:31:03 UTC

[directory-ldap-api] 01/06: o Refactored api-ldap-codec-standalone error messages o Refactored api-ldap-extras-aci error messages

This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-ldap-api.git

commit a4a06ab15f2e9d4e54a397479da2d16060293e9a
Author: Emmanuel Lécharny <el...@symas.com>
AuthorDate: Tue Apr 10 15:15:09 2018 +0200

    o Refactored api-ldap-codec-standalone error messages
    o Refactored api-ldap-extras-aci error messages
---
 .../java/org/apache/directory/api/i18n/I18n.java   | 221 +++++++++++++++------
 .../apache/directory/api/i18n/errors.properties    | 145 ++++++++------
 .../apache/directory/api/i18n/messages.properties  |  78 +++++++-
 .../api/ldap/codec/BasicControlDecorator.java      |   2 +-
 .../api/ldap/codec/actions/CheckLengthNotNull.java |   2 +-
 .../ldap/codec/actions/controls/AddControl.java    |   6 +-
 .../actions/controls/StoreControlCriticality.java  |   4 +-
 .../codec/actions/controls/StoreControlValue.java  |   3 +-
 .../directory/api/ldap/codec/api/LdapEncoder.java  |   6 +-
 .../proxiedauthz/ProxiedAuthzDecorator.java        |   2 +-
 .../search/entryChange/EntryChangeDecorator.java   |   2 +-
 .../search/pagedSearch/PagedResultsDecorator.java  |   2 +-
 .../PersistentSearchDecorator.java                 |   2 +-
 .../search/subentries/SubentriesDecorator.java     |   2 +-
 .../codec/controls/sort/SortRequestDecorator.java  |   2 +-
 .../codec/controls/sort/SortResponseDecorator.java |   2 +-
 .../codec/decorators/AbandonRequestDecorator.java  |   2 +-
 .../codec/decorators/AddResponseDecorator.java     |   2 +-
 .../codec/decorators/BindRequestDecorator.java     |   6 +-
 .../codec/decorators/BindResponseDecorator.java    |   2 +-
 .../codec/decorators/CompareRequestDecorator.java  |   2 +-
 .../codec/decorators/CompareResponseDecorator.java |   2 +-
 .../codec/decorators/DeleteRequestDecorator.java   |   2 +-
 .../codec/decorators/DeleteResponseDecorator.java  |   2 +-
 .../codec/decorators/ExtendedRequestDecorator.java |   2 +-
 .../decorators/ExtendedResponseDecorator.java      |   2 +-
 .../decorators/IntermediateResponseDecorator.java  |   2 +-
 .../ldap/codec/decorators/LdapResultDecorator.java |   4 +-
 .../codec/decorators/ModifyDnRequestDecorator.java |   2 +-
 .../decorators/ModifyDnResponseDecorator.java      |   2 +-
 .../codec/decorators/ModifyRequestDecorator.java   |   2 +-
 .../codec/decorators/ModifyResponseDecorator.java  |   2 +-
 .../codec/decorators/SearchRequestDecorator.java   |   2 +-
 .../decorators/SearchResultDoneDecorator.java      |   2 +-
 .../decorators/SearchResultEntryDecorator.java     |   2 +-
 .../decorators/SearchResultReferenceDecorator.java |   2 +-
 .../codec/decorators/UnbindRequestDecorator.java   |   2 +-
 .../ldap/codec/osgi/DefaultLdapCodecService.java   |  19 +-
 .../directory/api/ldap/codec/search/AndFilter.java |   4 +-
 .../search/AttributeValueAssertionFilter.java      |   4 +-
 .../api/ldap/codec/search/ConnectorFilter.java     |   2 +-
 .../ldap/codec/search/ExtensibleMatchFilter.java   |   4 +-
 .../directory/api/ldap/codec/search/NotFilter.java |   4 +-
 .../directory/api/ldap/codec/search/OrFilter.java  |   4 +-
 .../api/ldap/codec/search/PresentFilter.java       |   4 +-
 .../api/ldap/codec/search/SubstringFilter.java     |   4 +-
 .../ldap/codec/standalone/CodecFactoryUtil.java    |  65 +++---
 .../codec/standalone/StandaloneLdapApiService.java |  13 +-
 .../org/apache/directory/api/ldap/aci/ACIItem.java |   6 +-
 .../directory/api/ldap/aci/ACIItemChecker.java     |   4 +-
 .../directory/api/ldap/aci/ACIItemParser.java      |   4 +-
 .../apache/directory/api/ldap/aci/ACITuple.java    |   4 +-
 .../ldap/aci/protectedItem/RangeOfValuesItem.java  |   3 +-
 .../api/ldap/extras/controls/SyncModifyDnType.java |   3 +-
 .../controls/ppolicy/PasswordPolicyErrorEnum.java  |   3 +-
 .../syncrepl/syncState/SyncStateTypeEnum.java      |   2 +-
 .../controls/vlv/VirtualListViewResultCode.java    |   3 +-
 .../StoredProcedureRequestImpl.java                |   8 +-
 .../intermediate/syncrepl/SyncInfoValueImpl.java   |   3 +-
 .../controls/ad_impl/AdDirSyncDecorator.java       |   2 +-
 .../extras/controls/ad_impl/AdDirSyncGrammar.java  |  13 +-
 .../controls/ad_impl/AdPolicyHintsDecorator.java   |   2 +-
 .../extras/controls/ppolicy_impl/PPolicyInit.java  |   3 +-
 .../ppolicy_impl/PasswordPolicyDecorator.java      |   2 +-
 .../syncrepl_impl/SyncDoneValueDecorator.java      |   2 +-
 .../syncrepl_impl/SyncDoneValueGrammar.java        |   6 +-
 .../syncrepl_impl/SyncRequestValueDecorator.java   |   2 +-
 .../syncrepl_impl/SyncRequestValueGrammar.java     |  14 +-
 .../syncrepl_impl/SyncStateValueDecorator.java     |   2 +-
 .../syncrepl_impl/SyncStateValueGrammar.java       |   8 +-
 .../controls/vlv_impl/InitByOffsetSequence.java    |   3 +-
 .../vlv_impl/InitVirtualListViewRequest.java       |   3 +-
 .../vlv_impl/VirtualListViewRequestDecorator.java  |   2 +-
 .../vlv_impl/VirtualListViewResponseDecorator.java |   2 +-
 .../extended/ads_impl/cancel/CancelGrammar.java    |   4 +-
 .../ads_impl/cancel/CancelRequestDecorator.java    |   4 +-
 .../certGeneration/CertGenerationGrammar.java      |  18 +-
 .../CertGenerationRequestDecorator.java            |   4 +-
 .../EndTransactionRequestDecorator.java            |   2 +-
 .../EndTransactionRequestGrammar.java              |   6 +-
 .../EndTransactionResponseDecorator.java           |   2 +-
 .../EndTransactionResponseGrammar.java             |   6 +-
 .../endTransaction/controls/ControlsGrammar.java   |   2 +-
 .../controls/actions/AddControl.java               |   6 +-
 .../controls/actions/StoreControlCriticality.java  |   4 +-
 .../controls/actions/StoreControlValue.java        |   3 +-
 .../GracefulDisconnectGrammar.java                 |  14 +-
 .../GracefulDisconnectResponseDecorator.java       |   4 +-
 .../gracefulShutdown/GracefulShutdownGrammar.java  |  12 +-
 .../GracefulShutdownRequestDecorator.java          |   4 +-
 .../pwdModify/PasswordModifyRequestDecorator.java  |   2 +-
 .../pwdModify/PasswordModifyRequestGrammar.java    |  13 +-
 .../pwdModify/PasswordModifyResponseDecorator.java |   2 +-
 .../pwdModify/PasswordModifyResponseGrammar.java   |   3 +-
 .../storedProcedure/StoredProcedureGrammar.java    |  21 +-
 .../StoredProcedureRequestDecorator.java           |   9 +-
 .../ads_impl/whoAmI/WhoAmIResponseDecorator.java   |   4 +-
 .../ads_impl/whoAmI/WhoAmIResponseGrammar.java     |  13 +-
 .../syncrepl_impl/SyncInfoValueDecorator.java      |   6 +-
 .../syncrepl_impl/SyncInfoValueGrammar.java        |  76 +++----
 .../StoredProcedureLanguageSchemeOption.java       |  26 ++-
 .../api/ldap/trigger/TriggerSpecification.java     |  16 +-
 .../ldap/trigger/TriggerSpecificationParser.java   |   6 +-
 .../directory/api/ldap/model/ldif/LdifEntry.java   |   2 +-
 .../schema/manager/impl/DefaultSchemaManager.java  |   4 +-
 105 files changed, 630 insertions(+), 433 deletions(-)

diff --git a/i18n/src/main/java/org/apache/directory/api/i18n/I18n.java b/i18n/src/main/java/org/apache/directory/api/i18n/I18n.java
index 640b46d..5027889 100644
--- a/i18n/src/main/java/org/apache/directory/api/i18n/I18n.java
+++ b/i18n/src/main/java/org/apache/directory/api/i18n/I18n.java
@@ -153,11 +153,6 @@ public enum I18n
     ERR_03208_TIMEOUT( "ERR_03208_TIMEOUT" ),
 
     // ldap
-    ERR_04001_NULL_IDENTIFICATION_TAG( "ERR_04001_NULL_IDENTIFICATION_TAG" ),
-    ERR_04002_BAD_PRECENDENCE( "ERR_04002_BAD_PRECENDENCE" ),
-    ERR_04003_NULL_AUTHENTICATION_LEVEL( "ERR_04003_NULL_AUTHENTICATION_LEVEL" ),
-    ERR_04004_PARSER_FAILURE_ACI_ITEM( "ERR_04004_PARSER_FAILURE_ACI_ITEM" ),
-    ERR_04005( "ERR_04005" ),
     ERR_04006( "ERR_04006" ),
     ERR_04007( "ERR_04007" ),
     ERR_04008( "ERR_04008" ),
@@ -175,26 +170,6 @@ public enum I18n
     ERR_04020( "ERR_04020" ),
     ERR_04021( "ERR_04021" ),
     ERR_04022( "ERR_04022" ),
-    ERR_04023( "ERR_04023" ),
-    ERR_04024( "ERR_04024" ),
-    ERR_04025( "ERR_04025" ),
-    ERR_04026( "ERR_04026" ),
-    ERR_04027( "ERR_04027" ),
-    ERR_04028( "ERR_04028" ),
-    ERR_04029( "ERR_04029" ),
-    ERR_04030( "ERR_04030" ),
-    ERR_04031( "ERR_04031" ),
-    ERR_04032( "ERR_04032" ),
-    ERR_04033( "ERR_04033" ),
-    ERR_04034( "ERR_04034" ),
-    ERR_04035( "ERR_04035" ),
-    ERR_04036( "ERR_04036" ),
-    ERR_04037( "ERR_04037" ),
-    ERR_04038( "ERR_04038" ),
-    ERR_04039( "ERR_04039" ),
-    ERR_04040( "ERR_04040" ),
-    ERR_04041( "ERR_04041" ),
-    ERR_04042( "ERR_04042" ),
     ERR_04043( "ERR_04043" ),
     ERR_04044( "ERR_04044" ),
     ERR_04045( "ERR_04045" ),
@@ -247,11 +222,6 @@ public enum I18n
     ERR_04093( "ERR_04093" ),
     ERR_04094( "ERR_04094" ),
     ERR_04095( "ERR_04095" ),
-    ERR_04096_NULL_CONTROL_LENGTH( "ERR_04096_NULL_CONTROL_LENGTH" ),
-    ERR_04097_NULL_CONTROL_OID( "ERR_04097_NULL_CONTROL_OID" ),
-    ERR_04098_INVALID_CONTROL_OID( "ERR_04098_INVALID_CONTROL_OID" ),
-    ERR_04099_INVALID_CONTROL_LIST( "ERR_04099_INVALID_CONTROL_LIST" ),
-    ERR_04100_BAD_CONTROL_CRITICALITY( "ERR_04100_BAD_CONTROL_CRITICALITY" ),
     ERR_04101( "ERR_04101" ),
     ERR_04102( "ERR_04102" ),
     ERR_04103( "ERR_04103" ),
@@ -276,17 +246,9 @@ public enum I18n
     ERR_04142( "ERR_04142" ),
     ERR_04143( "ERR_04143" ),
     ERR_04156( "ERR_04156" ),
-    ERR_04163( "ERR_04163" ),
-    ERR_04164( "ERR_04164" ),
-    ERR_04165_PAYLOAD_DECODING_ERROR( "ERR_04165_PAYLOAD_DECODING_ERROR" ),
-    ERR_04167( "ERR_04167" ),
     ERR_04169( "ERR_04169" ),
     ERR_04170( "ERR_04170" ),
     ERR_04171( "ERR_04171" ),
-    ERR_04172( "ERR_04172" ),
-    ERR_04174( "ERR_04174" ),
-    ERR_04175( "ERR_04175" ),
-    ERR_04176( "ERR_04176" ),
     ERR_04177( "ERR_04177" ),
     ERR_04178( "ERR_04178" ),
     ERR_04179( "ERR_04179" ),
@@ -339,9 +301,6 @@ public enum I18n
     ERR_04298( "ERR_04298" ),
     ERR_04299( "ERR_04299" ),
     ERR_04300( "ERR_04300" ),
-    ERR_04331( "ERR_04331" ),
-    ERR_04332( "ERR_04332" ),
-    ERR_04333( "ERR_04333" ),
     ERR_04334( "ERR_04334" ),
     ERR_04337( "ERR_04337" ),
     ERR_04338( "ERR_04338" ),
@@ -412,32 +371,103 @@ public enum I18n
     ERR_04479_INVALID_SYNTAX_VALUE( "ERR_04479_INVALID_SYNTAX_VALUE" ),
     ERR_04480_END_OF_STREAM( "ERR_04480_END_OF_STREAM" ),
     ERR_04481_ENTRY_NULL_VALUE( "ERR_04481_ENTRY_NULL_VALUE" ),
-    ERR_04490_BAD_END_TRANSACTION_COMMIT( "ERR_04490_BAD_END_TRANSACTION_COMMIT" ),
-    ERR_04491_BAD_END_TRANSACTION_MESSAGE_ID( "ERR_04490_BAD_END_TRANSACTION_MESSAGE_ID" ),
     
     // ldap-client-api  4100-
     ERR_4100_TLS_HANDSHAKE_ERROR( "ERR_4100_TLS_HANDSHAKE_ERROR" ),
 
-    // ldap-constants
+    // api-ldap-codec-standalone 6000-6999
+    ERR_06000_FAILED_TO_LOAD_DEFAULT_CODEC_FACTORY( "ERR_06000_FAILED_TO_LOAD_DEFAULT_CODEC_FACTORY" ),
+    
+    // api-ldap-extras-aci   7000-7999
+    ERR_07000_FILTER( "ERR_07000_FILTER" ),
+    ERR_07001_NULL_IDENTIFICATION_TAG( "ERR_07001_NULL_IDENTIFICATION_TAG" ),
+    ERR_07002_BAD_PRECENDENCE( "ERR_07002_BAD_PRECENDENCE" ),
+    ERR_07003_NULL_AUTHENTICATION_LEVEL( "ERR_07003_NULL_AUTHENTICATION_LEVEL" ),
+    ERR_07004_PARSER_FAILURE_ACI_ITEM( "ERR_07004_PARSER_FAILURE_ACI_ITEM" ),
+
+    // api-ldap-extras-codec 8000-8999
+    // api-ldap-extras-codec <>           8000-8099
+    ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER( "ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER" ),
+    ERR_08001_CANNOT_DECODE_REFRESH_DELETES( "ERR_08001_CANNOT_DECODE_REFRESH_DELETES" ),
+
+    // api-ldap-extras-codec controls     8100-8199
+    ERR_08100_SYNC_REQUEST_VALUE_MODE_DECODING_FAILED( "ERR_08100_SYNC_REQUEST_VALUE_MODE_DECODING_FAILED" ),
+    ERR_08101_RELOAD_HINT_DECODING_FAILED( "ERR_08101_RELOAD_HINT_DECODING_FAILED" ),
+    ERR_08102_SYNC_STATE_VALUE_MODE_DECODING_FAILED( "ERR_08102_SYNC_STATE_VALUE_MODE_DECODING_FAILED" ),
+    ERR_08103_BAD_CONTROL_CRITICALITY( "ERR_08103_BAD_CONTROL_CRITICALITY" ),
+    ERR_08104_AD_DIR_SYNC_FLAG_DECODING_FAILURE( "ERR_08104_AD_DIR_SYNC_FLAG_DECODING_FAILURE" ),
+    ERR_08105_AD_DIR_SYNC_FLAG_DECODING_ERROR( "ERR_08105_AD_DIR_SYNC_FLAG_DECODING_ERROR" ), 
+    ERR_08106_AD_DIR_SYNC_MAX_RETURN_LENGTH_DECODING_ERROR( "ERR_08106_AD_DIR_SYNC_MAX_RETURN_LENGTH_DECODING_ERROR" ), 
+
+
+    // api-ldap-extras-codec extended     8200-8399
+    ERR_08200_CANCELID_DECODING_FAILED( "ERR_08200_CANCELID_DECODING_FAILED" ),
+    ERR_08201_INVALID_TARGET_DN( "ERR_08201_INVALID_TARGET_DN" ),
+    ERR_08202_NULL_TARGET_DN_DECODING_FAILED( "ERR_08202_NULL_TARGET_DN_DECODING_FAILED" ),
+    ERR_08203_INVALID_ISSUER_DN( "ERR_08203_INVALID_ISSUER_DN" ),
+    ERR_08204_INVALID_SUBJECT_DN( "ERR_08204_INVALID_SUBJECT_DN" ),
+    ERR_08205_CANNOT_DECODE_DELAY( "ERR_08205_CANNOT_DECODE_DELAY" ),
+    ERR_08206_TIME_OFFLINE_DECODING_FAILED( "ERR_08206_TIME_OFFLINE_DECODING_FAILED" ),
+    ERR_08207_SP_LANGUAGE_NULL( "ERR_08207_SP_LANGUAGE_NULL" ),
+    ERR_08208_NULL_PROCEDURE( "ERR_08208_NULL_PROCEDURE" ),
+    ERR_08209_NULL_PARAMETER_TYPE( "ERR_08209_NULL_PARAMETER_TYPE" ),
+    ERR_08210_NULL_PARAMETER_VALUE( "ERR_08210_NULL_PARAMETER_VALUE" ),
+    ERR_08211_EMPTY_PARAMETER_VALUE( "ERR_08211_EMPTY_PARAMETER_VALUE" ),
+    ERR_08212_PDU_BUFFER_TOO_SMALL( "ERR_08212_PDU_BUFFER_TOO_SMALL" ),
+    ERR_08213_NULL_CONTROL_LENGTH( "ERR_08213_NULL_CONTROL_LENGTH" ),
+    ERR_08214_NULL_OID( "ERR_08214_NULL_OID" ),
+    ERR_08215_INVALID_CONTROL_OID( "ERR_08215_INVALID_CONTROL_OID" ),
+    ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED( "ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED" ),
+    ERR_08217_PAYLOAD_DECODING_ERROR( "ERR_08217_PAYLOAD_DECODING_ERROR" ),
+    ERR_08218_CERT_GENERATE_PAYLOAD_ENCODING_FAILED( "ERR_08218_CERT_GENERATE_PAYLOAD_ENCODING_FAILED" ),
+    ERR_08219_RESPONSE_DECODING_FAILED( "ERR_08219_RESPONSE_DECODING_FAILED" ),
+    ERR_08220_SP_PAYLOAD_ENCODING_FAILED( "ERR_08220_SP_PAYLOAD_ENCODING_FAILED" ),
+    ERR_08221_BAD_END_TRANSACTION_COMMIT( "ERR_08221_BAD_END_TRANSACTION_COMMIT" ),
+    ERR_08222_BAD_END_TRANSACTION_MESSAGE_ID( "ERR_08222_BAD_END_TRANSACTION_MESSAGE_ID" ),
+    ERR_08223_INVALID_CONTROL_LIST( "ERR_08223_INVALID_CONTROL_LIST" ),
+    ERR_08224_NULL_URL_DECODING_FAILURE( "ERR_08224_NULL_URL_DECODING_FAILURE" ),
+    ERR_08225_URL_DECODING_FAILURE( "ERR_08225_URL_DECODING_FAILURE" ),
+    ERR_08226_AUTHZID_TOO_SHORT_MISSING_U_OR_DN( "ERR_08226_AUTHZID_TOO_SHORT_MISSING_U_OR_DN" ),
+    ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN( "ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN" ),
+    ERR_08228_DECORATED_SP_NULL( "ERR_08228_DECORATED_SP_NULL" ),
+    ERR_08229_UNEXPECTED_SYNC_INFO( "ERR_08229_UNEXPECTED_SYNC_INFO" ),
+
+
 
-    // ldap-jndi
-    // no exceptions to translate
+    // api-ldap-extras-codec intermediate 8300-8399
+    ERR_08300_REFRESH_DONE_DECODING_FAILED( "ERR_08300_REFRESH_DONE_DECODING_FAILED" ),
+    ERR_08301_REFRESH_DELETES_DECODING_FAILED( "ERR_08301_REFRESH_DELETES_DECODING_FAILED" ),
+    ERR_08302_BAD_UUID_VALUE_INCORRECT_LENGTH( "ERR_08302_BAD_UUID_VALUE_INCORRECT_LENGTH" ),
 
+    // api-ldap-extras-codec-api 9000-9999
+    // api-ldap-extras-codec-api <>           9000 -  9099
+    // api-ldap-extras-codec-api controls     9100 -  9199
+    ERR_9100_UNKNOWN_PASSWORD_POLICY_ERROR( "ERR_9100_UNKNOWN_PASSWORD_POLICY_ERROR" ),
+    ERR_9101_UNKNOWN_MODIFY_DN_OP_TYPE( "ERR_9101_UNKNOWN_MODIFY_DN_OP_TYPE" ),
+    ERR_9102_UNKNOWN_VLV_RESPONSE( "ERR_9102_UNKNOWN_VLV_RESPONSE" ),
+    ERR_9103_UNKNOWN_SYNC_STATE_TYPE( "ERR_9103_UNKNOWN_SYNC_STATE_TYPE" ),
+    ERR_9104_CLASS_LOADING_OF_PROC_TYPE_NOT_IMPLEMENTED( "ERR_9104_CLASS_LOADING_OF_PROC_TYPE_NOT_IMPLEMENTED" ),
+    ERR_9105_CONVERSION_VALUE_TO_JAVA_NOT_IMPLEMENTED( "ERR_9105_CONVERSION_VALUE_TO_JAVA_NOT_IMPLEMENTED" ),
 
-    // ldap-schema-manager
-    ERR_11001( "ERR_11001" ),
-    ERR_11003( "ERR_11003" ),
-    ERR_11004( "ERR_11004" ),
-    ERR_11005( "ERR_11005" ),
-    ERR_11006( "ERR_11006" ),
-    ERR_11007( "ERR_11007" ),
+    // api-ldap-extras-codec-api extended     9200 -  9299
+    ERR_9200_INTERGER_DECODING_FAILURE( "ERR_9200_INTERGER_DECODING_FAILURE" ),
 
-    // ldap-schema-manager
+    // api-ldap-extras-codec-api intermediate 9300 -  9399
+    ERR_9300_UNEXPECTED_SYNCINFO( "ERR_9300_UNEXPECTED_SYNCINFO" ),
+
+    // api-ldap-extras-sp 10000-10999 
+
+    // api-ldap-extras-trigger 11000-11999 
+    ERR_11000_TRIGGER_SPECIFICATION_INIT_WITH_NULL( "ERR_11000_TRIGGER_SPECIFICATION_INIT_WITH_NULL" ),
+    ERR_11001_TRIGGER_SPECIFICATION_INIT_WITH_EPTY_SPEC_LIST( "ERR_11001_TRIGGER_SPECIFICATION_INIT_WITH_EPTY_SPEC_LIST" ),
+    ERR_11002_TRIGGER_SPECIFICATION_PARSER_FAILURE( "ERR_11002_TRIGGER_SPECIFICATION_PARSER_FAILURE" ),
+
+    // api-ldap-extra-utils 12000-12999
     ERR_12000_CANNOT_PROCESS_EMPTY_DN( "ERR_12000_CANNOT_PROCESS_EMPTY_DN" ),
     ERR_12001_CANNOT_ADD_NODE_CHILD_EXISTS( "ERR_12001_CANNOT_ADD_NODE_CHILD_EXISTS" ),
     ERR_12002_CANNOT_ADD_NODE_ALREADY_EXISTS( "ERR_12002_CANNOT_ADD_NODE_ALREADY_EXISTS" ),
     
-    // api-ldap-model 13000 - 13999
+    // api-ldap-model <> 13000 - 13999
     ERR_13000_INVALID_LENGTH( "ERR_13000_INVALID_LENGTH" ),
     ERR_13001_INVALID_MAXOLEN( "ERR_13001_INVALID_MAXOLEN" ),
     ERR_13002_BAD_NUMBERS_OF_ROUNDS( "ERR_13002_BAD_NUMBERS_OF_ROUNDS" ),
@@ -479,7 +509,7 @@ public enum I18n
     ERR_13039_INVALID_CHAR_AT_LDAP_URL_END( "ERR_13039_INVALID_CHAR_AT_LDAP_URL_END" ),
     ERR_13040_INVALID_URL_ENCODING( "ERR_13040_INVALID_URL_ENCODING" ),
 
-    //   cursor         13100 - 13199
+    // api-ldap-model cursor 13100 - 13199
     ERR_13100_FAILURE_ON_UNDERLYING_CURSOR( "ERR_13100_FAILURE_ON_UNDERLYING_CURSOR" ),
     ERR_13101_MONITOR( "ERR_13101_MONITOR" ),
     ERR_13102_UNSUPPORTED_OPERATION( "ERR_13102_UNSUPPORTED_OPERATION" ),
@@ -495,7 +525,7 @@ public enum I18n
     ERR_13112_CANNOT_ACCESS_IF_BEFORE_FIRST( "ERR_13112_CANNOT_ACCESS_IF_BEFORE_FIRST" ),
     ERR_13113_CANNOT_ACCESS_IF_AFTER_LAST( "ERR_13113_CANNOT_ACCESS_IF_AFTER_LAST" ),
     
-    //   entry          13200 - 13299
+    // api-ldap-model entry 13200 - 13299
     ERR_13200_VALUE_CANT_BE_NORMALIZED( "ERR_13200_VALUE_CANT_BE_NORMALIZED" ),
     ERR_13201_EMPTY_OPTION_NOT_ALLOWED( "ERR_13201_EMPTY_OPTION_NOT_ALLOWED" ),
     ERR_13202_INVALID_OID_MISSING_NUMBER( "ERR_13202_INVALID_OID_MISSING_NUMBER" ),
@@ -548,7 +578,7 @@ public enum I18n
     ERR_13249_NO_COMPARATOR_FOR_AT( "ERR_13249_NO_COMPARATOR_FOR_AT" ),
     ERR_13250_VALUE_MISSING_AT_THE_END( "ERR_13250_VALUE_MISSING_AT_THE_END" ),
     
-    //   filter         13300 - 13399
+    // api-ldap-model filter 13300 - 13399
     ERR_13300_BAD_PLACE_HOLDERS_NUMBER( "ERR_13300_BAD_PLACE_HOLDERS_NUMBER" ),
     ERR_13301_NO_ORDERING_MR_FOR_AT( "ERR_13301_NO_ORDERING_MR_FOR_AT" ),
     ERR_13302_CANNOT_CREATE_NODE_NULL_ATTR( "ERR_13302_CANNOT_CREATE_NODE_NULL_ATTR" ),
@@ -569,7 +599,7 @@ public enum I18n
     ERR_13317_NO_MORE_THAN_ONE_ELEM_IN_NOT( "ERR_13317_NO_MORE_THAN_ONE_ELEM_IN_NOT" ),
     ERR_13318_INVALID_ATTR_IN_REFINEMENT( "ERR_13318_INVALID_ATTR_IN_REFINEMENT" ),
 
-    //   ldif           13400 - 13499
+    // api-ldap-model ldif 13400 - 13499
     ERR_13400_ENTRY_WITH_TWO_DNS( "ERR_13400_ENTRY_WITH_TWO_DNS" ),
     ERR_13401_CHANGE_NOT_ALLOWED( "ERR_13401_CHANGE_NOT_ALLOWED" ),
     ERR_13402_EXPECTING_ATTRIBUTE_TYPE( "ERR_13402_EXPECTING_ATTRIBUTE_TYPE" ),
@@ -647,7 +677,7 @@ public enum I18n
     ERR_13474_LINE_LENGTH_TOO_SHORT( "ERR_13474_LINE_LENGTH_TOO_SHORT" ),
     ERR_13475_UNKNOWN_ATTRIBUTETYPE( "ERR_13475_UNKNOWN_ATTRIBUTETYPE" ),
     
-    //   message        13500 - 13599
+    // api-ldap-model message 13500 - 13599
     ERR_13500_UNDEFINED_CHANGETYPE( "ERR_13500_UNDEFINED_CHANGETYPE" ),
     ERR_13501_UNKNOWN_JNDI_SCOPE( "ERR_13501_UNKNOWN_JNDI_SCOPE" ),
     ERR_13502_UNKNOWN_LDAP_URL_SCOPE( "ERR_13502_UNKNOWN_LDAP_URL_SCOPE" ),
@@ -666,7 +696,7 @@ public enum I18n
     ERR_13515_UNEXPECTED_MOD_OP( "ERR_13515_UNEXPECTED_MOD_OP" ),
     ERR_13516_UNEXPECTED_MESSAGE_TYPE( "ERR_13516_UNEXPECTED_MESSAGE_TYPE" ),
 
-    //   name           13600 - 13699
+    // api-ldap-model name 13600 - 13699
     ERR_13600_TYPE_IS_NULL_OR_EMPTY( "ERR_13600_TYPE_IS_NULL_OR_EMPTY" ),
     ERR_13601_EXPECTED_COMMA_SEMI_COLON( "ERR_13601_EXPECTED_COMMA_SEMI_COLON" ),
     ERR_13602_RDN_EMPTY( "ERR_13602_RDN_EMPTY" ),
@@ -695,7 +725,7 @@ public enum I18n
     ERR_13625_INVALID_RDN( "ERR_13625_INVALID_RDN" ),
     ERR_13626_INVALID_RDN_DUPLICATE_AVA( "ERR_13626_INVALID_RDN_DUPLICATE_AVA" ),
 
-    //   schema        13700 - 13899
+    // api-ldap-model schema 13700 - 13899
     ERR_13700_CANNOT_MODIFY_LOCKED_SCHEMA_OBJECT( "ERR_13700_CANNOT_MODIFY_LOCKED_SCHEMA_OBJECT" ),
     ERR_13701_CANNOT_MODIFY_AT_REGISTRY_COPY( "ERR_13701_CANNOT_MODIFY_AT_REGISTRY_COPY" ),
     ERR_13702_CANNOT_MODIFY_CMP_REGISTRY_COPY( "ERR_13702_CANNOT_MODIFY_CMP_REGISTRY_COPY" ),
@@ -867,6 +897,8 @@ public enum I18n
     ERR_16075_CANNOT_ACCESS_NORM_CTOR( "ERR_16075_CANNOT_ACCESS_NORM_CTOR" ),
     ERR_16076_NOT_A_SCHEMA_DEFINITION( "ERR_16076_NOT_A_SCHEMA_DEFINITION" ),
     ERR_16077_SCHEMA_MANAGER_CANT_BE_LOADED( "ERR_16077_SCHEMA_MANAGER_CANT_BE_LOADED" ),
+    ERR_16078_CANNOT_LOAD_UNKNOWN_SCHEMA( "ERR_16078_CANNOT_LOAD_UNKNOWN_SCHEMA" ),
+    ERR_16079_INVALID_SCHEMA_OBJECT_CANNOT_BE_LOADED( "ERR_16079_INVALID_SCHEMA_OBJECT_CANNOT_BE_LOADED" ),
 
     // api-utils    17000 - 17999
     ERR_17000_UNEXPECTED_PARSER_CONDITION( "ERR_17000_UNEXPECTED_PARSER_CONDITION" ),
@@ -1023,6 +1055,71 @@ public enum I18n
     MSG_03244_CONNECTION_RETRYING( "MSG_03244_CONNECTION_RETRYING" ),
     MSG_03245_CONNECTION_ERROR( "MSG_03245_CONNECTION_ERROR" ),
 
+    // api-ldap-codec-standalone 6000-6999
+    MSG_06000_REGISTERED_CONTROL_FACTORY( "MSG_06000_REGISTERED_CONTROL_FACTORY" ),
+    MSG_06001_REGISTERED_EXTENDED_OP_FACTORY( "MSG_06001_REGISTERED_EXTENDED_OP_FACTORY" ),
+    MSG_06002_REGISTERED_INTERMEDIATE_FACTORY( "MSG_06002_REGISTERED_INTERMEDIATE_FACTORY" ),
+    MSG_06003_CONTROL_FACTORY_ALREADY_LOADED( "MSG_06003_CONTROL_FACTORY_ALREADY_LOADED" ),
+    MSG_06004_REGISTERED_CONTROL_FACTORY( "MSG_06004_REGISTERED_CONTROL_FACTORY" ),
+    MSG_06005_EXTENDED_OP_FACTORY_ALREADY_LOADED( "MSG_06005_EXTENDED_OP_FACTORY_ALREADY_LOADED" ),
+    MSG_06006_INTERMEDIATE_FACTORY_ALREADY_LOADED( "MSG_06006_INTERMEDIATE_FACTORY_ALREADY_LOADED" ),
+
+    // api-ldap-extras-aci   7000-7999
+
+    // api-ldap-extras-codec 8000-8999
+    // api-ldap-extras-codec <>           8000-8099
+    MSG_08000_COOKIE( "MSG_08000_COOKIE" ),
+    MSG_08001_REFRESH_DELETES( "MSG_08001_REFRESH_DELETES�" ),
+    
+    // api-ldap-extras-codec controls     8100-8199
+    MSG_08100_MODE( "MSG_08100_MODE" ),
+    MSG_08101_FLAGS( "MSG_08101_FLAGS" ),
+    MSG_08102_MAX_RETURN_LENGTH( "MSG_08102_MAX_RETURN_LENGTH" ),
+    MSG_08103_PP_RESPONSE_CONTROL_CONTAINER_INITIALIZED( "MSG_08103_PP_RESPONSE_CONTROL_CONTAINER_INITIALIZED" ),
+    MSG_08104_RELOAD_HINT( "MSG_08104_RELOAD_HINT" ),
+    MSG_08105_SYNC_STATE_TYPE( "MSG_08105_SYNC_STATE_TYPE" ),
+    MSG_08106_ENTRY_UUID( "MSG_08106_ENTRY_UUID" ),
+    MSG_08107_VLV_REQUEST_CONTAINER_INITIALIZED( "MSG_08107_VLV_REQUEST_CONTAINER_INITIALIZED" ),
+    
+    // api-ldap-extras-codec extended     8200-8399
+    MSG_08200_CANCEL_ID( "MSG_08200_CANCEL_ID" ),
+    MSG_08201_CONTROL_OID( "MSG_08201_CONTROL_OID" ),
+    MSG_08202_CONTROL_CRITICALITY( "MSG_08202_CONTROL_CRITICALITY" ),
+    MSG_08203_CONTROL_VALUE( "MSG_08203_CONTROL_VALUE" ),
+    MSG_08204_DELAY( "MSG_08204_DELAY" ),
+    MSG_08205_GEN_PASSWORD( "MSG_08205_GEN_PASSWORD" ),
+    MSG_08206_IDENTIFIER( "MSG_08206_IDENTIFIER" ),
+    MSG_08207_ISSUER_DN( "MSG_08207_ISSUER_DN" ),
+    MSG_08208_NEW_PASSWORD( "MSG_08208_NEW_PASSWORD" ),
+    MSG_08209_OLD_PASSWORD( "MSG_08209_OLD_PASSWORD" ),
+    MSG_08210_PARAMETER_TYPE_FOUND( "MSG_08210_PARAMETER_TYPE_FOUND" ),
+    MSG_08211_PARAMETER_VALUE_FOUND( "MSG_08211_PARAMETER_VALUE_FOUND" ),
+    MSG_08212_PROCEDURE_FOUND( "MSG_08212_PROCEDURE_FOUND" ),
+    MSG_08213_SP_LANGUAGE_FOUND( "MSG_08213_SP_LANGUAGE_FOUND" ),
+    MSG_08214_STORES_A_REFERRAL( "MSG_08214_STORES_A_REFERRAL" ),
+    MSG_08215_TARGET_DN( "MSG_08215_TARGET_DN" ),
+    MSG_08216_TIME_OFFLINE( "MSG_08216_TIME_OFFLINE" ),
+    MSG_08217_USER_IDENTITY( "MSG_08217_USER_IDENTITY" ),
+    MSG_08218_KEY_ALGORITHM( "MSG_08218_KEY_ALGORITHM" ),
+    MSG_08219_SUBJECT_DN( "MSG_08219_SUBJECT_DN" ),
+
+    // api-ldap-extras-codec intermediate 8300-8399
+    MSG_08300_NEW_COOKIE( "MSG_08300_NEW_COOKIE" ),
+    MSG_08301_REFRESH_DONE( "MSG_08301_REFRESH_DONE" ),
+    MSG_08302_UUID( "MSG_08302_UUID" ),
+
+    // api-ldap-extras-codec-api 9000-9999
+    // api-ldap-extras-codec-api <>           9000 -  9099
+    // api-ldap-extras-codec-api controls     9100 -  9199
+    // api-ldap-extras-codec-api extended     9200 -  9299
+    // api-ldap-extras-codec-api intermediate 9300 -  9399
+
+    // api-ldap-extras-sp 10000-10999
+
+    // api-ldap-extras-trigger 11000-11999
+
+    // api-ldap-extra-utils <> 12000-12999
+
     // api-ldap-model 13000 - 13999
     //   cursor         13100 - 13199
     MSG_13100_CLOSING_EMPTY_CURSOR( "MSG_13100_CLOSING_EMPTY_CURSOR" ),
diff --git a/i18n/src/main/resources/org/apache/directory/api/i18n/errors.properties b/i18n/src/main/resources/org/apache/directory/api/i18n/errors.properties
index c1e457b..b780933 100644
--- a/i18n/src/main/resources/org/apache/directory/api/i18n/errors.properties
+++ b/i18n/src/main/resources/org/apache/directory/api/i18n/errors.properties
@@ -120,11 +120,6 @@ ERR_03207_SOMETHING_WRONG_HAPPENED=Message failed: something wrong has occurred
 ERR_03208_TIMEOUT=Timeout has occurred
 
 # ldap
-ERR_04001_NULL_IDENTIFICATION_TAG=identificationTag parameter is null
-ERR_04002_BAD_PRECENDENCE=precedence parameter not in [0-255]: {0}
-ERR_04003_NULL_AUTHENTICATION_LEVEL=authenticationLevel parameter is null
-ERR_04004_PARSER_FAILURE_ACI_ITEM=Parser failure on ACIItem:\n\t{0}\nAntlr exception trace:\n{1} [Line:{2} - Column:{3}]
-ERR_04005=The PDU buffer size is too small !
 ERR_04006=The And filter PDU must not be empty
 ERR_04007=The attribute description is empty
 ERR_04008=The type can''t be null
@@ -142,26 +137,6 @@ ERR_04019=The substring any filter is empty
 ERR_04020=The substring final filter is empty
 ERR_04021=The URL {0} is not valid: {1}
 ERR_04022=The type cannot be null in a MatchingRuleAssertion
-ERR_04023=Cannot put a PDU in a null buffer !
-ERR_04024=failed to decode the refreshDeletes flag for SyncDoneValueControl
-ERR_04025=failed to decode the refreshDone flag for SyncInfoValueControl
-ERR_04026=failed to decode the refreshDeletes flag for SyncInfoValueControl
-ERR_04027=Bad UUID value, its length is incorrect ( it should be 16 bytes long)
-ERR_04028=failed to decode the mode for SyncRequestValueControl
-ERR_04029=failed to decode the reloadHint flag for SyncRequestValueControl
-ERR_04030=failed to decode the mode for SyncStateValueControl
-ERR_04031=failed to decode the cancelId, the value should be between 0 and 2^31-1, it is ''{0}''
-ERR_04032=invalid target DN {0}
-ERR_04033=failed to decode the target DN, it cannot be null or empty it is ''{0}''
-ERR_04034=invalid issuer DN {0}
-ERR_04035=invalid subject DN {0}
-ERR_04036=failed to decode the delay, the value should be between 0 and 86400 seconds, it is ''{0}''
-ERR_04037=failed to decode the timeOffline, the value should be between 0 and 720 minutes, it is ''{0}''
-ERR_04038=The stored procedure language is null
-ERR_04039=The procedure can''t be null
-ERR_04040=The parameter type can''t be null
-ERR_04041=The parameter value can''t be null
-ERR_04042=The parameter value is empty. This is not allowed.
 ERR_04043=The request name must not be null
 ERR_04044=failed to decode the changeType for EntryChangeControl
 ERR_04045=The previousDN field should not contain anything if the changeType is not MODDN
@@ -214,11 +189,6 @@ ERR_04092=The new superior must not be null if the flag ''delete old DN'' is set
 ERR_04093=The attribute description must not be null
 ERR_04094=The CompareResponse must not be null
 ERR_04095=The name must not be null
-ERR_04096_NULL_CONTROL_LENGTH=The length of a control must not be null
-ERR_04097_NULL_CONTROL_OID=The OID must not be null
-ERR_04098_INVALID_CONTROL_OID=The control type {0} is not a valid OID
-ERR_04099_INVALID_CONTROL_LIST=Invalid control list {0}: {1}
-ERR_04100_BAD_CONTROL_CRITICALITY=The control criticality flag {0} is invalid: {1}. It should be 0 or 255
 ERR_04101=The scope is not in [0..2]: {0}
 ERR_04102=The derefAlias is not in [0..3]: {0}
 ERR_04103=The sizeLimit is not a valid Integer: {0}
@@ -242,18 +212,10 @@ ERR_04138=The removal of values for the missing ''{0}'' attribute is not possibl
 ERR_04141={0} is not an acceptable result code.
 ERR_04142=Only UNWILLING_TO_PERFORM and UNAVAILABLE_CRITICAL_EXTENSION result codes are allowed to be used with this exception
 ERR_04143=Only the following LDAP result codes can be used: {0}
-ERR_04163=Unknown SyncStateTypeEnum value {0}
-ERR_04164=Failed to encode payload GracefulShutdownRequest
-ERR_04165_PAYLOAD_DECODING_ERROR=failed to decode payload
-ERR_04167=Failed to encode payload CertGenerateRequest
 ERR_04168=the OID is fixed: {0}
 ERR_04169=Failed to decode response value
 ERR_04170=Failed while parsing LDAP url {0}
 ERR_04171=Failed to encode message value.
-ERR_04172=Failed while decoding response
-ERR_04174=Failed to encode payload StoredProcedureRequest
-ERR_04175=class loading of procedure type not implemented
-ERR_04176=conversion of value to java type not implemented
 ERR_04177=provider monitor class {0} not found
 ERR_04178=provider monitor class {0} does not expose a public default constructor
 ERR_04179=provider monitor class {0} failed during instantiation
@@ -306,9 +268,6 @@ ERR_04296=The MatchingRule {0} does not have a comparator. This is invalid
 ERR_04298=The AttributeType {0} does not have a superior nor a Syntax. This is invalid
 ERR_04299=The ObjectClass {0} has some AttribteType in MAY which is already declared in one of its superior MUST
 ERR_04300=The ObjectClass {0} can''t have itself as a superior, or a cycle has been detected while processing the superior''s tree, or this superior has already been added: \n{1}
-ERR_04331=TriggerSpecification cannot be initialized with any NULL argument.
-ERR_04332=TriggerSpecification cannot be initialized with emtpy SPSPec list.
-ERR_04333=Parser failure on Trigger Specification:\n\t{0}\nAntlr exception trace:\n{1}
 ERR_04334=Overlapping partitions are not allowed
 ERR_04337=The Array must not be null
 ERR_04338=Index: {0}, Length: {1}
@@ -379,28 +338,92 @@ ERR_04476=Cannot set an AttributeType {0} when another one ({1}) is already pres
 ERR_04479_INVALID_SYNTAX_VALUE= The value ''{0}'' does not respect the AttributeType ''{1}'' syntax
 ERR_04480_END_OF_STREAM=End of stream
 ERR_04481_ENTRY_NULL_VALUE=Entry can''t be null
-ERR_04490_BAD_END_TRANSACTION_COMMIT=The EndTransactionRequest Commit value {0} is invalid: {1}. It should be 0 or 255
-ERR_04490_BAD_END_TRANSACTION_MESSAGE_ID=The endTransactionResponse UpdateControl MessageID value {0} is invalid: {1}. It should be a numeric value
 
 ERR_4100_TLS_HANDSHAKE_ERROR=The TLS handshake failed
 
-# ldap-constants
-
-# ldap-schema-manager
-ERR_11001=Cannot load the unknown schema {0}
-ERR_11003=Need to implement factory method for creating a DitContentRule
-ERR_11004=Need to implement factory method for creating a DitStructureRule
-ERR_11005=Need to implement factory method for creating a MatchingRuleUse
-ERR_11006=Need to implement factory method for creating a NameForm
-ERR_11007=the SchemaObject {0} cannot be added, it''s not a valid LoadableSchemaObject.
-ERR_11008=Oid {0} for new schema entity is not unique.
-ERR_11009=Cannot add the SchemaObject {0} into a non existing schema {1} 
-ERR_11010=Cannot inject the SchemaObject {0} as it''s not associated with a schema
-ERR_11011=Oid {0} for new schema entity does not exist.
-ERR_11012=Cannot remove {0} for the registries, it would become inconsistent. The following SchemaObjects are referencing this SchemaObject: {1}
-ERR_11013=Cannot delete the SchemaObject {0} as it''s not associated with a schema
-
-# ldif
+# api-ldap-codec-standalone 6000-6999
+ERR_06000_FAILED_TO_LOAD_DEFAULT_CODEC_FACTORY=Failed to load default codec factory.
+
+# api-ldap-extras-aci   7000-7999
+ERR_07000_FILTER=filter
+ERR_07001_NULL_IDENTIFICATION_TAG=identificationTag parameter is null
+ERR_07002_BAD_PRECENDENCE=precedence parameter not in [0-255]: {0}
+ERR_07003_NULL_AUTHENTICATION_LEVEL=authenticationLevel parameter is null
+ERR_07004_PARSER_FAILURE_ACI_ITEM=Parser failure on ACIItem:\n\t{0}\nAntlr exception trace:\n{1} [Line:{2} - Column:{3}]
+
+# api-ldap-extras-codec 8000-8999
+# api-ldap-extras-codec <>           8000-8099
+ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER=Cannot put a PDU in a null buffer !
+ERR_08001_CANNOR_DECODE_REFRESH_DELETES=failed to decode the refreshDeletes flag for SyncDoneValueControl
+
+# api-ldap-extras-codec controls     8100-8199
+ERR_08100_SYNC_REQUEST_VALUE_MODE_DECODING_FAILED=failed to decode the mode for SyncRequestValueControl
+ERR_08101_RELOAD_HINT_DECODING_FAILED=failed to decode the reloadHint flag for SyncRequestValueControl
+ERR_08102_SYNC_STATE_VALUE_MODE_DECODING_FAILED=failed to decode the mode for SyncStateValueControl
+ERR_08103_BAD_CONTROL_CRITICALITY=The control criticality flag {0} is invalid: {1}. It should be 0 or 255
+ERR_08104_AD_DIR_SYNC_FLAG_DECODING_FAILURE=Error while decoding the AdDirSync flag, unknown value: {0}
+ERR_08105_AD_DIR_SYNC_FLAG_DECODING_ERROR=Error while decoding the AdDirSync flag: 
+ERR_08106_AD_DIR_SYNC_MAX_RETURN_LENGTH_DECODING_ERROR=Error while decoding the AdDirSync maxReturnLength: 
+
+# api-ldap-extras-codec extended     8200-8399
+ERR_08200_CANCELID_DECODING_FAILED=failed to decode the cancelId, the value should be between 0 and 2^31-1, it is ''{0}''
+ERR_08201_INVALID_TARGET_DN=invalid target DN {0}
+ERR_08202_NULL_TARGET_DN_DECODING_FAILED=failed to decode the target DN, it cannot be null or empty it is ''{0}''
+ERR_08203_INVALID_ISSUER_DN=invalid issuer DN {0}
+ERR_08204_INVALID_SUBJECT_DN=invalid subject DN {0}
+ERR_08205_CANNOT_DECODE_DELAY=failed to decode the delay, the value should be between 0 and 86400 seconds, it is ''{0}''
+ERR_08206_TIME_OFFLINE_DECODING_FAILED=failed to decode the timeOffline, the value should be between 0 and 720 minutes, it is ''{0}''
+ERR_08207_SP_LANGUAGE_NULL=The stored procedure language is null
+ERR_08208_NULL_PROCEDURE=The procedure can''t be null
+ERR_08209_NULL_PARAMETER_TYPE=The parameter type can''t be null
+ERR_08210_NULL_PARAMETER_VALUE=The parameter value can''t be null
+ERR_08211_EMPTY_PARAMETER_VALUE=The parameter value is empty. This is not allowed.
+ERR_08212_PDU_BUFFER_TOO_SMALL=The PDU buffer size is too small !
+ERR_08213_NULL_CONTROL_LENGTH=The length of a control must not be null
+ERR_08214_NULL_OID=The OID must not be null
+ERR_08215_INVALID_CONTROL_OID=The control type {0} is not a valid OID
+ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED=Failed to encode payload GracefulShutdownRequest
+ERR_08217_PAYLOAD_DECODING_ERROR=failed to decode payload
+ERR_08218_CERT_GENERATE_PAYLOAD_ENCODING_FAILED=Failed to encode payload CertGenerateRequest
+ERR_08219_RESPONSE_DECODING_FAILED=Failed while decoding response
+ERR_08220_SP_PAYLOAD_ENCODING_FAILED=Failed to encode payload StoredProcedureRequest
+ERR_08221_BAD_END_TRANSACTION_COMMIT=The EndTransactionRequest Commit value {0} is invalid: {1}. It should be 0 or 255
+ERR_08222_BAD_END_TRANSACTION_MESSAGE_ID=The endTransactionResponse UpdateControl MessageID value {0} is invalid: {1}. It should be a numeric value
+ERR_08223_INVALID_CONTROL_LIST=Invalid control list {0}: {1}
+ERR_08224_NULL_URL_DECODING_FAILURE=failed to decode a null URL
+ERR_08225_URL_DECODING_FAILURE=failed to decode the URL ''{0}''
+ERR_08226_AUTHZID_TOO_SHORT_MISSING_U_OR_DN=authzId too short. Must starts with either u: or dn:
+ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN=authzId Must starts with either u: or dn:, it starts with {0}
+ERR_08228_DECORATED_SP_NULL=decorated stored procedure request is null
+ERR_08229_UNEXPECTED_SYNC_INFO=Unexpected SynchronizationInfo: {0}
+
+# api-ldap-extras-codec intermediate 8300-8399
+ERR_08300_REFRESH_DONE_DECODING_FAILED=failed to decode the refreshDone flag for SyncInfoValueControl
+ERR_08301_REFRESH_DELETES_DECODING_FAILED=failed to decode the refreshDeletes flag for SyncInfoValueControl
+ERR_08302_BAD_UUID_VALUE_INCORRECT_LENGTH=Bad UUID value, its length is incorrect ( it should be 16 bytes long)
+
+# api-ldap-extras-codec-api 9000-9999
+# api-ldap-extras-codec-api <>           9000 -  9099
+# api-ldap-extras-codec-api controls     9100 -  9199
+ERR_9100_UNKNOWN_PASSWORD_POLICY_ERROR=Unknown password policy error value {0}
+ERR_9101_UNKNOWN_MODIFY_DN_OP_TYPE=Unknown modify dn operation type {0}
+ERR_9102_UNKNOWN_VLV_RESPONSE=Unknown VLV response result code {0}
+ERR_9103_UNKNOWN_SYNC_STATE_TYPE=Unknown SyncStateTypeEnum value {0}
+ERR_9104_CLASS_LOADING_OF_PROC_TYPE_NOT_IMPLEMENTED=class loading of procedure type not implemented
+ERR_9105_CONVERSION_VALUE_TO_JAVA_NOT_IMPLEMENTED=conversion of value to java type not implemented
+
+# api-ldap-extras-codec-api extended     9200 -  9299
+ERR_9200_INTERGER_DECODING_FAILURE=Failed to decode INTEGER: {0}
+
+# api-ldap-extras-codec-api intermediate 9300 -  9399
+ERR_9300_UNEXPECTED_SYNCINFO=Unexpected SynchronizationInfo: {0}
+
+# api-ldap-extras-sp 10000-10999
+
+# api-ldap-extras-trigger 11000-11999
+ERR_11000_TRIGGER_SPECIFICATION_INIT_WITH_NULL=TriggerSpecification cannot be initialized with any NULL argument.
+ERR_11001_TRIGGER_SPECIFICATION_INIT_WITH_EPTY_SPEC_LIST=TriggerSpecification cannot be initialized with emtpy SPSPec list.
+ERR_11002_TRIGGER_SPECIFICATION_PARSER_FAILURE=Parser failure on Trigger Specification:\n\t{0}\nAntlr exception trace:\n{1}
 
 # api-ldap-extra-utils <> 12000-12999
 ERR_12000_CANNOT_PROCESS_EMPTY_DN=Cannot process an empty Dn
@@ -836,6 +859,8 @@ ERR_16074_CANNOT_ACCESS_NORM_CTOR_CLASS=Cannot access the normalizer class const
 ERR_16075_CANNOT_ACCESS_NORM_CTOR=Cannot access the normalizer class constructor: {0}
 ERR_16076_NOT_A_SCHEMA_DEFINITION=The first entry in the LDIF file is not a schema definition
 ERR_16077_SCHEMA_MANAGER_CANT_BE_LOADED=SchemaManager can't be loaded: {0}
+ERR_16078_CANNOT_LOAD_UNKNOWN_SCHEMA=Cannot load the unknown schema {0}
+ERR_16079_INVALID_SCHEMA_OBJECT_CANNOT_BE_LOADED=the SchemaObject {0} cannot be added, it''s not a valid LoadableSchemaObject.
 
 # api-utils     17000 - 17999
 ERR_17000_UNEXPECTED_PARSER_CONDITION=Unexpected parser condition throwing IllegalStateException.
diff --git a/i18n/src/main/resources/org/apache/directory/api/i18n/messages.properties b/i18n/src/main/resources/org/apache/directory/api/i18n/messages.properties
index d06818c..4a59224 100644
--- a/i18n/src/main/resources/org/apache/directory/api/i18n/messages.properties
+++ b/i18n/src/main/resources/org/apache/directory/api/i18n/messages.properties
@@ -96,14 +96,74 @@ MSG_03243_MESSAGE_RECEIVED=-------> {} Message received <-------
 MSG_03244_CONNECTION_RETRYING=------>>   Cannot get the connection... Retrying
 MSG_03245_CONNECTION_ERROR=------>> Connection error: {}
 
+# api-ldap-codec-standalone 6000-6999
+MSG_06000_REGISTERED_CONTROL_FACTORY=Registered pre-bundled control factory: {0}
+MSG_06001_REGISTERED_EXTENDED_OP_FACTORY=Registered pre-bundled extended operation factory: {0}
+MSG_06002_REGISTERED_INTERMEDIATE_FACTORY=Registered pre-bundled intermediate response factory: {0}
+MSG_06003_CONTROL_FACTORY_ALREADY_LOADED=Factory for control {0} was already loaded
+MSG_06004_REGISTERED_CONTROL_FACTORY=Registered control factory: {0}
+MSG_06005_EXTENDED_OP_FACTORY_ALREADY_LOADED=Factory for extended operation {0} was already loaded
+MSG_06006_INTERMEDIATE_FACTORY_ALREADY_LOADED=Factory for Intermediate Response {0} was already loaded
 
+# api-ldap-extras-aci   7000-7999
 
+# api-ldap-extras-codec 8000-8999
+# api-ldap-extras-codec <>           8000-8099
+MSG_08000_COOKIE=cookie = {0}
+MSG_08001_REFRESH_DELETES=refreshDeletes = {0}
 
+# api-ldap-extras-codec controls     8100-8199
+MSG_08100_MODE=Mode =  {0}
+MSG_08101_FLAGS=flags = {0}
+MSG_08102_MAX_RETURN_LENGTH=maxReturnLength = {0}
+MSG_08103_PP_RESPONSE_CONTROL_CONTAINER_INITIALIZED=PasswordPolicyResponseControlContainer initialized
+MSG_08104_RELOAD_HINT=reloadHint = {0}
+MSG_08105_SYNC_STATE_TYPE=SyncStateType = {0}
+MSG_08106_ENTRY_UUID=entryUUID = {0}
+MSG_08107_VLV_REQUEST_CONTAINER_INITIALIZED=VirtualListViewRequestContainer initialized
 
-# ldap model messages
+# api-ldap-extras-codec extended     8200-8399
+MSG_08200_CANCEL_ID=CancelId = {0}
+MSG_08201_CONTROL_OID=Control OID: {0}
+MSG_08202_CONTROL_CRITICALITY=Control criticality: {0}
+MSG_08203_CONTROL_VALUE=Control value: {0}
+MSG_08204_DELAY=Delay = {0}
+MSG_08205_GEN_PASSWORD=GenPassword = (ignored for security reasons)
+MSG_08206_IDENTIFIER=Identifier = {0}
+MSG_08207_ISSUER_DN=Issuer Dn = {0}
+MSG_08208_NEW_PASSWORD=NewPassword = (ignored for security reasons)
+MSG_08209_OLD_PASSWORD=OldPassword = (ignored for security reasons)
+MSG_08210_PARAMETER_TYPE_FOUND=Parameter type found: {0}
+MSG_08211_PARAMETER_VALUE_FOUND=Parameter value found: {0}
+MSG_08212_PROCEDURE_FOUND=Procedure found: {0}
+MSG_08213_SP_LANGUAGE_FOUND=SP language found: {0}
+MSG_08214_STORES_A_REFERRAL=Stores a referral: {0}
+MSG_08215_TARGET_DN=Target Dn = {0}
+MSG_08216_TIME_OFFLINE=Time Offline = {0}
+MSG_08217_USER_IDENTITY=UserIdentity = {0}
+MSG_08218_KEY_ALGORITHM=Key algorithm = {0}
+MSG_08219_SUBJECT_DN=Subject Dn = {0}
 
-# api-ldap-model 13000-13999
-#   cursor       13100-13199
+# api-ldap-extras-codec intermediate 8300-8399
+MSG_08300_NEW_COOKIE=newcookie = {0}
+MSG_08301_REFRESH_DONE=refreshDone = {0}
+MSG_08302_UUID=UUID = {0}
+
+# api-ldap-extras-codec-api 9000-9999
+# api-ldap-extras-codec-api <>           9000 -  9099
+# api-ldap-extras-codec-api controls     9100 -  9199
+# api-ldap-extras-codec-api extended     9200 -  9299
+# api-ldap-extras-codec-api intermediate 9300 -  9399
+
+
+# api-ldap-extras-sp 10000-10999
+
+# api-ldap-extras-trigger 11000-11999
+
+# api-ldap-extra-utils <> 12000-12999
+
+# api-ldap-model <> 13000-13999
+# api-ldap-model cursor       13100-13199
 MSG_13100_CLOSING_EMPTY_CURSOR=Closing EmptyCursor {0}
 MSG_13101_CLOSING_LIST_CURSOR=Closing ListCursor {0}
 MSG_13102_CLOSING_SET_CURSOR=Closing SetCursor {0}
@@ -113,15 +173,15 @@ MSG_13104_CREATING_LIST_CURSOR=Creating ListCursor {0}
 MSG_13105_CREATING_SET_CURSOR=Creating SetCursor {0}
 MSG_13106_CREATING_SINGLE_CURSOR=Creating SingletonCursor {0}
 
-#   entry       13200-13299
+# api-ldap-model entry       13200-13299
 MSG_13200_CANT_STORE_ATTRIBUTE=The attribute ''{0}'' cannot be stored
 MSG_13201_DN_CANT_BE_NORMALIZED=The Dn ''{0}'' cannot be normalized
 MSG_13202_AT_IS_NULL=The attributeType is null
 MSG_13203_MISSING_ATTRIBUTE_IN_ENTRY=The attribute ''{0}'' does not exist in the entry
 
-#   filter       13300-13399
+# api-ldap-model filter       13300-13399
 
-#   ldif         13400-13499
+# api-ldap-model ldif         13400-13499
 MSG_13400_LDIF_VERSION=Ldif version: {0}
 MSG_13401_PARSED_NO_ENTRY=Parsed no entry.
 MSG_13402_PARSED_ONE_ENTRY=Parsed one entry.
@@ -138,12 +198,12 @@ MSG_13412_NEXT_RETURNING_LDIF=next(): -- returning ldif {0}\n
 MSG_13413_NO_VERSION_ASSUMING_1=No version information: assuming version: 1
 MSG_13414_LDIF_FILE_EMPTY=The ldif file is empty
 
-#   message      13500-13599
+# api-ldap-model message      13500-13599
 MSG_13500_ATTRIBUTE_NOT_IN_SCHEMA=Requested attribute {0} does not exist in the schema, it will be ignored
 
-#   name         13600-13699
+# api-ldap-model name         13600-13699
 
-#   schema       13700-13899
+# api-ldap-model schema       13700-13899
 MSG_13700_FAILED_TO_NORMALIZE=Failed to normalize: {0}
 MSG_13701_SYNTAX_VALID=Syntax valid for ''{0}''
 MSG_13702_REMOVED_FROM_REGISTRY=Removed {0} with oid {1} from the registry
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/BasicControlDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/BasicControlDecorator.java
index 019bec6..5baa3cc 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/BasicControlDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/BasicControlDecorator.java
@@ -93,7 +93,7 @@ public class BasicControlDecorator extends ControlDecorator<Control>
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         if ( valueLength != 0 )
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/CheckLengthNotNull.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/CheckLengthNotNull.java
index ed23577..4dd90ba 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/CheckLengthNotNull.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/CheckLengthNotNull.java
@@ -62,7 +62,7 @@ public class CheckLengthNotNull extends GrammarAction<LdapMessageContainer<Messa
         // The Length should be null
         if ( expectedLength == 0 )
         {
-            String msg = I18n.err( I18n.ERR_04096_NULL_CONTROL_LENGTH );
+            String msg = I18n.err( I18n.ERR_08213_NULL_CONTROL_LENGTH );
             LOG.error( msg );
 
             // This will generate a PROTOCOL_ERROR
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/AddControl.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/AddControl.java
index 3664262..a294c2c 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/AddControl.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/AddControl.java
@@ -69,7 +69,7 @@ public class AddControl extends GrammarAction<LdapMessageContainer<MessageDecora
         // We have to handle the special case of a 0 length OID
         if ( tlv.getLength() == 0 )
         {
-            String msg = I18n.err( I18n.ERR_04097_NULL_CONTROL_OID );
+            String msg = I18n.err( I18n.ERR_08214_NULL_OID );
             LOG.error( msg );
 
             // This will generate a PROTOCOL_ERROR
@@ -82,7 +82,7 @@ public class AddControl extends GrammarAction<LdapMessageContainer<MessageDecora
         // The OID is encoded as a String, not an Object Id
         if ( !Oid.isOid( oidValue ) )
         {
-            String msg = I18n.err( I18n.ERR_04098_INVALID_CONTROL_OID, oidValue );
+            String msg = I18n.err( I18n.ERR_08215_INVALID_CONTROL_OID, oidValue );
             LOG.error( msg );
 
             // This will generate a PROTOCOL_ERROR
@@ -100,7 +100,7 @@ public class AddControl extends GrammarAction<LdapMessageContainer<MessageDecora
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "Control OID : {}", oidValue );
+            LOG.debug( I18n.msg( I18n.MSG_08201_CONTROL_OID, oidValue ) );
         }
     }
 }
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlCriticality.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlCriticality.java
index c8f88a9..a5a6f4c 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlCriticality.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlCriticality.java
@@ -88,7 +88,7 @@ public class StoreControlCriticality extends GrammarAction<LdapMessageContainer<
         catch ( BooleanDecoderException bde )
         {
             LOG.error( I18n
-                .err( I18n.ERR_04100_BAD_CONTROL_CRITICALITY, Strings.dumpBytes( value.getData() ), bde.getMessage() ) );
+                .err( I18n.ERR_08103_BAD_CONTROL_CRITICALITY, Strings.dumpBytes( value.getData() ), bde.getMessage() ) );
 
             // This will generate a PROTOCOL_ERROR
             throw new DecoderException( bde.getMessage(), bde );
@@ -99,7 +99,7 @@ public class StoreControlCriticality extends GrammarAction<LdapMessageContainer<
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "Control criticality : {}", control.isCritical() );
+            LOG.debug( I18n.msg( I18n.MSG_08202_CONTROL_CRITICALITY, control.isCritical() ) );
         }
     }
 }
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlValue.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlValue.java
index 5c6d8a8..a679119 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlValue.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/actions/controls/StoreControlValue.java
@@ -24,6 +24,7 @@ import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
 import org.apache.directory.api.asn1.ber.tlv.BerValue;
 import org.apache.directory.api.asn1.ber.tlv.TLV;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.CodecControl;
 import org.apache.directory.api.ldap.codec.api.LdapMessageContainer;
 import org.apache.directory.api.ldap.codec.api.MessageDecorator;
@@ -90,7 +91,7 @@ public class StoreControlValue extends GrammarAction<LdapMessageContainer<Messag
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "Control value : " + Strings.dumpBytes( control.getValue() ) );
+            LOG.debug( I18n.msg( I18n.MSG_08203_CONTROL_VALUE, Strings.dumpBytes( control.getValue() ) ) );
         }
     }
 }
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/api/LdapEncoder.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/api/LdapEncoder.java
index 911a545..cea5292 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/api/LdapEncoder.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/api/LdapEncoder.java
@@ -100,7 +100,7 @@ public class LdapEncoder
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -114,7 +114,7 @@ public class LdapEncoder
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         // The control type
@@ -172,7 +172,7 @@ public class LdapEncoder
             }
             catch ( BufferOverflowException boe )
             {
-                throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+                throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
             }
 
             // The message Id
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/proxiedauthz/ProxiedAuthzDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/proxiedauthz/ProxiedAuthzDecorator.java
index 2a5f3e8..83d4471 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/proxiedauthz/ProxiedAuthzDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/proxiedauthz/ProxiedAuthzDecorator.java
@@ -118,7 +118,7 @@ public class ProxiedAuthzDecorator extends ControlDecorator<ProxiedAuthz> implem
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         if ( getAuthzId() != null )
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/entryChange/EntryChangeDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/entryChange/EntryChangeDecorator.java
index beb3477..3ccb71a 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/entryChange/EntryChangeDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/entryChange/EntryChangeDecorator.java
@@ -148,7 +148,7 @@ public class EntryChangeDecorator extends ControlDecorator<EntryChange> implemen
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         buffer.put( UniversalTag.SEQUENCE.getValue() );
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/pagedSearch/PagedResultsDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/pagedSearch/PagedResultsDecorator.java
index d20a419..6ebde73 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/pagedSearch/PagedResultsDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/pagedSearch/PagedResultsDecorator.java
@@ -127,7 +127,7 @@ public class PagedResultsDecorator extends ControlDecorator<PagedResults> implem
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Now encode the PagedSearch specific part
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/persistentSearch/PersistentSearchDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/persistentSearch/PersistentSearchDecorator.java
index 9bbe748..6e8f0bf 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/persistentSearch/PersistentSearchDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/persistentSearch/PersistentSearchDecorator.java
@@ -117,7 +117,7 @@ public class PersistentSearchDecorator extends ControlDecorator<PersistentSearch
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Now encode the PagedSearch specific part
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/subentries/SubentriesDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/subentries/SubentriesDecorator.java
index bc2453c..1abfb55 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/subentries/SubentriesDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/search/subentries/SubentriesDecorator.java
@@ -97,7 +97,7 @@ public class SubentriesDecorator extends ControlDecorator<Subentries> implements
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Now encode the Subentries specific part
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortRequestDecorator.java
index d7147e2..f047b91 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortRequestDecorator.java
@@ -133,7 +133,7 @@ public class SortRequestDecorator extends ControlDecorator<SortRequest> implemen
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         buffer.put( UniversalTag.SEQUENCE.getValue() );
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortResponseDecorator.java
index b9fcdcc..7d66c0d 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/controls/sort/SortResponseDecorator.java
@@ -105,7 +105,7 @@ public class SortResponseDecorator extends ControlDecorator<SortResponse> implem
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         buffer.put( UniversalTag.SEQUENCE.getValue() );
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AbandonRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AbandonRequestDecorator.java
index fd42ba4..927ec79 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AbandonRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AbandonRequestDecorator.java
@@ -143,7 +143,7 @@ public AbandonRequest addAllControls( Control[] controls )
         }
         catch ( BufferOverflowException boe )
         {
-            String msg = I18n.err( I18n.ERR_04005 );
+            String msg = I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL );
             throw new EncoderException( msg, boe );
         }
 
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AddResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AddResponseDecorator.java
index c34d1ba..de3ec5e 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AddResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/AddResponseDecorator.java
@@ -114,7 +114,7 @@ public class AddResponseDecorator extends ResponseDecorator<AddResponse> impleme
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
     }
 }
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindRequestDecorator.java
index f758b1a..6324299 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindRequestDecorator.java
@@ -397,7 +397,7 @@ public class BindRequestDecorator extends SingleReplyRequestDecorator<BindReques
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         // The version (LDAP V3 only)
@@ -443,7 +443,7 @@ public class BindRequestDecorator extends SingleReplyRequestDecorator<BindReques
             }
             catch ( BufferOverflowException boe )
             {
-                String msg = I18n.err( I18n.ERR_04005 );
+                String msg = I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL );
                 throw new EncoderException( msg, boe );
             }
         }
@@ -467,7 +467,7 @@ public class BindRequestDecorator extends SingleReplyRequestDecorator<BindReques
             }
             catch ( BufferOverflowException boe )
             {
-                String msg = I18n.err( I18n.ERR_04005 );
+                String msg = I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL );
                 throw new EncoderException( msg, boe );
             }
         }
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindResponseDecorator.java
index 32210f8..278dc94 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/BindResponseDecorator.java
@@ -158,7 +158,7 @@ public class BindResponseDecorator extends ResponseDecorator<BindResponse> imple
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareRequestDecorator.java
index f2c3594..323253f 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareRequestDecorator.java
@@ -272,7 +272,7 @@ public CompareRequest removeControl( Control control )
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         // The attributeDesc
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareResponseDecorator.java
index 5c2316e..1c095be 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/CompareResponseDecorator.java
@@ -116,7 +116,7 @@ public class CompareResponseDecorator extends ResponseDecorator<CompareResponse>
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteRequestDecorator.java
index 6679995..e1f9bac 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteRequestDecorator.java
@@ -175,7 +175,7 @@ public class DeleteRequestDecorator extends SingleReplyRequestDecorator<DeleteRe
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteResponseDecorator.java
index 7e65b49..a1f03f0 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/DeleteResponseDecorator.java
@@ -101,7 +101,7 @@ public class DeleteResponseDecorator extends ResponseDecorator<DeleteResponse>
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedRequestDecorator.java
index f3b0149..d46e957 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedRequestDecorator.java
@@ -241,7 +241,7 @@ public ExtendedRequest addControl( Control control )
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedResponseDecorator.java
index 27a1642..81b0aee 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ExtendedResponseDecorator.java
@@ -214,7 +214,7 @@ public class ExtendedResponseDecorator<R extends ExtendedResponse> extends Respo
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/IntermediateResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/IntermediateResponseDecorator.java
index f24817b..33f852b 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/IntermediateResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/IntermediateResponseDecorator.java
@@ -195,7 +195,7 @@ public class IntermediateResponseDecorator<I extends IntermediateResponse> exten
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/LdapResultDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/LdapResultDecorator.java
index 935b341..064ebf0 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/LdapResultDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/LdapResultDecorator.java
@@ -258,7 +258,7 @@ public class LdapResultDecorator implements LdapResult, Decorator<LdapResult>
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         if ( decoratedLdapResult.isDefaultSuccess() )
@@ -276,7 +276,7 @@ public class LdapResultDecorator implements LdapResult, Decorator<LdapResult>
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         // The matchedDN
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnRequestDecorator.java
index dffbbde..e88e3f6 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnRequestDecorator.java
@@ -307,7 +307,7 @@ public class ModifyDnRequestDecorator extends SingleReplyRequestDecorator<Modify
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnResponseDecorator.java
index d524a49..cb80479 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyDnResponseDecorator.java
@@ -99,7 +99,7 @@ public class ModifyDnResponseDecorator extends ResponseDecorator<ModifyDnRespons
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyRequestDecorator.java
index bd81320..deb42d7 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyRequestDecorator.java
@@ -609,7 +609,7 @@ public class ModifyRequestDecorator extends SingleReplyRequestDecorator<ModifyRe
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyResponseDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyResponseDecorator.java
index e9d332e..a7ed73c 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyResponseDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/ModifyResponseDecorator.java
@@ -100,7 +100,7 @@ public class ModifyResponseDecorator extends ResponseDecorator<ModifyResponse>
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchRequestDecorator.java
index be38b25..0461796 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchRequestDecorator.java
@@ -1052,7 +1052,7 @@ public class SearchRequestDecorator extends MessageDecorator<SearchRequest> impl
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultDoneDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultDoneDecorator.java
index bb6bece..c3dcac4 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultDoneDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultDoneDecorator.java
@@ -102,7 +102,7 @@ public class SearchResultDoneDecorator extends ResponseDecorator<SearchResultDon
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultEntryDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultEntryDecorator.java
index 6da9799..97af95c 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultEntryDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultEntryDecorator.java
@@ -391,7 +391,7 @@ public class SearchResultEntryDecorator extends MessageDecorator<SearchResultEnt
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultReferenceDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultReferenceDecorator.java
index 497de34..d29cd95 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultReferenceDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/SearchResultReferenceDecorator.java
@@ -167,7 +167,7 @@ public class SearchResultReferenceDecorator extends MessageDecorator<SearchResul
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/UnbindRequestDecorator.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/UnbindRequestDecorator.java
index e446a2e..8017e49 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/UnbindRequestDecorator.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/decorators/UnbindRequestDecorator.java
@@ -128,7 +128,7 @@ public class UnbindRequestDecorator extends RequestDecorator<UnbindRequest> impl
         }
         catch ( BufferOverflowException boe )
         {
-            String msg = I18n.err( I18n.ERR_04005 );
+            String msg = I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL );
             throw new EncoderException( msg, boe );
         }
 
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/osgi/DefaultLdapCodecService.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/osgi/DefaultLdapCodecService.java
index 1580ce6..efa7088 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/osgi/DefaultLdapCodecService.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/osgi/DefaultLdapCodecService.java
@@ -32,6 +32,7 @@ import javax.naming.ldap.BasicControl;
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.EncoderException;
 import org.apache.directory.api.asn1.ber.Asn1Container;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.BasicControlDecorator;
 import org.apache.directory.api.ldap.codec.api.CodecControl;
 import org.apache.directory.api.ldap.codec.api.ControlFactory;
@@ -120,7 +121,7 @@ public class DefaultLdapCodecService implements LdapApiService
 
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", cascadeFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, cascadeFactory.getOid() ) );
         }
 
         ControlFactory<EntryChange> entryChangeFactory = new EntryChangeFactory( this );
@@ -128,7 +129,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", entryChangeFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, entryChangeFactory.getOid() ) );
         }
 
         ControlFactory<ManageDsaIT> manageDsaItFactory = new ManageDsaITFactory( this );
@@ -136,7 +137,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", manageDsaItFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, manageDsaItFactory.getOid() ) );
         }
 
         ControlFactory<ProxiedAuthz> proxiedAuthzFactory = new ProxiedAuthzFactory( this );
@@ -144,7 +145,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", proxiedAuthzFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, proxiedAuthzFactory.getOid() ) );
         }
 
         ControlFactory<PagedResults> pageResultsFactory = new PagedResultsFactory( this );
@@ -152,7 +153,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", pageResultsFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, pageResultsFactory.getOid() ) );
         }
 
         ControlFactory<PersistentSearch> persistentSearchFactory = new PersistentSearchFactory( this );
@@ -160,7 +161,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", persistentSearchFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, persistentSearchFactory.getOid() ) );
         }
 
         ControlFactory<Subentries> subentriesFactory = new SubentriesFactory( this );
@@ -168,7 +169,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", subentriesFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, subentriesFactory.getOid() ) );
         }
 
         ControlFactory<SortRequest> sortRequestFactory = new SortRequestFactory( this );
@@ -176,7 +177,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", sortRequestFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, sortRequestFactory.getOid() ) );
         }
 
         ControlFactory<SortResponse> sortResponseFactory = new SortResponseFactory( this );
@@ -184,7 +185,7 @@ public class DefaultLdapCodecService implements LdapApiService
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", sortResponseFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, sortResponseFactory.getOid() ) );
         }
     }
 
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AndFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AndFilter.java
index 5e3661b..fb0397a 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AndFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AndFilter.java
@@ -109,7 +109,7 @@ public class AndFilter extends ConnectorFilter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -120,7 +120,7 @@ public class AndFilter extends ConnectorFilter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         super.encode( buffer );
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AttributeValueAssertionFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AttributeValueAssertionFilter.java
index 4d75c99..ae74966 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AttributeValueAssertionFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/AttributeValueAssertionFilter.java
@@ -186,7 +186,7 @@ public class AttributeValueAssertionFilter extends Filter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -218,7 +218,7 @@ public class AttributeValueAssertionFilter extends Filter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         // The attribute desc
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ConnectorFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ConnectorFilter.java
index 9b74ea8..7954996 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ConnectorFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ConnectorFilter.java
@@ -132,7 +132,7 @@ public abstract class ConnectorFilter extends Filter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // encode each filter
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ExtensibleMatchFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ExtensibleMatchFilter.java
index 39ca640..581f503 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ExtensibleMatchFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/ExtensibleMatchFilter.java
@@ -265,7 +265,7 @@ public class ExtensibleMatchFilter extends Filter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -321,7 +321,7 @@ public class ExtensibleMatchFilter extends Filter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/NotFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/NotFilter.java
index 977dc13..2854f15 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/NotFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/NotFilter.java
@@ -141,7 +141,7 @@ public class NotFilter extends ConnectorFilter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -152,7 +152,7 @@ public class NotFilter extends ConnectorFilter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         super.encode( buffer );
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/OrFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/OrFilter.java
index dfded38..5dccebc 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/OrFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/OrFilter.java
@@ -108,7 +108,7 @@ public class OrFilter extends ConnectorFilter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -119,7 +119,7 @@ public class OrFilter extends ConnectorFilter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         super.encode( buffer );
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/PresentFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/PresentFilter.java
index bf4c957..fe501ca 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/PresentFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/PresentFilter.java
@@ -119,7 +119,7 @@ public class PresentFilter extends Filter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -131,7 +131,7 @@ public class PresentFilter extends Filter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/SubstringFilter.java b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/SubstringFilter.java
index cd1d885..a5c193e 100644
--- a/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/SubstringFilter.java
+++ b/ldap/codec/core/src/main/java/org/apache/directory/api/ldap/codec/search/SubstringFilter.java
@@ -292,7 +292,7 @@ public class SubstringFilter extends Filter
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         try
@@ -346,7 +346,7 @@ public class SubstringFilter extends Filter
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return buffer;
diff --git a/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java b/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java
index 9aa56cf..2ed50bc 100644
--- a/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java
+++ b/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/CodecFactoryUtil.java
@@ -22,6 +22,7 @@ package org.apache.directory.api.ldap.codec.standalone;
 
 import java.util.Map;
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.ControlFactory;
 import org.apache.directory.api.ldap.codec.api.ExtendedOperationFactory;
 import org.apache.directory.api.ldap.codec.api.IntermediateResponseFactory;
@@ -113,7 +114,7 @@ public final class CodecFactoryUtil
 
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", cascadeFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, cascadeFactory.getOid() ) );
         }
 
         ControlFactory<EntryChange> entryChangeFactory = new EntryChangeFactory( apiService );
@@ -121,7 +122,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", entryChangeFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, entryChangeFactory.getOid() ) );
         }
 
         ControlFactory<ManageDsaIT> manageDsaITFactory = new ManageDsaITFactory( apiService );
@@ -129,7 +130,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", manageDsaITFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, manageDsaITFactory.getOid() ) );
         }
 
         ControlFactory<ProxiedAuthz> proxiedAuthzFactory = new ProxiedAuthzFactory( apiService );
@@ -137,7 +138,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", proxiedAuthzFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, proxiedAuthzFactory.getOid() ) );
         }
 
         ControlFactory<PagedResults> pagedResultsFactory = new PagedResultsFactory( apiService );
@@ -145,7 +146,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", pagedResultsFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, pagedResultsFactory.getOid() ) );
         }
 
         ControlFactory<PersistentSearch> persistentSearchFactory = new PersistentSearchFactory( apiService );
@@ -153,7 +154,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", persistentSearchFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, persistentSearchFactory.getOid() ) );
         }
 
         ControlFactory<Subentries> subentriesFactory = new SubentriesFactory( apiService );
@@ -161,7 +162,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", subentriesFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, subentriesFactory.getOid() ) );
         }
         
         ControlFactory<SortRequest> sortRequestFactory = new SortRequestFactory( apiService );
@@ -169,7 +170,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", sortRequestFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, sortRequestFactory.getOid() ) );
         }
 
         ControlFactory<SortResponse> sortResponseFactory = new SortResponseFactory( apiService );
@@ -177,7 +178,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", sortResponseFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, sortResponseFactory.getOid() ) );
         }
 
         // Extra controls
@@ -186,7 +187,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", adDirSyncFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, adDirSyncFactory.getOid() ) );
         }
         
         ControlFactory<AdShowDeleted> adShowDeletedFactory = new AdShowDeletedFactory( apiService );
@@ -194,7 +195,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", adShowDeletedFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, adShowDeletedFactory.getOid() ) );
         }
         
         ControlFactory<AdPolicyHints> adPolicyHintsFactory = new AdPolicyHintsFactory( apiService );
@@ -202,7 +203,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", adPolicyHintsFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, adPolicyHintsFactory.getOid() ) );
         }
 
         ControlFactory<ChangeNotifications> changeNotificationsFactory = new ChangeNotificationsFactory( apiService );
@@ -210,7 +211,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", changeNotificationsFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, changeNotificationsFactory.getOid() ) );
         }
 
         ControlFactory<PermissiveModify> permissiveModifyFactory = new PermissiveModifyFactory( apiService );
@@ -218,7 +219,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", permissiveModifyFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, permissiveModifyFactory.getOid() ) );
         }
 
         ControlFactory<PasswordPolicy> passwordPolicyFactory = new PasswordPolicyFactory( apiService );
@@ -226,7 +227,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", passwordPolicyFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, passwordPolicyFactory.getOid() ) );
         }
 
         ControlFactory<SyncDoneValue> syncDoneValueFactory = new SyncDoneValueFactory( apiService );
@@ -234,7 +235,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", syncDoneValueFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, syncDoneValueFactory.getOid() ) );
         } 
 
         ControlFactory<SyncRequestValue> syncRequestValueFactory = new SyncRequestValueFactory( apiService );
@@ -242,7 +243,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", syncRequestValueFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, syncRequestValueFactory.getOid() ) );
         }
 
         ControlFactory<SyncStateValue> syncStateValueFactory = new SyncStateValueFactory( apiService );
@@ -250,7 +251,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", syncStateValueFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, syncStateValueFactory.getOid() ) );
         }
 
         ControlFactory<TransactionSpecification> transactionSpecificationFactory = new TransactionSpecificationFactory( apiService );
@@ -258,7 +259,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", transactionSpecificationFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, transactionSpecificationFactory.getOid() ) );
         }
 
         ControlFactory<VirtualListViewRequest> virtualListViewRequestFactory = new VirtualListViewRequestFactory(
@@ -267,7 +268,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", virtualListViewRequestFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, virtualListViewRequestFactory.getOid() ) );
         }
 
         ControlFactory<VirtualListViewResponse> virtualListViewResponseFactory = new VirtualListViewResponseFactory(
@@ -276,7 +277,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled control factory: {}", virtualListViewResponseFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06000_REGISTERED_CONTROL_FACTORY, virtualListViewResponseFactory.getOid() ) );
         }
     }
 
@@ -306,7 +307,7 @@ public final class CodecFactoryUtil
 
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", cancelFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, cancelFactory.getOid() ) );
         }
 
         CertGenerationFactory certGenerationFactory = new CertGenerationFactory( apiService );
@@ -314,7 +315,7 @@ public final class CodecFactoryUtil
 
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", certGenerationFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, certGenerationFactory.getOid() ) );
         }
 
         EndTransactionFactory endTransactionFactory = new EndTransactionFactory( apiService );
@@ -322,7 +323,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", endTransactionFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, endTransactionFactory.getOid() ) );
         }
 
         GracefulDisconnectFactory gracefulDisconnectFactory = new GracefulDisconnectFactory( apiService );
@@ -330,7 +331,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", gracefulDisconnectFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, gracefulDisconnectFactory.getOid() ) );
         }
 
         GracefulShutdownFactory gracefulShutdownFactory = new GracefulShutdownFactory( apiService );
@@ -338,7 +339,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", gracefulShutdownFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, gracefulShutdownFactory.getOid() ) );
         }
 
         PasswordModifyFactory passwordModifyFactory = new PasswordModifyFactory( apiService );
@@ -346,7 +347,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", passwordModifyFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, passwordModifyFactory.getOid() ) );
         }
 
         StartTlsFactory startTlsFactory = new StartTlsFactory( apiService );
@@ -354,7 +355,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", startTlsFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, startTlsFactory.getOid() ) );
         }
 
         StartTransactionFactory startTransactionFactory = new StartTransactionFactory( apiService );
@@ -362,7 +363,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", startTransactionFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, startTransactionFactory.getOid() ) );
         }
 
         StoredProcedureFactory storedProcedureFactory = new StoredProcedureFactory( apiService );
@@ -370,7 +371,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", storedProcedureFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, storedProcedureFactory.getOid() ) );
         }
 
         WhoAmIFactory whoAmIFactory = new WhoAmIFactory( apiService );
@@ -378,7 +379,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", whoAmIFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, whoAmIFactory.getOid() ) );
         }
     }
 
@@ -400,7 +401,7 @@ public final class CodecFactoryUtil
         
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled intermediate response factory: {}", syncInfoValueFactory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06002_REGISTERED_INTERMEDIATE_FACTORY, syncInfoValueFactory.getOid() ) );
         }
     }
 }
diff --git a/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/StandaloneLdapApiService.java b/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/StandaloneLdapApiService.java
index cf951ae..24fa0e3 100644
--- a/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/StandaloneLdapApiService.java
+++ b/ldap/codec/standalone/src/main/java/org/apache/directory/api/ldap/codec/standalone/StandaloneLdapApiService.java
@@ -24,6 +24,7 @@ import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.ControlFactory;
 import org.apache.directory.api.ldap.codec.api.ExtendedOperationFactory;
 import org.apache.directory.api.ldap.codec.api.IntermediateResponseFactory;
@@ -199,7 +200,7 @@ public class StandaloneLdapApiService extends DefaultLdapCodecService
             }
             catch ( Exception cause )
             {
-                throw new RuntimeException( "Failed to load default codec factory.", cause );
+                throw new RuntimeException( I18n.err( I18n.ERR_06000_FAILED_TO_LOAD_DEFAULT_CODEC_FACTORY ), cause );
             }
         }
     }
@@ -328,7 +329,7 @@ public class StandaloneLdapApiService extends DefaultLdapCodecService
         {
             if ( LOG.isDebugEnabled() )
             {
-                LOG.debug( "Factory for control {} was already loaded", controlFQCN );
+                LOG.debug( I18n.msg( I18n.MSG_06003_CONTROL_FACTORY_ALREADY_LOADED, controlFQCN ) );
             }
             
             return;
@@ -348,7 +349,7 @@ public class StandaloneLdapApiService extends DefaultLdapCodecService
 
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered control factory: {}", factory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06004_REGISTERED_CONTROL_FACTORY, factory.getOid() ) );
         }
     }
 
@@ -378,7 +379,7 @@ public class StandaloneLdapApiService extends DefaultLdapCodecService
         {
             if ( LOG.isDebugEnabled() )
             {
-                LOG.debug( "Factory for extended operation {} was already loaded", extendedOperationFQCN );
+                LOG.debug( I18n.msg( I18n.MSG_06005_EXTENDED_OP_FACTORY_ALREADY_LOADED, extendedOperationFQCN ) );
             }
             
             return;
@@ -401,7 +402,7 @@ public class StandaloneLdapApiService extends DefaultLdapCodecService
 
         if ( LOG.isInfoEnabled() )
         {
-            LOG.info( "Registered pre-bundled extended operation factory: {}", factory.getOid() );
+            LOG.info( I18n.msg( I18n.MSG_06001_REGISTERED_EXTENDED_OP_FACTORY, factory.getOid() ) );
         }
     }
 
@@ -431,7 +432,7 @@ public class StandaloneLdapApiService extends DefaultLdapCodecService
         {
             if ( LOG.isDebugEnabled() )
             {
-                LOG.debug( "Factory for Intermediate Response {} was already loaded", intermediateResponseFQCN );
+                LOG.debug( I18n.msg( I18n.MSG_06006_INTERMEDIATE_FACTORY_ALREADY_LOADED, intermediateResponseFQCN ) );
             }
             
             return;
diff --git a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItem.java b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItem.java
index e518fce..c687304 100644
--- a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItem.java
+++ b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItem.java
@@ -58,17 +58,17 @@ public abstract class ACIItem
     {
         if ( identificationTag == null )
         {
-            throw new IllegalArgumentException( I18n.err( I18n.ERR_04001_NULL_IDENTIFICATION_TAG ) );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_07001_NULL_IDENTIFICATION_TAG ) );
         }
 
         if ( ( precedence < 0 ) || ( precedence > 255 ) )
         {
-            throw new IllegalArgumentException( I18n.err( I18n.ERR_04002_BAD_PRECENDENCE, precedence ) );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_07002_BAD_PRECENDENCE, precedence ) );
         }
 
         if ( authenticationLevel == null )
         {
-            throw new IllegalArgumentException( I18n.err( I18n.ERR_04003_NULL_AUTHENTICATION_LEVEL ) );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_07003_NULL_AUTHENTICATION_LEVEL ) );
         }
 
         this.identificationTag = identificationTag;
diff --git a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemChecker.java b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemChecker.java
index 094f8b8..1b816cb 100644
--- a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemChecker.java
+++ b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemChecker.java
@@ -98,12 +98,12 @@ public class ACIItemChecker
         catch ( TokenStreamException e )
         {
             throw new ParseException( I18n
-                .err( I18n.ERR_04004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage() ), 0 );
+                .err( I18n.ERR_07004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage() ), 0 );
         }
         catch ( RecognitionException e )
         {
             throw new ParseException( I18n
-                .err( I18n.ERR_04004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage() ), e.getColumn() );
+                .err( I18n.ERR_07004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage() ), e.getColumn() );
         }
     }
 
diff --git a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemParser.java b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemParser.java
index c0f0a55..1f0fe95 100644
--- a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemParser.java
+++ b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACIItemParser.java
@@ -130,13 +130,13 @@ public class ACIItemParser
         catch ( TokenStreamException e )
         {
             throw new ParseException( I18n
-                .err( I18n.ERR_04004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage() ), 0 );
+                .err( I18n.ERR_07004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage() ), 0 );
         }
         catch ( RecognitionException e )
         {
             throw new ParseException(
                 I18n
-                    .err( I18n.ERR_04004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage(), e.getLine(),
+                    .err( I18n.ERR_07004_PARSER_FAILURE_ACI_ITEM, spec, e.getLocalizedMessage(), e.getLine(),
                         e.getColumn() ), e.getColumn() );
         }
 
diff --git a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACITuple.java b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACITuple.java
index dfd2251..6a4c22a 100644
--- a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACITuple.java
+++ b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/ACITuple.java
@@ -77,12 +77,12 @@ public class ACITuple
     {
         if ( authenticationLevel == null )
         {
-            throw new IllegalArgumentException( I18n.err( I18n.ERR_04003_NULL_AUTHENTICATION_LEVEL ) );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_07003_NULL_AUTHENTICATION_LEVEL ) );
         }
 
         if ( precedence < 0 || precedence > 255 )
         {
-            throw new IllegalArgumentException( I18n.err( I18n.ERR_04002_BAD_PRECENDENCE, precedence ) );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_07002_BAD_PRECENDENCE, precedence ) );
         }
 
         this.userClasses = Collections.unmodifiableCollection( new ArrayList<UserClass>( userClasses ) );
diff --git a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/protectedItem/RangeOfValuesItem.java b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/protectedItem/RangeOfValuesItem.java
index c0c7814..47647f4 100644
--- a/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/protectedItem/RangeOfValuesItem.java
+++ b/ldap/extras/aci/src/main/java/org/apache/directory/api/ldap/aci/protectedItem/RangeOfValuesItem.java
@@ -20,6 +20,7 @@
 package org.apache.directory.api.ldap.aci.protectedItem;
 
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.aci.ProtectedItem;
 import org.apache.directory.api.ldap.model.filter.ExprNode;
 
@@ -44,7 +45,7 @@ public class RangeOfValuesItem extends ProtectedItem
     {
         if ( filter == null )
         {
-            throw new IllegalArgumentException( "filter" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_07000_FILTER ) );
         }
 
         this.filter = filter;
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/SyncModifyDnType.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/SyncModifyDnType.java
index d89d917..62bf4c9 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/SyncModifyDnType.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/SyncModifyDnType.java
@@ -20,6 +20,7 @@
 
 package org.apache.directory.api.ldap.extras.controls;
 
+import org.apache.directory.api.i18n.I18n;
 
 /**
  * The type of MODDN modification. One of MOVE, RENAME or MOVE_AND_RENAME
@@ -78,7 +79,7 @@ public enum SyncModifyDnType
                 return MOVE_AND_RENAME;
 
             default:
-                throw new IllegalArgumentException( "unknown modify dn operantion type " + value );
+                throw new IllegalArgumentException( I18n.err( I18n.ERR_9101_UNKNOWN_MODIFY_DN_OP_TYPE, value ) );
         }
     }
 }
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy/PasswordPolicyErrorEnum.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy/PasswordPolicyErrorEnum.java
index 6bab93f..bbf82d9 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy/PasswordPolicyErrorEnum.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy/PasswordPolicyErrorEnum.java
@@ -20,6 +20,7 @@
 
 package org.apache.directory.api.ldap.extras.controls.ppolicy;
 
+import org.apache.directory.api.i18n.I18n;
 
 /**
  *  constants representing PasswordPolicyErrorS as stated in the <a href="http://tools.ietf.org/html/draft-behera-ldap-password-policy-10">draft</a>
@@ -103,7 +104,7 @@ public enum PasswordPolicyErrorEnum
 
             default:
 
-                throw new IllegalArgumentException( "unknown password policy error value " + val );
+                throw new IllegalArgumentException( I18n.err( I18n.ERR_9100_UNKNOWN_PASSWORD_POLICY_ERROR, val ) );
         }
     }
 
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateTypeEnum.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateTypeEnum.java
index 18d6c9e..9bbd314 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateTypeEnum.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl/syncState/SyncStateTypeEnum.java
@@ -110,7 +110,7 @@ public enum SyncStateTypeEnum
             return MODDN;
         }
 
-        throw new IllegalArgumentException( I18n.err( I18n.ERR_04163, value ) );
+        throw new IllegalArgumentException( I18n.err( I18n.ERR_9103_UNKNOWN_SYNC_STATE_TYPE, value ) );
     }
 
 }
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResultCode.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResultCode.java
index 292f0c1..96bed52 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResultCode.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv/VirtualListViewResultCode.java
@@ -20,6 +20,7 @@
 
 package org.apache.directory.api.ldap.extras.controls.vlv;
 
+import org.apache.directory.api.i18n.I18n;
 
 /**
  * Enumeration of the result codes of a Virtual List View response control as specified in draft-ietf-ldapext-ldapv3-vlv-09.
@@ -144,7 +145,7 @@ public enum VirtualListViewResultCode
                 return OTHER;
 
             default:
-                throw new IllegalArgumentException( "Unknown VLV response result code " + code );
+                throw new IllegalArgumentException( I18n.err( I18n.ERR_9102_UNKNOWN_VLV_RESPONSE, code ) );
         }
     }
 }
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/storedProcedure/StoredProcedureRequestImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/storedProcedure/StoredProcedureRequestImpl.java
index b2a32b9..2238086 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/storedProcedure/StoredProcedureRequestImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/extended/storedProcedure/StoredProcedureRequestImpl.java
@@ -236,7 +236,7 @@ public class StoredProcedureRequestImpl extends AbstractExtendedRequest implemen
     @Override
     public Class<?> getJavaParameterType( int index )
     {
-        throw new NotImplementedException( I18n.err( I18n.ERR_04175 ) );
+        throw new NotImplementedException( I18n.err( I18n.ERR_9104_CLASS_LOADING_OF_PROC_TYPE_NOT_IMPLEMENTED ) );
     }
 
 
@@ -280,8 +280,8 @@ public class StoredProcedureRequestImpl extends AbstractExtendedRequest implemen
                     }
                     catch ( IntegerDecoderException e )
                     {
-                        throw new RuntimeException( "Failed to decode INTEGER: "
-                            + Strings.dumpBytes( ( byte[] ) obj ), e );
+                        throw new RuntimeException( I18n.err( I18n.ERR_9200_INTERGER_DECODING_FAILURE,
+                            Strings.dumpBytes( ( byte[] ) obj ) ), e );
                     }
                 }
                 else
@@ -301,7 +301,7 @@ public class StoredProcedureRequestImpl extends AbstractExtendedRequest implemen
     @Override
     public Object getJavaParameterValue( int index )
     {
-        throw new NotImplementedException( I18n.err( I18n.ERR_04176 ) );
+        throw new NotImplementedException( I18n.err( I18n.ERR_9105_CONVERSION_VALUE_TO_JAVA_NOT_IMPLEMENTED ) );
     }
 
 
diff --git a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl/SyncInfoValueImpl.java b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl/SyncInfoValueImpl.java
index 248bd3c..d09a3bc 100644
--- a/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl/SyncInfoValueImpl.java
+++ b/ldap/extras/codec-api/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl/SyncInfoValueImpl.java
@@ -24,6 +24,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.model.message.IntermediateResponseImpl;
 import org.apache.directory.api.util.Strings;
 
@@ -336,7 +337,7 @@ public class SyncInfoValueImpl extends IntermediateResponseImpl implements SyncI
                 break;
 
             default:
-                throw new IllegalArgumentException( "Unexpected SynchronizationInfo: " + getType() );
+                throw new IllegalArgumentException( I18n.err( I18n.ERR_9300_UNEXPECTED_SYNCINFO, getType() ) );
         }
 
         return sb.toString();
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncDecorator.java
index 2b7fbd3..7228182 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncDecorator.java
@@ -216,7 +216,7 @@ public class AdDirSyncDecorator extends ControlDecorator<AdDirSync> implements A
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Encode the SEQ
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncGrammar.java
index 81e2189..1c8bcd8 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdDirSyncGrammar.java
@@ -30,6 +30,7 @@ import org.apache.directory.api.asn1.ber.tlv.BerValue;
 import org.apache.directory.api.asn1.ber.tlv.IntegerDecoder;
 import org.apache.directory.api.asn1.ber.tlv.IntegerDecoderException;
 import org.apache.directory.api.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.extras.controls.ad.AdDirSyncFlag;
 import org.apache.directory.api.util.Strings;
 import org.slf4j.Logger;
@@ -119,21 +120,21 @@ public final class AdDirSyncGrammar extends AbstractGrammar<AdDirSyncContainer>
                             
                             if ( flags == null )
                             {
-                                String msg = "Error while decoding the AdDirSync flag, unknown value : " + flagValue;
+                                String msg = I18n.err( I18n.ERR_08104_AD_DIR_SYNC_FLAG_DECODING_FAILURE, flagValue );
                                 LOG.error( msg );
                                 throw new DecoderException( msg );
                             }
                             
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "flags = {}", flags.toString() );
+                                LOG.debug( I18n.msg( I18n.MSG_08101_FLAGS, flags.toString() ) );
                             }
                             
                             container.getAdDirSyncControl().setFlags( flags );
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = "Error while decoding the AdDirSync flag : " + ide.getMessage();
+                            String msg = I18n.err( I18n.ERR_08105_AD_DIR_SYNC_FLAG_DECODING_ERROR, ide.getMessage() );
                             LOG.error( msg, ide );
                             throw new DecoderException( msg, ide );
                         }
@@ -165,14 +166,14 @@ public final class AdDirSyncGrammar extends AbstractGrammar<AdDirSyncContainer>
                             
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "maxReturnLength = {}", maxReturnLength );
+                                LOG.debug( I18n.msg( I18n.MSG_08102_MAX_RETURN_LENGTH, maxReturnLength ) );
                             }
                             
                             container.getAdDirSyncControl().setMaxReturnLength( maxReturnLength );
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = "Error while decoding the AdDirSync maxReturnLength : " + ide.getMessage();
+                            String msg = I18n.err( I18n.ERR_08106_AD_DIR_SYNC_MAX_RETURN_LENGTH_DECODING_ERROR, ide.getMessage() );
                             LOG.error( msg, ide );
                             throw new DecoderException( msg, ide );
                         }
@@ -201,7 +202,7 @@ public final class AdDirSyncGrammar extends AbstractGrammar<AdDirSyncContainer>
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "cookie = {}", Strings.dumpBytes( cookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                         }
 
                         container.getAdDirSyncControl().setCookie( cookie );
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdPolicyHintsDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdPolicyHintsDecorator.java
index bddf91d..992639a 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdPolicyHintsDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ad_impl/AdPolicyHintsDecorator.java
@@ -94,7 +94,7 @@ public class AdPolicyHintsDecorator extends ControlDecorator<AdPolicyHints>
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         buffer.put( UniversalTag.SEQUENCE.getValue() );
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PPolicyInit.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PPolicyInit.java
index 3906a58..e258263 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PPolicyInit.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PPolicyInit.java
@@ -22,6 +22,7 @@ package org.apache.directory.api.ldap.extras.controls.ppolicy_impl;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.api.i18n.I18n;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,7 +56,7 @@ public class PPolicyInit extends GrammarAction<PasswordPolicyContainer>
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "PasswordPolicyResponseControlContainer initialized" );
+            LOG.debug( I18n.msg( I18n.MSG_08103_PP_RESPONSE_CONTROL_CONTAINER_INITIALIZED ) );
         }
     }
 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PasswordPolicyDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PasswordPolicyDecorator.java
index 903ff8a..a21a38c 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PasswordPolicyDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/ppolicy_impl/PasswordPolicyDecorator.java
@@ -162,7 +162,7 @@ public class PasswordPolicyDecorator extends ControlDecorator<PasswordPolicy> im
 
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Encode the Sequence tag
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueDecorator.java
index dae0e98..a80253c 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueDecorator.java
@@ -119,7 +119,7 @@ public class SyncDoneValueDecorator extends ControlDecorator<SyncDoneValue> impl
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Encode the SEQ
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueGrammar.java
index 562ef5b..5985532 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncDoneValueGrammar.java
@@ -112,7 +112,7 @@ public final class SyncDoneValueGrammar extends AbstractGrammar<SyncDoneValueCon
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "cookie = {}", Strings.dumpBytes( cookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                         }
 
                         container.getSyncDoneValueControl().setCookie( cookie );
@@ -134,7 +134,7 @@ public final class SyncDoneValueGrammar extends AbstractGrammar<SyncDoneValueCon
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "refreshDeletes = {}", refreshDeletes );
+                            LOG.debug( I18n.msg( I18n.MSG_08001_REFRESH_DELETES, refreshDeletes ) );
                         }
 
                         container.getSyncDoneValueControl().setRefreshDeletes( refreshDeletes );
@@ -144,7 +144,7 @@ public final class SyncDoneValueGrammar extends AbstractGrammar<SyncDoneValueCon
                     }
                     catch ( BooleanDecoderException be )
                     {
-                        String msg = I18n.err( I18n.ERR_04024 );
+                        String msg = I18n.err( I18n.ERR_08001_CANNOT_DECODE_REFRESH_DELETES );
                         LOG.error( msg, be );
                         throw new DecoderException( msg, be );
                     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueDecorator.java
index e504071..b284a80 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueDecorator.java
@@ -196,7 +196,7 @@ public class SyncRequestValueDecorator extends ControlDecorator<SyncRequestValue
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Encode the SEQ
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueGrammar.java
index f62e167..1c3b5a2 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncRequestValueGrammar.java
@@ -126,7 +126,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "Mode = " + modeEnum );
+                                LOG.debug( I18n.msg( I18n.MSG_08100_MODE, modeEnum ) );
                             }
 
                             container.getSyncRequestValueControl().setMode( modeEnum );
@@ -136,7 +136,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = I18n.err( I18n.ERR_04028 );
+                            String msg = I18n.err( I18n.ERR_08100_SYNC_REQUEST_VALUE_MODE_DECODING_FAILED );
                             LOG.error( msg, ide );
                             throw new DecoderException( msg, ide );
                         }
@@ -165,7 +165,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "cookie = " + Strings.dumpBytes( cookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                         }
 
                         container.getSyncRequestValueControl().setCookie( cookie );
@@ -199,7 +199,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "reloadHint = " + reloadHint );
+                                LOG.debug( I18n.msg( I18n.MSG_08104_RELOAD_HINT, reloadHint ) );
                             }
 
                             container.getSyncRequestValueControl().setReloadHint( reloadHint );
@@ -209,7 +209,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
                         }
                         catch ( BooleanDecoderException bde )
                         {
-                            String msg = I18n.err( I18n.ERR_04029 );
+                            String msg = I18n.err( I18n.ERR_08101_RELOAD_HINT_DECODING_FAILED );
                             LOG.error( msg, bde );
                             throw new DecoderException( msg, bde );
                         }
@@ -240,7 +240,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "reloadHint = " + reloadHint );
+                                LOG.debug( I18n.msg( I18n.MSG_08104_RELOAD_HINT, reloadHint ) );
                             }
 
                             container.getSyncRequestValueControl().setReloadHint( reloadHint );
@@ -250,7 +250,7 @@ public final class SyncRequestValueGrammar extends AbstractGrammar<SyncRequestVa
                         }
                         catch ( BooleanDecoderException bde )
                         {
-                            String msg = I18n.err( I18n.ERR_04029 );
+                            String msg = I18n.err( I18n.ERR_08101_RELOAD_HINT_DECODING_FAILED );
                             LOG.error( msg, bde );
                             throw new DecoderException( msg, bde );
                         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueDecorator.java
index 1cbeb4d..02ccf0a 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueDecorator.java
@@ -180,7 +180,7 @@ public class SyncStateValueDecorator extends ControlDecorator<SyncStateValue> im
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         // Encode the SEQ
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueGrammar.java
index d773868..d0613d8 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/syncrepl_impl/SyncStateValueGrammar.java
@@ -119,7 +119,7 @@ public final class SyncStateValueGrammar extends AbstractGrammar<SyncStateValueC
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "SyncStateType = {}", syncStateTypeEnum );
+                            LOG.debug( I18n.msg( I18n.MSG_08105_SYNC_STATE_TYPE, syncStateTypeEnum ) );
                         }
 
                         container.getSyncStateValueControl().setSyncStateType( syncStateTypeEnum );
@@ -129,7 +129,7 @@ public final class SyncStateValueGrammar extends AbstractGrammar<SyncStateValueC
                     }
                     catch ( IntegerDecoderException ide )
                     {
-                        String msg = I18n.err( I18n.ERR_04030 );
+                        String msg = I18n.err( I18n.ERR_08102_SYNC_STATE_VALUE_MODE_DECODING_FAILED );
                         LOG.error( msg, ide );
                         throw new DecoderException( msg, ide );
                     }
@@ -158,7 +158,7 @@ public final class SyncStateValueGrammar extends AbstractGrammar<SyncStateValueC
 
                     if ( LOG.isDebugEnabled() )
                     {
-                        LOG.debug( "entryUUID = {}", Strings.dumpBytes( entryUUID ) );
+                        LOG.debug( I18n.msg( I18n.MSG_08106_ENTRY_UUID, Strings.dumpBytes( entryUUID ) ) );
                     }
 
                     container.getSyncStateValueControl().setEntryUUID( entryUUID );
@@ -190,7 +190,7 @@ public final class SyncStateValueGrammar extends AbstractGrammar<SyncStateValueC
 
                     if ( LOG.isDebugEnabled() )
                     {
-                        LOG.debug( "cookie = {}", cookie );
+                        LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                     }
 
                     container.getSyncStateValueControl().setCookie( cookie );
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitByOffsetSequence.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitByOffsetSequence.java
index dad7ffa..9aaf96b 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitByOffsetSequence.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitByOffsetSequence.java
@@ -22,6 +22,7 @@ package org.apache.directory.api.ldap.extras.controls.vlv_impl;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.api.i18n.I18n;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,7 +53,7 @@ public class InitByOffsetSequence extends GrammarAction<VirtualListViewRequestCo
     {
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "VirtualListViewRequestContainer initialized" );
+            LOG.debug( I18n.msg( I18n.MSG_08107_VLV_REQUEST_CONTAINER_INITIALIZED ) );
         }
     }
 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitVirtualListViewRequest.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitVirtualListViewRequest.java
index 8fb2472..8b23a11 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitVirtualListViewRequest.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/InitVirtualListViewRequest.java
@@ -22,6 +22,7 @@ package org.apache.directory.api.ldap.extras.controls.vlv_impl;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
+import org.apache.directory.api.i18n.I18n;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,7 +53,7 @@ public class InitVirtualListViewRequest extends GrammarAction<VirtualListViewReq
     {
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "VirtualListViewRequestContainer initialized" );
+            LOG.debug( I18n.msg( I18n.MSG_08107_VLV_REQUEST_CONTAINER_INITIALIZED ) );
         }
     }
 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewRequestDecorator.java
index 10809a0..9c2adc7 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewRequestDecorator.java
@@ -125,7 +125,7 @@ public class VirtualListViewRequestDecorator extends ControlDecorator<VirtualLis
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         buffer.put( UniversalTag.SEQUENCE.getValue() );
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewResponseDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewResponseDecorator.java
index a4a4bc7..10a704a 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewResponseDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/controls/vlv_impl/VirtualListViewResponseDecorator.java
@@ -105,7 +105,7 @@ public class VirtualListViewResponseDecorator extends ControlDecorator<VirtualLi
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         buffer.put( UniversalTag.SEQUENCE.getValue() );
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelGrammar.java
index 8bd5bd7..551f6da 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelGrammar.java
@@ -119,7 +119,7 @@ public final class CancelGrammar extends AbstractGrammar<CancelContainer>
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "CancelId = " + cancelId );
+                                LOG.debug( I18n.msg( I18n.MSG_08200_CANCEL_ID, cancelId ) );
                             }
 
                             cancelContainer.getCancel().setCancelId( cancelId );
@@ -127,7 +127,7 @@ public final class CancelGrammar extends AbstractGrammar<CancelContainer>
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = I18n.err( I18n.ERR_04031, Strings.dumpBytes( value.getData() ) );
+                            String msg = I18n.err( I18n.ERR_08200_CANCELID_DECODING_FAILED, Strings.dumpBytes( value.getData() ) );
                             LOG.error( msg );
                             throw new DecoderException( msg, ide );
                         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java
index 74d0a7f..8d26e17 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/cancel/CancelRequestDecorator.java
@@ -106,7 +106,7 @@ public class CancelRequestDecorator extends ExtendedRequestDecorator<CancelReque
             }
             catch ( EncoderException e )
             {
-                LOG.error( I18n.err( I18n.ERR_04164 ), e );
+                LOG.error( I18n.err( I18n.ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED ), e );
                 throw new RuntimeException( e );
             }
         }
@@ -144,7 +144,7 @@ public class CancelRequestDecorator extends ExtendedRequestDecorator<CancelReque
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationGrammar.java
index 1765937..750f549 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationGrammar.java
@@ -121,14 +121,14 @@ public class CertGenerationGrammar extends AbstractGrammar<CertGenerationContain
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "Target Dn = " + targetDN );
+                            LOG.debug( I18n.msg( I18n.MSG_08215_TARGET_DN, targetDN ) );
                         }
 
                         if ( ( targetDN != null ) && ( targetDN.trim().length() > 0 ) )
                         {
                             if ( !Dn.isValid( targetDN ) )
                             {
-                                String msg = I18n.err( I18n.ERR_04032, targetDN );
+                                String msg = I18n.err( I18n.ERR_08201_INVALID_TARGET_DN, targetDN );
                                 LOG.error( msg );
                                 throw new DecoderException( msg );
                             }
@@ -137,7 +137,7 @@ public class CertGenerationGrammar extends AbstractGrammar<CertGenerationContain
                         }
                         else
                         {
-                            String msg = I18n.err( I18n.ERR_04033, Strings.dumpBytes( value.getData() ) );
+                            String msg = I18n.err( I18n.ERR_08202_NULL_TARGET_DN_DECODING_FAILED, Strings.dumpBytes( value.getData() ) );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
@@ -167,14 +167,14 @@ public class CertGenerationGrammar extends AbstractGrammar<CertGenerationContain
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "Issuer Dn = " + issuerDN );
+                            LOG.debug( I18n.msg( I18n.MSG_08207_ISSUER_DN, issuerDN ) );
                         }
 
                         if ( ( issuerDN != null ) && ( issuerDN.trim().length() > 0 ) )
                         {
                             if ( !Dn.isValid( issuerDN ) )
                             {
-                                String msg = I18n.err( I18n.ERR_04034, issuerDN );
+                                String msg = I18n.err( I18n.ERR_08203_INVALID_ISSUER_DN, issuerDN );
                                 LOG.error( msg );
                                 throw new DecoderException( msg );
                             }
@@ -207,14 +207,14 @@ public class CertGenerationGrammar extends AbstractGrammar<CertGenerationContain
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "subject Dn = " + subjectDN );
+                            LOG.debug( I18n.msg( I18n.MSG_08219_SUBJECT_DN, subjectDN ) );
                         }
 
                         if ( ( subjectDN != null ) && ( subjectDN.trim().length() > 0 ) )
                         {
                             if ( !Dn.isValid( subjectDN ) )
                             {
-                                String msg = I18n.err( I18n.ERR_04035, subjectDN );
+                                String msg = I18n.err( I18n.ERR_08204_INVALID_SUBJECT_DN, subjectDN );
                                 LOG.error( msg );
                                 throw new DecoderException( msg );
                             }
@@ -223,7 +223,7 @@ public class CertGenerationGrammar extends AbstractGrammar<CertGenerationContain
                         }
                         else
                         {
-                            String msg = I18n.err( I18n.ERR_04033, Strings.dumpBytes( value.getData() ) );
+                            String msg = I18n.err( I18n.ERR_08202_NULL_TARGET_DN_DECODING_FAILED, Strings.dumpBytes( value.getData() ) );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
@@ -253,7 +253,7 @@ public class CertGenerationGrammar extends AbstractGrammar<CertGenerationContain
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "key algorithm = " + keyAlgorithm );
+                            LOG.debug( I18n.msg( I18n.MSG_08218_KEY_ALGORITHM, keyAlgorithm ) );
                         }
 
                         if ( keyAlgorithm != null && ( keyAlgorithm.trim().length() > 0 ) )
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java
index c6cc968..53733f9 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/certGeneration/CertGenerationRequestDecorator.java
@@ -99,7 +99,7 @@ public class CertGenerationRequestDecorator extends ExtendedRequestDecorator<Cer
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
@@ -119,7 +119,7 @@ public class CertGenerationRequestDecorator extends ExtendedRequestDecorator<Cer
             }
             catch ( EncoderException e )
             {
-                LOG.error( I18n.err( I18n.ERR_04167 ), e );
+                LOG.error( I18n.err( I18n.ERR_08218_CERT_GENERATE_PAYLOAD_ENCODING_FAILED ), e );
                 throw new RuntimeException( e );
             }
         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestDecorator.java
index 5e3dc36..6a1cf59 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestDecorator.java
@@ -140,7 +140,7 @@ public class EndTransactionRequestDecorator extends ExtendedRequestDecorator<End
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestGrammar.java
index c9cd9d7..7ba512f 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionRequestGrammar.java
@@ -125,7 +125,7 @@ public class EndTransactionRequestGrammar extends AbstractGrammar<EndTransaction
                         catch ( BooleanDecoderException bde )
                         {
                             LOG.error( I18n
-                                .err( I18n.ERR_04490_BAD_END_TRANSACTION_COMMIT, Strings.dumpBytes( value.getData() ), bde.getMessage() ) );
+                                .err( I18n.ERR_08221_BAD_END_TRANSACTION_COMMIT, Strings.dumpBytes( value.getData() ), bde.getMessage() ) );
 
                             // This will generate a PROTOCOL_ERROR
                             throw new DecoderException( bde.getMessage(), bde );
@@ -156,7 +156,7 @@ public class EndTransactionRequestGrammar extends AbstractGrammar<EndTransaction
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "Identifier = {}", Strings.dumpBytes( identifier ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08206_IDENTIFIER, Strings.dumpBytes( identifier ) ) );
                         }
 
                         if ( identifier == null )
@@ -195,7 +195,7 @@ public class EndTransactionRequestGrammar extends AbstractGrammar<EndTransaction
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "Identifier = {}", Strings.dumpBytes( identifier ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08206_IDENTIFIER, Strings.dumpBytes( identifier ) ) );
                         }
 
                         if ( identifier == null )
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseDecorator.java
index 8f40a6c..692b6d2 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseDecorator.java
@@ -107,7 +107,7 @@ public class EndTransactionResponseDecorator extends ExtendedResponseDecorator<E
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseGrammar.java
index 7de1d99..ecb6a32 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/EndTransactionResponseGrammar.java
@@ -143,7 +143,7 @@ public class EndTransactionResponseGrammar extends AbstractGrammar<EndTransactio
                         catch ( IntegerDecoderException ide )
                         {
                             LOG.error( I18n
-                                .err( I18n.ERR_04490_BAD_END_TRANSACTION_COMMIT, Strings.dumpBytes( value.getData() ), ide.getMessage() ) );
+                                .err( I18n.ERR_08221_BAD_END_TRANSACTION_COMMIT, Strings.dumpBytes( value.getData() ), ide.getMessage() ) );
 
                             // This will generate a PROTOCOL_ERROR
                             throw new DecoderException( ide.getMessage(), ide );
@@ -226,7 +226,7 @@ public class EndTransactionResponseGrammar extends AbstractGrammar<EndTransactio
                         catch ( IntegerDecoderException ide )
                         {
                             LOG.error( I18n
-                                .err( I18n.ERR_04491_BAD_END_TRANSACTION_MESSAGE_ID, Strings.dumpBytes( value.getData() ), 
+                                .err( I18n.ERR_08222_BAD_END_TRANSACTION_MESSAGE_ID, Strings.dumpBytes( value.getData() ), 
                                     ide.getMessage() ) );
 
                             // This will generate a PROTOCOL_ERROR
@@ -275,7 +275,7 @@ public class EndTransactionResponseGrammar extends AbstractGrammar<EndTransactio
                         {
                             // Add an error
                             LOG.error( I18n
-                                .err( I18n.ERR_04099_INVALID_CONTROL_LIST, Strings.dumpBytes( value.getData() ), 
+                                .err( I18n.ERR_08223_INVALID_CONTROL_LIST, Strings.dumpBytes( value.getData() ), 
                                     de.getMessage() ) );
 
                             // This will generate a PROTOCOL_ERROR
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/ControlsGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/ControlsGrammar.java
index 0b8ab50..2ebbdbe 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/ControlsGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/ControlsGrammar.java
@@ -84,7 +84,7 @@ public class ControlsGrammar extends AbstractGrammar<ControlsContainer>
                         // The Length should be null
                         if ( expectedLength == 0 )
                         {
-                            String msg = I18n.err( I18n.ERR_04096_NULL_CONTROL_LENGTH );
+                            String msg = I18n.err( I18n.ERR_08213_NULL_CONTROL_LENGTH );
                             LOG.error( msg );
 
                             // This will generate a PROTOCOL_ERROR
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/AddControl.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/AddControl.java
index aa3f76b..fbe584b 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/AddControl.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/AddControl.java
@@ -67,7 +67,7 @@ public class AddControl extends GrammarAction<ControlsContainer>
         // We have to handle the special case of a 0 length OID
         if ( tlv.getLength() == 0 )
         {
-            String msg = I18n.err( I18n.ERR_04097_NULL_CONTROL_OID );
+            String msg = I18n.err( I18n.ERR_08214_NULL_OID );
             LOG.error( msg );
 
             // This will generate a PROTOCOL_ERROR
@@ -80,7 +80,7 @@ public class AddControl extends GrammarAction<ControlsContainer>
         // The OID is encoded as a String, not an Object Id
         if ( !Oid.isOid( oidValue ) )
         {
-            String msg = I18n.err( I18n.ERR_04098_INVALID_CONTROL_OID, oidValue );
+            String msg = I18n.err( I18n.ERR_08215_INVALID_CONTROL_OID, oidValue );
             LOG.error( msg );
 
             // This will generate a PROTOCOL_ERROR
@@ -97,7 +97,7 @@ public class AddControl extends GrammarAction<ControlsContainer>
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "Control OID : {}", oidValue );
+            LOG.debug( I18n.msg( I18n.MSG_08201_CONTROL_OID, oidValue ) );
         }
     }
 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlCriticality.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlCriticality.java
index 1517c5b..c3d4026 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlCriticality.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlCriticality.java
@@ -85,7 +85,7 @@ public class StoreControlCriticality extends GrammarAction<ControlsContainer>
         catch ( BooleanDecoderException bde )
         {
             LOG.error( I18n
-                .err( I18n.ERR_04100_BAD_CONTROL_CRITICALITY, Strings.dumpBytes( value.getData() ), bde.getMessage() ) );
+                .err( I18n.ERR_08103_BAD_CONTROL_CRITICALITY, Strings.dumpBytes( value.getData() ), bde.getMessage() ) );
 
             // This will generate a PROTOCOL_ERROR
             throw new DecoderException( bde.getMessage(), bde );
@@ -96,7 +96,7 @@ public class StoreControlCriticality extends GrammarAction<ControlsContainer>
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "Control criticality : {}", control.isCritical() );
+            LOG.debug( I18n.msg( I18n.MSG_08202_CONTROL_CRITICALITY, control.isCritical() ) );
         }
     }
 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlValue.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlValue.java
index 114b5db..d668dfa 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlValue.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/endTransaction/controls/actions/StoreControlValue.java
@@ -23,6 +23,7 @@ package org.apache.directory.api.ldap.extras.extended.ads_impl.endTransaction.co
 import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
 import org.apache.directory.api.asn1.ber.tlv.BerValue;
 import org.apache.directory.api.asn1.ber.tlv.TLV;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.CodecControl;
 import org.apache.directory.api.ldap.extras.extended.ads_impl.endTransaction.controls.ControlsContainer;
 import org.apache.directory.api.util.Strings;
@@ -84,7 +85,7 @@ public class StoreControlValue extends GrammarAction<ControlsContainer>
 
         if ( LOG.isDebugEnabled() )
         {
-            LOG.debug( "Control value : {}", Strings.dumpBytes( control.getValue() ) );
+            LOG.debug( I18n.msg( I18n.MSG_08203_CONTROL_VALUE, Strings.dumpBytes( control.getValue() ) ) );
         }
     }
 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectGrammar.java
index 8050f50..3cc89d0 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectGrammar.java
@@ -83,7 +83,7 @@ public final class GracefulDisconnectGrammar extends AbstractGrammar<GracefulDis
 
                     if ( LOG.isDebugEnabled() )
                     {
-                        LOG.debug( "Delay = " + delay );
+                        LOG.debug( I18n.msg( I18n.MSG_08204_DELAY, delay ) );
                     }
 
                     container.getGracefulDisconnectResponse().setDelay( delay );
@@ -91,7 +91,7 @@ public final class GracefulDisconnectGrammar extends AbstractGrammar<GracefulDis
                 }
                 catch ( IntegerDecoderException ide )
                 {
-                    String msg = I18n.err( I18n.ERR_04036, Strings.dumpBytes( value.getData() ) );
+                    String msg = I18n.err( I18n.ERR_08205_CANNOT_DECODE_DELAY, Strings.dumpBytes( value.getData() ) );
                     LOG.error( msg );
                     throw new DecoderException( msg, ide );
                 }
@@ -112,7 +112,7 @@ public final class GracefulDisconnectGrammar extends AbstractGrammar<GracefulDis
                 {
                     if ( Strings.isEmpty( value.getData() ) )
                     {
-                        String msg = "failed to decode a null URL";
+                        String msg = I18n.err( I18n.ERR_08224_NULL_URL_DECODING_FAILURE );
                         LOG.error( msg );
                         throw new DecoderException( msg );
                     }
@@ -125,12 +125,12 @@ public final class GracefulDisconnectGrammar extends AbstractGrammar<GracefulDis
 
                     if ( LOG.isDebugEnabled() )
                     {
-                        LOG.debug( "Stores a referral : {}", ldapUrl );
+                        LOG.debug( I18n.msg( I18n.MSG_08214_STORES_A_REFERRAL, ldapUrl ) );
                     }
                 }
                 catch ( LdapURLEncodingException luee )
                 {
-                    String msg = "failed to decode the URL '" + Strings.dumpBytes( value.getData() ) + "'";
+                    String msg = I18n.err( I18n.ERR_08225_URL_DECODING_FAILURE, Strings.dumpBytes( value.getData() ) );
                     LOG.error( msg );
                     throw new DecoderException( msg, luee );
                 }
@@ -153,7 +153,7 @@ public final class GracefulDisconnectGrammar extends AbstractGrammar<GracefulDis
 
                     if ( LOG.isDebugEnabled() )
                     {
-                        LOG.debug( "Time Offline = " + timeOffline );
+                        LOG.debug( I18n.msg( I18n.MSG_08216_TIME_OFFLINE, timeOffline ) );
                     }
 
                     container.getGracefulDisconnectResponse().setTimeOffline( timeOffline );
@@ -161,7 +161,7 @@ public final class GracefulDisconnectGrammar extends AbstractGrammar<GracefulDis
                 }
                 catch ( IntegerDecoderException ide )
                 {
-                    String msg = I18n.err( I18n.ERR_04037, Strings.dumpBytes( value.getData() ) );
+                    String msg = I18n.err( I18n.ERR_08206_TIME_OFFLINE_DECODING_FAILED, Strings.dumpBytes( value.getData() ) );
                     LOG.error( msg );
                     throw new DecoderException( msg, ide );
                 }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectResponseDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectResponseDecorator.java
index 4b9ed69..e7064c6 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectResponseDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulDisconnect/GracefulDisconnectResponseDecorator.java
@@ -93,7 +93,7 @@ public class GracefulDisconnectResponseDecorator extends ExtendedResponseDecorat
             }
             catch ( EncoderException e )
             {
-                LOG.error( I18n.err( I18n.ERR_04164 ), e );
+                LOG.error( I18n.err( I18n.ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED ), e );
                 throw new RuntimeException( e );
             }
         }
@@ -127,7 +127,7 @@ public class GracefulDisconnectResponseDecorator extends ExtendedResponseDecorat
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04172 ), e );
+            LOG.error( I18n.err( I18n.ERR_08219_RESPONSE_DECODING_FAILED ), e );
         }
     }
 
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownGrammar.java
index bf06a30..615713c 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownGrammar.java
@@ -123,7 +123,7 @@ public final class GracefulShutdownGrammar extends AbstractGrammar<GracefulShutd
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "Time Offline = " + timeOffline );
+                                LOG.debug( I18n.msg( I18n.MSG_08216_TIME_OFFLINE, timeOffline ) );
                             }
 
                             container.getGracefulShutdownRequest().setTimeOffline( timeOffline );
@@ -131,7 +131,7 @@ public final class GracefulShutdownGrammar extends AbstractGrammar<GracefulShutd
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = I18n.err( I18n.ERR_04037, Strings.dumpBytes( value.getData() ) );
+                            String msg = I18n.err( I18n.ERR_08206_TIME_OFFLINE_DECODING_FAILED, Strings.dumpBytes( value.getData() ) );
                             LOG.error( msg );
                             throw new DecoderException( msg, ide );
                         }
@@ -165,7 +165,7 @@ public final class GracefulShutdownGrammar extends AbstractGrammar<GracefulShutd
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "Delay = " + delay );
+                                LOG.debug( I18n.msg( I18n.MSG_08204_DELAY, delay ) );
                             }
 
                             container.getGracefulShutdownRequest().setDelay( delay );
@@ -173,7 +173,7 @@ public final class GracefulShutdownGrammar extends AbstractGrammar<GracefulShutd
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = I18n.err( I18n.ERR_04036, Strings.dumpBytes( value.getData() ) );
+                            String msg = I18n.err( I18n.ERR_08205_CANNOT_DECODE_DELAY, Strings.dumpBytes( value.getData() ) );
                             LOG.error( msg );
                             throw new DecoderException( msg, ide );
                         }
@@ -209,7 +209,7 @@ public final class GracefulShutdownGrammar extends AbstractGrammar<GracefulShutd
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "Delay = " + delay );
+                                LOG.debug( I18n.msg( I18n.MSG_08204_DELAY, delay ) );
                             }
 
                             gracefulShutdownContainer.getGracefulShutdownRequest().setDelay( delay );
@@ -217,7 +217,7 @@ public final class GracefulShutdownGrammar extends AbstractGrammar<GracefulShutd
                         }
                         catch ( IntegerDecoderException ide )
                         {
-                            String msg = I18n.err( I18n.ERR_04036, Strings.dumpBytes( value.getData() ) );
+                            String msg = I18n.err( I18n.ERR_08205_CANNOT_DECODE_DELAY, Strings.dumpBytes( value.getData() ) );
                             LOG.error( msg );
                             throw new DecoderException( msg, ide );
                         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownRequestDecorator.java
index d00b3b2..284d176 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/gracefulShutdown/GracefulShutdownRequestDecorator.java
@@ -89,7 +89,7 @@ public class GracefulShutdownRequestDecorator extends ExtendedRequestDecorator<G
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
@@ -109,7 +109,7 @@ public class GracefulShutdownRequestDecorator extends ExtendedRequestDecorator<G
             }
             catch ( EncoderException e )
             {
-                LOG.error( I18n.err( I18n.ERR_04164 ), e );
+                LOG.error( I18n.err( I18n.ERR_08216_GRACEFUL_SHUTDOWN_PAYLOAD_ENCODING_FAILED ), e );
                 throw new RuntimeException( e );
             }
         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestDecorator.java
index 19f9988..11bc78a 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestDecorator.java
@@ -87,7 +87,7 @@ public class PasswordModifyRequestDecorator extends ExtendedRequestDecorator<Pas
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestGrammar.java
index 3bae478..fa472fe 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyRequestGrammar.java
@@ -27,6 +27,7 @@ import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
 import org.apache.directory.api.asn1.ber.grammar.GrammarTransition;
 import org.apache.directory.api.asn1.ber.tlv.BerValue;
 import org.apache.directory.api.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.LdapApiServiceFactory;
 import org.apache.directory.api.ldap.extras.extended.pwdModify.PasswordModifyRequestImpl;
 import org.apache.directory.api.util.Strings;
@@ -121,7 +122,7 @@ public class PasswordModifyRequestGrammar extends AbstractGrammar<PasswordModify
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "UserIdentity = " + Strings.dumpBytes( userIdentity ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08217_USER_IDENTITY, Strings.dumpBytes( userIdentity ) ) );
                         }
 
                         if ( userIdentity == null )
@@ -161,7 +162,7 @@ public class PasswordModifyRequestGrammar extends AbstractGrammar<PasswordModify
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "oldPassword = " + Strings.dumpBytes( oldPassword ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08209_OLD_PASSWORD ) );
                         }
 
                         if ( oldPassword == null )
@@ -202,7 +203,7 @@ public class PasswordModifyRequestGrammar extends AbstractGrammar<PasswordModify
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "newPassword = " + Strings.dumpBytes( newPassword ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08208_NEW_PASSWORD ) );
                         }
 
                         if ( newPassword == null )
@@ -242,7 +243,7 @@ public class PasswordModifyRequestGrammar extends AbstractGrammar<PasswordModify
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "OldPassword = " + Strings.dumpBytes( oldPassword ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08209_OLD_PASSWORD ) );
                         }
 
                         if ( oldPassword == null )
@@ -282,7 +283,7 @@ public class PasswordModifyRequestGrammar extends AbstractGrammar<PasswordModify
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "NewPassword = " + Strings.dumpBytes( newPassword ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08208_NEW_PASSWORD ) );
                         }
 
                         if ( newPassword == null )
@@ -322,7 +323,7 @@ public class PasswordModifyRequestGrammar extends AbstractGrammar<PasswordModify
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "NewPassword = " + Strings.dumpBytes( newPassword ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08208_NEW_PASSWORD ) );
                         }
 
                         if ( newPassword == null )
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseDecorator.java
index 866ec99..a501e35 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseDecorator.java
@@ -88,7 +88,7 @@ public class PasswordModifyResponseDecorator extends ExtendedResponseDecorator<P
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseGrammar.java
index befe46a..ddc3991 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/pwdModify/PasswordModifyResponseGrammar.java
@@ -27,6 +27,7 @@ import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
 import org.apache.directory.api.asn1.ber.grammar.GrammarTransition;
 import org.apache.directory.api.asn1.ber.tlv.BerValue;
 import org.apache.directory.api.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.LdapApiServiceFactory;
 import org.apache.directory.api.ldap.extras.extended.pwdModify.PasswordModifyResponseImpl;
 import org.apache.directory.api.util.Strings;
@@ -119,7 +120,7 @@ public class PasswordModifyResponseGrammar extends AbstractGrammar<PasswordModif
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "GenPassword = " + Strings.dumpBytes( genPassword ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08205_GEN_PASSWORD ) );
                         }
 
                         if ( genPassword == null )
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureGrammar.java
index 2e86b49..2955ad4 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureGrammar.java
@@ -42,10 +42,7 @@ import org.slf4j.LoggerFactory;
  */
 public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedureContainer>
 {
-    //~ Static fields/initializers -----------------------------------------------------------------
-
     /** The logger */
-    //private static final Logger log = LoggerFactory.getLogger( StoredProcedureGrammar.class );
     static final Logger LOG = LoggerFactory.getLogger( StoredProcedureGrammar.class );
 
     /** The instance of grammar. StoredProcedureGrammar is a singleton. */
@@ -103,7 +100,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
                         if ( tlv.getLength() == 0 )
                         {
                             // We can't have a void language !
-                            String msg = I18n.err( I18n.ERR_04038 );
+                            String msg = I18n.err( I18n.ERR_08207_SP_LANGUAGE_NULL );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
@@ -114,7 +111,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "SP language found: " + language );
+                                LOG.debug( I18n.msg( I18n.MSG_08213_SP_LANGUAGE_FOUND, language ) );
                             }
 
                             storedProcedure.setLanguage( language );
@@ -141,7 +138,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
                         if ( tlv.getLength() == 0 )
                         {
                             // We can't have a void procedure !
-                            String msg = I18n.err( I18n.ERR_04039 );
+                            String msg = I18n.err( I18n.ERR_08208_NULL_PROCEDURE );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
@@ -154,7 +151,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
 
                         if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "Procedure found : " + storedProcedure.getProcedureSpecification() );
+                            LOG.debug( I18n.msg( I18n.MSG_08212_PROCEDURE_FOUND, storedProcedure.getProcedureSpecification() ) );
                         }
                     }
                 } );
@@ -204,7 +201,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
                         if ( tlv.getLength() == 0 )
                         {
                             // We can't have a void parameter type !
-                            String msg = I18n.err( I18n.ERR_04040 );
+                            String msg = I18n.err( I18n.ERR_08209_NULL_PARAMETER_TYPE );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
@@ -221,7 +218,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
 
                             if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "Parameter type found : " + Strings.dumpBytes( parameterType ) );
+                                LOG.debug( I18n.msg( I18n.MSG_08210_PARAMETER_TYPE_FOUND, Strings.dumpBytes( parameterType ) ) );
                             }
 
                         }
@@ -251,7 +248,7 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
                         if ( tlv.getLength() == 0 )
                         {
                             // We can't have a void parameter value !
-                            String msg = I18n.err( I18n.ERR_04041 );
+                            String msg = I18n.err( I18n.ERR_08210_NULL_PARAMETER_VALUE );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
@@ -269,12 +266,12 @@ public final class StoredProcedureGrammar extends AbstractGrammar<StoredProcedur
 
                                 if ( LOG.isDebugEnabled() )
                                 {
-                                    LOG.debug( "Parameter value found : " + Strings.dumpBytes( parameterValue ) );
+                                    LOG.debug( I18n.msg( I18n.MSG_08211_PARAMETER_VALUE_FOUND, Strings.dumpBytes( parameterValue ) ) );
                                 }
                             }
                             else
                             {
-                                String msg = I18n.err( I18n.ERR_04042 );
+                                String msg = I18n.err( I18n.ERR_08211_EMPTY_PARAMETER_VALUE );
                                 LOG.error( msg );
                                 throw new DecoderException( msg );
                             }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureRequestDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureRequestDecorator.java
index ea0fead..819e3d5 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureRequestDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/storedProcedure/StoredProcedureRequestDecorator.java
@@ -80,9 +80,10 @@ public class StoredProcedureRequestDecorator extends ExtendedRequestDecorator<St
     public StoredProcedureRequestDecorator( LdapApiService codec, StoredProcedureRequest decoratedRequest )
     {
         super( codec, decoratedRequest );
+        
         if ( decoratedRequest == null )
         {
-            throw new NullPointerException( "decorated stored procedulre request is null" );
+            throw new NullPointerException( I18n.err( I18n.ERR_08228_DECORATED_SP_NULL ) );
         }
     }
 
@@ -229,7 +230,7 @@ public class StoredProcedureRequestDecorator extends ExtendedRequestDecorator<St
         }
         catch ( BufferOverflowException boe )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04005 ), boe );
+            throw new EncoderException( I18n.err( I18n.ERR_08212_PDU_BUFFER_TOO_SMALL ), boe );
         }
 
         return bb;
@@ -300,7 +301,7 @@ public class StoredProcedureRequestDecorator extends ExtendedRequestDecorator<St
         }
         catch ( Exception e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
@@ -320,7 +321,7 @@ public class StoredProcedureRequestDecorator extends ExtendedRequestDecorator<St
             }
             catch ( EncoderException e )
             {
-                LOG.error( I18n.err( I18n.ERR_04174 ), e );
+                LOG.error( I18n.err( I18n.ERR_08220_SP_PAYLOAD_ENCODING_FAILED ), e );
                 throw new RuntimeException( e );
             }
         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseDecorator.java
index 064e6c6..27949a5 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseDecorator.java
@@ -82,7 +82,7 @@ public class WhoAmIResponseDecorator extends ExtendedResponseDecorator<WhoAmIRes
         }
         catch ( DecoderException e )
         {
-            LOG.error( I18n.err( I18n.ERR_04165_PAYLOAD_DECODING_ERROR ), e );
+            LOG.error( I18n.err( I18n.ERR_08217_PAYLOAD_DECODING_ERROR ), e );
             throw new RuntimeException( e );
         }
     }
@@ -102,7 +102,7 @@ public class WhoAmIResponseDecorator extends ExtendedResponseDecorator<WhoAmIRes
             }
             catch ( EncoderException e )
             {
-                LOG.error( I18n.err( I18n.ERR_04167 ), e );
+                LOG.error( I18n.err( I18n.ERR_08218_CERT_GENERATE_PAYLOAD_ENCODING_FAILED ), e );
                 throw new RuntimeException( e );
             }
         }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseGrammar.java
index c5e2681..0e9a0bb 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/extended/ads_impl/whoAmI/WhoAmIResponseGrammar.java
@@ -26,6 +26,7 @@ import org.apache.directory.api.asn1.ber.grammar.Grammar;
 import org.apache.directory.api.asn1.ber.grammar.GrammarAction;
 import org.apache.directory.api.asn1.ber.grammar.GrammarTransition;
 import org.apache.directory.api.asn1.ber.tlv.UniversalTag;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.LdapApiServiceFactory;
 import org.apache.directory.api.ldap.extras.extended.whoAmI.WhoAmIResponseImpl;
 import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
@@ -98,7 +99,7 @@ public class WhoAmIResponseGrammar extends AbstractGrammar<WhoAmIResponseContain
                                     // Error
                                 case 1:
                                     // Error
-                                    String msg = "authzId too short. Must starts with either u: or dn:";
+                                    String msg = I18n.err( I18n.ERR_08226_AUTHZID_TOO_SHORT_MISSING_U_OR_DN );
                                     LOG.error( msg );
                                     throw new DecoderException( msg );
 
@@ -110,7 +111,7 @@ public class WhoAmIResponseGrammar extends AbstractGrammar<WhoAmIResponseContain
                                     }
                                     else
                                     {
-                                        msg = "authzId Must starts with either u: or dn:, it starts with " + Strings.utf8ToString( data );
+                                        msg = I18n.err( I18n.ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN, Strings.utf8ToString( data ) );
                                         LOG.error( msg );
                                         throw new DecoderException( msg );
                                     }
@@ -128,7 +129,7 @@ public class WhoAmIResponseGrammar extends AbstractGrammar<WhoAmIResponseContain
                                             }
                                             else
                                             {
-                                                msg = "authzId Must starts with either u: or dn:, it starts with " + Strings.utf8ToString( data );
+                                                msg = I18n.err( I18n.ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN, Strings.utf8ToString( data ) );
                                                 LOG.error( msg );
                                                 throw new DecoderException( msg );
                                             }
@@ -154,14 +155,14 @@ public class WhoAmIResponseGrammar extends AbstractGrammar<WhoAmIResponseContain
                                                 }
                                                 else
                                                 {
-                                                    msg = "authzId Must starts with either u: or dn:, it starts with " + Strings.utf8ToString( data );
+                                                    msg = I18n.err( I18n.ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN, Strings.utf8ToString( data ) );
                                                     LOG.error( msg );
                                                     throw new DecoderException( msg );
                                                 }
                                             }
                                             else
                                             {
-                                                msg = "authzId Must starts with either u: or dn:, it starts with " + Strings.utf8ToString( data );
+                                                msg = I18n.err( I18n.ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN, Strings.utf8ToString( data ) );
                                                 LOG.error( msg );
                                                 throw new DecoderException( msg );
                                             }
@@ -169,7 +170,7 @@ public class WhoAmIResponseGrammar extends AbstractGrammar<WhoAmIResponseContain
                                             break;
 
                                         default :
-                                            msg = "authzId Must starts with either u: or dn:, it starts with " + Strings.utf8ToString( data );
+                                            msg = I18n.err( I18n.ERR_08227_AUTHZID_MUST_START_WITH_U_OR_DN, Strings.utf8ToString( data ) );
                                             LOG.error( msg );
                                             throw new DecoderException( msg );
                                     }
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueDecorator.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueDecorator.java
index d3796b4..c3fa94d 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueDecorator.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueDecorator.java
@@ -342,7 +342,7 @@ public class SyncInfoValueDecorator extends IntermediateResponseDecorator<SyncIn
     {
         if ( buffer == null )
         {
-            throw new EncoderException( I18n.err( I18n.ERR_04023 ) );
+            throw new EncoderException( I18n.err( I18n.ERR_08000_CANNOT_PUT_A_PDU_IN_NULL_BUFFER ) );
         }
 
         switch ( getDecorated().getSyncInfoValueType() )
@@ -436,7 +436,7 @@ public class SyncInfoValueDecorator extends IntermediateResponseDecorator<SyncIn
                 break;
 
             default:
-                throw new IllegalArgumentException( "Unexpected SynchronizationInfo: " + getType() );
+                throw new IllegalArgumentException( I18n.err( I18n.ERR_08229_UNEXPECTED_SYNC_INFO, getType() ) );
         }
 
         return buffer;
@@ -546,7 +546,7 @@ public class SyncInfoValueDecorator extends IntermediateResponseDecorator<SyncIn
                         break;
 
                     default:
-                        throw new IllegalArgumentException( "Unexpected SynchronizationInfo: " + getType() );
+                        throw new IllegalArgumentException( I18n.err( I18n.ERR_08229_UNEXPECTED_SYNC_INFO, getType() ) );
                 }
 
                 value = buffer.array();
diff --git a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueGrammar.java b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueGrammar.java
index c3ce17e..a740075 100644
--- a/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueGrammar.java
+++ b/ldap/extras/codec/src/main/java/org/apache/directory/api/ldap/extras/intermediate/syncrepl_impl/SyncInfoValueGrammar.java
@@ -107,10 +107,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
 
                         byte[] newCookie = value.getData();
 
-                        if ( LOG.isDebugEnabled()
- )
+                        if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "newcookie = {}", Strings.dumpBytes( newCookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08300_NEW_COOKIE, Strings.dumpBytes( newCookie ) ) );
                         }
 
                         syncInfoValue.setCookie( newCookie );
@@ -172,10 +171,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
 
                         byte[] cookie = value.getData();
 
-                        if ( LOG.isDebugEnabled()
- )
+                        if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "cookie = {}", Strings.dumpBytes( cookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                         }
 
                         container.getSyncInfoValue().setCookie( cookie );
@@ -212,10 +210,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         {
                             boolean refreshDone = BooleanDecoder.parse( value );
 
-                            if ( LOG.isDebugEnabled()
- )
+                            if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "refreshDone = {}", refreshDone );
+                                LOG.debug( I18n.msg( I18n.MSG_08301_REFRESH_DONE, refreshDone ) );
                             }
 
                             syncInfoValue.setRefreshDone( refreshDone );
@@ -227,7 +224,7 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         }
                         catch ( BooleanDecoderException be )
                         {
-                            String msg = I18n.err( I18n.ERR_04025 );
+                            String msg = I18n.err( I18n.ERR_08300_REFRESH_DONE_DECODING_FAILED );
                             LOG.error( msg, be );
                             throw new DecoderException( msg, be );
                         }
@@ -262,10 +259,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         {
                             boolean refreshDone = BooleanDecoder.parse( value );
 
-                            if ( LOG.isDebugEnabled()
- )
+                            if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "refreshDone = {}", refreshDone );
+                                LOG.debug( I18n.msg( I18n.MSG_08301_REFRESH_DONE, refreshDone ) );
                             }
 
                             syncInfoValue.setRefreshDone( refreshDone );
@@ -277,7 +273,7 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         }
                         catch ( BooleanDecoderException be )
                         {
-                            String msg = I18n.err( I18n.ERR_04025 );
+                            String msg = I18n.err( I18n.ERR_08300_REFRESH_DONE_DECODING_FAILED );
                             LOG.error( msg, be );
                             throw new DecoderException( msg, be );
                         }
@@ -337,10 +333,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
 
                         byte[] cookie = value.getData();
 
-                        if ( LOG.isDebugEnabled()
- )
+                        if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "cookie = {}", Strings.dumpBytes( cookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                         }
 
                         container.getSyncInfoValue().setCookie( cookie );
@@ -377,10 +372,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         {
                             boolean refreshDone = BooleanDecoder.parse( value );
 
-                            if ( LOG.isDebugEnabled()
- )
+                            if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "refreshDone = {}", refreshDone );
+                                LOG.debug( I18n.msg( I18n.MSG_08301_REFRESH_DONE, refreshDone ) );
                             }
 
                             syncInfoValue.setRefreshDone( refreshDone );
@@ -392,7 +386,7 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         }
                         catch ( BooleanDecoderException be )
                         {
-                            String msg = I18n.err( I18n.ERR_04025 );
+                            String msg = I18n.err( I18n.ERR_08300_REFRESH_DONE_DECODING_FAILED );
                             LOG.error( msg, be );
                             throw new DecoderException( msg, be );
                         }
@@ -427,10 +421,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         {
                             boolean refreshDone = BooleanDecoder.parse( value );
 
-                            if ( LOG.isDebugEnabled()
- )
+                            if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "refreshDone = {}", refreshDone );
+                                LOG.debug( I18n.msg( I18n.MSG_08301_REFRESH_DONE, refreshDone ) );
                             }
 
                             syncInfoValue.setRefreshDone( refreshDone );
@@ -442,7 +435,7 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         }
                         catch ( BooleanDecoderException be )
                         {
-                            String msg = I18n.err( I18n.ERR_04025 );
+                            String msg = I18n.err( I18n.ERR_08300_REFRESH_DONE_DECODING_FAILED );
                             LOG.error( msg, be );
                             throw new DecoderException( msg, be );
                         }
@@ -498,10 +491,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
 
                         byte[] cookie = value.getData();
 
-                        if ( LOG.isDebugEnabled()
- )
+                        if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "cookie = {}", Strings.dumpBytes( cookie ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08000_COOKIE, Strings.dumpBytes( cookie ) ) );
                         }
 
                         container.getSyncInfoValue().setCookie( cookie );
@@ -534,10 +526,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         {
                             boolean refreshDeletes = BooleanDecoder.parse( value );
 
-                            if ( LOG.isDebugEnabled()
- )
+                            if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "refreshDeletes = {}", refreshDeletes );
+                                LOG.debug( I18n.msg( I18n.MSG_08001_REFRESH_DELETES, refreshDeletes ) );
                             }
 
                             syncInfoValue.setRefreshDeletes( refreshDeletes );
@@ -546,7 +537,7 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         }
                         catch ( BooleanDecoderException be )
                         {
-                            String msg = I18n.err( I18n.ERR_04026 );
+                            String msg = I18n.err( I18n.ERR_08301_REFRESH_DELETES_DECODING_FAILED );
                             LOG.error( msg, be );
                             throw new DecoderException( msg, be );
                         }
@@ -578,10 +569,9 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         {
                             boolean refreshDeletes = BooleanDecoder.parse( value );
 
-                            if ( LOG.isDebugEnabled()
- )
+                            if ( LOG.isDebugEnabled() )
                             {
-                                LOG.debug( "refreshDeletes = {}", refreshDeletes );
+                                LOG.debug( I18n.msg( I18n.MSG_08001_REFRESH_DELETES, refreshDeletes ) );
                             }
 
                             syncInfoValue.setRefreshDeletes( refreshDeletes );
@@ -590,7 +580,7 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         }
                         catch ( BooleanDecoderException be )
                         {
-                            String msg = I18n.err( I18n.ERR_04024 );
+                            String msg = I18n.err( I18n.ERR_08001_CANNOT_DECODE_REFRESH_DELETES );
                             LOG.error( msg, be );
                             throw new DecoderException( msg, be );
                         }
@@ -691,15 +681,14 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         // UUID must be exactly 16 bytes long
                         if ( ( uuid == null ) || ( uuid.length != 16 ) )
                         {
-                            String msg = I18n.err( I18n.ERR_04027 );
+                            String msg = I18n.err( I18n.ERR_08302_BAD_UUID_VALUE_INCORRECT_LENGTH );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
 
-                        if ( LOG.isDebugEnabled()
- )
+                        if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "UUID = {}", Strings.dumpBytes( uuid ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08302_UUID, Strings.dumpBytes( uuid ) ) );
                         }
 
                         // Store the UUID in the UUIDs list
@@ -737,15 +726,14 @@ public final class SyncInfoValueGrammar extends AbstractGrammar<SyncInfoValueCon
                         // UUID must be exactly 16 bytes long
                         if ( ( uuid == null ) || ( uuid.length != 16 ) )
                         {
-                            String msg = I18n.err( I18n.ERR_04027 );
+                            String msg = I18n.err( I18n.ERR_08302_BAD_UUID_VALUE_INCORRECT_LENGTH );
                             LOG.error( msg );
                             throw new DecoderException( msg );
                         }
 
-                        if ( LOG.isDebugEnabled()
- )
+                        if ( LOG.isDebugEnabled() )
                         {
-                            LOG.debug( "UUID = {}", Strings.dumpBytes( uuid ) );
+                            LOG.debug( I18n.msg( I18n.MSG_08302_UUID, Strings.dumpBytes( uuid ) ) );
                         }
 
                         // Store the UUID in the UUIDs list
diff --git a/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/StoredProcedureLanguageSchemeOption.java b/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/StoredProcedureLanguageSchemeOption.java
index bdbc1ed..bd69628 100644
--- a/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/StoredProcedureLanguageSchemeOption.java
+++ b/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/StoredProcedureLanguageSchemeOption.java
@@ -58,16 +58,6 @@ public class StoredProcedureLanguageSchemeOption implements StoredProcedureOptio
      * {@inheritDoc}
      */
     @Override
-    public String toString()
-    {
-        return "language " + "\"" + language + "\"";
-    }
-
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
     public int hashCode()
     {
         int h = 37;
@@ -88,15 +78,19 @@ public class StoredProcedureLanguageSchemeOption implements StoredProcedureOptio
         {
             return true;
         }
+        
         if ( obj == null )
         {
             return false;
         }
+        
         if ( getClass() != obj.getClass() )
         {
             return false;
         }
-        final StoredProcedureLanguageSchemeOption other = ( StoredProcedureLanguageSchemeOption ) obj;
+        
+        StoredProcedureLanguageSchemeOption other = ( StoredProcedureLanguageSchemeOption ) obj;
+     
         if ( language == null )
         {
             if ( other.language != null )
@@ -108,7 +102,17 @@ public class StoredProcedureLanguageSchemeOption implements StoredProcedureOptio
         {
             return false;
         }
+        
         return true;
     }
 
+
+    /**
+     * {@inheritDoc}
+     */
+    @Override
+    public String toString()
+    {
+        return "language " + "\"" + language + "\"";
+    }
 }
diff --git a/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecification.java b/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecification.java
index b335c2c..bf0928e 100644
--- a/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecification.java
+++ b/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecification.java
@@ -55,12 +55,12 @@ public class TriggerSpecification
         
         if ( ( ldapOperation == null ) || ( actionTime == null ) || ( spSpecs == null ) )
         {
-            throw new NullArgumentException( I18n.err( I18n.ERR_04331 ) );
+            throw new NullArgumentException( I18n.err( I18n.ERR_11000_TRIGGER_SPECIFICATION_INIT_WITH_NULL ) );
         }
         
         if ( spSpecs.isEmpty() )
         {
-            throw new IllegalArgumentException( I18n.err( I18n.ERR_04332 ) );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_11001_TRIGGER_SPECIFICATION_INIT_WITH_EPTY_SPEC_LIST ) );
         }
         
         this.ldapOperation = ldapOperation;
@@ -173,6 +173,7 @@ public class TriggerSpecification
             h = h * 17 + ( ( name == null ) ? 0 : name.hashCode() );
             h = h * 17 + ( ( options == null ) ? 0 : options.hashCode() );
             h = h * 17 + ( ( parameters == null ) ? 0 : parameters.hashCode() );
+            
             return h;
         }
 
@@ -187,15 +188,19 @@ public class TriggerSpecification
             {
                 return true;
             }
+            
             if ( obj == null )
             {
                 return false;
             }
+            
             if ( getClass() != obj.getClass() )
             {
                 return false;
             }
-            final SPSpec other = ( SPSpec ) obj;
+            
+            SPSpec other = ( SPSpec ) obj;
+            
             if ( name == null )
             {
                 if ( other.name != null )
@@ -207,6 +212,7 @@ public class TriggerSpecification
             {
                 return false;
             }
+            
             if ( options == null )
             {
                 if ( other.options != null )
@@ -218,6 +224,7 @@ public class TriggerSpecification
             {
                 return false;
             }
+            
             if ( parameters == null )
             {
                 if ( other.parameters != null )
@@ -229,9 +236,8 @@ public class TriggerSpecification
             {
                 return false;
             }
+            
             return true;
         }
-
     }
-
 }
diff --git a/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecificationParser.java b/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecificationParser.java
index 6f56bc4..99fa040 100644
--- a/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecificationParser.java
+++ b/ldap/extras/trigger/src/main/java/org/apache/directory/api/ldap/trigger/TriggerSpecificationParser.java
@@ -126,12 +126,14 @@ public class TriggerSpecificationParser
         }
         catch ( TokenStreamException e )
         {
-            String msg = I18n.err( I18n.ERR_04333, spec, e.getLocalizedMessage() );
+            String msg = I18n.err( I18n.ERR_11002_TRIGGER_SPECIFICATION_PARSER_FAILURE, spec, e.getLocalizedMessage() );
+            
             throw new ParseException( msg, 0 );
         }
         catch ( RecognitionException e )
         {
-            String msg = I18n.err( I18n.ERR_04333, spec, e.getLocalizedMessage() );
+            String msg = I18n.err( I18n.ERR_11002_TRIGGER_SPECIFICATION_PARSER_FAILURE, spec, e.getLocalizedMessage() );
+            
             throw new ParseException( msg, e.getColumn() );
         }
 
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifEntry.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifEntry.java
index f133077..7b00e4d 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifEntry.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/ldif/LdifEntry.java
@@ -240,7 +240,7 @@ public class LdifEntry implements Cloneable, Externalizable, Iterable<Attribute>
         if ( valueExpected )
         {
             throw new LdapInvalidAttributeValueException( ResultCodeEnum.INVALID_ATTRIBUTE_SYNTAX, I18n
-                .err( I18n.ERR_12087 ) );
+                .err( I18n.ERR_13250_VALUE_MISSING_AT_THE_END ) );
         }
 
         // Now, parse the Ldif and convert it to a LdifEntry
diff --git a/ldap/schema/data/src/main/java/org/apache/directory/api/ldap/schema/manager/impl/DefaultSchemaManager.java b/ldap/schema/data/src/main/java/org/apache/directory/api/ldap/schema/manager/impl/DefaultSchemaManager.java
index 6372018..9e7393a 100644
--- a/ldap/schema/data/src/main/java/org/apache/directory/api/ldap/schema/manager/impl/DefaultSchemaManager.java
+++ b/ldap/schema/data/src/main/java/org/apache/directory/api/ldap/schema/manager/impl/DefaultSchemaManager.java
@@ -274,7 +274,7 @@ public class DefaultSchemaManager implements SchemaManager
             else
             {
                 throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, I18n.err(
-                    I18n.ERR_11001, schemaName ) );
+                    I18n.ERR_16078_CANNOT_LOAD_UNKNOWN_SCHEMA, schemaName ) );
             }
         }
 
@@ -1965,7 +1965,7 @@ public class DefaultSchemaManager implements SchemaManager
             {
                 // We have an invalid SchemaObject, no need to go any further
                 Throwable error = new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, I18n.err(
-                    I18n.ERR_11007, schemaObject.getOid() ) );
+                    I18n.ERR_16079_INVALID_SCHEMA_OBJECT_CANNOT_BE_LOADED, schemaObject.getOid() ) );
                 errors.add( error );
             }
         }

-- 
To stop receiving notification emails like this one, please contact
elecharny@apache.org.