我通过xamarin.forms在Visual Studio 2017中启动了一个xamarin跨平台应用程序,并在其上发现了一些本地化问题。 问题是,如何在xamarin.forms中设置窗体或控件的对齐方式,如windowsphone FlowDirection =“rtl”? 我也找到了一些方法:
public interface ILocalize
{
CultureInfo CurrentCulture { get; set; }
CultureInfo CurrentUICulture { get; set; }
CultureInfo GetCurrentCultureInfo();
CultureInfo GetCurrentCultureInfo(string sLanguageCode);
void SetLocale();
void ChangeLocale(string sLanguageCode);
}
... 在app.cs中:
DependencyService.Get<ILocalize>().ChangeLocale("fa-IR");
或者这个:
public class Localize
{
static readonly CultureInfo ci;
static Localize()
{
ci = DependencyService.Get<ILocalize>().CurrentCulture;
CultureInfo.DefaultThreadCurrentCulture = ci;
}
public static string GetString(string key, string comment)
{
ResourceManager temp = new ResourceManager("MyLocalization.Resx.AppResources", typeof(Localize).GetTypeInfo().Assembly);
string result = temp.GetString(key, ci);
return result;
}
}
public interface ILocalize
{
CultureInfo CurrentCulture { get; set; }
CultureInfo CurrentUICulture { get; set; }
void SetLocale();
}
但这些方法无法解决我的问题。
Edit1 :我找到了一个很好的样本,但它不是免费的: https://github.com/XAM-Consulting/SlideOverKit