为多个(内部)项目构建字符串翻译数据库
在我们公司,我们有一个现有的转换ms-sql表,该表存储这样的字符串: Id | Key | Language | Value 1 | hello-world | nl-BE | Hallo Wereld 2 | hello-world | en-GB | Hello World 系统中有3种语言,我希望将来会增长到大约10种 该表由多个非常不同的项目(大约60个项目,主要是网站/ Web应用程序和某些Web服务)读取,每个项目均打开与翻译数据库的数据库连接,并缓存翻译内容 前端开发人员的反馈是,我们的UIto输入或修改翻译的最大弊端是他们不知道哪个项目使用什么字符串。 他们有时会修改字符串,却不知道它们会破坏7个项目。 现在,他们只需要键入类似内容this.Translate("Hello World"),系统就会处理其余的工作。 我当然可以强迫他们采用类似的方法,this.Translate("Hello World","AwesomeApplication1")但是似乎在许多项目中都需要进行大量的重构。 您将如何提供此解决方案?作为开发人员,您将如何为翻译提供“项目名称”?您如何将其存储在数据库中? 重要说明:翻译的重用是集中式数据库的全部内容,因此,将翻译范围限定为一个项目 1|hello-world|nl-BE|Hallo Wereld|MyAwesomeApplicatoin1 5|hello-world|nl-BE|Hallo Wereld!|MyAwesomeApplicatoin2 并不是真正的通缉选项。 我更喜欢这样的东西: 1|hello-world|nl-BE|Hallo Wereld|MyAwesomeApplicatoin1,MyAwesomeApplicatoin2 或等同于仅将名称放在表中的外键。 更新 到目前为止,基于规范化数据库的建议,我提出了类似以下内容: //this allows me to …