Should my controllers names be in my native language or in English? What is the current best practice? And if in English, how do I make sure that the urls stays in my native tongue?
I know that my webapp won’t be multilingual and I rather not write a lot of boilerplate.
The convention in ASP.NET MVC is that controller and action names are the same as the controller and action in the URI except in special cases, like ambiguous overloads. I think it is a good idea to follow that convention, even if it means that the controller and action names will be in your native language and the rest of the code would be in English. If I were asked to debug a web site which displayed in some language I don’t understand like Swahili, I would find it considerably easier to find the appropriate controller and action for a certain page if they reflected the Swahili URI than I would if it were translated into English.
Note, however, that most Unicode characters cannot appear in a URI (without Punycode). Only a restricted subset of ASCII characters can appear in the URI. See the specification for details.