개발-PHP

[함수] 구글 번역 API를 이용한 파일 번역 php

WEBKIKIS 2016. 3. 30. 17:21
반응형

[함수] 구글 번역 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);
    }
?>


웹 제작 문의하기 ☞

반응형