我尝试学习如何在android studio中编程,我目前正在第二篇关于如何通过本地化来改变语言的教程。
当我尝试在文件夹if (FileUpload1.HasFile)
{
string path = string.Concat((Server.MapPath("~/ImportDocument" + FileUpload1.FileName)));
FileUpload1.PostedFile.SaveAs(path);
OleDbConnection con= new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}" + path + ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;'");
OleDbCommand cmd = new OleDbCommand("select [Doctor_Id] from [Sheet1$]" , con);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
con.Open();
DbDataReader dr = cmd.ExecuteReader();
string con_str = @"DataSource=.;Initial Catalog=DoctorActivity;Integrated security=True";
//storing in sql database
SqlBulkCopy bulkInsert = new SqlBulkCopy(con_str);
bulkInsert.DestinationTableName = "Table";
bulkInsert.WriteToServer(dr);
con.Close();
Array.ForEach(Directory.GetFiles((Server.MapPath("~/ImportDocument"))), File.Delete);
Label1.Text = "Succesfully Uploaded to database";
}
else
{
Label1.Text = "Please Select a file to Upload";
}
内创建第二个strings.xml
文件时,它说我不能因为名称应该是唯一的。
我尝试将原始的values_el
文件从values文件夹复制到新的values_el文件夹,我翻译了消息但没有任何反应。
此外,我尝试右键单击原始的strings.xml
文件,我按下翻译选项,我从那里翻译它们,但没有任何反复。
当我在手机中运行应用程序时,我尝试上述两种方式的语言都是英语。
我的手机语言是希腊语,但我的程序字母是英文。
问题2。
首先为什么我的手机中的语言不会改变? 第二种方法是在我打开它时通过按下按钮来改变我的应用程序的语言?我在谷歌游戏中玩的一些游戏可以选择在你开始游戏之前选择你的游戏。 抱歉我的英语,如果你不明白我说的话请告诉我,所以我试着用谷歌翻译帮助更好地解释它。 无论如何,谢谢你的时间。
这就是我运行的代码
strings.xml
答案 0 :(得分:6)
为什么不通过IDE使用简单方法?
strings.xml
文件Open Editor
链接,如下所示这将为您创建正确的文件,而无需担心文件名
您无需打开每个strings.xml
来放置本地化字符串。从这个strings.xml编辑器直接执行。
回到第二个问题:本地应用程序将是设备设置中设备上选择的区域设置。如果您尚未针对设备区域设置进行本地化,则会回退到strings.xml
下的主res/values
。
要在您的应用中强制使用区域设置,而不考虑设备的区域设置:
在您的活动类中添加以下方法,并在onCreate
private void setLanguageForApp(String language){
String languageToLoad = language; //pass the language code as param
Locale locale;
if(languageToLoad.equals("not-set")){
locale = Locale.getDefault();
}
else {
locale = new Locale(languageToLoad);
}
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
}
答案 1 :(得分:1)
您的文件夹名称是: values_el ,这是不正确的。 它应该是 values-el
是的,可以更改应用程序的语言。请参考以下链接。
答案 2 :(得分:0)
我不确定我是否完全理解您的问题,但您可以通过右键单击res添加新语言 - >新的-Android资源目录 - >区域设置并选择希腊和一个地区。将创建该目录并在其中添加包含翻译的文件。 如果您此时更改手机的语言,则应显示已翻译的应用程序。
第二个问题,我不确定是否是正确的方法,但我会更改区域设置并重新加载应用程序或活动。喜欢这个
String languageToLoad = "fr_FR";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config,context.getResources().getDisplayMetrics());
Intent intent = new Intent(XYZ.this, XYZ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(意向);