2013-06-12 23 views
0

我試圖實現一個接口來提供多語言支持。爲求簡單起見,我將在XAML構成的示例:人們通常如何在Silverlight/XAML中實現多語言?

<TextBlock Text="Type" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Right" /> 

我希望作出的該XAML代碼取決於其限定於對一種語言和陣列的變量以改變屬性「文本」,其給出一個關鍵字,返回該語言的相關文本。

這將是最實際的方式來實現呢?現在,我使用屬性爲每個文本塊定義下列方式上面的文本塊:

<TextBlock Text="{Binding Type}" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Right" /> 

,然後定義這樣一個屬性:

public string Type 
{ 
    get 
    { 
     return Dictionary.Search("German", "Type"); 
    } 
} 

回答

0

你會使用像Zeta resource editor工具爲您的默認語言和每種支持的語言創建(和編輯)資源。資源必須命名爲strings.resx,strings.en.resx,strings.de.resx a.s.o.

將這些資源添加到項目中時,資源管理器將處理正確的語言。然後,您可以綁定到來自XAML的字符串,或者使用類ResourceManager從代碼後面獲取字符串。

它在這裏How to: Make XAML Content Localizable

0

最簡單的方法是維護每種語言的資源文件,它會根據綁定時的當前語言自動更改文本。

+0

把此作爲評論 –