Вот быстрая тестовая программа:
public static void main( String[] args )
{
Date date = Calendar.getInstance().getTime();
System.out.println("Months:");
printDate( "MMMM", "en", date );
printDate( "MMMM", "es", date );
printDate( "MMMM", "fr", date );
printDate( "MMMM", "de", date );
System.out.println("Days:");
printDate( "EEEE", "en", date );
printDate( "EEEE", "es", date );
printDate( "EEEE", "fr", date );
printDate( "EEEE", "de", date );
}
public static void printDate( String format, String locale, Date date )
{
System.out.println( locale + ": " + (new SimpleDateFormat( format, new Locale( locale ) )).format( date ) );
}
Вывод:
Months: en: September es: septiembre fr: septembre de: September Days: en: Monday es: lunes fr: lundi de: Montag
Как я могу управлять капитализацией имен. По некоторым причинам испанцы и французы всегда, кажется, возвращают имена, которые запускаются со строчной буквы.
Не все языки совместно используют английские правила капитализации. Я предполагаю, что необходимо было бы изменить данные, используемые API, но неанглийские клиенты не могли бы ценить его...
Правила капитализации отличаются для различных языков. На французском языке не должны быть использованы для своей выгоды имена месяца.
Вы не можете хотеть изменять капитализацию - различные культуры используют для своей выгоды различные слова (например, на немецком языке Вы используете для своей выгоды каждое существительное, не просто имена собственные).