簡體   English   中英

本地化Windows Foundation工作流服務

[英]Localizing a Windows Foundation Workflow service

我正在開發一個工作流服務,該服務最終將包含許多用於與用戶交互的不同工作流。

這樣,這些工作流將需要向用戶發布消息,並且這些消息需要本地化。

我想使用RESX文件並在啟動工作流以設置所需的區域性時添加一個額外的參數。

但是,這似乎失敗了,因為WF服務(特別是在持久性方面)會根據需要創建新線程,並且盡管一開始就設置了當前區域性(並進行了一些工作),但最終我的工作流將返回到默認區域性。

我也嘗試過設置RESX文件創建的靜態類的Culture參數,但這似乎改變了所有正在運行的工作流程的整體文化(可能需要在不同的語言環境中運行)。

有什么辦法解決這個問題?

編輯

我知道我可以使用ResourceManager類,因為我可以傳遞要使用的區域性,但是除了使用生成的類中可用的強類型資源名稱之外,我還需要使用字符串-容易出錯。

編輯2:

我忘了提一件事-但這與關於ResourceManager的最后編輯有些聯系。 由於會有很多工作流程,所以我希望我可以設置環境和方法,讓其他精通計算機的人來制作這些工作流程(或者至少幫助他們)。 由於與用戶的溝通至關重要,因此使用資源應盡可能地容易。

嘗試設置工作流變量以保留當前區域性,並且每當需要使用它來本地化文本時,都可以從工作流變量中提取值。 如果您的工作流可以暫停,然后再在世界另一端的另一台服務器上恢復,這也可以解決偶然的機會,因此它保留了產生的原始文化。

我已經設法通過此博客文章提出解決方案。 通過修改T4模板,我得到了非靜態資源類。 接下來,我創建了一個可序列化的包裝器類,以根據工作流的需要實例化所有這些資源類。

這易於使用(使用自定義工作流操作創建資源實例),並且在工作流內部使用資源非常容易:例如resources.GeneralStrings.Timeout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM