You can do it with writing a custom TextClock and setting Locale in it. Try this:
public class MyTextClock extends android.widget.TextClock {
public MyTextClock(Context context) {
super(context);
setLocaleDateFormat();
}
public MyTextClock(Context context, AttributeSet attrs) {
super(context, attrs);
setLocaleDateFormat();
}
public MyTextClock(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setLocaleDateFormat();
}
private void setLocaleDateFormat() {
// You can change language from here
Locale currentLocale = new Locale("en");
Calendar cal = GregorianCalendar.getInstance(TimeZone.getDefault(), currentLocale);
String dayName = cal.getDisplayName(cal.DAY_OF_WEEK, Calendar.LONG, currentLocale);
String monthName = cal.getDisplayName(cal.MONTH, Calendar.LONG, currentLocale);
this.setFormat12Hour("'" + dayName + "'\n'" + monthName + "' dd");
this.setFormat24Hour("'" + dayName + "'\n'" + monthName + "' dd");
}
}
Implement this custom TextClock to your layout like that:
android:id="@+id/date"
style="@style/DateStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"/>
Here you go. Good luck.