2012-02-06 3 views
3

문의 양식에서 필드 레이블을 지역화 할 수 있습니다 . 유일한 것은 내가 문의 양식 itslef에 라벨 실패 번역되어왔다 :어떻게 내가 프랑스어 스페인어에서 내 고객 사이트를 현지화 관리해야 7

<p>Nombre<br /> 
<span class="wpcf7-form-control-wrap your-name"><input type="text" name="your-name" value="" class="wpcf7-text wpcf7-validates-as-required" size="40" /></span> </p> 
<p>Email<br /> 
<span class="wpcf7-form-control-wrap your-email"><input type="text" name="your-email" value="" class="wpcf7-text wpcf7-validates-as-email wpcf7-validates-as-required" size="40" /></span> </p> 
<p>Teléfono<br /> 

는 ... 그래서 텍스트는 내가 "브레"이 될 것입니다 번역하기 위해 노력하고있어 - 프랑스에.

<p><?php _e('Nombre', theme_domain);?><br /> 

<p><?php __('Nombre', theme_domain);?><br /> 

을 ...하지만이 작동하지 않습니다

나는 다른 하드 코딩 영역에 대한 근무 gettext의 방법을 시도했습니다.

(저는 이것을 admin을 통해 wordpress에 추가하고 .php 파일에는 직접 추가하지 않을 것입니다).

필자는 .po/.mo 파일을 만드는 데 익숙하며 일반적인 하드 코딩 된 텍스트를 현지화하는 방법을 알고 있습니다. 그러나 연락처 7 양식은 당혹 스럽습니다.

의견을 보내 주시면 감사하겠습니다.

답변

1

당신은 그 어떤 것도 필요하지 않습니다."다른 언어로 문의 양식을 작성"특별히 secition 아래 링크를 확인

contact form in your language

1

귀하의 문제에 대한 해결책은 문의 양식 7 템플릿 내에서 PHP를 실행할 수있는 능력에 있다고 생각합니다. 자신의 단축 코드를 작성한 다음 CF7에 추가하면됩니다.

먼저 WP 설정 영역에서 번역 기능을 사용할 수 있도록 shortcode을 설정하십시오. 뭔가 같이 :

function e_text_shortcode($atts) { 
    extract(shortcode_atts(array(
     'text' => 'something', 
     'theme_domain' => 'something else', 
    ), $atts)); 

    return _e($text, $theme_domain); 
} 
add_shortcode('e_text', 'e_text_shortcode'); 

(면책 조항 :이 테스트를하지 않은!)

이 그럼 당신은 그래서 당신이 CF7 템플릿 영역에 단축 코드를 추가 할 수 plugin like this one를 사용할 수 있습니다.

e_text key='e_text' 

는 그런 다음 CF7 양식 서식 파일 및 이메일 템플릿에 단축 코드를 e_text 사용할 수 있어야합니다 :이 플러그인을 사용하면 당신은 '키', 같은으로 사용할 코드를 정의해야합니다.

1

JunkMyFunk 제안에 감사드립니다. 나는 이것을 구현하려했지만 약간의 문제에 부딪쳤다. 올바른 문의 양식을 보여

  1. WPML plugin.
  2. 는 WP CF7
  3. 를 사용하여 다음과 같은 조건 문의 각 언어에 대한 문의 양식을 작성 설치 :

    나는 결국 다음과 같은 방법을 사용하여 해결 방법을 발견 각 언어에 대해 모두 같은 당신의 도움에 대한

    <?php if(get_bloginfo('language')=='es-ES') 
    { 
    echo do_shortcode('[contact-form 1 "Contact form 1"]'); 
    } else { 
    echo do_shortcode('[contact-form 2 "Contact_form_2"]'); 
    } 
    ?> 
    

감사합니다 -

+1

약간의 제안은 get_bloginfo ('language') 대신 상수 변수 ICL_LANGUAGE_CODE를 사용하는 것입니다. ICL_LANGUAGE_CODE에는 WPML 자체에서 관리하는 현재 언어의 단축키가 포함되어 있습니다. 따라서 영어의 경우 "en"을 반환합니다. –

0

이이 CF7 플러그인이 더 이상 not include language 로케일을 수행 v4.4.1의로, 이러한이 유지되고 있기 때문에 작동하지 않는 이유 가장 낮은 번역 GlotPress 대신. 따라서 양식을 만들려는 언어마다 하나씩 수동으로 로캘을 설치해야합니다. 그런 다음 당신은 당신이 CF7을 관리 할 수있는 CF7 PolyLang module을 사용할 수 있습니다, 또한, 독일 로케일 DE_DE에 대한 예를 들어, 대시 보드 URL에 locale 속성을 추가하여 새로운 언어에

http://<your-domain>/wp-admin/admin.php?page=wpcf7-new&locale=de_DE

을 양식을 만들 수 있습니다 PolyLang 플러그인 (recommended by WP)을 사용하여 다른 언어로 된 양식 PolyLang은 WPML의 대안입니다.

  1. PolyLang 플러그인을 설치하고 활성화하십시오.
  2. 대시 보드 설정 -> 언어 섹션에서 polylang 설정에 언어를 추가하십시오. 추가 한 각 언어, polylang은 각 언어로 된 컨텐츠를 관리합니다. 사이트 방문자는 자신이보고 싶은 언어 콘텐츠를 선택하거나 선택한 설정에 따라 브라우저 기본 언어를 자동으로 볼 수 있습니다.
  3. 다음으로 CF7 모듈을 설치하고 활성화하십시오. polylang 설정에서 설정 한 언어를 검색하여 올바른 CF7 로켈을 다운로드합니다. 또한 해당 언어로 된 양식을 관리 할 수 ​​있습니다.
+0

이 링크는 질문에 대답 할 수 있지만 답변의 핵심 부분을 여기에 포함시키고 참조 용 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. - [검토 중] (리뷰/저품절 게시물/12263523) – RAnders00

+0

죄송합니다.이 경우 첫 번째 답변도 삭제해야하며 데모가없는 링크 일뿐입니다. 그러나 나는 여기에 무한 루프로 끝나지 않으므로 나의 대답에 조금 더 추가 할 것이다. – Aurovrata