Right. The position of the value in the sequence of values for a flag is defined to have the same meaning in all languages. This is true whether the flag is a standard flag or a custom flag created by the user. The different values in different languages are only translations. The user should assign to each position whatever character is appropriate for that position's meaning in that language, but must keep in mind the position. Similarly the user can change the name of the flag itself, but its meaning will remain the same in all languages.
For example the three meanings for the flag named ADOPTED in English are fixed for this standard flag to the following positions:
Position one means "unknown". You should choose a character for this position that means "unknown" in that language.
Position two means "adopted". You should choose a character for this position that means "adopted" in that language.
Position three means "not adopted". You should choose a character for this position that means "not adopted" in that language.
Hope this is clearer. The ability to change the values in other languages is a valuable translation feature, but needs to be understood.