I know what you are saying. The point I am making is that the defines would be used throughout your code, could be 20 different locations, by renaming the turkish.h to phrases.h and recompiling you would have Turkish days and months. By renaming german.h to phrases.h, you would have German days and months. Your hard coding would require you to search ALL of your code for the 20 different locations where you were using Turkish and rename it to the German equivalent and recompile. In a worse case scenario, you would need to have two copies of your source code to maintain. In my case, I would only need to rename a file and recompile the application. Of course if your audience is only Turkish, your solution works fine.