Microsoft Translate APIを使用ã—ã¦ã€PHPã§è‡ªå‹•ç¿»è¨³ã™ã‚‹æ–¹æ³•ã‚’紹介ã—ã¾ã™ã€‚
æ–‡å—列を翻訳ã—ãŸã„時ã£ã¦ã€çµæ§‹ã‚ã‚Šã¾ã™ã‚ˆã。
ã„ã‚„ã€ãã‚“ãªã«ãªã„ã§ã™ã‹ã?(æ±—)
ç§ã¯å¤šè¨€èªžå¯¾å¿œã®CMSを作ã£ãŸæ™‚ã«ã€ã“ã®è‡ªå‹•ç¿»è¨³å‡¦ç†ã‚’実装ã—ã¾ã—ãŸã€‚
自分ã§ç¿»è¨³æ©Ÿèƒ½ãŒä½œã‚ŒãŸã‚‰ã‚ˆã„ã®ã§ã™ãŒã€ãã†ã‚‚ã„ã‹ãªã„ã§ã™ã‚ˆã。
ã“ã‚“ãªå¤§é‡ã®ç¿»è¨³ãƒ‡ãƒ¼ã‚¿ãªã©ã€ä¸€å€‹äººã˜ã‚ƒãã†ç°¡å˜ã«ã¤ãれるもã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
ãã†ã„ã£ãŸã¨ãã«ã“ã® Microsoft Translator APIを活用ã—ã¾ã™ã€‚
Microsoft Translator APIを使ã†ã“ã¨ã§ã¨ã¦ã‚‚ç°¡å˜ã«è‡ªå‹•ç¿»è¨³ãŒã§ãã‚‹ã®ã§ã™ã€‚
Microsoft Translator API v2ã§ã¯ã€AJAX・HTTP・SOAPã®3種類ã®ã‚µãƒ¼ãƒ“スãŒã‚ã‚Šã¾ã™ã€‚
今回ã¯ã“ã®ä¸ã®ã€HTTPã¨SOAPã®ã‚µãƒ¼ãƒ“スを用ã„ãŸ2パターンを紹介ã—ã¾ã™ã€‚
åˆã‚ã«ã“れらã®APIを使用ã™ã‚‹å ´åˆã«ã¯ã€Bingã®Application ID(AppID)ã‚’å–å¾—ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
AppIDã¯ä»¥ä¸‹ã‚ˆã‚Šå–å¾—ã§ãã¾ã™ã€‚
Developer Center
ã¾ãŸå„処ç†ã®ç´°ã‹ã„内容ã¯ã€ã“ã¡ã‚‰ã‹ã‚‰ã”確èªãã ã•ã„。
Microsoft Translator APIã®HTTPã«ã‚ˆã‚‹é€šä¿¡ã§ã¯ã€URLã«AppID・翻訳ã™ã‚‹ãƒ†ã‚スト・翻訳元ã®è¨€èªžãƒ»ç¿»è¨³å¾Œã®è¨€èªžã‚’GETã§æ¸¡ã—ã¦æŽ¥ç¶šã™ã‚‹ã ã‘ã§ã™ã€‚
Microsoft Translator APIã®ãƒ‰ã‚ュメントをã¿ã‚‹ã¨ã€ãªã«ã‚„ら難ã—ã„ã“ã¨ãŒæ›¸ã„ã¦ã‚り複雑ã«æ€ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€å®Ÿéš›ã¯ã“ã‚“ãªã«ç°¡å˜ãªã®ã§ã™ã€‚
以下ã¯ã€ã€Œã¦ã™ã¨ã€ã¨ã„ã†æ–‡å—列を日本語ã‹ã‚‰è‹±èªžã«ç¿»è¨³ã™ã‚‹ã‚µãƒ³ãƒ—ルコードã§ã™ã€‚
$url = 'http://api.microsofttranslator.com/V2/soap.svc';
$appid = '[å–å¾—ã—ãŸApplicationID]';
$query = array(
'appId' => $appid,
'text' => 'ã¦ã™ã¨',
'from' => 'ja',
'to' => 'en'
);
$url = 'http://api.microsofttranslator.com/V2/Http.svc/Translate';
$queryStr = http_build_query($query, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . "?" . $queryStr);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-Http-Method-Override: GET',
));
$response = curl_exec($ch);
echo $response;
次ã«Microsoft Translator APIã®SOAPã«ã‚ˆã‚‹é€šä¿¡ã§ç¿»è¨³ã‚’è¡Œã„ã¾ã™ã€‚
SOAPã¯HTTPã«æ¯”ã¹ã¦ã€ã‚‚ã£ã¨ç°¡å˜ã«è¨˜è¿°ã§ãã¾ã™ã€‚
ã¾ãŸã€ä¸€åº¦ã«ç¿»è¨³ã§ãã‚‹æ–‡å—数も多ããªã‚Šã¾ã™ã€‚
以下ã¯HTTPサービスã®ã‚µãƒ³ãƒ—ルコードã¨åŒæ§˜ã§ã€ã€Œã¦ã™ã¨ã€ã¨ã„ã†æ–‡å—列を日本語ã‹ã‚‰è‹±èªžã«ç¿»è¨³ã™ã‚‹ã‚µãƒ³ãƒ—ルコードã§ã™ã€‚
$url = 'http://api.microsofttranslator.com/V2/soap.svc';
$appid = '[å–å¾—ã—ãŸApplicationID]';
$query = array(
'appId' => $appid,
'text' => 'ã¦ã™ã¨',
'from' => 'ja',
'to' => 'en'
);
$client = new SoapClient($url);
$result = $client->Translate($query);
echo $result->TranslateResult;
ãŸã£ãŸã“ã‚Œã ã‘ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’書ãã ã‘ã§ç¿»è¨³ã§ãã‚‹ã‚“ã§ã™ã€‚
Microsoft Translator APIã¯æœ¬å½“ã«ç°¡å˜ã§ã™ã。
Microsoft Translator APIã§ã¯ISO 639-1ã®è¨€èªžã‚³ãƒ¼ãƒ‰ãŒä½¿ç”¨ã§ãã¾ã™ã€‚
ISO 639-1ã¨ã¯ã€ISO 639言語コードã®2æ–‡å—コードã§ã™ã€‚
ã“ã®è¨€èªžã‚³ãƒ¼ãƒ‰ã¯ä»¥ä¸‹ã¨ãªã‚Šã¾ã™ã€‚
コード | 言語 |
---|---|
is | アイスランド語 |
ay | アイマラ語 |
ga | アイルランド語 |
az | アゼルãƒã‚¤ã‚¸ã‚§ãƒ³èªž |
as | アッサム語 |
aa | アファル語 |
ab | アプãƒã‚¸ã‚¢èªž |
af | アフリカーンス語 |
am | アムãƒãƒ©èªž |
ar | アラビア語 |
sq | アルãƒãƒ‹ã‚¢èªž |
hy | アルメニア語 |
it | イタリア語 |
yi | イディッシュ語 |
iu | イヌクティトット語 |
ik | イヌピア語 |
ia | インターリングア (国際語) |
ie | インターリング語 |
id | インドãƒã‚·ã‚¢èªž |
ug | ウイグル語 |
cy | ウェールズ語 |
vo | ヴォラピュック語 |
wo | ウォãƒãƒ•èªž |
uk | ウクライナ語 |
uz | ウズベク語 |
ur | ウルドゥー語 |
en | 英語 |
et | エストニア語 |
eo | エスペラント語 |
or | オーリア語 |
oc | オã‚タン語 |
nl | オランダ語 |
om | オãƒãƒ¢èªž (ガラ語) |
kk | カザフ語 |
ks | カシミール語 |
ca | カタラン語 |
gl | ガリシア語 |
ko | 韓国語 |
kn | カンナダ語 |
km | カンボジア語 |
rw | ã‚ヤーワンダ語 (ルアンダ語) |
el | ギリシャ語 |
ky | ã‚ルギス語 |
rn | ã‚ルンディ語 (ルンディ語) |
gn | グアラニー語 |
qu | クエãƒãƒ¥ã‚¢èªž |
gu | グジャラト語 |
kl | グリーンランド語 |
ku | クルド語 |
hr | クãƒã‚¢ãƒã‚¢èªž |
gd | ゲーリック語 (スコットランド語) |
gv | ゲーリック語 (マン島語) |
xh | コーサ語 |
co | コルシカ語 |
sm | サモア語 |
sg | サングホ語 |
sa | サンスクリット語 |
ss | シスワティ語 |
jv | ジャワ語 |
ka | ジョージア語 |
sn | ショナ語 |
sd | シンド語 |
si | シンãƒãƒ©èªž |
sv | スウェーデン語 |
su | スーダン語 |
zu | ズールー語 |
es | スペイン語 |
sk | スãƒãƒ´ã‚¡ã‚ア語 |
sl | スãƒãƒ´ã‚§ãƒ‹ã‚¢èªž |
sw | スワヒリ語 (ã‚スワヒリ語) |
tn | セツワナ語 |
st | セト語 |
sr | セルビア語 |
sh | セルボクãƒã‚¢ãƒã‚¢èªž |
so | ソマリ語 |
th | タイ語 |
tl | タガãƒã‚°èªž |
tg | タジク語 |
tt | タタール語 |
ta | タミル語 |
cs | ãƒã‚§ã‚³èªž |
ti | ãƒã‚°ãƒªãƒ‹ãƒ£èªž |
bo | ãƒãƒ™ãƒƒãƒˆèªž |
zh-cn | ä¸å›½èªž (簡体) |
zh-hk | ä¸å›½èªž (ç¹ä½“) |
ts | ヅォンガ語 |
te | テルグ語 |
da | デンマーク語 |
de | ドイツ語 |
tw | トウィ語 |
tk | トルクメン語 |
tr | トルコ語 |
to | トンガ語 |
na | ナウル語 |
ja | 日本語 |
ne | ãƒãƒ‘ール語 |
no | ノルウェー語 |
ha | ãƒã‚¦ã‚µèªž |
be | 白ãƒã‚·ã‚¢èªž (ベラルーシ語) |
ba | ãƒã‚·ã‚ール語 |
ps | パシト語 (パシュトー語) |
eu | ãƒã‚¹ã‚¯èªž |
hu | ãƒãƒ³ã‚¬ãƒªãƒ¼èªž |
pa | パンジャビ語 |
bi | ビスラマ語 |
bh | ビãƒãƒ¼ãƒ«èªž |
my | ビルマ語 |
hi | ヒンディー語 |
fj | フィジー語 |
fi | フィンランド語 |
dz | ブータン語 |
fo | フェãƒãƒ¼èªž |
fr | フランス語 |
fy | フリジア語 |
bg | ブルガリア語 |
br | ブルターニュ語 |
vi | ベトナム語 |
he | ヘブライ語 |
fa | ペルシャ語 |
bn | ベンガル語 |
pl | ãƒãƒ¼ãƒ©ãƒ³ãƒ‰èªž |
pt | ãƒãƒ«ãƒˆã‚¬ãƒ«èªž |
mi | マオリ語 |
mk | マカドニア語 |
mg | マダガスカル語 |
mr | マラッタ語 |
ml | マラヤーラム語 |
mt | マルタ語 |
ms | マレー語 |
mo | モルダビア語 |
mn | モンゴル語 |
yo | ヨルãƒèªž |
lo | ラオタ語 |
la | ラテン語 |
lv | ラトビア語 (レット語) |
lt | リトアニア語 |
ln | リンガラ語 |
li | リンブルク語 |
ro | ルーマニア語 |
rm | レートãƒãƒžãƒ³ã‚¹èªž |
ru | ãƒã‚·ã‚¢èªž |