The use of language codes in LDAP are discussed in the following RFC:
Notes on Implementation
Attributes with language codes are considered to be subtypes of the base attributeType. So a search for entries with CN=* should return CN;lang-en and CN;lang-de etc. Right now I am trying to figure out the best approach to implement this behavior. This is complicated by the following implementation details:
- the attributeType descriptions exist for the base however they must be dynamically inferred when the attribute is tagged with a language code

Just some ideas :
we could store languages code ( and other options ) as special attributes, that can't be seen from the outside.
As AttributeType can't start with something else than a letter, using a '$' forbid a client to send a searchRequest with an AttributeType starting with a '$'.
So, for this kind of entry :
CN;lang-EN-US;dynamic: Billy Ray
we could store it as :
CN = Billy Ray
$CN-lang = EN-US
$CN-dynamic = true
when searching for CN=b*, we will find "Billy Ray"
When searching for CN;lang-EN-US = B*, we will look at ( & (CN = B*) ($CN-lang = EN-US))
when searching for