2015-12-27 57 views
1

我一直在使用Xamarin開發移動應用六個月,Xamarin Forms是我做到的唯一方式。前兩天我遇到了一篇文章,建議我通過xml使用追索字符串,而不是對它們進行硬編碼。我研究了它的android和一般想法引導我使用追索字符串。Xamarin表單:資源字符串

我的問題是:

我創建了一個便攜式庫調用BaseLang抽象類,它看起來像這樣類似:

public abstract class BaseLang 
{ 
    public abstract string Text { get; } 
} 

而對於每一種語言我創造,

public class EngLang : BaseLang 
{ 
    public override string Text { get { return "Welcome"; } } 
} 

而且我在創建應用程序時首先聲明我的EngLang類爲靜態變量,並使用我的字符串。我的實際問題是,這是好的,或者我應該使用資源字符串並使用依賴注入來調用它們?

+0

Android和iOS有不同的「原生」方式來處理字符串本地化。但是對於Xamarin Forms,你可以使用RESX文件(這是一個完全不同的機制)。有關更多詳細信息,請參閱https://developer.xamarin.com/guides/xamarin-forms/localization/。我曾親自使用RESX字符串與iOS,Android和Windows RT(這需要一些額外的工作)。我相信它也可以與所有其他Xamarin Forms平臺一起使用。 – dylansturg

+0

使用它而不是類的優點是什麼? –

+0

我相信RESX通常比使用一組自定義類更快,更容易(對於開發人員)。對於初學者,系統將主要處理基於用戶的設備選擇適當的文件(使用語言)。其次,編寫自定義類和你自己的定位器模式(挑選適合當前用戶的類)是很大的開銷(編寫代碼)。 RESX基本上編譯成你正在編寫的這些類。 Visual Studio使編輯RESX非常容易。微軟還擁有以RESX爲基礎的技術,使添加語言翻譯變得更加簡單 - MAT。 – dylansturg

回答

相關問題