코스모스팜 회원관리 번역 관련

안녕하세요 :)

번역관련해서 문의를 많이 남기네요 .. ! 

로그인페이지 부분 문의드립니다.

 

1) 로그인 페이지에 가면 로그인 영역 밑에 비밀번호찾기와 회원가입이 있는데, 비밀번호 찾기는 번역을 하였으나 회원가입은 번역이 안됩니다.

 

function.php에 어떤 코드를 추가해야하는것일까요 .. ?

 

2) 로그인 페이지에 비밀번호찾기 버튼이 안나타납니다. css 상으로도 display:none 되있는것이 없습니다.

콘솔창으로 확인하였을때 비밀번호 찾기 부분 div 내에 아무것도 없는 것을 확인하였습니다.

https://imgur.com/WgN8qWm

제가 놓치고 있는 부분이 있을까요 ?

 

해당페이지 주소는 traniacell.com/로그인 입니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 저희 쪽 테스트 서버에서는

    이전 댓글에 안내해드린 코드가 정상적으로 동작하는 것을 확인했습니다.

    실제 적용한 페이지 id는 어떻게 되시는지요?

    올려주신 페이지에서 로그인 페이지의 id는 12318입니다.

    id에 문제가 없다면 브라우저의 캐시 문제는 아닌지 확인해보셔야 할 듯합니다.

    크롬 브라우저에서 강력 새로고침 단축키는 Ctrl + Shift + R입니다.

    고맙습니다.

  • 음... 올려주신 코드 다 적용해봤는데도 변화가 없네요 ;(... 

    WPML과 관련이 있는 문제일까요 ?

     

    +) function.php 에 넣는 방법말고 직접적으로 login-form.php 를 수정하는 방법은 없을까요 ?

    국문페이지는 /로그인,  영문페이지는 en/login/ 으로 되어있습니다.

     

    +) 홈페이지에 스크립트 삽입해서 해결하였습니다.

            $('바꿀 텍스트 위치한 ID or Class명').text(function(i, oldText) {
                return oldText === 'Register' ? '로그인' : oldText;
            });

     

  • 특정 페이지에만 적용되게 하시려면

    아래의 코드를 활용해보세요.

    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를 찾는 방법은 아래 블로그 링크를 확인해주세요.

    워드프레스에서 페이지(포스트) ID를 찾는 방법

    고맙습니다.

  • 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_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 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기