Working in multi-language environments, we sometimes have to face problems with the translated values for RecordTypes.
We had the following case:
- Created a trigger for case of Recordtype "Reklamation" (=Complaint), which used Id ReklamationID = Schema.Sobjecttype.Case.getRecordTypeInfosByName().get('Reklamation').id
- Translated everything to english, including the RecordType names (which will be shown to the users as type of case formula field)
- Switched the language to english to test the translation
- Over night 200 Cases weren't processed, as getRecordTypeInfosByName().get'Reklamation') didn't get a result.
I think a method fetching the ID from the API name instead of the "name" (or should I say "label"?!) is necessary, if you don't want to hard code the ID in your code.