HTML 块的机器翻译

发布于 2024-08-22 18:05:48 字数 58 浏览 4 评论 0原文

PHP 中是否有任何 API(如谷歌翻译 api)允许翻译 HTML 块并仅翻译 html 中的文本?

Is there any API (like google translation api) in PHP which allows to translate HTML blocks and translate only text out of the html ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

半城柳色半声笛 2024-08-29 18:05:48

Microsoft 的翻译 API 将在维护 HTML 标签的同时进行翻译。

该 API 记录在此处。它具有 REST 和 WSDL 接口。

我倾向于将 WSDL 接口与 PHP 的 SoapClient 库一起使用。这里有一些代码向您展示如何使用它。

$client = new SoapClient("http://api.microsofttranslator.com/V1/SOAP.svc");

$params = array(
    'appId' => 'my_app_id', 
    'text' => '<p>This is a <b>test</b></p>', 
    'from' => 'en', 
    'to' => 'fr');

$translation = $client->translate($params);

var_dump($translation);

您需要向 Microsoft 注册您自己的应用程序 ID,并在每个请求中传递该 ID。您可以在此处注册。

我建议不要删除标签,翻译然后重新插入标签。由于您无法保证翻译中保留字数和顺序,因此很难知道将标签放置在翻译文本中的位置。最好让 MT 引擎处理标签。

Microsoft's translation API will translate while maintaining HTML tags.

The API is documented here. It has both a REST and WSDL interface.

I tend to use the WSDL interface with PHP's SoapClient library. Here is some code to show you how to use it.

$client = new SoapClient("http://api.microsofttranslator.com/V1/SOAP.svc");

$params = array(
    'appId' => 'my_app_id', 
    'text' => '<p>This is a <b>test</b></p>', 
    'from' => 'en', 
    'to' => 'fr');

$translation = $client->translate($params);

var_dump($translation);

You'll need to register with Microsoft for your own application ID which you pass up with each request. You can register here.

I would advise against stripping out tags, translating and then re-inserting the tags. Since you have no guarantee that word number and order is preserved in the translation it makes it very difficult to know where to place the tags in the translated text. Better to have the MT engine handle the tags.

倾`听者〃 2024-08-29 18:05:48

无法完美地回答您的问题,但如果您希望从 html 中获取文本,即在网站上爬行文本,您需要一个 php 爬虫脚本:

http://forums.digitalpoint.com/showthread.php?t=708122

但如果要剥离 html 并仅获取文本,您可以使用 PHP 的:

strip_tags 函数。

但如果你的意思是要获取特定的文本片段,您可以使用正则表达式:

http://www.regular-expressions.info/

Could not get your question perfectly but if you are looking to get text out of html, sort of crawling text on a site, you need a php crawler script:

http://forums.digitalpoint.com/showthread.php?t=708122

But if meant to strip html and get only text, you can use PHP's:

strip_tags function.

But if you meant to get specific piece of text, you could use regular expressions:

http://www.regular-expressions.info/

南笙 2024-08-29 18:05:48

这是另一种选择:

按照以下说明将您的网站翻译成其他语言。

  1. 通过 https://datamarket.azure.com/home/ 登录 Microsoft Azure Marketplace。
  2. 转到 www.aka.ms/TranslatorADM。对于每月 2,000,000 个字符、每月 0.00 美元的价格,选择更新。同意条款和条件。
  3. 在 Microsoft Azure Marketplace 页面底部的开发下,选择注册您的应用程序。填写注册表。
  4. 转到 http://www.microsofttranslator.com/Widget。将 HTML 复制到网页中,例如 www.example.com/translation.html。还要向您的translation.html 页面添加一些文本,例如“这是一个测试”。

该网页应该有微软的翻译器,可以用来将页面翻译成不同的语言。

Here is another option:

Follow these directions to translate your website into a different language.

  1. Sign into Microsoft Azure Marketplace at https://datamarket.azure.com/home/.
  2. Go to www.aka.ms/TranslatorADM. On the 2,000,000 characters/month at $0.00/month, select Update. Agree to the terms and conditions.
  3. At the bottom of the Microsoft Azure Marketplace page, under Develop select Register your Application. Complete the registration form.
  4. Go to http://www.microsofttranslator.com/Widget. Copy the HTML into a Web page, such as www.example.com/translation.html. Also add some text to your translation.html page, such as "this is a test".

The Web page should have Microsoft's translator, which can be used to translate the page into a different language.

于我来说 2024-08-29 18:05:48

使用正则表达式PHP 支持它们Regexlib 有一个很好的库,其中包含您可以调整的各种预先编写的正则表达式。

Use Regular Expressions, PHP supports them. Regexlib has a nice library of various pre-written regexes you can adapt.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文