Hola, Javier.
Recién veo este thread que quedó en el olvido. :)
Te digo mi consejo habitual. Si tus clientes o usuarios (de donde surgen las especificaciones) hablan español, entonces te aconsejo que modeles todo en español (tal vez evitando las eñes, pero no mucho más).
Esto aplica a todo lo que sea parte del modelo, es decir, facturaId, por ejemplo, en el código, DB, servicios, etc. ¿Por qué? Porque es fácil traducir factura o pedido, pero ¿qué pasa cuándo mencionen un "certificado de retención de ganancias"? Se puede traducir literalmente, pero es muy probable que no sea entendible para una anglófono. Por otro lado, iría en contra de la idea de mantenernos dentro del lenguaje ubicuo.
Ahora, cuando se trata de términos o nombres de componentes técnicos (temas de la arquitectura, el framework, etc), ahí prefiero siempre mantener el inglés, porque usualmente ocurre lo contrario con las traducciones (salvo que estés en España): es más fácil ConnectionPool, InvalidCache ó DequeueMessage que "PiletaDeConexiones", "MemorizadorInvalido" ó "DesencolarMensaje". Son traducciones raras a propósito, pero espero que se entienda la situación. :)
Y si, uno termina programando en EspanGlish, pero salvo que tus clientes/usuarios hablen en inglés, siempre pasa tanto en japonés o italiano como en español, porque igual los lenguajes/plataformas, al final siempre están en inglés.