Evite la traducción cuando sea posible, porque cada traducción es un esfuerzo adicional y puede introducir errores.
La contribución clave del "diseño impulsado por dominio" a la ingeniería de software moderna es el concepto de un lenguaje ubicuo , que es un lenguaje único utilizado por todos los interesados en un proyecto. De acuerdo con DDD, la traducción no debe ocurrir dentro de un equipo (que incluye expertos en dominios, incluso si está presente solo por proxy de un documento de especificación), sino solo entre equipos (lectura adicional: "Diseño impulsado por dominio" por Eric Evans, en particular los capítulos sobre lenguaje ubicuo y diseño estratégico).
Es decir, si sus expertos comerciales (o su documento de especificación) hablan holandés, use su terminología (holandesa) cuando exprese inquietudes comerciales en el código fuente. No traduzca innecesariamente al inglés, ya que hacerlo crea un impedimento artificial para la comunicación entre expertos en negocios y programadores, lo que lleva tiempo y puede (a través de una traducción ambigua o mala) causar errores.
Si, por el contrario, sus expertos en negocios pueden hablar sobre sus negocios tanto en inglés como en holandés, se encuentra en la afortunada situación de poder elegir el idioma omnipresente del proyecto, y hay razones válidas para preferir el inglés (como "comprensible internacionalmente y es más probable que lo usen los estándares "), pero hacerlo no significa que los codificadores deban traducir lo que hablan los empresarios. En cambio, los empresarios deberían cambiar de idioma.
Tener un lenguaje ubicuo es particularmente importante si los requisitos son complejos y deben implementarse con precisión, si solo estás haciendo CRUD, el lenguaje que utilizas internamente es menos importante.
Anécdota personal: estaba en un proyecto donde expusimos algunos servicios comerciales como un punto final SOAP. El negocio se especificó por completo en alemán, y es poco probable que se reutilice como en inglés, porque se trataba de asuntos legales específicos de una jurisdicción en particular. Sin embargo, algunos arquitectos de la torre de marfil ordenaron que la interfaz SOAP sea en inglés para promover la reutilización futura. Esta traducción se produjo de manera puntual y con poca coordinación entre los desarrolladores, pero solo un glosario compartido, lo que dio como resultado que el mismo término comercial tuviera varios nombres en el contrato de servicio web y algunos términos comerciales que tuvieran el mismo nombre en el contrato de servicio web. Ah, y por supuesto, algunos nombres se usaron a ambos lados de la división, ¡pero con diferentes significados!
Si elige traducir de todos modos, estandarice la traducción en un glosario, agregue el cumplimiento de ese glosario a su definición de hecho y verifíquelo en sus comentarios. No seas tan descuidado como lo hemos sido nosotros.