WPML
상태
미해결
보고된 제품
WPML Multilingual CMS 4.5.0

문제 개요

과거에는 WordPress와 WPML이 항상 문자열의 기본 언어를 영어로 간주했습니다.

이제 WPML을 사용하여 문자열의 기본 언어를 변경할 수 있지만(따라서 다른 언어의 문자열을 영어로 번역할 수 있습니다), .po 가져오기 / 내보내기 섹션에서는 여전히 영어로 된 문자열을 가져오거나 내보낼 수 없습니다.

임시 해결 방법

영구적인 해결책을 마련하는 동안 다음 단계를 따라 문제를 해결할 수 있습니다:



    1. 최신 WPML 버전을 사용 중인지 확인하세요

    2. …/wp-content/plugins/wpml-string-translation/menu/string-translation.php 파일을 엽니다. 3곳의 다른 위치를 수정해야 합니다

 

  1. 먼저 640번째 줄과 748번째 줄을 찾아 다음 줄을:
    <span class="token delimiter important"><?php</span> <span class="token keyword">foreach</span> <span class="token punctuation">(</span> <span class="token variable">$active_languages</span> <span class="token keyword">as</span> <span class="token variable">$al</span> <span class="token punctuation">)</span> <span class="token punctuation">:</span> <span class="token keyword">if</span> <span class="token punctuation">(</span> <span class="token variable">$al</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'code'</span><span class="token punctuation">]</span> <span class="token operator">==</span> <span class="token variable">$string_settings</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'strings_language'</span><span class="token punctuation">]</span> <span class="token punctuation">)</span> <span class="token punctuation">{</span> <span class="token keyword">continue</span><span class="token punctuation">;</span><span class="token punctuation">}</span> <span class="token delimiter important">?></span>


  2. 다음과 같이 교체합니다:
    <?php foreach($active_languages as $al):  ?>  


  3. 그런 다음 655번째 줄을 찾아 다음 코드를 제거합니다:
    											if ( $al['code'] == $string_settings['strings_language'] ) {
    												continue;}


  4. 마지막으로 WPML > 문자열 번역으로 이동하여 .po 파일에 따라 번역도 생성을 선택하고 드롭다운에서 영어를 선택한 후(코드 변경 후 표시됨) 가져오기를 실행합니다.

알려진 모든 문제 →