[英]Handling multiple languages across multiple applications and shared libraries (.net)
我們正在開發將以以下方式使用的產品:
我已經知道諸如RCWinTrans之類的產品,並且可以在VC ++ / MFC應用程序中處理多種語言。 但是,我們在這里面臨的要求更加廣泛,因此要求我們做出一些長期的決定,這些決定可能很難長期改變,因此理想情況下,我們希望現在做出最佳選擇。
根據我自己的知識,我有幾個問題,盡管我可能會缺少一些將很高興獲得的.net技巧。 這是我的問題:
提前致謝,
羅傑
您是否考慮過使用Inversion of Control容器(例如StructureMap或Unity) ? 這可能使您可以將默認資源與項目(IMHO最有意義)保持在一起,同時仍允許客戶根據需要在本地覆蓋資源。
例如,假設您具有以下界面:
public interface IResourceSupplier
{
// Returns the localized text for a given identifier.
string Localized(string identifier);
// Returns the invariant (English) text for a given identifier.
string Invariant(string identifier);
}
使用IOC,您可以為解決方案創建集中式資源供應商,該供應商將檢查用戶提供的替代。 如果沒有提供用戶替代,則可以查詢每個特定於項目的資源供應商(在應用程序啟動時檢測到),直到找到一個返回所需資源的供應商為止。
顯然,根據您的需求,您可能需要調整性能,例如,通過緩存常用資源。 使用IOC的確具有以下優點:只要接口不變,插入替代實現可能是相對瑣碎的任務。
這有幫助嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.