Evite la traducción siempre que sea posible, porque cada traducción es un esfuerzo adicional y puede presentar errores.
La contribución clave de "Domain Driven Design" a la ingeniería de software moderna es el concepto de un Ubiquitous Language , que es Un solo idioma 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 el dominio, incluso si está presente solo por el poder de un documento de especificación), sino solo entre equipos (lectura adicional: "Diseño dirigido por el 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 especificaciones) hablan holandés, utilicen su terminología (holandesa) cuando expresen sus preocupaciones comerciales en el código fuente. No se traduzca innecesariamente al inglés, ya que hacerlo crea un impedimento artificial para la comunicación entre los expertos en negocios y los 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 de sus negocios tanto en inglés como en holandés, tiene la suerte de poder elegir el idioma ubicuo del proyecto, y existen razones válidas para preferir el inglés (como " Entendible internacionalmente y es más probable que sea utilizado por las normas "), pero hacerlo no significa que los programadores deban traducir lo que los empresarios están hablando. En cambio, la gente de negocios debería 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 usas internamente no importa.
Anécdota personal: estaba en un proyecto donde expusimos algunos servicios empresariales 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 fuera inglesa para promover la reutilización futura. Esta traducción se realizó en hoc, y con poca coordinación entre los desarrolladores, pero solo un glosario compartido, 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 revisiones. No seas tan descuidado como hemos sido nosotros.