Evita la traduzione dove possibile, perché ogni traduzione è uno sforzo aggiuntivo e può introdurre bug.
Il contributo chiave di "Domain Driven Design" alla moderna ingegneria del software è il concetto di Lingua Ubiquitous , che è una singola lingua utilizzata da tutti i portatori di interesse di un progetto. Secondo DDD, la traduzione non dovrebbe avvenire all'interno di un team (che include esperti di dominio, anche se presenti solo per proxy di un documento di specifiche), ma solo tra i gruppi (ulteriore lettura: "Domain Driven Design" di Eric Evans, in particolare i capitoli su Ubiquitous Language e design strategico).
Cioè, se i tuoi esperti di business (o il tuo documento delle specifiche) parlano olandese, usa la loro terminologia (olandese) quando esprimi preoccupazioni commerciali nel codice sorgente. Non tradurre inutilmente in inglese, perché così facendo si crea un impedimento artificiale per la comunicazione tra esperti di business e programmatori, che richiede tempo e può (tramite traduzione ambigua o errata) causare bug.
Se, al contrario, i tuoi esperti di business possono parlare della loro attività sia in inglese che in olandese, sei nella fortunata situazione di poter scegliere il linguaggio onnipresente del progetto e ci sono validi motivi per preferire l'inglese (come " comprensibile a livello internazionale e più probabile che venga utilizzato dagli standard "), ma farlo non significa che i programmatori debbano tradurre ciò di cui parlano gli uomini d'affari. Invece, gli uomini d'affari dovrebbero cambiare lingua.
Avere un linguaggio onnipresente è particolarmente importante se i requisiti sono complessi e devono essere implementati con precisione, se stai semplicemente facendo CRUD la lingua che usi internamente è meno importante.
Aneddoto personale: ero in un progetto in cui abbiamo esposto alcuni servizi aziendali come endpoint SOAP. L'attività è stata interamente specificata in tedesco ed è improbabile che possa essere riutilizzata come in inglese, perché riguardava aspetti legali specifici di una particolare giurisdizione. Tuttavia, alcuni architetti di torri d'avorio impongono che l'interfaccia SOAP sia l'inglese per promuovere il riutilizzo futuro. Questa traduzione si è verificata ad hoc e con poco coordinamento tra gli sviluppatori, ma da solo un glossario condiviso, che ha portato allo stesso termine commerciale diversi nomi nel contratto di servizio Web e alcuni termini commerciali che hanno lo stesso nome nel contratto di servizio web. Oh, e naturalmente alcuni nomi usati su entrambi i lati della divisione, ma con significati diversi!
Se decidi di tradurre comunque, ti preghiamo di standardizzare la traduzione in un glossario, aggiungere la conformità con quel glossario alla tua definizione di fatto e verificarlo nelle tue recensioni. Non essere così incurante come lo siamo stati noi.