안녕하세요 :)
번역관련해서 문의를 많이 남기네요 .. !
로그인페이지 부분 문의드립니다.
1) 로그인 페이지에 가면 로그인 영역 밑에 비밀번호찾기와 회원가입이 있는데, 비밀번호 찾기는 번역을 하였으나 회원가입은 번역이 안됩니다.
function.php에 어떤 코드를 추가해야하는것일까요 .. ?
2) 로그인 페이지에 비밀번호찾기 버튼이 안나타납니다. css 상으로도 display:none 되있는것이 없습니다.
콘솔창으로 확인하였을때 비밀번호 찾기 부분 div 내에 아무것도 없는 것을 확인하였습니다.
https://imgur.com/WgN8qWm
제가 놓치고 있는 부분이 있을까요 ?
해당페이지 주소는 traniacell.com/로그인 입니다.
안녕하세요~^^
코스모스팜 회원관리 플러그인은 워드프레스 사이트 언어 설정에 따라
한글, 영어, 일본어로 표시할 수 있습니다.
워드프레스 사이트 언어 설정은
워드프레스 관리자 -> 일반 페이지에서 확인해보실 수 있습니다.
만약, 코드로 수정하시려면
아래의 코드를 활용해보시겠어요?
add_filter('gettext', 'gettext_20210112', 10, 3);
function gettext_20210112($translated_text, $text, $domain){
if($domain == 'cosmosfarm-members'){
switch ($translated_text){
case 'Register': $translated_text = '회원가입'; break;
}
}
return $translated_text;
}
위의 코드를 적용하시면 기존에 Register로 표시되는 문구를 회원가입으로 교체할 수 있습니다.
만약, 기존에 회원가입으로 표시됐는데 영어로 표시되게 하시려면
위의 코드 중 case 'Register': $translated_text = '회원가입'; break; 부분을
case '회원가입': $translated_text = 'Register'; break;로 교체해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
add_filter('gettext', 'gettext_20210112', 10, 3);
function gettext_20210112($translated_text, $text, $domain){
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
if(in_array($request_uri, array('/%eb%a1%9c%ea%b7%b8%ec%9d%b8/', '/%eb%a1%9c%ea%b7%b8%ec%9d%b8'))){
if($domain == 'cosmosfarm-members'|| $domain=='wp-members'){
switch ($translated_text){
case 'Register': $translated_text = '회원가입'; break;
}
}
return $translated_text;
}
}
답변주신 코드 사용했는데 다른페이지는 다되는데 로그인페이지에만 안먹습니다 ㅜㅜㅜ
특정 url에만 번역되면 되서 request_uri를 활용하였습니다. 코드에 문제가 있는걸까요 ?
특정 페이지에만 적용되게 하시려면
아래의 코드를 활용해보세요.
add_filter('gettext', 'gettext_20210114', 10, 3);
function gettext_20210114($translated_text, $text, $domain){
if($domain == 'cosmosfarm-members' && get_the_ID() == '1'){ // 실제 페이지 id로 적용해보세요.
switch ($translated_text){
case 'Register': $translated_text = '회원가입'; break;
}
}
return $translated_text;
}
위의 코드에서 get_the_ID() == '1' 부분은 실제 게시판 id로 적용해보세요.
워드프레스에서 페이지 ID를 찾는 방법은 아래 블로그 링크를 확인해주세요.
고맙습니다.
음... 올려주신 코드 다 적용해봤는데도 변화가 없네요 ;(...
WPML과 관련이 있는 문제일까요 ?
+) function.php 에 넣는 방법말고 직접적으로 login-form.php 를 수정하는 방법은 없을까요 ?
국문페이지는 /로그인, 영문페이지는 en/login/ 으로 되어있습니다.
+) 홈페이지에 스크립트 삽입해서 해결하였습니다.
$('바꿀 텍스트 위치한 ID or Class명').text(function(i, oldText) {
return oldText === 'Register' ? '로그인' : oldText;
});
저희 쪽 테스트 서버에서는
이전 댓글에 안내해드린 코드가 정상적으로 동작하는 것을 확인했습니다.
실제 적용한 페이지 id는 어떻게 되시는지요?
올려주신 페이지에서 로그인 페이지의 id는 12318입니다.
id에 문제가 없다면 브라우저의 캐시 문제는 아닌지 확인해보셔야 할 듯합니다.
크롬 브라우저에서 강력 새로고침 단축키는 Ctrl + Shift + R입니다.
고맙습니다.