我试图找出如何在此switch语句中将字符串放入大小写标签中,以便它也可以在其他语言中工作。这是我的当前代码。
或者,如果有更好的方法来编写此代码,那么当使用其他语言时,该按钮仍然可以使用
if (profileid.equals(firebaseUser.getUid())) {
edit_profile.setText(R.string.edit_Profile_Button);
} else {
checkFollow();
saved_photos.setVisibility(View.GONE);
my_photos.setVisibility(View.GONE);
}
edit_profile.setOnClickListener(v -> {
String btn = edit_profile.getText().toString();
switch (btn) {
case "Edit Profile":
startActivity(new Intent(getContext(), EditProfileActivity.class));
break;
case "support":
FirebaseDatabase.getInstance().getReference().child("Support").child(firebaseUser.getUid())
.child("supporting").child(profileid).setValue(true);
FirebaseDatabase.getInstance().getReference().child("Support").child(profileid)
.child("supporters").child(firebaseUser.getUid()).setValue(true);
addNotifications();
break;
case "supporting":
FirebaseDatabase.getInstance().getReference().child("Support").child(firebaseUser.getUid())
.child("supporting").child(profileid).removeValue();
FirebaseDatabase.getInstance().getReference().child("Support").child(profileid)
.child("supporters").child(firebaseUser.getUid()).removeValue();
break;
}
});
您应该使用.properties
文件以针对密钥的不同语言存储标签,即,每种语言的密钥将保持相同,但特定于该语言的值,例如您的属性文件的英语名称为myapps_en.properties
,而德语文件的名称为myapps_en.properties
。在这两个文件中,键将相同,但值将特定于该语言。
现在,您可以使用case
中的键(而不是值)。
您可以检查this以了解如何使用.properties
文件进行本地化的示例。