2

我使用依赖于WikiMate的自编程 PHP 脚本通过其 API 将数百篇文章写入 MediaWiki(版本 1.20.2)。目前,这些文章只用英文写成。但是我想使用Translate 扩展来翻译它们,所以我必须批准每篇文章进行翻译。

对于每篇文章,已经有一个英文和一个法文文档,那么是否有任何自动化方法可以使用 API 一次以英文(默认)和翻译文章(法文)编写文章?翻译应该与翻译扩展兼容。

4

2 回答 2

0

您是什么意思“批准每篇文章进行翻译”?要执行“标记翻译”操作,添加 <!--T:1--> 标签?不幸的是,目前没有 Web API 可以做到这一点。

如果您非常确定两种语言的页面具有非常相似的结构,您可以尝试编写自己的脚本来逐块导入它们,但也没有聪明的内置选项。

如果您为此编写任何解决方案,您将非常高兴分享它们:)

(评论:我是翻译扩展的开发者之一。)

于 2012-12-05T22:50:30.457 回答
0

所以这就是我让事情发挥作用的方式。您可以将方法execute()从复制SpecialPageTranslation.php到您的自定义类。此方法会将文章标记为可翻译。只需通过实例化一个新Title对象,将所需文章的标题传递给它$title = Title::newFromText( 'Title_of_my_article' );。将引用的所有方法也复制$this到您的自定义类中。例如方法$this->markForTranslation(..)及其依赖项。

调用该execute()方法后,文章被标记为翻译,因此您可以提交翻译的文章。我只是通过为英文翻译的文章命名Title_of_my_article/1/enTitle_of_my_article/en使用默认的 MW API 提交它们来做到这一点。(请注意,1/en标记您提交的翻译部分,因此您将提交整篇文章作为翻译部分)

遗憾的是,Translate 扩展的文档记录很差,因此很难理解它是如何工作的。

于 2013-01-16T08:52:13.313 回答