Date Language doesn’t change

The date() is a native PHP function. Its output depends on PHP locale and timezone settings. In a typical WP environment that would be default English locale and UTC time zone (which WP sets during core boot).

Since WP implementation of Date/Time component predates PHP 5 and its enhancements, it has a lot of own functions and conventions.

The appropriate WP function to use for localized output of date is date_i18n(). It depends on WP locale and time zone settings, ignoring PHP ones.

It should be noted that there are many outstanding edge cases and breakage with date_i18n() implementation. Any use of it must be carefully audited for correctness, especially for output of timezone information.