Duplicate: Do you use another language instead of english
Related: Coding in other (spoken) languages
Given a programming language (such as Java) that allows you to use non-ASCII identifiers (class, method, variable names), and an application written for non-English users, by developers who speak English only as a foreign language at varying levels of proficiency, should you:
- Make using English mandatory for comments and identifiers?
- Use the native language of users and developers wherever possible?
- Have a comprehensive set of rules for where to use which language?
- Mix the two in whatever way feels appropriate?
Things to keep in mind:
- Identifiers in API libraries are most likely in English, and a lot of your code will be API library calls (keywords too, of course)
- Identifiers may represent domain concepts from the native-language spec for which there are no generally-agreed English translations
- Developers may not speak English well enough to write correctly and concisely in it
- New developers may not have the same native language as everyone else and may understand English better
- It may be harder to get support from vendors and/or communities like SO when the code you need help with is not in English
- ...More points?