When you want to enable your application for different languages and countries, consider the environments of the target systems in your naming conventions.
Use characters that are available, can be displayed, and can be printed in all the target environments. Use only characters of the invariant character set whenever you specify names for:
All other characters either vary their meaning or might not be available on the keyboard.
To create an internationalized application, you need to divide your application objects into related parts that are textual data and nontextual data. Your naming conventions should be able to distinguish between these parts. You should also be able to distinguish between the textual data of different languages. You can do this by separating the objects into different libraries.
Your library naming convention can look like this:
AAATTTLL
where: AAA is the application identification; TTT is the type of objects; and LLL is the language code.
This naming convention allows you to have all libraries that belong to an application grouped together because you have a unique identifier (AAA) at the beginning.
The second part (TTT) allows you to distinguish between different types of objects:
The third part (LLL) allows you to specify the national language version for all the textual data parts. This allows you to use the same names for objects of the different national language versions within the different libraries. Your program is able to use different objects by just rearranging the library list accordingly when the job is run.
The initial library list can be taken from the job description. You can build a new library list by specifying the library list in the INLLIBL parameter of the Create Job Description (CRTJOBD) command for a new job description, or of the Change Job Description (CHGJOBD) command for an existing job description. The following figure shows an example of this.