Update of /cvsroot/php-blog/additional_plugins/serendipity_event_babelfish
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4916/serendipity_event_babelfish
Added Files:
serendipity_event_babelfish.php
Log Message:
Translate your blog-entries via Google. Trash and beta
(how do I get the "archive" URL within an event plugin?
--- NEW FILE: serendipity_event_babelfish.php ---
<?php // $Id: serendipity_event_babelfish.php,v 1.1 2004/09/06 17:00:12 nohn Exp $
switch ($serendipity['lang']) {
case 'de':
@define('PLUGIN_BABELFISH_VERSION', '1.0');
@define('PLUGIN_BABELFISH_NAME', 'Babelfisch');
@define('PLUGIN_BABELFISH_DESCRIPTION', 'Übersetzt Blog-Einträge');
@define('PLUGIN_BABELFISH_TRANSLATE', 'Übersetze nach ');
break;
case 'en':
default:
@define('PLUGIN_BABELFISH_VERSION', '1.0');
@define('PLUGIN_BABELFISH_NAME', 'Babelfish');
@define('PLUGIN_BABELFISH_DESCRIPTION', 'Translate blog entries (trash!)');
@define('PLUGIN_BABELFISH_TRANSLATE', 'Translate to ');
break;
}
class serendipity_event_babelfish extends serendipity_event
{
var $translation_table = array(
'en' => array('de', 'es', 'fr', 'it', 'pt'),
'de' => array('en', 'fr'),
'es' => array('en'),
'fr' => array('en', 'de'),
'it' => array('en'),
'pt' => array('en')
);
function introspect(&$propbag)
{
global $serendipity;
$propbag->add('name', PLUGIN_BABELFISH_NAME);
$propbag->add('description', PLUGIN_BABELFISH_DESCRIPTION);
$propbag->add('event_hooks',
array(
'frontend_display' => true,
'css' => true
)
);
}
function generate_content(&$title)
{
$title = PLUGIN_BABELFISH_NAME;
}
function event_hook($event, &$bag, &$eventData, $addData = null) {
global $serendipity;
$hooks = &$bag->get('event_hooks');
if (isset($hooks[$event])) {
switch($event) {
case 'css':
if (stristr('.serendipity_babelfish', $addData)) {
// class exists in CSS, so a user has customized it and we don't need default
return true;
}
?>
.serendipity_babelfish {
margin-left: auto;
margin-right: 0px;
text-align: right;
font-size: 7pt;
display: block;
margin-top: 5px;
margin-bottom: 0px;
}
.serendipity_babelfish a {
font-size: 7pt;
text-decoration: none;
}
.serendipity_babelfish a:hover {
color: green;
}
<?php
return true;
break;
case 'frontend_display':
$msg = '<div class="serendipity_babelfish">'.PLUGIN_BABELFISH_TRANSLATE;
foreach($this->translation_table[$serendipity['lang']] as $target_lang) {
$msg .=
' <a href="http://translate.google.com/translate?u=' .
urlencode('http://'.$_SERVER[SERVER_NAME].$_SERVER[REQUEST_URI]) .
'&langpair=' .
$serendipity[lang] . '%7C' . $target_lang .
'">' .
$target_lang .
'</a>';
}
$msg .= '</div>';
$eventData['body'] .= $msg;
break;
default:
return false;
}
} else {
return false;
}
}
}
?>
|