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/06/15 21:01:21 UTC

[directory-ldap-api] branch master updated: Some more Err/Msg modifications

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


The following commit(s) were added to refs/heads/master by this push:
     new ff07452  Some more Err/Msg modifications
ff07452 is described below

commit ff074523be68be95d78c7417806c9e2a51153c44
Author: Emmanuel Lécharny <el...@symas.com>
AuthorDate: Fri Jun 15 23:01:15 2018 +0200

    Some more Err/Msg modifications
---
 .../java/org/apache/directory/api/i18n/I18n.java   | 195 +++++++++-----------
 .../apache/directory/api/i18n/errors.properties    | 205 ++++++++++-----------
 .../apache/directory/api/i18n/messages.properties  |   4 +
 .../api/AbstractPoolableLdapConnectionFactory.java |   5 +-
 .../client/api/DefaultLdapConnectionFactory.java   |   5 +-
 .../ldap/client/api/DefaultSchemaLoader.java       |   5 +-
 .../ldap/client/api/LdapConnectionPool.java        |   5 +-
 .../ldap/client/api/LdapNetworkConnection.java     | 184 +++++++++---------
 .../ldap/client/api/MonitoringLdapConnection.java  |   3 +-
 .../client/api/callback/SaslCallbackHandler.java   |   3 +-
 .../client/api/future/MultipleResponseFuture.java  |   3 +-
 .../ldap/client/api/search/FilterBuilder.java      |   9 +-
 .../ldap/client/api/search/SetOfFiltersFilter.java |   4 +-
 .../ldap/client/api/search/UnaryFilter.java        |   3 +-
 .../ldap/client/template/MemoryClearingBuffer.java |   4 +-
 .../AttributeTypeDescriptionSchemaParser.java      |   4 +-
 16 files changed, 303 insertions(+), 338 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 455c9e8..ceee9e7 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
@@ -53,6 +53,9 @@ public enum I18n
     ERR_01006_LENGTH_TOO_LONG_FOR_DEFINITE_FORM( "ERR_01006_LENGTH_TOO_LONG_FOR_DEFINITE_FORM" ),
     ERR_01007_PDU_SIZE_TOO_LONG( "ERR_01007_PDU_SIZE_TOO_LONG" ),
     ERR_01008_REMAINING_BYTES_FOR_DECODED_PDU( "ERR_01008_REMAINING_BYTES_FOR_DECODED_PDU" ),
+    ERR_01308_ZERO_LENGTH_TLV( "ERR_01308_ZERO_LENGTH_TLV" ),
+    ERR_01309_EMPTY_TLV( "ERR_01309_EMPTY_TLV" ),
+    ERR_01310_INTEGER_DECODING_ERROR( "ERR_01310_INTEGER_DECODING_ERROR" ),
 
     //     actions                      1100 -  1199
     ERR_01100_INCORRECT_LENGTH( "ERR_01100_INCORRECT_LENGTH" ),
@@ -143,56 +146,8 @@ public enum I18n
     ERR_03101_MISSING_CONNECTION_TO( "ERR_03101_MISSING_CONNECTION_TO" ),
     
     // ldap-client
-    ERR_03201_CURSOR_CLOSE_FAIL( "ERR_03201_CURSOR_CLOSE_FAIL" ),
-    ERR_03202_ERROR_PROCESSING_NOD( "ERR_03202_ERROR_PROCESSING_NOD" ),
-    ERR_03203_OP_FAILED_TIMEOUT( "ERR_03203_OP_FAILED_TIMEOUT" ),
-    ERR_03204_ERROR_LOADING_SCHEMA( "ERR_03204_ERROR_LOADING_SCHEMA" ),
-    ERR_03205_FAIL_LOAD_SCHEMA( "ERR_03205_FAIL_LOAD_SCHEMA" ),
-    ERR_03206_FAIL_LOAD_SCHEMA_FILE( "ERR_03206_FAIL_LOAD_SCHEMA_FILE" ),
-    ERR_03207_SOMETHING_WRONG_HAPPENED( "ERR_03207_SOMETHING_WRONG_HAPPENED" ),
-    ERR_03208_TIMEOUT( "ERR_03208_TIMEOUT" ),
 
     // ldap
-    ERR_04065( "ERR_04065" ),
-    ERR_04070( "ERR_04070" ),
-    ERR_04080( "ERR_04080" ),
-    ERR_04111( "ERR_04111" ),
-    ERR_04112( "ERR_04112" ),
-    ERR_04113( "ERR_04113" ),
-    ERR_04120( "ERR_04120" ),
-    ERR_04127( "ERR_04127" ),
-    ERR_04128( "ERR_04128" ),
-    ERR_04129( "ERR_04129" ),
-    ERR_04132( "ERR_04132" ),
-    ERR_04135( "ERR_04135" ),
-    ERR_04136( "ERR_04136" ),
-    ERR_04138( "ERR_04138" ),
-    ERR_04141( "ERR_04141" ),
-    ERR_04142( "ERR_04142" ),
-    ERR_04143( "ERR_04143" ),
-    ERR_04156( "ERR_04156" ),
-    ERR_04169( "ERR_04169" ),
-    ERR_04170( "ERR_04170" ),
-    ERR_04171( "ERR_04171" ),
-    ERR_04177( "ERR_04177" ),
-    ERR_04178( "ERR_04178" ),
-    ERR_04179( "ERR_04179" ),
-    ERR_04180( "ERR_04180" ),
-    ERR_04181( "ERR_04181" ),
-    ERR_04182( "ERR_04182" ),
-    ERR_04183( "ERR_04183" ),
-    ERR_04184( "ERR_04184" ),
-    ERR_04189( "ERR_04189" ),
-    ERR_04190( "ERR_04190" ),
-    ERR_04191( "ERR_04191" ),
-    ERR_04216( "ERR_04216" ),
-    ERR_04217( "ERR_04217" ),
-    ERR_04222( "ERR_04222" ),
-    ERR_04223( "ERR_04223" ),
-    ERR_04225( "ERR_04225" ),
-    ERR_04227( "ERR_04227" ),
-    ERR_04228( "ERR_04228" ),
-    ERR_04229( "ERR_04229" ),
     ERR_04230( "ERR_04230" ),
     ERR_04231( "ERR_04231" ),
     ERR_04232( "ERR_04232" ),
@@ -224,66 +179,10 @@ public enum I18n
     ERR_04260( "ERR_04260" ),
     ERR_04296( "ERR_04296" ),
     ERR_04298( "ERR_04298" ),
-    ERR_04299( "ERR_04299" ),
-    ERR_04300( "ERR_04300" ),
-    ERR_04334( "ERR_04334" ),
-    ERR_04337( "ERR_04337" ),
-    ERR_04338( "ERR_04338" ),
-    ERR_04339( "ERR_04339" ),
-    ERR_04340( "ERR_04340" ),
-    ERR_04341( "ERR_04341" ),
-    ERR_04342( "ERR_04342" ),
-    ERR_04349( "ERR_04349" ),
-    ERR_04350( "ERR_04350" ),
-    ERR_04351( "ERR_04351" ),
-    ERR_04352( "ERR_04352" ),
-    ERR_04353( "ERR_04353" ),
-    ERR_04355( "ERR_04355" ),
-    ERR_04356( "ERR_04356" ),
-    ERR_04357( "ERR_04357" ),
-    ERR_04384( "ERR_04384" ),
-    ERR_04385( "ERR_04385" ),
-    ERR_04386( "ERR_04386" ),
-    ERR_04387( "ERR_04387" ),
-    ERR_04388( "ERR_04388" ),
-    ERR_04389( "ERR_04389" ),
-    ERR_04390( "ERR_04390" ),
-    ERR_04391( "ERR_04391" ),
-    ERR_04392( "ERR_04392" ),
-    ERR_04393( "ERR_04393" ),
-    ERR_04394( "ERR_04394" ),
-    ERR_04395( "ERR_04395" ),
-    ERR_04396( "ERR_04396" ),
-    ERR_04397( "ERR_04397" ),
+
     ERR_04408( "ERR_04408" ),
     ERR_04409( "ERR_04409" ),
-    ERR_04410( "ERR_04410" ),
-    ERR_04413( "ERR_04413" ),
-    ERR_04417( "ERR_04417" ),
-    ERR_04418( "ERR_04418" ),
-    ERR_04419( "ERR_04419" ),
-    ERR_04420( "ERR_04420" ),
-    ERR_04421( "ERR_04421" ),
-    ERR_04423( "ERR_04423" ),
-    ERR_04424( "ERR_04424" ),
-    ERR_04429( "ERR_04429" ),
-    ERR_04430( "ERR_04430" ),
-    ERR_04436( "ERR_04436" ),
-    ERR_04437( "ERR_04437" ),
-    ERR_04438( "ERR_04438" ),
-    ERR_04439( "ERR_04439" ),
-    ERR_04440( "ERR_04440" ),
-    ERR_04442_NOT_EXISTING_ATTRIBUTE_TYPE( "ERR_04442_NOT_EXISTING_ATTRIBUTE_TYPE" ),
-    ERR_04444( "ERR_04444" ),
-    ERR_04446( "ERR_04446" ),
-    ERR_04447_CANNOT_NORMALIZE_VALUE( "ERR_04447_CANNOT_NORMALIZE_VALUE" ),
-    ERR_04448( "ERR_04448" ),
-    ERR_04450( "ERR_04450" ),
-    ERR_04453( "ERR_04453" ),
-    ERR_04454( "ERR_04454" ),
-    ERR_04455( "ERR_04455" ),
-    ERR_04456( "ERR_04456" ),
-    ERR_04459( "ERR_04459" ),
+
     ERR_04467( "ERR_04467" ),
     ERR_04468( "ERR_04468" ),
     ERR_04469( "ERR_04469" ),
@@ -296,8 +195,84 @@ public enum I18n
     ERR_04479_INVALID_SYNTAX_VALUE( "ERR_04479_INVALID_SYNTAX_VALUE" ),
     ERR_04480_END_OF_STREAM( "ERR_04480_END_OF_STREAM" ),
     
-    // ldap-client-api  4100-
-    ERR_4100_TLS_HANDSHAKE_ERROR( "ERR_4100_TLS_HANDSHAKE_ERROR" ),
+    // api-ldap-client-api   4000-4999
+    // api-ldap-client-api <>            4000-4100
+    // api-ldap-client-api api           4100-4200
+    ERR_04100_UNABLE_TO_UNBIND( "ERR_04100_UNABLE_TO_UNBIND" ),
+    ERR_04101_CANNOT_CREATE_LDAP_CONNECTION_FACTORY( "ERR_04101_CANNOT_CREATE_LDAP_CONNECTION_FACTORY" ),
+    ERR_04102_UNABLE_TO_BIND_CONNECTION( "ERR_04102_UNABLE_TO_BIND_CONNECTION" ),
+    ERR_04103_UNABLE_TO_CLOSE_FAILED_CONNECTION( "ERR_04103_UNABLE_TO_CLOSE_FAILED_CONNECTION" ),
+    ERR_04104_NULL_CONNECTION_CANNOT_CONNECT( "ERR_04104_NULL_CONNECTION_CANNOT_CONNECT" ),
+    ERR_04105_CONNECTION_NOT_AUTHENTICATED( "ERR_04105_CONNECTION_NOT_AUTHENTICATED" ),
+    ERR_04106_OPERATION_NOT_SUPPORTED( "ERR_04106_OPERATION_NOT_SUPPORTED" ),
+    ERR_04107_UNEXPECTED_THROWN_EXCEPTION( "ERR_04107_UNEXPECTED_THROWN_EXCEPTION" ),
+    ERR_04108_INVALID_CONNECTION( "ERR_04108_INVALID_CONNECTION" ),
+    ERR_04109_CANNOT_CONNECT( "ERR_04109_CANNOT_CONNECT" ),
+    ERR_04110_CANNOT_CONNECT_TO_SERVER( "ERR_04110_CANNOT_CONNECT_TO_SERVER" ),
+
+    ERR_04112_OP_FAILED_TIMEOUT( "ERR_04112_OP_FAILED_TIMEOUT" ),
+    ERR_04113_ERROR_PROCESSING_NOD( "ERR_04113_ERROR_PROCESSING_NOD" ),
+    ERR_04114_CURSOR_CLOSE_FAIL( "ERR_04114_CURSOR_CLOSE_FAIL" ),
+    ERR_04115_ERROR_LOADING_SCHEMA( "ERR_04115_ERROR_LOADING_SCHEMA" ),
+    ERR_04116_FAIL_LOAD_SCHEMA( "ERR_04116_FAIL_LOAD_SCHEMA" ),
+    ERR_04117_FAIL_LOAD_SCHEMA_FILE( "ERR_04117_FAIL_LOAD_SCHEMA_FILE" ),
+    ERR_04118_SOMETHING_WRONG_HAPPENED( "ERR_04118_SOMETHING_WRONG_HAPPENED" ),
+    ERR_04119_TIMEOUT( "ERR_04119_TIMEOUT" ),
+    ERR_04120_TLS_HANDSHAKE_ERROR( "ERR_04120_TLS_HANDSHAKE_ERROR" ),
+    ERR_04121_CANNOT_RESOLVE_HOSTNAME( "ERR_04121_CANNOT_RESOLVE_HOSTNAME" ),
+    ERR_04122_SSL_CONTEXT_INIT_FAILURE( "ERR_04122_SSL_CONTEXT_INIT_FAILURE" ),
+    ERR_04123_CANNOT_ADD_EMPTY_ENTRY( "ERR_04123_CANNOT_ADD_EMPTY_ENTRY" ),
+    ERR_04124_CANNOT_PROCESS_NULL_ADD_REQUEST( "ERR_04124_CANNOT_PROCESS_NULL_ADD_REQUEST" ),
+    ERR_04125_CANNOT_ADD_NULL_ENTRY( "ERR_04125_CANNOT_ADD_NULL_ENTRY" ),
+    ERR_04126_CANNOT_ABANDON_NEG_MSG_ID( "ERR_04126_CANNOT_ABANDON_NEG_MSG_ID" ),
+    ERR_04127_CANNOT_PROCESS_NULL_ABANDON_REQ( "ERR_04127_CANNOT_PROCESS_NULL_ABANDON_REQ" ),
+    ERR_04128_CANNOT_PROCESS_NULL_BIND_REQ( "ERR_04128_CANNOT_PROCESS_NULL_BIND_REQ" ),
+    ERR_04129_NULL_BASE_DN( "ERR_04129_NULL_BASE_DN" ),
+    ERR_04130_CANNOT_PROCESS_NULL_SEARCH_REQ( "ERR_04130_CANNOT_PROCESS_NULL_SEARCH_REQ" ),
+    ERR_04131_CANNOT_PROCESS_SEARCH_NULL_DN( "ERR_04131_CANNOT_PROCESS_SEARCH_NULL_DN" ),
+    ERR_04132_UNEXPECTED_RESPONSE_TYPE( "ERR_04132_UNEXPECTED_RESPONSE_TYPE" ),
+    ERR_04133_NULL_MODIFIED_ENTRY( "ERR_04133_NULL_MODIFIED_ENTRY" ),
+    ERR_04134_NULL_MODIFIED_DN( "ERR_04134_NULL_MODIFIED_DN" ),
+    ERR_04135_CANNOT_PROCESS_NO_MODIFICATION_MOD( "ERR_04135_CANNOT_PROCESS_NO_MODIFICATION_MOD" ),
+    ERR_04136_CANNOT_PROCESS_NULL_MOD_REQ( "ERR_04136_CANNOT_PROCESS_NULL_MOD_REQ" ),
+    ERR_04137_CANNOT_PROCESS_MOD_NULL_DN( "ERR_04137_CANNOT_PROCESS_MOD_NULL_DN" ),
+    ERR_04138_CANNOT_PROCESS_RENAME_NULL_DN( "ERR_04138_CANNOT_PROCESS_RENAME_NULL_DN" ),
+    ERR_04139_CANNOT_PROCESS_RENAME_NULL_RDN( "ERR_04139_CANNOT_PROCESS_RENAME_NULL_RDN" ),
+    ERR_04140_CANNOT_PROCESS_MOVE_NULL_DN( "ERR_04140_CANNOT_PROCESS_MOVE_NULL_DN" ),
+    ERR_04141_CANNOT_PROCESS_MOVE_NULL_SUPERIOR( "ERR_04141_CANNOT_PROCESS_MOVE_NULL_SUPERIOR" ),
+    ERR_04142_NULL_ENTRY_DN( "ERR_04142_NULL_ENTRY_DN" ),
+    ERR_04143_CANNOT_MOVE_ROOT_DSE( "ERR_04143_CANNOT_MOVE_ROOT_DSE" ),
+    ERR_04144_NULL_NEW_DN( "ERR_04144_NULL_NEW_DN" ),
+    ERR_04145_ROOT_DSE_CANNOT_BE_TARGET( "ERR_04145_ROOT_DSE_CANNOT_BE_TARGET" ),
+    ERR_04146_CANNOT_PROCESS_NULL_MODDN_REQ( "ERR_04146_CANNOT_PROCESS_NULL_MODDN_REQ" ),
+    ERR_04147_CANNOT_PROCESS_MOD_NULL_DN_SUP( "ERR_04147_CANNOT_PROCESS_MOD_NULL_DN_SUP" ),
+    ERR_04148_SUBTREE_CONTROL_NOT_SUPPORTED( "ERR_04148_SUBTREE_CONTROL_NOT_SUPPORTED" ),
+    ERR_04149_CANNOT_PROCESS_NULL_DEL_REQ( "ERR_04149_CANNOT_PROCESS_NULL_DEL_REQ" ),
+    ERR_04150_CANNOT_PROCESS_NULL_DEL_NULL_DN( "ERR_04150_CANNOT_PROCESS_NULL_DEL_NULL_DN" ),
+    ERR_04151_CANNOT_PROCESS_NULL_COMP_REQ( "ERR_04151_CANNOT_PROCESS_NULL_COMP_REQ" ),
+    ERR_04152_CANNOT_PROCESS_NULL_DN_COMP_REQ( "ERR_04152_CANNOT_PROCESS_NULL_DN_COMP_REQ" ),
+    ERR_04153_OID_DECODING_FAILURE( "ERR_04153_OID_DECODING_FAILURE" ),
+    ERR_04154_CANNOT_PROCESS_NULL_EXT_REQ( "ERR_04154_CANNOT_PROCESS_NULL_EXT_REQ" ),
+    ERR_04155_ROOT_DSE_SEARCH_FAILED( "ERR_04155_ROOT_DSE_SEARCH_FAILED" ),
+    ERR_04156_FAILED_FETCHING_ROOT_DSE( "ERR_04156_FAILED_FETCHING_ROOT_DSE" ),
+    ERR_04157_CANNOT_USE_TLS_WITH_SSL_FLAG( "ERR_04157_CANNOT_USE_TLS_WITH_SSL_FLAG" ),
+    ERR_04158_CANNOT_FIND_SASL_FACTORY_FOR_MECH( "ERR_04158_CANNOT_FIND_SASL_FACTORY_FOR_MECH" ),
+    ERR_04159_PROTOCOL_ERROR( "ERR_04159_PROTOCOL_ERROR" ),
+    ERR_04160_SESSION_HAS_BEEN_CLOSED( "ERR_04160_SESSION_HAS_BEEN_CLOSED" ),
+    ERR_04161_START_TLS_EXT_NOT_VALID_OID( "ERR_04161_START_TLS_EXT_NOT_VALID_OID" ),
+    ERR_04162_INITIAL_PART_NEEDED( "ERR_04162_INITIAL_PART_NEEDED" ),
+    ERR_04163_FINAL_PART_NEEDED( "ERR_04163_FINAL_PART_NEEDED" ),
+    ERR_04164_ANY_PART_NEEDED( "ERR_04164_ANY_PART_NEEDED" ),
+    ERR_04165_INITIAL_ANY_FINAL_PART_NEEDED( "ERR_04165_INITIAL_ANY_FINAL_PART_NEEDED" ),
+    ERR_04166_ONE_FILTER_REQUIRED( "ERR_04166_ONE_FILTER_REQUIRED" ),
+    ERR_04167_FILTER_NOT_SET( "ERR_04167_FILTER_NOT_SET" ),
+    ERR_04168_TRIM_LOWERCASE_FOR_CHAR_ARRAY( "ERR_04168_TRIM_LOWERCASE_FOR_CHAR_ARRAY" ),
+    ERR_04169_RESPONSE_QUEUE_EMPTIED( "ERR_04169_RESPONSE_QUEUE_EMPTIED" ),
+    ERR_04170_TIMEOUT_OCCURED( "ERR_04170_TIMEOUT_OCCURED" ),
+    ERR_04171_CANNOT_PARSE_MATCHED_DN( "ERR_04171_CANNOT_PARSE_MATCHED_DN" ),
+
+
+    // api-ldap-client-api template      4200-4300
     
     // api-ldap-codec-core   5000-5999
     // api-ldap-codec-core <>        5000-5099
@@ -879,7 +854,9 @@ public enum I18n
     ERR_13827_EMPTY_SYNTAX_LEN( "ERR_13827_EMPTY_SYNTAX_LEN" ),
     ERR_13828_MISSING_SYNTAX_OID( "ERR_13828_MISSING_SYNTAX_OID" ),
     ERR_13829_NO_OPENING_PAREN( "ERR_13829_NO_OPENING_PAREN" ),
-
+    ERR_13830_CANNOT_PARSE_NULL_ATTR_TYPE( "ERR_13830_CANNOT_PARSE_NULL_ATTR_TYPE" ),
+    ERR_13831_ATTRIBUTE_TYPE_PARSING_FAILURE( "ERR_13831_ATTRIBUTE_TYPE_PARSING_FAILURE" ),
+    ERR_13832_ATTRIBUTE_TYPE_DESC_PARSE_FAILURE( "ERR_13832_ATTRIBUTE_TYPE_DESC_PARSE_FAILURE" ),
     
     // api-ldap-net-mina 14000 - 14999
 
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 9e5642a..81ed716 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
@@ -26,6 +26,7 @@ ERR_00002_CANNOT_FIND_BIT=Cannot get a bit at position {0} when the BitString co
 ERR_00003_INVALID_OID=Invalid OID: {0}
 #ERR_00041_CURRENT_LENGTH_EXCEED_EXPECTED_LENGTH=Current Length is above expected Length
 
+
 # asn1 ber      1000 - 1999
 #    <>         1000 - 1099
 ERR_01000_LENGTH_OVERFLOW=Overflow: can''t have more than 4 bytes long length
@@ -55,6 +56,10 @@ ERR_01304_0_BYTES_LONG_INTEGER=The value is 0 byte long. This is not allowed for
 ERR_01305_ABOVE_4_BYTES_INTEGER=The value is more than 4 bytes long. This is not allowed for an integer
 ERR_01306_VALUE_NOT_IN_RANGE=The value is not in the range [{0}, {1}]
 ERR_01307_0_BYTES_LONG_LONG=The value is 0 byte long. This is not allowed for a long
+ERR_01308_ZERO_LENGTH_TLV=The TLV has a zero length. This is not allowed
+ERR_01309_EMPTY_TLV=The LdapMessage should not be empty
+ERR_01310_INTEGER_DECODING_ERROR=The integer cannot be decoded: {0}
+
 
 # asn1-codec
 ERR_01001=Encoded result is not a ByteBuffer: {0}
@@ -105,57 +110,8 @@ ERR_03040=unable to find the batch request
 ERR_03101_MISSING_CONNECTION_TO BIND=Missing connection, can not bind
 
 # ldap-client
-ERR_03201_CURSOR_CLOSE_FAIL=Failed to close open cursor
-ERR_03201_BIND_FAIL_TIMEOUT=Bind failed: timeout occurred
-ERR_03202_ERROR_PROCESSING_NOD=Error while processing the NoD for {}
-ERR_03203_OP_FAILED_TIMEOUT={} failed: timeout occurred
-ERR_03204_ERROR_LOADING_SCHEMA=There are errors while loading the schema
-ERR_03205_FAIL_LOAD_SCHEMA=Failed to load the schema
-ERR_03206_FAIL_LOAD_SCHEMA_FILE=Failed to load the schema from file {}
-ERR_03207_SOMETHING_WRONG_HAPPENED=Message failed: something wrong has occurred
-ERR_03208_TIMEOUT=Timeout has occurred
 
 # ldap
-ERR_04064=Ldap decoder failure: The input stream does not contain a full PDU
-ERR_04065=Ldap encoder failed to encode object: {0}, error: {1}
-ERR_04080=The Referrals must not be null
-ERR_04111=Could not parse matchedDn while transforming Codec value to Internal: {0}
-ERR_04112=Error while transforming a ExprNode: {0}
-ERR_04113=shouldn''t happen - if it does then we have issues
-ERR_04120=Missing a ''#'' in the CSN ''{0}''
-ERR_04127=I don''t really know how to compare anything other than ServerBinaryValues at this point in time.
-ERR_04128=Cannot compare {0} with the unknown value {1} 
-ERR_04129=Unknown value type: {0}
-ERR_04132=An ID cannnot be null, empty, or resolved to an emtpy value when trimmed
-ERR_04135=The AttributeType list should not be null
-ERR_04136=The AttributeType list should not contain null values
-ERR_04138=The removal of values for the missing ''{0}'' attribute is not possible
-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_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_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
-ERR_04180=Could not instantiate provider - environment does not specify {0} property!
-ERR_04181=Could not find the Provider class {0}
-ERR_04182=Could not invoke the Provider''s factory method: {0}.getProvider() - it may not exist!
-ERR_04183=Could not invoke the Provider''s factory method: {0}.getProvider() - it does seem to be a public method!
-ERR_04184=Call to Provider''s factory method: {0}.getProvider() threw the following exception:\n{1}
-ERR_04189=The User Provided type cannot be empty or null
-ERR_04190=The User provided name does not contains an ''=''
-ERR_04191=The AVA type cannot be null or empty
-ERR_04216=This class is not aware of schema information and cannot normalize
-ERR_04217=None of the arguments are Comparable objects:\n\targ1 \= {0}\n\targ2 \= {1}
-ERR_04222=The value stored in a non Human Readable attribute as a String should be convertible to a byte[]
-ERR_04223=The value stored in an Human Readable attribute as a byte[] should be convertible to a String
-ERR_04225=Encountered name based id of {0} which was not found in the OID registry
-ERR_04227=Cannot parse a null AttributeType
-ERR_04228=Parser failure on attribute type description:\n{0}\nAntlr message: {1}\nAntlr column: {2}
-ERR_04229=Parser failure on attribute type description:\n\t{0}\nAntlr message: {1}
 ERR_04230=Cannot parse a null DITContentRule
 ERR_04231=Parser failure on DIT content rule description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
 ERR_04232=Parser failure on DIT content rule description:\n\t{0}\nAntlr message: {1}
@@ -176,77 +132,21 @@ ERR_04246=Parser failure on matching rule description:\n\t{0}\nAntlr message: {1
 ERR_04247=Parser failure on matching rule description:\n\t{0}\nAntlr message: {1}
 ERR_04248=Cannot parse a null NameForm
 ERR_04249=Parser failure on name form description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2} 
-ERR_04250="Parser failure on name form description:\n\t{0}\nAntlr message: {1}
+ERR_04250=Parser failure on name form description:\n\t{0}\nAntlr message: {1}
 ERR_04251=Cannot parse a null Normalizer description
 ERR_04252=Parser failure on normalizer description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
 ERR_04253=Parser failure on normalizer description:\n\t{0}\nAntlr message: {1}
 ERR_04254=Cannot parse a null LdapComparator description
 ERR_04255=Parser failure on object class description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
 ERR_04256=Parser failure on object class description:\n\t{0}\nAntlr message: {1}
-ERR_04259="Parser failure on syntax checker description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
+ERR_04259=Parser failure on syntax checker description:\n\t{0}\nAntlr message: {1}\nAntlr column: {2}
 ERR_04260=Parser failure on syntax checker description:\n\t{0}\nAntlr message: {1}
 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_04334=Overlapping partitions are not allowed
-ERR_04337=The Array must not be null
-ERR_04338=Index: {0}, Length: {1}
-ERR_04339=Cannot figure out attribute ID if both args are null
-ERR_04340=Cannot take difference of attributes with different IDs!
-ERR_04341=Cannot figure out attribute ID if both args are null
-ERR_04342=Cannot take union of attributes with different IDs!
-ERR_04349=The Integer did not match either specified value
-ERR_04350=The String did not match any specified value
-ERR_04351=The Array must not be null
-ERR_04352=Array is empty
-ERR_04353=The array must not contain any null elements
-ERR_04355=Unexpected IllegalAccessException
-ERR_04356=The PrintWriter must not be null
-ERR_04357=The List must not be null
-ERR_04384=HashCodeBuilder requires a non zero initial value
-ERR_04385=HashCodeBuilder requires an odd initial value
-ERR_04386=HashCodeBuilder requires a non zero multiplier
-ERR_04387=HashCodeBuilder requires an odd multiplier
-ERR_04388=The object to build a hash code for must not be null
-ERR_04389=Putting attributes not supported by immutable attributes
-ERR_04390=Removing attributes not supported by immutable attributes
-ERR_04391=Now why would you want to clone() an immutable object in the first place.
-ERR_04392=Value addition not supported for immutable attribute
-ERR_04393=Value removal not supported for immutable attribute
-ERR_04394=Clearing all values not supported for immutable attribute
-ERR_04395=Now why would you ever want to clone an immutable object?
-ERR_04396=Value alteration is not supported for immutable attribute
-ERR_04397=Iterator[] arg must not be null, empty or composed of less than two Iterators
+
 ERR_04408=The string is empty: this is not a valid LdapURL.
 ERR_04409=Bad Ldap URL: {0}
-ERR_04410=The byte array is empty: this is not a valid LdapURL.
-ERR_04413=HttpClient requires ASCII support
-ERR_04417={0} is not ancestually related to context: {1}
-ERR_04418=invalid name - a name cannot start with a ''+'': {0}
-ERR_04419=The Nestable implementation passed to the NestableDelegate(Nestable) constructor must extend java.lang.Throwable"
-ERR_04420=The start index was out of bounds: {0}
-ERR_04421=The start index was out of bounds: {0} >= {1}
-ERR_04423=can''t get keys from prefs
-ERR_04424=Unexpected IllegalAccessException: {0}
-ERR_04429=Regex was null
-ERR_04430=Ldap regex must have wild cards!
-ERR_04436=The DN must not ends with a ''\\''.
-ERR_04437=Caught a SecurityException reading the system property ''{0}''; the SystemUtils property value will default to null.
-ERR_04438=The style must not be null
-ERR_04439=Usage - java org.mortbay.util.UnixCrypt <key> <salt>
-ERR_04440=Crypt={0}
-ERR_04442_NOT_EXISTING_ATTRIBUTE_TYPE=The AttributeType {0} does not exist
-ERR_04444=I don''t really know how to compare anything other than ServerBinaryValues at this point in time.
-ERR_04446=Cannot use standard serialization for a ServerStringValue
-ERR_04447_CANNOT_NORMALIZE_VALUE=Cannot normalize the wrapped value {0}
-ERR_04448=I don''t know what to do if value is not a ServerStringValue
-ERR_04450=The value ''{0}'' is incorrect, it hasn''t been added
-ERR_04453=The upID ({0}) is not an OID or is different from the AttributeType OID ({1})
-ERR_04454=Cannot use standard serialization for a ServerAttribute
-ERR_04455=The ID ''{0}''is incompatible with the AttributeType''s id ''{1}''
-ERR_04456=An ID cannnot be null, empty, or resolved to an emtpy value when trimmed
-ERR_04459=We have had an error while adding the ''{0}'' AttributeType: {1}
+
 ERR_04467=The AttributeType list should not contain null values
 ERR_04468=Cannot use standard serialization for a ServerAttribute
 ERR_04469=Cannot use standard serialization for a ServerEntry
@@ -259,7 +159,85 @@ 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_4100_TLS_HANDSHAKE_ERROR=The TLS handshake failed
+
+# api-ldap-client-api   4000-4999
+# api-ldap-client-api <>            4000-4100
+# api-ldap-client-api api           4100-4200
+ERR_04100_UNABLE_TO_UNBIND=unable to unbind connection: {0}
+ERR_04101_CANNOT_CREATE_LDAP_CONNECTION_FACTORY=unable to create LdapConnectionFactory {0}
+ERR_04102_UNABLE_TO_BIND_CONNECTION=unable to bind connection: {0}
+ERR_04103_UNABLE_TO_CLOSE_FAILED_CONNECTION=unable to close failed bind connection: {0}
+ERR_04104_NULL_CONNECTION_CANNOT_CONNECT=Cannot connect on the server, the connection is null
+ERR_04105_CONNECTION_NOT_AUTHENTICATED=connection is not authenticated
+ERR_04106_OPERATION_NOT_SUPPORTED=Operation not supported
+ERR_04107_UNEXPECTED_THROWN_EXCEPTION=An unexpected exception was thrown: {0}
+ERR_04108_INVALID_CONNECTION=Cannot connect on the server, the connection is invalid
+ERR_04109_CANNOT_CONNECT=Cannot connect
+ERR_04110_CANNOT_CONNECT_TO_SERVER=Cannot connect to the server: {0}
+ERR_04111_=
+ERR_04112_OP_FAILED_TIMEOUT={} failed: timeout occurred
+ERR_04113_ERROR_PROCESSING_NOD=Error while processing the NoD for {}
+ERR_04114_CURSOR_CLOSE_FAIL=Failed to close open cursor
+ERR_04115_ERROR_LOADING_SCHEMA=There are errors while loading the schema
+ERR_04116_FAIL_LOAD_SCHEMA=Failed to load the schema
+ERR_04117_FAIL_LOAD_SCHEMA_FILE=Failed to load the schema from file {}
+ERR_04118_SOMETHING_WRONG_HAPPENED=Message failed: something wrong has occurred
+ERR_04119_TIMEOUT=Timeout has occurred
+ERR_04120_TLS_HANDSHAKE_ERROR=The TLS handshake failed
+ERR_04121_CANNOT_RESOLVE_HOSTNAME=Cannot connect to the server, Hostname ''{0}'' could not be resolved.
+ERR_04122_SSL_CONTEXT_INIT_FAILURE=Failed to initialize the SSL context
+ERR_04123_CANNOT_ADD_EMPTY_ENTRY=Cannot add an empty entry
+ERR_04124_CANNOT_PROCESS_NULL_ADD_REQUEST=Cannot process a null addRequest
+ERR_04125_CANNOT_ADD_NULL_ENTRY=Cannot add a null entry
+ERR_04126_CANNOT_ABANDON_NEG_MSG_ID=Cannot abandon a negative message ID
+ERR_04127_CANNOT_PROCESS_NULL_ABANDON_REQ=Cannot process a null abandonRequest
+ERR_04128_CANNOT_PROCESS_NULL_BIND_REQ=Cannot process a null bindRequest
+ERR_04129_NULL_BASE_DN=The base Dn cannot be null
+ERR_04130_CANNOT_PROCESS_NULL_SEARCH_REQ=Cannot process a null searchRequest
+ERR_04131_CANNOT_PROCESS_SEARCH_NULL_DN=Cannot process a searchRequest which base DN is null
+ERR_04132_UNEXPECTED_RESPONSE_TYPE=Unexpected response type {0}
+ERR_04133_NULL_MODIFIED_ENTRY=Entry to be modified cannot be null
+ERR_04134_NULL_MODIFIED_DN=The Dn to be modified cannot be null
+ERR_04135_CANNOT_PROCESS_NO_MODIFICATION_MOD=Cannot process a ModifyRequest without any modification
+ERR_04136_CANNOT_PROCESS_NULL_MOD_REQ=Cannot process a null modifyRequest
+ERR_04137_CANNOT_PROCESS_MOD_NULL_DN=Cannot process a modifyRequest which DN is null
+ERR_04138_CANNOT_PROCESS_RENAME_NULL_DN=Cannot process a rename of a null Dn
+ERR_04139_CANNOT_PROCESS_RENAME_NULL_RDN=Cannot process a rename with a null Rdn
+ERR_04140_CANNOT_PROCESS_MOVE_NULL_DN=Cannot process a move of a null Dn
+ERR_04141_CANNOT_PROCESS_MOVE_NULL_SUPERIOR=Cannot process a move to a null newSuperior
+ERR_04142_NULL_ENTRY_DN=The entry Dn must not be null
+ERR_04143_CANNOT_MOVE_ROOT_DSE=The RootDSE cannot be moved
+ERR_04144_NULL_NEW_DN=The new Dn must not be null
+ERR_04145_ROOT_DSE_CANNOT_BE_TARGET=The RootDSE cannot be the target
+ERR_04146_CANNOT_PROCESS_NULL_MODDN_REQ=Cannot process a null modDnRequest
+ERR_04147_CANNOT_PROCESS_MOD_NULL_DN_SUP=Cannot process a modifyRequest which new superior and new Rdn are null
+ERR_04148_SUBTREE_CONTROL_NOT_SUPPORTED=The subtreeDelete control (1.2.840.113556.1.4.805) is not supported by the server\n The deletion has been aborted
+ERR_04149_CANNOT_PROCESS_NULL_DEL_REQ=Cannot process a null deleteRequest
+ERR_04150_CANNOT_PROCESS_NULL_DEL_NULL_DN=Cannot process a deleteRequest which DN is null
+ERR_04151_CANNOT_PROCESS_NULL_COMP_REQ=Cannot process a null compareRequest
+ERR_04152_CANNOT_PROCESS_NULL_DN_COMP_REQ=Cannot process a compareRequest which DN is null
+ERR_04153_OID_DECODING_FAILURE=Failed to decode the OID {0}
+ERR_04154_CANNOT_PROCESS_NULL_EXT_REQ=Cannot process a null extendedRequest
+ERR_04155_ROOT_DSE_SEARCH_FAILED=Search for root DSE returned no entry
+ERR_04156_FAILED_FETCHING_ROOT_DSE=Failed to fetch the RootDSE
+ERR_04157_CANNOT_USE_TLS_WITH_SSL_FLAG=Cannot use TLS when the useSsl flag is set true in the configuration
+ERR_04158_CANNOT_FIND_SASL_FACTORY_FOR_MECH=Cannot find a SASL factory for the {0} mechanism
+ERR_04159_PROTOCOL_ERROR=Protocol error
+ERR_04160_SESSION_HAS_BEEN_CLOSED=Error while sending some message: the session has been closed
+ERR_04161_START_TLS_EXT_NOT_VALID_OID=StartTlsRequest.EXTENSION_OID is not a valid oid... This can''t happen
+ERR_04162_INITIAL_PART_NEEDED=An ''initial'' part is needed
+ERR_04163_FINAL_PART_NEEDED=A ''final'' part is needed
+ERR_04164_ANY_PART_NEEDED=At least one ''any'' part is needed
+ERR_04165_INITIAL_ANY_FINAL_PART_NEEDED=At least one of ''initial'', ''any'' or ''final'' part is needed
+ERR_04166_ONE_FILTER_REQUIRED=At least one filter required
+ERR_04167_FILTER_NOT_SET=Filter not set
+ERR_04168_TRIM_LOWERCASE_FOR_CHAR_ARRAY=Trim and lowerCase only applicable to char[]
+ERR_04169_RESPONSE_QUEUE_EMPTIED=The response queue has been emptied, no response was found.
+ERR_04170_TIMEOUT_OCCURED=TimeOut occurred
+ERR_04171_CANNOT_PARSE_MATCHED_DN=Could not parse matchedDn while transforming Codec value to Internal: {0}
+
+
+# api-ldap-client-api template      4200-4300
 
 # api-ldap-codec-core   5000-5999
 # api-ldap-codec-core <>        5000-5099
@@ -267,7 +245,6 @@ ERR_05000_NULL_REQUEST_NAME=The request name must not be null
 ERR_05001_EMPTY_MATCHING_RULE=The matching rule is empty
 ERR_05002_ENTRY_NULL_VALUE=Entry can''t be null
 
-
 # api-ldap-codec-core actions   5100-5199
 ERR_05100_ZERO_LENGTH_MESSAGE_ID_NOT_ALLOWED=The messageId has a zero length. This is not allowed
 ERR_05101_NULL_MESSAGE_ID_NOT_ALLOWED=The messageId should not be null
@@ -707,7 +684,7 @@ ERR_13620_CANNOT_NORMALIZE_VALUE=Cannot normalize the value
 ERR_13621_ASSERTION_FAILURE=Assertion failure
 ERR_13622_DN_OR_RDN_NULL=Either the dn or the rdn is null
 ERR_13623_INVALID_POSITION=Invalid position: {0}
-ERR_13624_CANNOT_SERIALIZE_NULL_DN_=Cannot serialize a NULL Dn";
+ERR_13624_CANNOT_SERIALIZE_NULL_DN=Cannot serialize a NULL Dn";
 ERR_13625_INVALID_RDN=Invalid RDN
 ERR_13626_INVALID_RDN_DUPLICATE_AVA=Invalid RDN: the {0} is already present in the RDN
 
@@ -842,6 +819,10 @@ ERR_13826_SC_DESCRIPTION_INVALID=Error, SyntaxChecker definition invalid (line {
 ERR_13827_EMPTY_SYNTAX_LEN=The SYNTAX length is empty (line {0}, col {1})
 ERR_13828_MISSING_SYNTAX_OID=The SYNTAX has no OID (line {0}, col {1})
 ERR_13829_NO_OPENING_PAREN=There is a missing opening ''('' (line {0}, col {1})
+ERR_13830_CANNOT_PARSE_NULL_ATTR_TYPE=Cannot parse a null AttributeType
+ERR_13830_CANNOT_PARSE_NULL_ATTR_TYPE
+ERR_13831_ATTRIBUTE_TYPE_PARSING_FAILURE=Parser failure on attribute type description:\n{0}\nAntlr message: {1}\nAntlr column: {2}
+ERR_13832_ATTRIBUTE_TYPE_DESC_PARSE_FAILURE=Parser failure on attribute type description:\n\t{0}\nAntlr message: {1}
 
 # api-ldap-net-mina 14000-14999
 
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 df7cb99..d4dde6f 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
@@ -98,6 +98,10 @@ MSG_03243_MESSAGE_RECEIVED=-------> {} Message received <-------
 MSG_03244_CONNECTION_RETRYING=------>>   Cannot get the connection... Retrying
 MSG_03245_CONNECTION_ERROR=------>> Connection error: {}
 
+# api-ldap-client-api   4000-4999
+# api-ldap-client-api <>            4000-4100
+# api-ldap-client-api api           4100-4200
+
 # api-ldap-codec-core   5000-5999
 # api-ldap-codec-core <>        5000-5099
 # api-ldap-codec-core actions   5100-5199
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/AbstractPoolableLdapConnectionFactory.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/AbstractPoolableLdapConnectionFactory.java
index 542b616..e36c5e4 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/AbstractPoolableLdapConnectionFactory.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/AbstractPoolableLdapConnectionFactory.java
@@ -26,6 +26,7 @@ import java.lang.reflect.Constructor;
 import org.apache.commons.pool2.PooledObject;
 import org.apache.commons.pool2.PooledObjectFactory;
 import org.apache.commons.pool2.impl.DefaultPooledObject;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.LdapApiService;
 import org.apache.directory.api.ldap.model.exception.LdapException;
 import org.slf4j.Logger;
@@ -95,7 +96,7 @@ public abstract class AbstractPoolableLdapConnectionFactory implements PooledObj
         }
         catch ( LdapException e )
         {
-            LOG.error( "unable to unbind connection: {}", e.getMessage() );
+            LOG.error( I18n.err( I18n.ERR_04100_UNABLE_TO_UNBIND, e.getMessage() ) );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -147,7 +148,7 @@ public abstract class AbstractPoolableLdapConnectionFactory implements PooledObj
         }
         catch ( Exception e )
         {
-            throw new IllegalArgumentException( "unable to create LdapConnectionFactory" + e.getMessage(), e );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04101_CANNOT_CREATE_LDAP_CONNECTION_FACTORY, e.getMessage(), e ) );
         }
     }
 
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultLdapConnectionFactory.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultLdapConnectionFactory.java
index 8ea2f04..ed42738 100755
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultLdapConnectionFactory.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultLdapConnectionFactory.java
@@ -22,6 +22,7 @@ package org.apache.directory.ldap.client.api;
 
 import java.io.IOException;
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.LdapApiService;
 import org.apache.directory.api.ldap.model.exception.LdapException;
 import org.slf4j.Logger;
@@ -68,7 +69,7 @@ public class DefaultLdapConnectionFactory implements LdapConnectionFactory
         }
         catch ( LdapException e )
         {
-            LOG.error( "unable to bind connection: {}", e.getMessage() );
+            LOG.error( I18n.err( I18n.ERR_04102_UNABLE_TO_BIND_CONNECTION, e.getMessage() ) );
             
             if ( LOG.isDebugEnabled() )
             {
@@ -81,7 +82,7 @@ public class DefaultLdapConnectionFactory implements LdapConnectionFactory
             }
             catch ( IOException ioe )
             {
-                LOG.error( "unable to close failed bind connection: {}", e.getMessage(), ioe );
+                LOG.error( I18n.err( I18n.ERR_04103_UNABLE_TO_CLOSE_FAILED_CONNECTION, e.getMessage() ), ioe );
 
                 if ( LOG.isDebugEnabled() )
                 {
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultSchemaLoader.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultSchemaLoader.java
index 07b1030..1007854 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultSchemaLoader.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/DefaultSchemaLoader.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.model.constants.MetaSchemaConstants;
 import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.api.ldap.model.entry.Attribute;
@@ -129,7 +130,7 @@ public class DefaultSchemaLoader extends AbstractSchemaLoader
     {
         if ( connection == null )
         {
-            throw new InvalidConnectionException( "Cannot connect on the server, the connection is null" );
+            throw new InvalidConnectionException( I18n.err( I18n.ERR_04104_NULL_CONNECTION_CANNOT_CONNECT ) );
         }
 
         this.connection = connection;
@@ -222,7 +223,7 @@ public class DefaultSchemaLoader extends AbstractSchemaLoader
     {
         if ( !connection.isAuthenticated() )
         {
-            throw new IllegalArgumentException( "connection is not authenticated" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04105_CONNECTION_NOT_AUTHENTICATED ) );
         }
 
         this.connection = connection;
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java
index abc9b14..211a381 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java
@@ -24,6 +24,7 @@ package org.apache.directory.ldap.client.api;
 import org.apache.commons.pool2.PooledObjectFactory;
 import org.apache.commons.pool2.impl.GenericObjectPool;
 import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.codec.api.LdapApiService;
 import org.apache.directory.api.ldap.model.exception.LdapException;
 import org.slf4j.Logger;
@@ -137,7 +138,7 @@ public class LdapConnectionPool extends GenericObjectPool<LdapConnection>
             // wrap in runtime, but this should NEVER happen per published 
             // contract as it only throws what the makeObject throws and our 
             // PoolableLdapConnectionFactory only throws LdapException
-            LOG.error( "An unexpected exception was thrown: ", e );
+            LOG.error( I18n.err( I18n.ERR_04107_UNEXPECTED_THROWN_EXCEPTION, e.getMessage() ), e );
             throw new RuntimeException( e );
         }
 
@@ -179,7 +180,7 @@ public class LdapConnectionPool extends GenericObjectPool<LdapConnection>
             // wrap in runtime, but this should NEVER happen as it only throws 
             // what the passivateObject throws and our 
             // PoolableLdapConnectionFactory only throws LdapException
-            LOG.error( "An unexpected exception was thrown: ", e );
+            LOG.error( I18n.err( I18n.ERR_04107_UNEXPECTED_THROWN_EXCEPTION, e.getMessage() ), e );
             throw new RuntimeException( e );
         }
     }
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
index 22b6304..8e9c6d9 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
@@ -248,9 +248,9 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     private HandshakeFuture handshakeFuture;
     
     // ~~~~~~~~~~~~~~~~~ common error messages ~~~~~~~~~~~~~~~~~~~~~~~~~~
-    static final String TIME_OUT_ERROR = "TimeOut occurred";
+    static final String TIME_OUT_ERROR = I18n.err( I18n.ERR_04170_TIMEOUT_OCCURED );
 
-    static final String NO_RESPONSE_ERROR = "The response queue has been emptied, no response was found.";
+    static final String NO_RESPONSE_ERROR = I18n.err( I18n.ERR_04169_RESPONSE_QUEUE_EMPTIED );
     
    //------------------------- The constructors --------------------------//
     /**
@@ -561,12 +561,12 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( ldapSession == null )
         {
-            throw new InvalidConnectionException( "Cannot connect on the server, the connection is null" );
+            throw new InvalidConnectionException( I18n.err( I18n.ERR_04104_NULL_CONNECTION_CANNOT_CONNECT ) );
         }
 
         if ( !connected.get() )
         {
-            throw new InvalidConnectionException( "Cannot connect on the server, the connection is invalid" );
+            throw new InvalidConnectionException( I18n.err( I18n.ERR_04108_INVALID_CONNECTION ) );
         }
     }
 
@@ -682,12 +682,12 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 
                     if ( !isSecured )
                     {
-                        throw new LdapOperationException( ResultCodeEnum.OTHER, I18n.err( I18n.ERR_4100_TLS_HANDSHAKE_ERROR ) );
+                        throw new LdapOperationException( ResultCodeEnum.OTHER, I18n.err( I18n.ERR_04120_TLS_HANDSHAKE_ERROR ) );
                     }
                 }
                 catch ( Exception e )
                 {
-                    String msg = "Failed to initialize the SSL context";
+                    String msg = I18n.err( I18n.ERR_04122_SSL_CONTEXT_INIT_FAILURE );
                     LOG.error( msg, e );
                     throw new LdapException( msg, e );
                 }
@@ -771,7 +771,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         if ( connectionFuture == null )
         {
             connector.dispose();
-            throw new InvalidConnectionException( "Cannot connect" );
+            throw new InvalidConnectionException( I18n.err( I18n.ERR_04109_CANNOT_CONNECT ) );
         }
 
         boolean isConnected = connectionFuture.isConnected();
@@ -792,21 +792,15 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
             if ( e != null )
             {
-                StringBuilder message = new StringBuilder( "Cannot connect to the server: " );
-
                 // Special case for UnresolvedAddressException
                 // (most of the time no message is associated with this exception)
                 if ( ( e instanceof UnresolvedAddressException ) && ( e.getMessage() == null ) )
                 {
-                    message.append( "Hostname '" );
-                    message.append( config.getLdapHost() );
-                    message.append( "' could not be resolved." );
-                    throw new InvalidConnectionException( message.toString(), e );
+                    throw new InvalidConnectionException( I18n.err( I18n.ERR_04121_CANNOT_RESOLVE_HOSTNAME, config.getLdapHost() ), e );
                 }
 
                 // Default case
-                message.append( e.getMessage() );
-                throw new InvalidConnectionException( message.toString(), e );
+                throw new InvalidConnectionException( I18n.err( I18n.ERR_04110_CANNOT_CONNECT_TO_SERVER, e.getMessage() ), e );
             }
 
             return false;
@@ -873,7 +867,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                     }
                     catch ( InterruptedException e )
                     {
-                        LOG.error( I18n.err( I18n.ERR_03202_ERROR_PROCESSING_NOD, responseFuture ), e );
+                        LOG.error( I18n.err( I18n.ERR_04113_ERROR_PROCESSING_NOD, responseFuture ), e );
                     }
 
                     futureMap.remove( messageId.get() );
@@ -966,7 +960,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( entry == null )
         {
-            String msg = "Cannot add an empty entry";
+            String msg = I18n.err( I18n.ERR_04123_CANNOT_ADD_EMPTY_ENTRY );
             
             if ( LOG.isDebugEnabled() )
             {
@@ -1018,7 +1012,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( addRequest == null )
         {
-            String msg = "Cannot process a null addRequest";
+            String msg = I18n.err( I18n.ERR_04124_CANNOT_PROCESS_NULL_ADD_REQUEST );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1030,7 +1024,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( addRequest.getEntry() == null )
         {
-            String msg = "Cannot add a null entry";
+            String msg = I18n.err( I18n.ERR_04125_CANNOT_ADD_NULL_ENTRY );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1054,7 +1048,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Add" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Add" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -1115,7 +1109,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( addRequest.getEntry() == null )
         {
-            String msg = "Cannot add a null entry";
+            String msg = I18n.err( I18n.ERR_04125_CANNOT_ADD_NULL_ENTRY );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1154,7 +1148,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( messageId < 0 )
         {
-            String msg = "Cannot abandon a negative message ID";
+            String msg = I18n.err( I18n.ERR_04126_CANNOT_ABANDON_NEG_MSG_ID );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1179,7 +1173,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( abandonRequest == null )
         {
-            String msg = "Cannot process a null abandonRequest";
+            String msg = I18n.err( I18n.ERR_04127_CANNOT_PROCESS_NULL_ABANDON_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1423,7 +1417,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( bindRequest == null )
         {
-            String msg = "Cannot process a null bindRequest";
+            String msg = I18n.err( I18n.ERR_04128_CANNOT_PROCESS_NULL_BIND_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1447,7 +1441,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -1509,7 +1503,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( bindRequest == null )
         {
-            String msg = "Cannot process a null bindRequest";
+            String msg = I18n.err( I18n.ERR_04128_CANNOT_PROCESS_NULL_BIND_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -1605,7 +1599,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -1678,7 +1672,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -1786,7 +1780,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -1872,7 +1866,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -1944,7 +1938,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -2016,7 +2010,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 { 
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -2140,7 +2134,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 LOG.debug( I18n.msg( I18n.MSG_03239_NULL_DN_SEARCH ) );
             }
             
-            throw new IllegalArgumentException( "The base Dn cannot be null" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04129_NULL_BASE_DN ) );
         }
 
         // Create a new SearchRequest object
@@ -2208,7 +2202,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( searchRequest == null )
         {
-            String msg = "Cannot process a null searchRequest";
+            String msg = I18n.err( I18n.ERR_04130_CANNOT_PROCESS_NULL_SEARCH_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -2220,7 +2214,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( searchRequest.getBase() == null )
         {
-            String msg = "Cannot process a searchRequest which base DN is null";
+            String msg = I18n.err( I18n.ERR_04131_CANNOT_PROCESS_SEARCH_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -2276,7 +2270,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( searchRequest == null )
         {
-            String msg = "Cannot process a null searchRequest";
+            String msg = I18n.err( I18n.ERR_04130_CANNOT_PROCESS_NULL_SEARCH_REQ );
             
             if ( LOG.isDebugEnabled() )
             {
@@ -2794,7 +2788,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 break;
 
             default:
-                throw new IllegalStateException( "Unexpected response type " + response.getType() );
+                throw new IllegalStateException( I18n.err( I18n.ERR_04132_UNEXPECTED_RESPONSE_TYPE, response.getType() ) );
         }
     }
 
@@ -2812,7 +2806,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 LOG.debug( I18n.msg( I18n.MSG_03241_NULL_ENTRY_MODIFY ) );
             }
             
-            throw new IllegalArgumentException( "Entry to be modified cannot be null" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04133_NULL_MODIFIED_ENTRY ) );
         }
 
         ModifyRequest modReq = new ModifyRequestImpl();
@@ -2844,12 +2838,12 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 LOG.debug( I18n.msg( I18n.MSG_03240_NULL_DN_MODIFY ) );
             }
             
-            throw new IllegalArgumentException( "The Dn to be modified cannot be null" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04134_NULL_MODIFIED_DN ) );
         }
 
         if ( ( modifications == null ) || ( modifications.length == 0 ) )
         {
-            String msg = "Cannot process a ModifyRequest without any modification";
+            String msg = I18n.err( I18n.ERR_04135_CANNOT_PROCESS_NO_MODIFICATION_MOD );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -2891,7 +2885,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( modRequest == null )
         {
-            String msg = "Cannot process a null modifyRequest";
+            String msg = I18n.err( I18n.ERR_04136_CANNOT_PROCESS_NULL_MOD_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -2915,7 +2909,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Modify" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Modify" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -2970,7 +2964,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( modRequest == null )
         {
-            String msg = "Cannot process a null modifyRequest";
+            String msg = I18n.err( I18n.ERR_04136_CANNOT_PROCESS_NULL_MOD_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -2982,7 +2976,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( modRequest.getName() == null )
         {
-            String msg = "Cannot process a modifyRequest which DN is null";
+            String msg = I18n.err( I18n.ERR_04137_CANNOT_PROCESS_MOD_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3039,7 +3033,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( entryDn == null )
         {
-            String msg = "Cannot process a rename of a null Dn";
+            String msg = I18n.err( I18n.ERR_04138_CANNOT_PROCESS_RENAME_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3051,7 +3045,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( newRdn == null )
         {
-            String msg = "Cannot process a rename with a null Rdn";
+            String msg = I18n.err( I18n.ERR_04139_CANNOT_PROCESS_RENAME_NULL_RDN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3081,7 +3075,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( entryDn == null )
         {
-            String msg = "Cannot process a rename of a null Dn";
+            String msg = I18n.err( I18n.ERR_04138_CANNOT_PROCESS_RENAME_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3093,7 +3087,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( newRdn == null )
         {
-            String msg = "Cannot process a rename with a null Rdn";
+            String msg = I18n.err( I18n.ERR_04139_CANNOT_PROCESS_RENAME_NULL_RDN );
             
             if ( LOG.isDebugEnabled() )
             {
@@ -3122,7 +3116,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( entryDn == null )
         {
-            String msg = "Cannot process a move of a null Dn";
+            String msg = I18n.err( I18n.ERR_04140_CANNOT_PROCESS_MOVE_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3134,7 +3128,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( newSuperiorDn == null )
         {
-            String msg = "Cannot process a move to a null newSuperior";
+            String msg = I18n.err( I18n.ERR_04141_CANNOT_PROCESS_MOVE_NULL_SUPERIOR );
             
             if ( LOG.isDebugEnabled() )
             {
@@ -3164,7 +3158,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( entryDn == null )
         {
-            String msg = "Cannot process a move of a null Dn";
+            String msg = I18n.err( I18n.ERR_04140_CANNOT_PROCESS_MOVE_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3176,7 +3170,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( newSuperiorDn == null )
         {
-            String msg = "Cannot process a move to a null newSuperior";
+            String msg = I18n.err( I18n.ERR_04141_CANNOT_PROCESS_MOVE_NULL_SUPERIOR );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3227,22 +3221,22 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         // Check the parameters first
         if ( entryDn == null )
         {
-            throw new IllegalArgumentException( "The entry Dn must not be null" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04142_NULL_ENTRY_DN ) );
         }
 
         if ( entryDn.isRootDse() )
         {
-            throw new IllegalArgumentException( "The RootDSE cannot be moved" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04143_CANNOT_MOVE_ROOT_DSE ) );
         }
 
         if ( newDn == null )
         {
-            throw new IllegalArgumentException( "The new Dn must not be null" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04144_NULL_NEW_DN ) );
         }
 
         if ( newDn.isRootDse() )
         {
-            throw new IllegalArgumentException( "The RootDSE cannot be the target" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04145_ROOT_DSE_CANNOT_BE_TARGET ) );
         }
 
         // Create the request
@@ -3287,7 +3281,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( modDnRequest == null )
         {
-            String msg = "Cannot process a null modDnRequest";
+            String msg = I18n.err( I18n.ERR_04145_ROOT_DSE_CANNOT_BE_TARGET );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3311,7 +3305,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "ModifyDn" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "ModifyDn" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -3360,7 +3354,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( modDnRequest == null )
         {
-            String msg = "Cannot process a null modDnRequest";
+            String msg = I18n.err( I18n.ERR_04145_ROOT_DSE_CANNOT_BE_TARGET );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3372,7 +3366,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( modDnRequest.getName() == null )
         {
-            String msg = "Cannot process a modifyRequest which DN is null";
+            String msg = I18n.err( I18n.ERR_04137_CANNOT_PROCESS_MOD_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3384,7 +3378,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( ( modDnRequest.getNewSuperior() == null ) && ( modDnRequest.getNewRdn() == null ) )
         {
-            String msg = "Cannot process a modifyRequest which new superior and new Rdn are null";
+            String msg = I18n.err( I18n.ERR_04147_CANNOT_PROCESS_MOD_NULL_DN_SUP );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3459,8 +3453,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         }
         else
         {
-            String msg = "The subtreeDelete control (1.2.840.113556.1.4.805) is not supported by the server\n"
-                + " The deletion has been aborted";
+            String msg = I18n.err( I18n.ERR_04148_SUBTREE_CONTROL_NOT_SUPPORTED );
             LOG.error( msg );
             throw new LdapException( msg );
         }
@@ -3491,8 +3484,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
             }
             else
             {
-                String msg = "The subtreeDelete control (1.2.840.113556.1.4.805) is not supported by the server\n"
-                    + " The deletion has been aborted";
+                String msg = I18n.err( I18n.ERR_04148_SUBTREE_CONTROL_NOT_SUPPORTED );
                 LOG.error( msg );
                 throw new LdapException( msg );
             }
@@ -3513,7 +3505,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( deleteRequest == null )
         {
-            String msg = "Cannot process a null deleteRequest";
+            String msg = I18n.err( I18n.ERR_04149_CANNOT_PROCESS_NULL_DEL_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3537,7 +3529,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Delete" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Delete" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -3586,7 +3578,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( deleteRequest == null )
         {
-            String msg = "Cannot process a null deleteRequest";
+            String msg = I18n.err( I18n.ERR_04149_CANNOT_PROCESS_NULL_DEL_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3598,7 +3590,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( deleteRequest.getName() == null )
         {
-            String msg = "Cannot process a deleteRequest which DN is null";
+            String msg = I18n.err( I18n.ERR_04150_CANNOT_PROCESS_NULL_DEL_NULL_DN );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3725,7 +3717,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( compareRequest == null )
         {
-            String msg = "Cannot process a null compareRequest";
+            String msg = I18n.err( I18n.ERR_04151_CANNOT_PROCESS_NULL_COMP_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3749,7 +3741,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Compare" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Compare" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -3798,7 +3790,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( compareRequest == null )
         {
-            String msg = "Cannot process a null compareRequest";
+            String msg = I18n.err( I18n.ERR_04151_CANNOT_PROCESS_NULL_COMP_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3810,7 +3802,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( compareRequest.getName() == null )
         {
-            String msg = "Cannot process a compareRequest which DN is null";
+            String msg = I18n.err( I18n.ERR_04152_CANNOT_PROCESS_NULL_DN_COMP_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3862,7 +3854,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         }
         catch ( DecoderException e )
         {
-            String msg = "Failed to decode the OID " + oid;
+            String msg = I18n.err( I18n.ERR_04153_OID_DECODING_FAILURE, oid );
             LOG.error( msg );
             throw new LdapException( msg, e );
         }
@@ -3899,7 +3891,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( extendedRequest == null )
         {
-            String msg = "Cannot process a null extendedRequest";
+            String msg = I18n.err( I18n.ERR_04154_CANNOT_PROCESS_NULL_EXT_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -3924,7 +3916,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Extended" ) );
+                    LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Extended" ) );
                 }
                 
                 throw new LdapException( TIME_OUT_ERROR );
@@ -3980,7 +3972,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
     {
         if ( extendedRequest == null )
         {
-            String msg = "Cannot process a null extendedRequest";
+            String msg = I18n.err( I18n.ERR_04154_CANNOT_PROCESS_NULL_EXT_REQ );
 
             if ( LOG.isDebugEnabled() )
             {
@@ -4251,11 +4243,11 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
             if ( !tmp.getErrors().isEmpty() && loader.isStrict() )
             {
-                String msg = I18n.err( I18n.ERR_03204_ERROR_LOADING_SCHEMA );
+                String msg = I18n.err( I18n.ERR_04115_ERROR_LOADING_SCHEMA );
                 
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( "{} {}", msg, Strings.listToString( tmp.getErrors() ) );
+                    LOG.error( I18n.err( I18n.ERR_05114_ERROR_MESSAGE, msg, Strings.listToString( tmp.getErrors() ) ) );
                 }
                 
                 throw new LdapException( msg );
@@ -4275,7 +4267,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         }
         catch ( Exception e )
         {
-            LOG.error( I18n.err( I18n.ERR_03205_FAIL_LOAD_SCHEMA ), e );
+            LOG.error( I18n.err( I18n.ERR_04116_FAIL_LOAD_SCHEMA ), e );
             throw new LdapException( e );
         }
     }
@@ -4299,7 +4291,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
             
             if ( schemaManager == null )
             {
-                throw new LdapException( "Cannot load the schema" );
+                throw new LdapException( I18n.err( I18n.ERR_04116_FAIL_LOAD_SCHEMA ) );
             }
 
             OpenLdapSchemaParser olsp = new OpenLdapSchemaParser();
@@ -4328,7 +4320,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         }
         catch ( Exception e )
         {
-            LOG.error( I18n.err( I18n.ERR_03206_FAIL_LOAD_SCHEMA_FILE, schemaFile.getAbsolutePath() ) );
+            LOG.error( I18n.err( I18n.ERR_04117_FAIL_LOAD_SCHEMA_FILE, schemaFile.getAbsolutePath() ) );
             throw new LdapException( e );
         }
     }
@@ -4389,12 +4381,12 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
             }
             else
             {
-                throw new LdapException( "Search for root DSE returned no entry" );
+                throw new LdapException( I18n.err( I18n.ERR_04155_ROOT_DSE_SEARCH_FAILED ) );
             }
         }
         catch ( Exception e )
         {
-            String msg = "Failed to fetch the RootDSE";
+            String msg = I18n.err( I18n.ERR_04156_FAILED_FETCHING_ROOT_DSE );
             LOG.error( msg );
             throw new LdapException( msg, e );
         }
@@ -4408,7 +4400,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 }
                 catch ( Exception e )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03201_CURSOR_CLOSE_FAIL ), e );
+                    LOG.error( I18n.err( I18n.ERR_04114_CURSOR_CLOSE_FAIL ), e );
                 }
             }
         }
@@ -4597,7 +4589,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
         {
             if ( config.isUseSsl() )
             {
-                throw new LdapException( "Cannot use TLS when the useSsl flag is set true in the configuration" );
+                throw new LdapException( I18n.err( I18n.ERR_04157_CANNOT_USE_TLS_WITH_SSL_FLAG ) );
             }
 
             // try to connect, if we aren't already connected.
@@ -4697,13 +4689,13 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 
                 if ( !isSecured )
                 {
-                    throw new LdapOperationException( ResultCodeEnum.OTHER, I18n.err( I18n.ERR_4100_TLS_HANDSHAKE_ERROR ) );
+                    throw new LdapOperationException( ResultCodeEnum.OTHER, I18n.err( I18n.ERR_04120_TLS_HANDSHAKE_ERROR ) );
                 }
             }
         }
         catch ( Exception e )
         {
-            String msg = "Failed to initialize the SSL context";
+            String msg = I18n.err( I18n.ERR_04122_SSL_CONTEXT_INIT_FAILURE );
             LOG.error( msg, e );
             throw new LdapException( msg, e );
         }
@@ -4789,7 +4781,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
             // for the requested mechanism. We then produce an Exception
             if ( sc == null )
             {
-                String message = "Cannot find a SASL factory for the " + bindRequest.getSaslMechanism() + " mechanism";
+                String message = I18n.err( I18n.ERR_04158_CANNOT_FIND_SASL_FACTORY_FOR_MECH, bindRequest.getSaslMechanism() );
                 LOG.error( message );
                 throw new LdapException( message );
             }
@@ -4812,7 +4804,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                     // We didn't received anything : this is an error
                     if ( LOG.isErrorEnabled() )
                     { 
-                        LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                        LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                     }
                     
                     throw new LdapException( TIME_OUT_ERROR );
@@ -4841,7 +4833,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                     // We didn't received anything : this is an error
                     if ( LOG.isErrorEnabled() )
                     {
-                        LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                        LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                     }
                     
                     throw new LdapException( TIME_OUT_ERROR );
@@ -4859,7 +4851,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 {
                     if ( response != null )
                     {
-                        throw new LdapException( "protocol error" );
+                        throw new LdapException( I18n.err( I18n.ERR_04159_PROTOCOL_ERROR ) );
                     }
                 }
                 else
@@ -4879,7 +4871,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                         // We didn't received anything : this is an error
                         if ( LOG.isErrorEnabled() )
                         {
-                            LOG.error( I18n.err( I18n.ERR_03203_OP_FAILED_TIMEOUT, "Bind" ) );
+                            LOG.error( I18n.err( I18n.ERR_04112_OP_FAILED_TIMEOUT, "Bind" ) );
                         }
                         
                         throw new LdapException( TIME_OUT_ERROR );
@@ -4931,7 +4923,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                 // We didn't received anything : this is an error
                 if ( LOG.isErrorEnabled() )
                 {
-                    LOG.error( I18n.err( I18n.ERR_03207_SOMETHING_WRONG_HAPPENED ) );
+                    LOG.error( I18n.err( I18n.ERR_04118_SOMETHING_WRONG_HAPPENED ) );
                 }
 
                 Exception exception = ( Exception ) ldapSession.removeAttribute( EXCEPTION_KEY );
@@ -4948,7 +4940,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
                     }
                 }
 
-                throw new InvalidConnectionException( "Error while sending some message : the session has been closed" );
+                throw new InvalidConnectionException( I18n.err( I18n.ERR_04160_SESSION_HAS_BEEN_CLOSED ) );
             }
 
             localTimeout -= 100;
@@ -4956,7 +4948,7 @@ public class LdapNetworkConnection extends AbstractLdapConnection implements Lda
 
         if ( LOG.isErrorEnabled() )
         {
-            LOG.error( I18n.err( I18n.ERR_03208_TIMEOUT ) );
+            LOG.error( I18n.err( I18n.ERR_04119_TIMEOUT ) );
         }
         
         throw new LdapException( TIME_OUT_ERROR );
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/MonitoringLdapConnection.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/MonitoringLdapConnection.java
index 7b67127..5384a1d 100755
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/MonitoringLdapConnection.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/MonitoringLdapConnection.java
@@ -22,6 +22,7 @@ package org.apache.directory.ldap.client.api;
 
 import org.apache.directory.api.asn1.DecoderException;
 import org.apache.directory.api.asn1.util.Oid;
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.extras.extended.startTls.StartTlsRequest;
 import org.apache.directory.api.ldap.model.exception.LdapException;
 import org.apache.directory.api.ldap.model.message.BindRequest;
@@ -48,7 +49,7 @@ public final class MonitoringLdapConnection extends LdapConnectionWrapper
         }
         catch ( DecoderException de )
         {
-            throw new IllegalStateException( "StartTlsRequest.EXTENSION_OID is not a valid oid... This cant happen", de );
+            throw new IllegalStateException( I18n.err( I18n.ERR_04161_START_TLS_EXT_NOT_VALID_OID ), de );
         }
     }
 
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/callback/SaslCallbackHandler.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/callback/SaslCallbackHandler.java
index 4744e41..b3ff97a 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/callback/SaslCallbackHandler.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/callback/SaslCallbackHandler.java
@@ -147,8 +147,7 @@ public class SaslCallbackHandler implements CallbackHandler
                 if ( !foundRealmName )
                 {
                     throw new IOException(
-                        I18n.format(
-                            "Cannot match ''java.naming.security.sasl.realm'' property value ''{0}'' with choices ''{1}'' in RealmChoiceCallback.",
+                        I18n.err( I18n.ERR_04171_CANNOT_PARSE_MATCHED_DN,
                             saslReq.getRealmName(), getRealmNamesAsString( realmNames ) ) );
                 }
             }
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/future/MultipleResponseFuture.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/future/MultipleResponseFuture.java
index 1d582a8..3833352 100644
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/future/MultipleResponseFuture.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/future/MultipleResponseFuture.java
@@ -24,6 +24,7 @@ import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.directory.api.i18n.I18n;
 import org.apache.directory.api.ldap.model.message.Response;
 import org.apache.directory.ldap.client.api.LdapConnection;
 
@@ -146,7 +147,7 @@ public abstract class MultipleResponseFuture<R extends Response> implements Resp
     @Override
     public boolean isDone()
     {
-        throw new UnsupportedOperationException( "Operation not supported" );
+        throw new UnsupportedOperationException( I18n.err( I18n.ERR_04106_OPERATION_NOT_SUPPORTED ) );
     }
 
 
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterBuilder.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterBuilder.java
index e756f68..c73eb29 100755
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterBuilder.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/FilterBuilder.java
@@ -19,6 +19,7 @@
  */
 package org.apache.directory.ldap.client.api.search;
 
+import org.apache.directory.api.i18n.I18n;
 
 /**
  * A builder for constructing well formed search filters according to
@@ -346,7 +347,7 @@ public class FilterBuilder
     {
         if ( ( parts == null ) || ( parts.length == 0 ) )
         {
-            throw new IllegalArgumentException( "An 'initial' part is needed" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04162_INITIAL_PART_NEEDED ) );
         }
 
         return new FilterBuilder( SubstringFilter.startsWith( attribute, parts ) );
@@ -379,7 +380,7 @@ public class FilterBuilder
     {
         if ( ( parts == null ) || ( parts.length == 0 ) )
         {
-            throw new IllegalArgumentException( "At a 'final' part is needed" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04163_FINAL_PART_NEEDED ) );
         }
 
         return new FilterBuilder( SubstringFilter.endsWith( attribute, parts ) );
@@ -412,7 +413,7 @@ public class FilterBuilder
     {
         if ( ( parts == null ) || ( parts.length == 0 ) )
         {
-            throw new IllegalArgumentException( "At least one 'any' part is needed" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04164_ANY_PART_NEEDED ) );
         }
 
         return new FilterBuilder( SubstringFilter.contains( attribute, parts ) );
@@ -455,7 +456,7 @@ public class FilterBuilder
     {
         if ( ( parts == null ) || ( parts.length == 0 ) )
         {
-            throw new IllegalArgumentException( "At least one if 'initial', 'any' or 'final' part is needed" );
+            throw new IllegalArgumentException( I18n.err( I18n.ERR_04165_INITIAL_ANY_FINAL_PART_NEEDED ) );
         }
 
         return new FilterBuilder( SubstringFilter.substring( attribute, parts ) );
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java
index ef63216..8a3b8c2 100755
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/SetOfFiltersFilter.java
@@ -23,6 +23,8 @@ package org.apache.directory.ldap.client.api.search;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.directory.api.i18n.I18n;
+
 
 /**
  * An implementation of the Filter interface for the AND and OR Filters
@@ -124,7 +126,7 @@ import java.util.List;
     {
         if ( filters.isEmpty() )
         {
-            throw new IllegalStateException( "at least one filter required" );
+            throw new IllegalStateException( I18n.err( I18n.ERR_04166_ONE_FILTER_REQUIRED ) );
         }
 
         builder.append( "(" ).append( operator.operator() );
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java
index 8b9a37c..6e5b73e 100755
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/search/UnaryFilter.java
@@ -19,6 +19,7 @@
  */
 package org.apache.directory.ldap.client.api.search;
 
+import org.apache.directory.api.i18n.I18n;
 
 /**
  * Creates a NOT filter
@@ -73,7 +74,7 @@ package org.apache.directory.ldap.client.api.search;
     {
         if ( filter == null )
         {
-            throw new IllegalStateException( "filter not set" );
+            throw new IllegalStateException( I18n.err( I18n.ERR_04167_FILTER_NOT_SET ) );
         }
 
         builder.append( "(" ).append( FilterOperator.NOT.operator() );
diff --git a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/template/MemoryClearingBuffer.java b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/template/MemoryClearingBuffer.java
index 2cb9ef6..e890322 100755
--- a/ldap/client/api/src/main/java/org/apache/directory/ldap/client/template/MemoryClearingBuffer.java
+++ b/ldap/client/api/src/main/java/org/apache/directory/ldap/client/template/MemoryClearingBuffer.java
@@ -25,6 +25,8 @@ import java.nio.CharBuffer;
 import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 
+import org.apache.directory.api.i18n.I18n;
+
 
 /**
  * A buffer for storing sensitive information like passwords.  It provides 
@@ -52,7 +54,7 @@ public final class MemoryClearingBuffer
         {
             if ( this.originalChars == null )
             {
-                throw new UnsupportedOperationException( "trim and lowerCase only applicable to char[]" );
+                throw new UnsupportedOperationException( I18n.err( I18n.ERR_04168_TRIM_LOWERCASE_FOR_CHAR_ARRAY ) );
             }
 
             char[] working = Arrays.copyOf( originalChars, originalChars.length );
diff --git a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AttributeTypeDescriptionSchemaParser.java b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AttributeTypeDescriptionSchemaParser.java
index 281545e..6cef0d0 100644
--- a/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AttributeTypeDescriptionSchemaParser.java
+++ b/ldap/model/src/main/java/org/apache/directory/api/ldap/model/schema/parsers/AttributeTypeDescriptionSchemaParser.java
@@ -38,8 +38,8 @@ public class AttributeTypeDescriptionSchemaParser extends AbstractSchemaParser<A
      */
     public AttributeTypeDescriptionSchemaParser()
     {
-        super( AttributeType.class, I18n.ERR_04227, I18n.ERR_04228, I18n.ERR_04229 );
-
+        super( AttributeType.class, I18n.ERR_13830_CANNOT_PARSE_NULL_ATTR_TYPE, I18n.ERR_13831_ATTRIBUTE_TYPE_PARSING_FAILURE, 
+            I18n.ERR_13832_ATTRIBUTE_TYPE_DESC_PARSE_FAILURE );
     }
 
 

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