[함수] 구글 번역 API를 이용한 파일 번역 php
사용법은 translate.php 번역할파일 > 번역한파일 입니다.
간단히 한자+일본어 추출해서 그 부분만 replace해서 토해냅니다.
추가로 일본어->한글만 됩니다. 다른 언어로 하실 거면 위 URL의 sl=? //source, tl=?//target
수정하시고... 위에 유니코드 preg_match_all 부분에 맞춰서 넣어주시면 됩니다.
번역 관련 작업 하다가 찾은 내용인데 여기서도 도움되시는분 있으면 좋겠습니다...
링크: https://kldp.org/node/149042
<?php
$file_name = $_SERVER['argv'];
$file = file($file_name[1], FILE_TEXT | FILE_SKIP_EMPTY_LINES);
foreach ($file as $line) {
$trans = array();
preg_match_all('!['
.'\x{2E80}-\x{2EFF}' // 한중일 부수 보충
.'\x{31C0}-\x{31EF}\x{3200}-\x{32FF}'
.'\x{3400}-\x{4DBF}\x{4E00}-\x{9FBF}\x{F900}-\x{FAFF}'
.'\x{20000}-\x{2A6DF}\x{2F800}-\x{2FA1F}' // 한중일 호환
.'\x{3040}-\x{309F}' // 히라가나
.'\x{30A0}-\x{30FF}' // 가타가나
.'\x{31F0}-\x{31FF}'
.']+!u', $line, $match);
foreach ($match as $element) {
foreach ($element as $value) {
$response = file_get_contents('http://translate.google.co.kr/translate_a/t?client=t&ie=UTF-8&oe=UTF-8&sl=ja&tl=ko&text='.$value);
$token = strtok($response, ",");
$result = substr($token, 4, -1);
$trans[$value] = $result;
}
}
echo strtr($line, $trans);
}
?>
'개발-PHP' 카테고리의 다른 글
[함수] CURL 로 멀티 쓰레드 날리기 (0) | 2016.03.30 |
---|---|
[함수] 다중(타)디비 컨넥 이용하기 (php클래스) (0) | 2016.03.30 |
[함수] EUC-KR 환경에서 유니코드 문자 손상 없이 (0) | 2016.03.30 |
[함수] htmlspecialchars_decode와 html_entity_decode의 문자열 처리의 다른 점 (0) | 2016.03.30 |
[함수] PHP - cURL 대용 Purl (0) | 2016.03.30 |