簡體   English   中英

.NET中的外部翻譯

[英]External Translations in .NET

早上好,

我對開發一種應用程序感興趣,該應用程序支持用戶根據需要添加外部GUI轉換文件。 我考慮過使用.NET內置的本地化方法,但是我認為通過這種方式,在構建應用程序后,我無法分發帶有翻譯的隔離文件(可以嗎?)。

使用C#中的外部文件實現本地化的更好方法是什么?

非常感謝你。

我見過很多人為.net實現自己的本地化系統,但就我個人而言,我會堅持使用內置結構。

現在,您只需添加其他.resx文件,然后再重新編譯該應用程序即可。 但是我想這不是你想要的嗎?

或者,您可以實現自己的資源提供程序,例如從數據庫獲取所有本地化字符串。

例:
http://msdn.microsoft.com/zh-CN/library/aa905797.aspx#exaspnet20rpm_topic4

您可以使用.NET本地化而沒有任何問題。

成功地對yopur應用程序文件進行本地化之后,您的應用程序文件夾中將包含子文件夾,這些子文件夾用於您對程序集資源進行本地化的版本。 因此,在將新語言添加到本地化之后,您可以將這些新的DLL從文件夾中分解為您的Castomer,以用於新添加的本地化。

干杯;)

如果您不希望以后重新編譯文件,則可以使用以下方法。

  1. 使用相同的鍵和不同的值在不同的位置創建多個xml文件。 或制作一個大文件。 將該文件的路徑保存在應用設置中的某個位置(或在構建過程中嵌入)
  2. 在表單上使用默認語言構建您的應用程序(例如,英語)
  3. 在啟動(或首次啟動)時,要求用戶指定要使用的語言。
  4. 在構造函數中的每個窗體/窗口上(在InitializeComponent()調用之后),將窗體上的文本替換為XML中的值。

范例XML:

<doc>
  <loc name="English">
    <form name = "main">
      <okButton>OK</okButton>
      ....
    </form>
    <form name = "about">
      <lblAuthorName>Author's name: </lblAuthorName>
      ....
    </form>
  </loc>
  <loc name="Ukrainian">
    <form name = "main">
      <okButton>Добре</okButton>
      ....
    </form>
  </loc>

</doc>

暫無
暫無

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

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