현지화 : 백엔드를 원합니다 : 정의 된 언어의 영어와 프론트 엔드


9

Wordpress의 백엔드를 영어로 사용하고 프론트 엔드에 다른 로케일을 사용하고 싶습니다

지금까지 프론트 엔드에서 사용하려는 로케일을 wpconfig에서 설정하여 다음과 같이 functions.php를 추가하여 할 수 있다고 생각했습니다.

add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
    if ( is_admin() ) {
        return 'en_US';
    }
    return $locale;
}

이것이 내가 원하는 것을 달성하는 가장 좋은 방법입니까, 아니면 다르게해야합니까?

답변:



1

필요한 플러그인이 있습니다.

http://wordpress.org/extend/plugins/fe-be-localization/


고마워, 코드를 살펴볼 것이지만 2008 년 이후 업데이트되지 않았고 최대 WP 2.6 만 지원하기 때문에 코드를 사용하지 않을 것입니다. 및 업데이트
unfulvio

아, 방금 확인
했는데

예, 오래되었지만 유일한 것 같습니다. 코드가 당신이 그것을 한 방법이라면, 정답은 당신이 올바른 길을 가고 있고 그것이 어떻게했는지입니다. 더 나은 방법을 생각할 수 없습니다.
Andy James

1

지금까지 나는 풀비 오의 대답이 최선이라고 생각합니다. 다중 사이트 설정에서도 한 줄로 해당 필터를 사용하고 있습니다.

add_filter('locale', 'set_admin_locale');
function set_admin_locale($locale) {
  return 'en_US';
}

기본적으로 때로는이 경우 플러그인 대신 다중 언어 사이트에 다중 사이트를 사용합니다. 또한 각 언어마다 하나의 테마 (보통 주요 언어의 하위 테마)가 있습니다. 따라서 네트워크의 모든 사이트에는 고유 한 언어가 있지만 관리자 측에서는 이탈리아어로 된 모든 인터페이스가 필요합니다.

그래서 내가하는 일은 :

  1. wp-config.php에서 일반 WPLANG 상수를 사용하지 않습니다
  2. 나는 네트워크의 모든 사이트에서 이탈리아어를 설정
  3. 각 테마의 functions.php에서 위의 필터를 사용하여 프론트 엔드 언어 / 로캘을 제어합니다.

참고 : 해당 필터는 관리 언어를 변경하지 않으므로 is_admin ()인지 확인할 필요가 없습니다.


0

누군가가 여전히 그것을 찾고 있다면, 여기에 버전 4.7 이후해야 할 일이 있습니다.

function wp_noshor_redefine_locale($locale) {
    if( is_admin() ):
        switch_to_locale('en_US');
    endif;
}
add_filter('init','wp_noshor_redefine_locale');

그러면 대시 보드가 영어로로드 된 다음 설정으로 이동하여 원하는 언어를 설정할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.