PHP中的语言翻译 [英] language translation in php

查看:65
本文介绍了PHP中的语言翻译的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何用PHP处理语言翻译?我需要根据用户的喜好更改网站的语言.另外,我可能无法访问客户端源代码.最多,我可以上传自己的文件夹并自己进行动态翻译.

How is language translation handled in PHP? I need to change the language of a site based on user preferences. Also, I may not have access to the client source code. At most, I could upload a folder of my own and do the dynamic translation myself.

据我所知,基本过程将是: 将语言1输出发送到全局功能->翻译->输出到屏幕.

As far as I know, the basic process would be: Send Language 1 output to global function -> translate -> Output to screen.

我需要有人帮助我解决PHP中的具体问题.

I need someone to help me out with the specifics in PHP.

我是否不知道任何标准实现? 有没有人做过这样的事情,如果是这样,你是怎么做到的?

Are there any standard implementations that I am unaware of? Has anybody done such a thing and if so, how did you do it?

谢谢.

推荐答案

Google停止了此服务,但您仍然可以将该服务用作免费服务.将此代码放入服务器(www)并运行此文件.

As google stop this service but you can still use this service as a free service.Put this code in your server(www) and run this file.

<?php

function curl($url,$params = array(),$is_coockie_set = false)
{

if(!$is_coockie_set){
/* STEP 1. let’s create a cookie file */
$ckfile = tempnam ("/tmp", "CURLCOOKIE");

/* STEP 2. visit the homepage to set the cookie properly */
$ch = curl_init ($url);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);
}

$str = ''; $str_arr= array();
foreach($params as $key => $value)
{
$str_arr[] = urlencode($key)."=".urlencode($value);
}
if(!empty($str_arr))
$str = '?'.implode('&',$str_arr);

/* STEP 3. visit cookiepage.php */

$Url = $url.$str;

$ch = curl_init ($Url);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

$output = curl_exec ($ch);
return $output;
}

function Translate($word,$conversion = 'hi_to_en')
{
$word = urlencode($word);
// dutch to english
if($conversion == 'nl_to_en')
$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=en&sl=nl&tl=en&multires=1&otf=2&pc=1&ssel=0&tsel=0&sc=1';
 //english to arabic

 if($conversion=='en_to_ar')
 {
     $url = 'http://translate.google.co.in/translate_a/t?client=t&text='.$word.'&sl=en&tl=ar&hl=en&sc=2&ie=UTF-8&oe=UTF-8&prev=btn&ssel=3&tsel=4&q=free%20translate%20api';
 }
// english to hindi
if($conversion == 'en_to_hi')
$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=en&sl=en&tl=hi&ie=UTF-8&oe=UTF-8&multires=1&otf=1&ssel=3&tsel=3&sc=1';

// hindi to english
if($conversion == 'hi_to_en')
$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=en&sl=hi&tl=en&ie=UTF-8&oe=UTF-8&multires=1&otf=1&pc=1&trs=1&ssel=3&tsel=6&sc=1';

//$url = 'http://translate.google.com/translate_a/t?client=t&text='.$word.'&hl=en&sl=nl&tl=en&multires=1&otf=2&pc=1&ssel=0&tsel=0&sc=1';

$name_en = curl($url);

$name_en = explode('"',$name_en);
return  $name_en[1];
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<?php
echo "<br><br> Hindi To English <br>";
echo  Translate('कानूनी नोटिस: यह गूगल के अनुवादक सेवाओं की एक दुरुपयोग है, आप इस के लिए भुगतान करना होगा.');
echo "<br><br> English To Hindi <br> ";
echo  Translate('legal notice: This is an abuse of google translator services ,  you must pay for this.','en_to_hi');
echo "<br><br> Dutch To English <br>";
echo  Translate('Disclaimer: Dit is een misbruik van Google Translator diensten, moet u betalen.','nl_to_en');
echo "<br><br> English To Arabic<br>";
echo 'hii how are you<br>';
echo  Translate('hii how are you','en_to_ar');

echo "<br><br> Just Kidding ....... <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif?m=1129645325g' alt=':)' class='wp-smiley'> ";
?>
</body>
</html>

目前将其印地文翻译成英文,英文翻译成印地文,英文翻译成阿拉伯文. 但是您可以translate any language to any language supported by Google. 您只需要做的就是转到此页面

Currently its translating hindi to english, english to hindi, english to arabic. But you can translate any language to any language supported by Google. You just need to do is goto this page

https://translate .google.co.in/

现在打开您的萤火虫或检查元素. 选择您需要翻译的语言.在框上写一些东西,然后点击翻译按钮. 现在捕获google发送的翻译请求.看起来像这样.

Now open your firebug or inspect element. select from which language to which language you need to translate.Write something on the box and hit translate button. Now catch the request google send to translate.It looks like this.

'https://translate.google.co.in/translate_a/t?client=t&sl=en&tl=ar&hl=en&sc=2&ie=UTF-8&oe=UTF-8&oc=1&otf=1&ssel=0&tsel=0&q=d'

现在将请求粘贴到转换函数中,然后在client=t之后添加text='.$word.'&. 将https更改为http.

Now paste the request in the translate function.And add text='.$word.'& after client=t. Change https to http.

在那之后,您需要从html标记调用translation函数. 像这样echo Translate('hii how are you','en_to_ar'); 第一个参数是您要翻译的内容,然后在此处声明. 第二个参数是您要翻译成哪种语言的缩写. 您可以从从Google翻译获得的request中获取简短形式.

After that you need to call the translate function from html tag. like this echo Translate('hii how are you','en_to_ar'); First parameter is what do you want to translate.Put you statement over there. Second parameter is short form of which language to which language you want to translate. You can get the short form from the request you get from google translate.

检查此client=t&sl=en&tl=ar&hl=en& .. sl& hl = en(英语)和tl = ar(阿拉伯语). 现在您可以调用翻译功能了.

check this client=t&sl=en&tl=ar&hl=en&..sl & hl= en(english) and tl=ar(arabic). Now you are ready to call translate function.

将功劳归功于.享受翻译的乐趣.

Give the credit to this. Enjoy translating.

这篇关于PHP中的语言翻译的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆