Merge branch '0.8.x' of git://gitorious.org/laconica/dev into 0.8.x

Conflicts:

	lib/jabber.php
This commit is contained in:
Federico Marani 2009-03-28 13:52:01 +00:00
commit 4b3f022fc2
66 changed files with 7517 additions and 6605 deletions

14
README
View File

@ -2,7 +2,7 @@
README
------
Laconica 0.7.2 ("Talk about the Passion")
Laconica 0.7.2.1 ("Talk about the Passion")
11 March 2009
This is the README file for Laconica, the Open Source microblogging
@ -261,9 +261,9 @@ especially if you've previously installed PHP/MySQL packages.
1. Unpack the tarball you downloaded on your Web server. Usually a
command like this will work:
tar zxf laconica-0.7.1.tar.gz
tar zxf laconica-0.7.2.1.tar.gz
...which will make a laconica-0.7.1 subdirectory in your current
...which will make a laconica-0.7.2.1 subdirectory in your current
directory. (If you don't have shell access on your Web server, you
may have to unpack the tarball on your local computer and FTP the
files to the server.)
@ -271,7 +271,7 @@ especially if you've previously installed PHP/MySQL packages.
2. Move the tarball to a directory of your choosing in your Web root
directory. Usually something like this will work:
mv laconica-0.7.1 /var/www/mublog
mv laconica-0.7.2.1 /var/www/mublog
This will make your Laconica instance available in the mublog path of
your server, like "http://example.net/mublog". "microblog" or
@ -761,7 +761,7 @@ Upgrading
If you've been using Laconica 0.6, 0.5 or lower, or if you've been
tracking the "git" version of the software, you will probably want
to upgrade and keep your existing data. There is no automated upgrade
procedure in Laconica 0.7.1. Try these step-by-step instructions; read
procedure in Laconica 0.7.2.1. Try these step-by-step instructions; read
to the end first before trying them.
0. Download Laconica and set up all the prerequisites as if you were
@ -881,7 +881,7 @@ This section is a catch-all for site-wide variables.
name: the name of your site, like 'YourCompany Microblog'.
server: the server part of your site's URLs, like 'example.net'.
path: The path part of your site's URLs, like 'mublog' or '/'
path: The path part of your site's URLs, like 'mublog' or ''
(installed in root).
fancy: whether or not your site uses fancy URLs (see Fancy URLs
section above). Default is false.
@ -1185,7 +1185,7 @@ repository (see below), and you get a compilation error ("unexpected
T_STRING") in the browser, check to see that you don't have any
conflicts in your code.
If you upgraded to Laconica 0.7.1 without reading the "Notice inboxes"
If you upgraded to Laconica 0.7.2.1 without reading the "Notice inboxes"
section above, and all your users' 'Personal' tabs are empty, read the
"Notice inboxes" section above.

View File

@ -1,9 +1,4 @@
<?php
// define('GROUPS_PER_PAGE', 20);
/**
* Group search action class.
*
@ -90,15 +85,15 @@ class GroupSearchResults extends GroupList
{
var $terms = null;
var $pattern = null;
function __construct($user_group, $terms, $action)
{
parent::__construct($user_group, $terms, $action);
$this->terms = array_map('preg_quote',
$this->terms = array_map('preg_quote',
array_map('htmlspecialchars', $terms));
$this->pattern = '/('.implode('|',$terms).')/i';
}
function highlight($text)
{
return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text));

View File

@ -103,7 +103,7 @@ class NoticesearchAction extends SearchAction
function showResults($q, $page)
{
$notice = new Notice();
$q = strtolower($q);
$search_engine = $notice->getSearchEngine('identica_notices');
$search_engine->set_sort_mode('chron');
// Ask for an extra to see if there's more.
@ -122,8 +122,8 @@ class NoticesearchAction extends SearchAction
$cnt = $nl->show();
$this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
$this->page, 'noticesearch', array('q' => $q));
$this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
$page, 'noticesearch', array('q' => $q));
}
function isReadOnly()
{

View File

@ -62,9 +62,6 @@ class NoticesearchrssAction extends Rss10Action
$notice = new Notice();
# lcase it for comparison
$q = strtolower($q);
$search_engine = $notice->getSearchEngine('identica_notices');
$search_engine->set_sort_mode('chron');

View File

@ -63,13 +63,13 @@ class PeoplesearchAction extends SearchAction
$profile = new Profile();
# lcase it for comparison
$q = strtolower($q);
// lcase it for comparison
// $q = strtolower($q);
$search_engine = $profile->getSearchEngine('identica_people');
$search_engine->set_sort_mode('chron');
# Ask for an extra to see if there's more.
// Ask for an extra to see if there's more.
$search_engine->limit((($page-1)*PROFILES_PER_PAGE), PROFILES_PER_PAGE + 1);
if (false === $search_engine->query($q)) {
$cnt = 0;

View File

@ -207,9 +207,14 @@ class PublicAction extends Action
function showAnonymousMessage()
{
$m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
'[Join now](%%action.register%%) to share notices about yourself with friends, family, and colleagues! ([Read more](%%doc.help%%))');
if (! (common_config('site','closed') || common_config('site','inviteonly'))) {
$m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
'[Join now](%%action.register%%) to share notices about yourself with friends, family, and colleagues! ([Read more](%%doc.help%%))');
} else {
$m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool.');
}
$this->elementStart('div', array('id' => 'anon_notice'));
$this->raw(common_markup_to_html($m));
$this->elementEnd('div');

View File

@ -181,13 +181,21 @@ class RecoverpasswordAction extends Action
function showRecoverForm()
{
$this->elementStart('form', array('method' => 'post',
'id' => 'recoverpassword',
'id' => 'form_password_recover',
'class' => 'form_settings',
'action' => common_local_url('recoverpassword')));
$this->elementStart('fieldset');
$this->element('legend', null, _('Password recover'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('nicknameoremail', _('Nickname or email'),
$this->trimmed('nicknameoremail'),
_('Your nickname on this server, ' .
'or your registered email address.'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->submit('recover', _('Recover'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}
@ -213,14 +221,24 @@ class RecoverpasswordAction extends Action
function showResetForm()
{
$this->elementStart('form', array('method' => 'post',
'id' => 'recoverpassword',
'id' => 'form_password_change',
'class' => 'form_settings',
'action' => common_local_url('recoverpassword')));
$this->elementStart('fieldset');
$this->element('legend', null, _('Password change'));
$this->hidden('token', common_session_token());
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->password('newpassword', _('New password'),
_('6 or more characters, and don\'t forget it!'));
$this->elementEnd('li');
$this->elementStart('li');
$this->password('confirm', _('Confirm'),
_('Same as password above'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->submit('reset', _('Reset'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
}

View File

@ -390,11 +390,18 @@ class ShowgroupAction extends Action
function showAnonymousMessage()
{
$m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
'short messages about their life and interests. '.
'[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
$m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
'short messages about their life and interests. '.
'[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
$this->group->nickname);
} else {
$m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
'short messages about their life and interests. '),
$this->group->nickname);
}
$this->elementStart('div', array('id' => 'anon_notice'));
$this->raw(common_markup_to_html($m));
$this->elementEnd('div');

View File

@ -177,10 +177,17 @@ class ShownoticeAction extends Action
{
parent::handle($args);
$this->showPage();
if ($this->notice->is_local == 0) {
if (!empty($this->notice->url)) {
common_redirect($this->notice->url, 301);
} else if (!empty($this->notice->uri) && preg_match('/^https?:/', $this->notice->uri)) {
common_redirect($this->notice->uri, 301);
}
} else {
$this->showPage();
}
}
/**
* Don't show local navigation
*
@ -191,7 +198,6 @@ class ShownoticeAction extends Action
{
}
/**
* Fill the content area of the page
*
@ -208,8 +214,6 @@ class ShownoticeAction extends Action
$this->elementEnd('ul');
}
/**
* Don't show page notice
*
@ -220,7 +224,6 @@ class ShownoticeAction extends Action
{
}
/**
* Don't show aside
*
@ -230,7 +233,6 @@ class ShownoticeAction extends Action
function showAside() {
}
/**
* Extra <head> content
*

View File

@ -539,10 +539,16 @@ class ShowstreamAction extends Action
function showAnonymousMessage()
{
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
'[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
$this->user->nickname, $this->user->nickname);
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
'[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
$this->user->nickname, $this->user->nickname);
} else {
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [Laconica](http://laconi.ca/) tool. '),
$this->user->nickname, $this->user->nickname);
}
$this->elementStart('div', array('id' => 'anon_notice'));
$this->raw(common_markup_to_html($m));
$this->elementEnd('div');

BIN
apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -817,4 +817,98 @@ class Notice extends Memcached_DataObject
}
}
}
function asAtomEntry($namespace=false, $source=false)
{
$profile = $this->getProfile();
$xs = new XMLStringer(true);
if ($namespace) {
$attrs = array('xmlns' => 'http://www.w3.org/2005/Atom',
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0');
} else {
$attrs = array();
}
$xs->elementStart('entry', $attrs);
if ($source) {
$xs->elementStart('source');
$xs->element('title', null, $profile->nickname . " - " . common_config('site', 'name'));
$xs->element('link', array('href' => $profile->profileurl));
$user = User::staticGet('id', $profile->id);
if (!empty($user)) {
$atom_feed = common_local_url('api',
array('apiaction' => 'statuses',
'method' => 'user_timeline',
'argument' => $profile->nickname.'.atom'));
$xs->element('link', array('rel' => 'self',
'type' => 'application/atom+xml',
'href' => $profile->profileurl));
$xs->element('link', array('rel' => 'license',
'href' => common_config('license', 'url')));
}
$xs->element('icon', null, $profile->avatarUrl(AVATAR_PROFILE_SIZE));
}
$xs->elementStart('author');
$xs->element('name', null, $profile->nickname);
$xs->element('uri', null, $profile->profileurl);
$xs->elementEnd('author');
if ($source) {
$xs->elementEnd('source');
}
$xs->element('title', null, $this->content);
$xs->element('summary', null, $this->content);
$xs->element('link', array('rel' => 'alternate',
'href' => $this->bestUrl()));
$xs->element('id', null, $this->uri);
$xs->element('published', null, common_date_w3dtf($this->created));
$xs->element('updated', null, common_date_w3dtf($this->modified));
if ($this->reply_to) {
$reply_notice = Notice::staticGet('id', $this->reply_to);
if (!empty($reply_notice)) {
$xs->element('link', array('rel' => 'related',
'href' => $reply_notice->bestUrl()));
$xs->element('thr:in-reply-to',
array('ref' => $reply_notice->uri,
'href' => $reply_notice->bestUrl()));
}
}
$xs->element('content', array('type' => 'html'), $this->rendered);
$tag = new Notice_tag();
$tag->notice_id = $this->id;
if ($tag->find()) {
while ($tag->fetch()) {
$xs->element('category', array('term' => $tag->tag));
}
}
$tag->free();
$xs->elementEnd('entry');
return $xs->getString();
}
function bestUrl()
{
if (!empty($this->url)) {
return $this->url;
} else if (!empty($this->uri) && preg_match('/^https?:/', $this->uri)) {
return $this->uri;
} else {
return common_local_url('shownotice',
array('notice' => $this->id));
}
}
}

View File

@ -19,6 +19,7 @@ VALUES
('identichat','identichat','http://identichat.prosody.im/', now()),
('identitwitch','IdentiTwitch','http://richfish.org/identitwitch/', now()),
('mbpidgin','mbpidgin','http://code.google.com/p/microblog-purple/', now()),
('Mobidentica', 'Mobidentica', 'http://www.substanceofcode.com/software/mobidentica/', now()),
('moconica','Moconica','http://moconica.com/', now()),
('pocketwit','PockeTwit','http://code.google.com/p/pocketwit/', now()),
('posty','Posty','http://spreadingfunkyness.com/posty/', now()),
@ -43,4 +44,5 @@ VALUES
('twittertools','Twitter Tools','http://wordpress.org/extend/plugins/twitter-tools/', now()),
('twitux','Twitux','http://live.gnome.org/DanielMorales/Twitux', now()),
('twitvim','TwitVim','http://vim.sourceforge.net/scripts/script.php?script_id=2204', now()),
('urfastr','urfastr','http://urfastr.net/', now());
('urfastr','urfastr','http://urfastr.net/', now()),
('adium', 'Adium', 'http://www.adiumx.com/', now()));

View File

@ -241,7 +241,12 @@ class Net_URL_Mapper_Path
}
$path = '/'.trim(Net_URL::resolvePath($path), '/');
if (!empty($qstring)) {
$path .= '?'.http_build_query($qstring);
if (!strpos($path, '?')) {
$path .= '?';
} else {
$path .= '&';
}
$path .= http_build_query($qstring);
}
if (!empty($anchor)) {
$path .= '#'.ltrim($anchor, '#');
@ -427,4 +432,4 @@ class Net_URL_Mapper_Path
}
?>
?>

View File

@ -112,6 +112,7 @@ class Action extends HTMLOutputter // lawsuit
// XXX: attributes (profile?)
$this->elementStart('head');
$this->showTitle();
$this->showShortcutIcon();
$this->showStylesheets();
$this->showScripts();
$this->showOpenSearch();
@ -147,6 +148,32 @@ class Action extends HTMLOutputter // lawsuit
return _("Untitled page");
}
/**
* Show themed shortcut icon
*
* @return nothing
*/
function showShortcutIcon()
{
if (is_readable(INSTALLDIR . '/theme/' . common_config('site', 'theme') . '/favicon.ico')) {
$this->element('link', array('rel' => 'shortcut icon',
'href' => theme_path('favicon.ico')));
} else {
$this->element('link', array('rel' => 'shortcut icon',
'href' => common_path('favicon.ico')));
}
if (common_config('site', 'mobile')) {
if (is_readable(INSTALLDIR . '/theme/' . common_config('site', 'theme') . '/apple-touch-icon.png')) {
$this->element('link', array('rel' => 'apple-touch-icon',
'href' => theme_path('apple-touch-icon.png')));
} else {
$this->element('link', array('rel' => 'apple-touch-icon',
'href' => common_path('apple-touch-icon.png')));
}
}
}
/**
* Show stylesheets
*

View File

@ -19,7 +19,7 @@
if (!defined('LACONICA')) { exit(1); }
define('LACONICA_VERSION', '0.7.2');
define('LACONICA_VERSION', '0.7.2.1');
define('AVATAR_PROFILE_SIZE', 96);
define('AVATAR_STREAM_SIZE', 48);

View File

@ -163,50 +163,25 @@ function jabber_send_notice($to, $notice)
function jabber_format_entry($profile, $notice)
{
// FIXME: notice url might be remote
$entry = $notice->asAtomEntry(true, true);
$noticeurl = common_local_url('shownotice',
array('notice' => $notice->id));
$msg = jabber_format_notice($profile, $notice);
$self_url = common_local_url('userrss', array('nickname' => $profile->nickname));
$entry = "\n<entry xmlns='http://www.w3.org/2005/Atom'>\n";
$entry .= "<source>\n";
$entry .= "<title>" . $profile->nickname . " - " . common_config('site', 'name') . "</title>\n";
$entry .= "<link href='" . htmlspecialchars($profile->profileurl) . "'/>\n";
$entry .= "<link rel='self' type='application/rss+xml' href='" . htmlspecialchars($self_url) . "'/>\n";
$entry .= "<author><name>" . $profile->nickname . "</name></author>\n";
$entry .= "<icon>" . $profile->avatarUrl(AVATAR_PROFILE_SIZE) . "</icon>\n";
$entry .= "</source>\n";
$entry .= "<title>" . htmlspecialchars($msg) . "</title>\n";
$entry .= "<summary>" . htmlspecialchars($msg) . "</summary>\n";
$entry .= "<link rel='alternate' href='" . htmlspecialchars($noticeurl) . "' />\n";
$entry .= "<id>". htmlspecialchars($notice->uri) . "</id>\n";
$entry .= "<published>".common_date_w3dtf($notice->created)."</published>\n";
$entry .= "<updated>".common_date_w3dtf($notice->modified)."</updated>\n";
if ($notice->reply_to) {
$replyurl = common_local_url('shownotice',
array('notice' => $notice->reply_to));
$entry .= "<link rel='related' href='" . $replyurl . "'/>\n";
$xs = new XMLStringer();
$xs->elementStart('html', array('xmlns' => 'http://jabber.org/protocol/xhtml-im'));
$xs->elementStart('body', array('xmlns' => 'http://www.w3.org/1999/xhtml'));
$xs->element('a', array('href' => $profile->profileurl),
$profile->nickname);
$xs->text(": ");
if (!empty($notice->rendered)) {
$xs->raw($notice->rendered);
} else {
$xs->raw(common_render_content($notice->content, $notice));
}
$entry .= "</entry>\n";
$xs->elementEnd('body');
$xs->elementEnd('html');
$html = "\n<html xmlns='http://jabber.org/protocol/xhtml-im'>\n";
$html .= "<body xmlns='http://www.w3.org/1999/xhtml'>\n";
$html .= "<a href='".htmlspecialchars($profile->profileurl)."'>".$profile->nickname."</a>: ";
$html .= ($notice->rendered) ? $notice->rendered : common_render_content($notice->content, $notice);
$html .= "\n</body>\n";
$html .= "\n</html>\n";
$html = $xs->asString();
$address = "<addresses xmlns='http://jabber.org/protocol/address'>\n";
$address .= "<address type='replyto' jid='" . jabber_daemon_address() . "' />\n";
$address .= "</addresses>\n";
// FIXME: include a pubsub event, too.
return $html . $entry . $address;
return $html . ' ' . $entry;
}
/**

View File

@ -104,33 +104,33 @@ function get_all_languages() {
'bg' => array('q' => 0.8, 'lang' => 'bg_BG', 'name' => 'Bulgarian', 'direction' => 'ltr'),
'ca' => array('q' => 0.5, 'lang' => 'ca_ES', 'name' => 'Catalan', 'direction' => 'ltr'),
'cs' => array('q' => 0.5, 'lang' => 'cs_CZ', 'name' => 'Czech', 'direction' => 'ltr'),
'de' => array('q' => 0.5, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'),
'de' => array('q' => 0.8, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'),
'el' => array('q' => 0.1, 'lang' => 'el', 'name' => 'Greek', 'direction' => 'ltr'),
'en-us' => array('q' => 1, 'lang' => 'en_US', 'name' => 'English (US)', 'direction' => 'ltr'),
'en-gb' => array('q' => 0.3, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
'en-gb' => array('q' => 1, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
'en' => array('q' => 1, 'lang' => 'en', 'name' => 'English', 'direction' => 'ltr'),
'es' => array('q' => 0.5, 'lang' => 'es', 'name' => 'Spanish', 'direction' => 'ltr'),
'fi' => array('q' => 0.5, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
'fr-fr' => array('q' => 0.2, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'),
'es' => array('q' => 1, 'lang' => 'es', 'name' => 'Spanish', 'direction' => 'ltr'),
'fi' => array('q' => 1, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
'fr-fr' => array('q' => 1, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'),
'he' => array('q' => 0.5, 'lang' => 'he_IL', 'name' => 'Hebrew', 'direction' => 'rtl'),
'it' => array('q' => 0.9, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'),
'it' => array('q' => 1, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'),
'jp' => array('q' => 0.5, 'lang' => 'ja_JP', 'name' => 'Japanese', 'direction' => 'ltr'),
# 'ko' => array('q' => 0, 'lang' => 'ko', 'name' => 'Korean', 'direction' => 'ltr'),
'ko' => array('q' => 0.9, 'lang' => 'ko', 'name' => 'Korean', 'direction' => 'ltr'),
'mk' => array('q' => 0.5, 'lang' => 'mk_MK', 'name' => 'Macedonian', 'direction' => 'ltr'),
'nb' => array('q' => 0.1, 'lang' => 'nb_NO', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
'no' => array('q' => 0.1, 'lang' => 'nb_NO', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
'nn' => array('q' => 0.1, 'lang' => 'nn_NO', 'name' => 'Norwegian (Nynorsk)', 'direction' => 'ltr'),
'nn' => array('q' => 1, 'lang' => 'nn_NO', 'name' => 'Norwegian (Nynorsk)', 'direction' => 'ltr'),
'nl' => array('q' => 0.5, 'lang' => 'nl_NL', 'name' => 'Dutch', 'direction' => 'ltr'),
'pl' => array('q' => 0.5, 'lang' => 'pl_PL', 'name' => 'Polish', 'direction' => 'ltr'),
# 'pt' => array('q' => 0, 'lang' => 'pt', 'name' => 'Portuguese', 'direction' => 'ltr'),
'pt-br' => array('q' => 0.7, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
'ru' => array('q' => 0.1, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'),
'sv' => array('q' => 0.9, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'),
'pt' => array('q' => 0.1, 'lang' => 'pt', 'name' => 'Portuguese', 'direction' => 'ltr'),
'pt-br' => array('q' => 0.9, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
'ru' => array('q' => 0.9, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'),
'sv' => array('q' => 0.8, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'),
'te' => array('q' => 0.3, 'lang' => 'te_IN', 'name' => 'Telugu', 'direction' => 'ltr'),
'tr' => array('q' => 0.5, 'lang' => 'tr_TR', 'name' => 'Turkish', 'direction' => 'ltr'),
'uk' => array('q' => 0.7, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'),
'vi' => array('q' => 0.7, 'lang' => 'vi_VN', 'name' => 'Vietnamese', 'direction' => 'ltr'),
'uk' => array('q' => 1, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'),
'vi' => array('q' => 0.8, 'lang' => 'vi_VN', 'name' => 'Vietnamese', 'direction' => 'ltr'),
'zh-cn' => array('q' => 0.9, 'lang' => 'zh_CN', 'name' => 'Chinese (Simplified)', 'direction' => 'ltr'),
'zh-hant' => array('q' => 0.2, 'lang' => 'zh_hant', 'name' => 'Chinese (Taiwanese)', 'direction' => 'ltr'),
'zh-hant' => array('q' => 0.2, 'lang' => 'zh_TW', 'name' => 'Chinese (Taiwanese)', 'direction' => 'ltr'),
);
}

View File

@ -70,16 +70,16 @@ class LoginGroupNav extends Widget
function show()
{
// action => array('prompt', 'title')
$menu =
array('login' =>
array(_('Login'),
_('Login with a username and password')),
'register' =>
array(_('Register'),
_('Sign up for a new account')),
'openidlogin' =>
array(_('OpenID'),
_('Login or register with OpenID')));
$menu = array();
$menu['login'] = array(_('Login'),
_('Login with a username and password'));
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
$menu['register'] = array(_('Register'),
_('Sign up for a new account'));
}
$menu['openidlogin'] = array(_('OpenID'),
_('Login or register with OpenID'));
$action_name = $this->action->trimmed('action');
$this->action->elementStart('ul', array('class' => 'nav'));

View File

@ -1,7 +1,7 @@
<?php
/*
* Laconica - a distributed open-source microblogging tool
* Copyright (C) 2008, Controlez-Vous, Inc.
* Copyright (C) 2009, Control Yourself, Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
@ -20,49 +20,84 @@
if (!defined('LACONICA')) { exit(1); }
function ping_broadcast_notice($notice) {
if (!$notice->is_local) {
return;
return true;
}
# Array of servers, URL => type
$notify = common_config('ping', 'notify');
$profile = $notice->getProfile();
$tags = ping_notice_tags($notice);
foreach ($notify as $notify_url => $type) {
switch ($type) {
case 'xmlrpc':
case 'extended':
$req = xmlrpc_encode_request('weblogUpdates.ping',
array($profile->nickname, # site name
common_local_url('showstream',
common_local_url('showstream',
array('nickname' => $profile->nickname)),
common_local_url('shownotice',
array('notice' => $notice->id)),
common_local_url('userrss',
common_local_url('userrss',
array('nickname' => $profile->nickname)),
$tags));
# We re-use this tool's fetcher, since it's pretty good
$fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
if (!$fetcher) {
common_log(LOG_WARNING, 'Failed to initialize Yadis fetcher.', __FILE__);
return false;
}
$result = $fetcher->post($notify_url,
$req);
$context = stream_context_create(array('http' => array('method' => "POST",
'header' =>
"Content-Type: text/xml\r\n".
"User-Agent: Laconica/".LACONICA_VERSION."\r\n",
'content' => $req)));
$file = file_get_contents($notify_url, false, $context);
$response = xmlrpc_decode($file);
if (xmlrpc_is_fault($response)) {
common_log(LOG_WARNING,
"XML-RPC error for ping ($notify_url, $notice->id) ".
"$response[faultString] ($response[faultCode])");
} else {
common_log(LOG_INFO,
"Ping success for $notify_url $notice->id");
}
break;
case 'get':
case 'post':
case 'post':
$args = array('name' => $profile->nickname,
'url' => common_local_url('showstream',
array('nickname' => $profile->nickname)),
'changesURL' => common_local_url('userrss',
array('nickname' => $profile->nickname)));
$fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
if ($type === 'get') {
$result = $fetcher->get($notify_url . '?' . http_build_query($args),
array('User-Agent: Laconica/'.LACONICA_VERSION));
} else {
$result = $fetcher->post($notify_url,
http_build_query($args),
array('User-Agent: Laconica/'.LACONICA_VERSION));
}
if ($result->status != '200') {
common_log(LOG_WARNING,
"Ping error for '$notify_url' ($notice->id): ".
"$result->body");
} else {
common_log(LOG_INFO,
"Ping success for '$notify_url' ($notice->id): ".
"'$result->body'");
}
break;
default:
common_log(LOG_WARNING, 'Unknown notify type for ' . $notify_url . ': ' . $type);
}
}
}
return true;
}
function ping_notice_tags($notice) {
$tag = new Notice_tag();
$tag->notice_id = $notice->id;

View File

@ -89,7 +89,7 @@ class ProfileList extends Widget
'id' => 'profile-' . $this->profile->id));
$user = common_current_user();
$is_own = !is_null($user) && isset($this->user) && ($user->id === $this->user->id);
$is_own = !is_null($user) && isset($this->owner) && ($user->id === $this->owner->id);
$this->out->elementStart('div', 'entity_profile vcard');
@ -109,7 +109,7 @@ class ProfileList extends Widget
$this->out->elementEnd('span');
$this->out->elementEnd('a');
if ($this->profile->fullname !== '') {
if (!empty($this->profile->fullname)) {
$this->out->elementStart('dl', 'entity_fn');
$this->out->element('dt', null, 'Full name');
$this->out->elementStart('dd');
@ -119,7 +119,7 @@ class ProfileList extends Widget
$this->out->elementEnd('dd');
$this->out->elementEnd('dl');
}
if ($this->profile->location !== '') {
if (!empty($this->profile->location)) {
$this->out->elementStart('dl', 'entity_location');
$this->out->element('dt', null, _('Location'));
$this->out->elementStart('dd', 'label');
@ -127,7 +127,7 @@ class ProfileList extends Widget
$this->out->elementEnd('dd');
$this->out->elementEnd('dl');
}
if ($this->profile->homepage !== '') {
if (!empty($this->profile->homepage)) {
$this->out->elementStart('dl', 'entity_url');
$this->out->element('dt', null, _('URL'));
$this->out->elementStart('dd');
@ -138,7 +138,7 @@ class ProfileList extends Widget
$this->out->elementEnd('dd');
$this->out->elementEnd('dl');
}
if ($this->profile->bio !== '') {
if (!empty($this->profile->bio)) {
$this->out->elementStart('dl', 'entity_note');
$this->out->element('dt', null, _('Note'));
$this->out->elementStart('dd', 'note');
@ -194,11 +194,12 @@ class ProfileList extends Widget
$this->out->elementStart('ul');
if (!$is_own) {
# XXX: special-case for user looking at own
# subscriptions page
// Is this a logged-in user, looking at someone else's
// profile?
if (!empty($user) && $this->profile->id != $user->id) {
$this->out->elementStart('li', 'entity_subscribe');
if (!is_null($user) && $user->isSubscribed($this->profile)) {
if ($user->isSubscribed($this->profile)) {
$usf = new UnsubscribeForm($this->out, $this->profile);
$usf->show();
} else {
@ -207,6 +208,9 @@ class ProfileList extends Widget
}
$this->out->elementEnd('li');
$this->out->elementStart('li', 'entity_block');
if ($user->id == $this->owner->id) {
$this->showBlockForm();
}
$this->out->elementEnd('li');
}

View File

@ -136,10 +136,14 @@ class Router
foreach (array('group', 'people', 'notice') as $s) {
$m->connect('search/'.$s, array('action' => $s.'search'));
$m->connect('search/'.$s.'?q=:q', array('action' => $s.'search'), array('q' => '.+'));
$m->connect('search/'.$s.'?q=:q', array('action' => $s.'search'),array('q' => '.+'));
}
// The second of these is needed to make the link work correctly
// when inserted into the page. The first is needed to match the
// route on the way in. Seems to be another Net_URL_Mapper bug to me.
$m->connect('search/notice/rss', array('action' => 'noticesearchrss'));
$m->connect('search/notice/rss?q=:q', array('action' => 'noticesearchrss'),array('q' => '.+'));
// notice
@ -162,7 +166,7 @@ class Router
array('id' => '[0-9]+'));
$m->connect('message/new', array('action' => 'newmessage'));
$m->connect('message/new?to=:to', array('action' => 'newmessage'), array('to' => '[A-Za-z0-9_-]'));
$m->connect('message/new?to=:to', array('action' => 'newmessage'), array('to' => '[A-Za-z0-9_-]+'));
$m->connect('message/:message',
array('action' => 'showmessage'),
array('message' => '[0-9]+'));
@ -427,6 +431,8 @@ class Router
function build($action, $args=null, $params=null, $fragment=null)
{
if($params!=null)
common_log(LOG_DEBUG,"build: ".$action." ".print_r($args,true)." ".print_r($params,true));
$action_arg = array('action' => $action);
if ($args) {
@ -435,6 +441,8 @@ class Router
$args = $action_arg;
}
if($params!=null)
common_log(LOG_DEBUG,"generate args:".print_r($args,true));
return $this->m->generate($args, $params, $fragment);
}
}

View File

@ -94,11 +94,11 @@ class Rss10Action extends Action
function handle($args)
{
// Get the list of notices
$this->notices = $this->getNotices();
// Parent handling, including cache check
parent::handle($args);
$this->showRss($this->limit);
// Get the list of notices
$this->notices = $this->getNotices($this->limit);
$this->showRss();
}
/**
@ -132,15 +132,13 @@ class Rss10Action extends Action
return null;
}
function showRss($limit=0)
function showRss()
{
$notices = $this->getNotices($limit);
$this->initRss();
$this->showChannel($notices);
$this->showChannel();
$this->showImage();
foreach ($notices as $n) {
foreach ($this->notices as $n) {
$this->showItem($n);
}
@ -148,7 +146,7 @@ class Rss10Action extends Action
$this->endRss();
}
function showChannel($notices)
function showChannel()
{
$channel = $this->getChannel();
@ -167,7 +165,7 @@ class Rss10Action extends Action
$this->elementStart('items');
$this->elementStart('rdf:Seq');
foreach ($notices as $notice) {
foreach ($this->notices as $notice) {
$this->element('sioct:MicroblogPost', array('rdf:resource' => $notice->uri));
}

View File

@ -74,7 +74,7 @@ class SphinxSearch extends SearchEngine
{
//FIXME without LARGEST_POSSIBLE, the most recent results aren't returned
// this probably has a large impact on performance
$LARGEST_POSSIBLE = 1e6;
$LARGEST_POSSIBLE = 1e6;
if ($rss) {
$this->sphinx->setLimits($offset, $count, $count, $LARGEST_POSSIBLE);
@ -109,12 +109,25 @@ class MySQLSearch extends SearchEngine
{
function query($q)
{
if ('identica_people' === $this->table)
return $this->target->whereAdd('MATCH(nickname, fullname, location, bio, homepage) ' .
'against (\''.addslashes($q).'\')');
if ('identica_notices' === $this->table)
return $this->target->whereAdd('MATCH(content) ' .
'against (\''.addslashes($q).'\')');
if ('identica_people' === $this->table) {
$this->target->whereAdd('MATCH(nickname, fullname, location, bio, homepage) ' .
'AGAINST (\''.addslashes($q).'\' IN BOOLEAN MODE)');
if (strtolower($q) != $q) {
$this->target->whereAdd('MATCH(nickname, fullname, location, bio, homepage) ' .
'AGAINST (\''.addslashes(strtolower($q)).'\' IN BOOLEAN MODE)', 'OR');
}
return true;
} else if ('identica_notices' === $this->table) {
$this->target->whereAdd('MATCH(content) ' .
'AGAINST (\''.addslashes($q).'\' IN BOOLEAN MODE)');
if (strtolower($q) != $q) {
$this->target->whereAdd('MATCH(content) ' .
'AGAINST (\''.addslashes(strtolower($q)).'\' IN BOOLEAN MODE)', 'OR');
}
return true;
} else {
throw new ServerException('Unknown table: ' . $this->table);
}
}
}
@ -122,10 +135,13 @@ class PGSearch extends SearchEngine
{
function query($q)
{
if ('identica_people' === $this->table)
if ('identica_people' === $this->table) {
return $this->target->whereAdd('textsearch @@ plainto_tsquery(\''.addslashes($q).'\')');
if ('identica_notices' === $this->table)
} else if ('identica_notices' === $this->table) {
return $this->target->whereAdd('to_tsvector(\'english\', content) @@ plainto_tsquery(\''.addslashes($q).'\')');
} else {
throw new ServerException('Unknown table: ' . $this->table);
}
}
}

View File

@ -238,21 +238,6 @@ class TwitterapiAction extends Action
$this->elementEnd('item');
}
function show_twitter_atom_entry($entry)
{
$this->elementStart('entry');
$this->element('title', null, $entry['title']);
$this->element('content', array('type' => 'html'), $entry['content']);
$this->element('id', null, $entry['id']);
$this->element('published', null, $entry['published']);
$this->element('updated', null, $entry['updated']);
$this->element('link', array('href' => $entry['link'], 'rel' => 'alternate', 'type' => 'text/html'), null);
$this->elementStart('author');
$this->element('name', null, $entry['author']);
$this->elementEnd('author');
$this->elementEnd('entry');
}
function show_json_objects($objects)
{
print(json_encode($objects));
@ -383,7 +368,7 @@ class TwitterapiAction extends Action
}
if (!is_null($selfuri)) {
$this->element('link', array('href' => $selfuri,
$this->element('link', array('href' => $selfuri,
'rel' => 'self', 'type' => 'application/atom+xml'), null);
}
@ -392,13 +377,11 @@ class TwitterapiAction extends Action
if (is_array($notice)) {
foreach ($notice as $n) {
$entry = $this->twitter_rss_entry_array($n);
$this->show_twitter_atom_entry($entry);
$this->raw($n->asAtomEntry());
}
} else {
while ($notice->fetch()) {
$entry = $this->twitter_rss_entry_array($notice);
$this->show_twitter_atom_entry($entry);
$this->raw($notice->asAtomEntry());
}
}
@ -578,13 +561,16 @@ class TwitterapiAction extends Action
function init_twitter_atom()
{
$this->startXML();
$this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en-US'));
// FIXME: don't hardcode the language here!
$this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom',
'xml:lang' => 'en-US',
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0'));
}
function end_twitter_atom()
{
$this->endXML();
$this->elementEnd('feed');
$this->endXML();
}
function show_profile($profile, $content_type='xml', $notice=null)

Binary file not shown.

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-01-29 15:47+0000\n"
"Last-Translator: Mathias <mathias.reinhardt@web.de>\n"
"PO-Revision-Date: 2009-03-12 16:13+0000\n"
"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -99,11 +99,9 @@ msgstr ""
"\n"
"%6$s\n"
"\n"
"Wenn nicht, ignoriere diese Nachricht. Danke für Deine Geduld und Deine "
"Zeit\n"
"Wenn nicht, ignoriere diese Nachricht. Danke für Deine Geduld und Deine Zeit\n"
"\n"
"Schöne Grüße von %2$s\n"
" "
#: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
#, php-format
@ -131,7 +129,7 @@ msgstr ""
#: actions/twitapistatuses.php:350
#, php-format
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
msgstr "Nachrichten von %1$, die auf Nachrichten von %2$ / %3$ antworten."
#: ../actions/shownotice.php:45 actions/shownotice.php:45
#: actions/shownotice.php:161
@ -397,7 +395,7 @@ msgstr "Abonnement bestätigen"
#: ../actions/login.php:104 ../actions/register.php:178
#: actions/register.php:192
msgid "Automatically login in the future; not for shared computers!"
msgstr "Automatisch einloggen; Nicht bei gemeinsam genutzten PCs einsetzen!"
msgstr "Automatisch einloggen; nicht bei gemeinsam genutzten PCs einsetzen!"
#: ../actions/profilesettings.php:65 actions/profilesettings.php:98
msgid ""
@ -441,9 +439,8 @@ msgid "Awaiting confirmation on this phone number."
msgstr "Warte auf die Bestätigung dieser Telefonnummer."
#: ../lib/util.php:1318 lib/util.php:1452
#, fuzzy
msgid "Before »"
msgstr "Früher »"
msgstr "Ältere »"
#: ../actions/profilesettings.php:49 ../actions/register.php:170
#: actions/profilesettings.php:82 actions/register.php:184
@ -585,7 +582,7 @@ msgstr ""
"* deine [Profildaten ergänzen](%%%%action.profilesettings%%%%) um mehr über "
"dich zu veröffentlichen\n"
"* die [Dokumentation](%%%%doc.help%%%%) lesen um mehr über weitere Features "
"zu erfahren\n"
"zu erfahren"
#: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
#: actions/finishopenidlogin.php:119 lib/action.php:330
@ -634,7 +631,6 @@ msgid "Could not save new profile info"
msgstr "Neue Profildaten konnten nicht gespeichert werden."
#: ../lib/subs.php:54 lib/subs.php:61 lib/subs.php:72
#, fuzzy
msgid "Could not subscribe other to you."
msgstr "Die Gegenseite konnte Dich nicht abonnieren."
@ -993,9 +989,8 @@ msgstr "Homepage ist kein gültiger URL."
#: ../actions/emailsettings.php:91 actions/emailsettings.php:98
#: actions/emailsettings.php:173
#, fuzzy
msgid "I want to post notices by email."
msgstr "Ich möchte Einträge per E-Mail posten."
msgstr "Ich möchte Einträge per E-Mail veröffentlichen."
#: ../lib/settingsaction.php:102 lib/settingsaction.php:96
#: lib/connectsettingsaction.php:104
@ -1413,7 +1408,6 @@ msgstr "Keine ID."
#: ../actions/emailsettings.php:271 actions/emailsettings.php:289
#: actions/emailsettings.php:430
#, fuzzy
msgid "No incoming email address."
msgstr "Keine Eingangs-Emailadresse"
@ -1785,9 +1779,8 @@ msgstr "Leute"
#: ../actions/opensearch.php:33 actions/opensearch.php:33
#: actions/opensearch.php:64
#, fuzzy
msgid "People Search"
msgstr "Suchen von Personen"
msgstr "Suche nach Nutzern"
#: ../actions/peoplesearch.php:33 actions/peoplesearch.php:33
#: actions/peoplesearch.php:58
@ -2100,7 +2093,6 @@ msgid "Send me notices through Jabber/GTalk."
msgstr "Schicke mir Nachrichten mittels Jabber/GTalk."
#: ../actions/smssettings.php:97 actions/smssettings.php:97
#, fuzzy
msgid ""
"Send me notices through SMS; I understand I may incur exorbitant charges "
"from my carrier."
@ -2109,7 +2101,6 @@ msgstr ""
"meinem Netzbetreiber entstehen können."
#: ../actions/imsettings.php:76 actions/imsettings.php:77
#, fuzzy
msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
msgstr ""
"Schicke mir Antworten von Leuten, die ich nicht abonniert habe, mit "
@ -2353,7 +2344,6 @@ msgid "These are the people whose notices you listen to."
msgstr "Dies sind die Leute, deren Nachrichten du liest."
#: ../actions/invite.php:89 actions/invite.php:96 actions/invite.php:128
#, fuzzy
msgid ""
"These people are already users and you were automatically subscribed to them:"
msgstr ""
@ -2388,7 +2378,6 @@ msgstr ""
#: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
#: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
#: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
#, fuzzy
msgid "This method requires a POST or DELETE."
msgstr "Diese Methode benötigt ein POST oder DELETE."
@ -2398,7 +2387,6 @@ msgstr "Diese Methode benötigt ein POST oder DELETE."
#: actions/twitapistatuses.php:303 actions/twitapiaccount.php:53
#: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
#: actions/twitapistatuses.php:244
#, fuzzy
msgid "This method requires a POST."
msgstr "Diese Methode benötigt ein POST."
@ -2431,7 +2419,7 @@ msgstr ""
#: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
#: actions/twitapifriendships.php:132
msgid "Two user ids or screen_names must be supplied."
msgstr ""
msgstr "Zwei IDs oder Benutzernamen müssen angegeben werden."
#: ../actions/profilesettings.php:48 ../actions/register.php:169
#: actions/profilesettings.php:81 actions/register.php:183
@ -2596,7 +2584,7 @@ msgstr "In welcher Zeitzone befinden Sie sich üblicherweise?"
#: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
#, php-format
msgid "What's up, %s?"
msgstr "Was ist los, %s?\n"
msgstr "Was ist los, %s?"
#: ../actions/profilesettings.php:54 ../actions/register.php:175
#: actions/profilesettings.php:87 actions/register.php:189
@ -2621,7 +2609,7 @@ msgstr "Falsche Bildgröße bei '%s'"
#: actions/block.php:148 actions/deletenotice.php:122
#: actions/deletenotice.php:141
msgid "Yes"
msgstr ""
msgstr "Ja"
#: ../actions/finishaddopenid.php:64 actions/finishaddopenid.php:64
#: actions/finishaddopenid.php:112
@ -2633,6 +2621,8 @@ msgid ""
"You are about to permanently delete a notice. Once this is done, it cannot "
"be undone."
msgstr ""
"Du bist gerade dabei eine Nachricht unwiderruflich zu löschen. Diese Aktion "
"ist irreversibel."
#: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
#: actions/recoverpassword.php:36
@ -2646,7 +2636,7 @@ msgstr "Du hast diese Benutzer bereits abonniert:"
#: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
#: actions/twitapifriendships.php:105
msgid "You are not friends with the specified user."
msgstr ""
msgstr "Der angebene Benutzer gehört nicht zu Deinem Freunde-Netzwerk"
#: ../actions/password.php:27
msgid "You can change your password here. Choose a good one!"

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -13,20 +13,18 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2009-01-30 12:07+0000\n"
"Last-Translator: support team <jbrnra@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"#-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-#\n"
"#-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n"
"X-Generator: Pootle 1.1.0\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
@ -213,7 +211,7 @@ msgstr "לפחות 6 אותיות, אל תשכח!"
#: ../actions/register.php:154 actions/register.php:168
#: actions/register.php:373
msgid "6 or more characters. Required."
msgstr ""
msgstr " לפחות 6 אותיות. שדה חובה."
#: ../actions/imsettings.php:197 actions/imsettings.php:205
#, php-format

Binary file not shown.

View File

@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: laconica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-01-27 13:38+0000\n"
"PO-Revision-Date: 2009-02-18 12:57+0000\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
@ -3574,7 +3574,6 @@ msgstr "Modifica il gruppo %s"
#: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
#: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
#, fuzzy
msgid "Inboxes must be enabled for groups to work"
msgstr "La casella della posta in arrivo deve essere abilitata per funzionare"
@ -3665,7 +3664,6 @@ msgid "Allow %s to update my Facebook status"
msgstr "Consenti a %s di aggiornare il mio stato su Facebook"
#: actions/facebookhome.php:218
#, fuzzy
msgid "Skip"
msgstr "Salta"
@ -3674,7 +3672,6 @@ msgid "No notice content!"
msgstr "Nessun contenuto!"
#: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
#, fuzzy
msgid "Pagination"
msgstr "Paginazione"
@ -3692,12 +3689,11 @@ msgid "Thanks for inviting your friends to use %s"
msgstr "Grazie per aver invitato i tuoi amici a usare %s"
#: actions/facebookinvite.php:72
#, fuzzy
msgid "Invitations have been sent to the following users:"
msgstr "Gli inviti sono stati inviati ai seguenti utenti:"
#: actions/facebookinvite.php:96
#, fuzzy, php-format
#, php-format
msgid "You have been invited to %s"
msgstr "Hai un invito per %s"
@ -3713,7 +3709,6 @@ msgstr "Amici che già usano %s:"
#: actions/facebookinvite.php:130
#, php-format
#, fuzzy
msgid "Send invitations"
msgstr "Invia"
@ -3722,12 +3717,11 @@ msgid "Couldn't remove Facebook user."
msgstr "Impossibile rimuovere l'utente Facebook."
#: actions/facebooksettings.php:65
#, fuzzy
msgid "There was a problem saving your sync preferences!"
msgstr "C'è stato un problema nel salvare le preferenze di sincronizzazione."
msgstr ""
"Si è verificato un problema nel salvare le preferenze di sincronizzazione."
#: actions/facebooksettings.php:67
#, fuzzy
msgid "Sync preferences saved."
msgstr "Preferenze di sincronizzazione salvate."
@ -3744,7 +3738,6 @@ msgid "Prefix"
msgstr "Prefisso"
#: actions/facebooksettings.php:108
#, fuzzy
msgid "A string to prefix notices with."
msgstr "Una stringa con cui iniziare i messaggi."
@ -3755,7 +3748,6 @@ msgid "If you would like %s to automatically update "
msgstr "Se vuoi che %s aggiorni automaticamente "
#: actions/facebooksettings.php:147
#, fuzzy
msgid "Sync preferences"
msgstr "Preferenze di sincronizzazione"
@ -3792,7 +3784,6 @@ msgstr "Utenti in evidenza, pagina %d"
#: actions/featured.php:99
#, php-format
#, fuzzy
msgid "A selection of some of the great users on %s"
msgstr "Una selezione dei migliori utenti su %s"
@ -3855,7 +3846,7 @@ msgid "Create a new group"
msgstr "Crea un nuovo gruppo"
#: actions/groupsearch.php:57
#, fuzzy, php-format
#, php-format
msgid ""
"Search for groups on %%site.name%% by their name, location, or description. "
msgstr "Ricerca gruppi su %%site.name%% per nome, ubicazione o descrizione. "
@ -3903,7 +3894,6 @@ msgid "%s joined group %s"
msgstr "%s si è iscritto al gruppo %s"
#: actions/leavegroup.php:60
#, fuzzy
msgid "Inboxes must be enabled for groups to work."
msgstr ""
"Le caselle di posta in arrivo devono essere abilitate per i gruppi per poter "
@ -3926,7 +3916,6 @@ msgid "You may not leave a group while you are its administrator."
msgstr "Non puoi lasciare un gruppo fintantoché ne sei amministratore."
#: actions/leavegroup.php:130
#, fuzzy
msgid "Could not find membership record."
msgstr "Impossibile trovare il record della membership."
@ -3941,7 +3930,6 @@ msgid "%s left group %s"
msgstr "%s ha lasciato il gruppo %s"
#: actions/login.php:225 lib/facebookaction.php:304
#, fuzzy
msgid "Login to site"
msgstr "Accedi al sito"
@ -3962,7 +3950,6 @@ msgid "Could not create group."
msgstr "Impossibile creare il gruppo."
#: actions/newgroup.php:191
#, fuzzy
msgid "Could not set group membership."
msgstr "Impossibile impostare la membership al gruppo."
@ -4038,7 +4025,6 @@ msgid "Change your password."
msgstr "Modifica la tua password."
#: actions/passwordsettings.php:89
#, fuzzy
msgid "Password change"
msgstr "Cambio password"
@ -4058,7 +4044,6 @@ msgid "These are users who have tagged themselves \"%s\" "
msgstr "Questi sono gli utenti che si sono etichettati con \"%s\" "
#: actions/profilesettings.php:91
#, fuzzy
msgid "Profile information"
msgstr "Informazioni sul profilo"
@ -4102,9 +4087,8 @@ msgstr ""
"blog](http://it.wikipedia.org/wiki/Microblogging) "
#: actions/publictagcloud.php:57
#, fuzzy
msgid "Public tag cloud"
msgstr "Cloud delle etichette"
msgstr "Insieme delle etichette"
#: actions/publictagcloud.php:63
#, php-format
@ -4113,9 +4097,8 @@ msgid "These are most popular recent tags on %s "
msgstr "Queste sono le etichette più usate e recenti su %s "
#: actions/publictagcloud.php:119
#, fuzzy
msgid "Tag cloud"
msgstr "Cloud etichette"
msgstr "Insieme etichette"
#: actions/register.php:139 actions/register.php:349
msgid "Sorry, only invited people can register."
@ -4208,12 +4191,10 @@ msgstr "URL"
#: actions/showgroup.php:262 actions/showstream.php:289
#: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
#, fuzzy
msgid "Note"
msgstr "Note"
msgstr "Nota"
#: actions/showgroup.php:270
#, fuzzy
msgid "Group actions"
msgstr "Azioni dei gruppi"
@ -4266,12 +4247,10 @@ msgid "User profile"
msgstr "Profilo utente"
#: actions/showstream.php:240 actions/tagother.php:81
#, fuzzy
msgid "Photo"
msgstr "Fotografia"
#: actions/showstream.php:317
#, fuzzy
msgid "User actions"
msgstr "Azioni utente"
@ -4402,7 +4381,6 @@ msgid "Tag %s"
msgstr "Etichetta %s"
#: actions/tagother.php:141
#, fuzzy
msgid "Tag user"
msgstr "Etichette utente"
@ -4594,12 +4572,10 @@ msgid "Site notice"
msgstr "Messaggio del sito"
#: lib/action.php:417
#, fuzzy
msgid "Local views"
msgstr "Viste locali"
#: lib/action.php:472
#, fuzzy
msgid "Page notice"
msgstr "Pagina messaggio"
@ -4653,9 +4629,8 @@ msgid "Favor this notice"
msgstr "Rendi questo messaggio un favorito"
#: lib/feedlist.php:64
#, fuzzy
msgid "Export data"
msgstr "Esporta dai"
msgstr "Esporta dati"
#: lib/galleryaction.php:121
msgid "Filter tags"
@ -4742,7 +4717,6 @@ msgid "Join"
msgstr "Iscriviti"
#: lib/leaveform.php:114
#, fuzzy
msgid "Leave"
msgstr "Lascia"
@ -4802,7 +4776,7 @@ msgid "%1$s (%2$s) is wondering what you are up to "
msgstr "%1$s (%2$s) si chiede cosa tu "
#: lib/mail.php:555
#, fuzzy, php-format
#, php-format
msgid "%1$s just added your notice from %2$s"
msgstr "%1$s ha appena aggiunto il tuo messaggio da %2$s"

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -4,22 +4,20 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2009-02-07 22:33+0000\n"
"Last-Translator: Jimmy Volatile <spam@useful.no>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"#-#-#-#-# laconica.po #-#-#-#-#\n"
"X-Generator: Pootle 1.1.0\n"
"X-Poedit-Language: Norwegian Bokmal\n"
"X-Poedit-Country: NORWAY\n"
"#-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
@ -139,7 +137,7 @@ msgstr ""
#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
#, php-format
msgid "%s status"
msgstr ""
msgstr "%s status"
#: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
#: actions/twitapistatuses.php:199
@ -151,13 +149,15 @@ msgstr ""
#: actions/twitapistatuses.php:36
#, php-format
msgid "%s updates from everyone!"
msgstr ""
msgstr "%s oppdatering fra alle!"
#: ../actions/register.php:213
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
msgstr ""
"(Du vil straks motta en e-post med instruksjoner om hvordan du kan bekrefte "
"din e-postadresse.)"
#: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
#, php-format
@ -194,12 +194,12 @@ msgstr "6 eller flere tegn"
#: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
#: actions/recoverpassword.php:220
msgid "6 or more characters, and don't forget it!"
msgstr ""
msgstr "6 eller flere tegn. Og ikke glem det, nå!"
#: ../actions/register.php:154 actions/register.php:168
#: actions/register.php:373
msgid "6 or more characters. Required."
msgstr ""
msgstr "6 eller flere tegn. Påkrevd."
#: ../actions/imsettings.php:197 actions/imsettings.php:205
#, php-format

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -10,22 +10,20 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2009-02-28 17:14+0000\n"
"Last-Translator: Ryba <ryba-laconica@h4v.eu>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"#-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-#\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
"#-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n"
"X-Generator: Pootle 1.1.0\n"
# Polish language has 3 plural forms.
# Special case is used for one and some numbers ending in 2, 3, or 4.
@ -62,7 +60,7 @@ msgstr ""
#: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
msgstr "%1$s zapraszają Cię byś dołączył do nich w %2$s"
#: ../actions/invite.php:170
#, php-format
@ -152,18 +150,18 @@ msgstr "%s i przyjaciele"
#: actions/twitapistatuses.php:33
#, php-format
msgid "%s public timeline"
msgstr ""
msgstr "Publiczna oś czasu %s"
#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
#, php-format
msgid "%s status"
msgstr ""
msgstr "status %s"
#: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
#: actions/twitapistatuses.php:199
#, php-format
msgid "%s timeline"
msgstr ""
msgstr "oś czasu %s"
#: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
#: actions/twitapistatuses.php:36
@ -236,12 +234,18 @@ msgid ""
"A confirmation code was sent to the email address you added. Check your "
"inbox (and spam box!) for the code and instructions on how to use it."
msgstr ""
"Kod potwierdzający został wysłany na podany przez Ciebie adres e-mail. "
"Sprawdź w swojej skrzynce odbiorczej (także w folderze SPAM) czy otrzymałeś "
"kod i instrukcje dotyczące jego użycia. "
#: ../actions/smssettings.php:216 actions/smssettings.php:224
msgid ""
"A confirmation code was sent to the phone number you added. Check your inbox "
"(and spam box!) for the code and instructions on how to use it."
msgstr ""
"Kod potwierdzający został wysłany na podany przez Ciebie numer telefonu. "
"Sprawdź w swojej skrzynce odbiorczej (także w folderze SPAM) czy otrzymałeś "
"kod i instrukcje dotyczące jego użycia. "
#: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
#: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@ -263,7 +267,7 @@ msgstr ""
#: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
#: actions/twitapiusers.php:32
msgid "API method not found!"
msgstr ""
msgstr "metoda API nie znaleziona!"
#: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
#: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
@ -286,7 +290,7 @@ msgstr ""
#: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
#: actions/twitapistatuses.php:562
msgid "API method under construction."
msgstr ""
msgstr "metoda API w trakcie powstawania."
#: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
msgid "About"
@ -315,7 +319,7 @@ msgstr "Dodaj konto OpenID"
#: ../lib/settingsaction.php:97 lib/settingsaction.php:91
#: lib/accountsettingsaction.php:117
msgid "Add or remove OpenIDs"
msgstr ""
msgstr "Dodaj lub usuń konta OpenID"
#: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
#: ../actions/smssettings.php:39 actions/emailsettings.php:39
@ -327,7 +331,7 @@ msgstr "Adres"
#: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
msgid "Addresses of friends to invite (one per line)"
msgstr ""
msgstr "Adresy subskrybentów, których zapraszasz (jeden w każdej linii)"
#: ../actions/showstream.php:273 actions/showstream.php:288
#: actions/showstream.php:422
@ -362,7 +366,7 @@ msgstr "Już obserwujesz!"
#: ../actions/deletenotice.php:54 actions/deletenotice.php:55
#: actions/deletenotice.php:113
msgid "Are you sure you want to delete this notice?"
msgstr ""
msgstr "Jesteś pewien, że chcesz usunąć ten wpis?"
#: ../actions/userauthorization.php:77 actions/userauthorization.php:83
#: actions/userauthorization.php:81
@ -380,6 +384,8 @@ msgstr ""
msgid ""
"Automatically subscribe to whoever subscribes to me (best for non-humans)"
msgstr ""
"Automatycznie zasubskrybuj każdego kto mnie zasubskrybuje (najlepsze dla "
"botów)"
#: ../actions/avatar.php:32 ../lib/settingsaction.php:90
#: actions/profilesettings.php:34 actions/avatarsettings.php:65
@ -398,7 +404,7 @@ msgid ""
"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
"message with further instructions. (Did you add %s to your buddy list?)"
msgstr ""
"Oczekiwanie na potwierdzenie z tego adresu. Sprawdź czy na Twoje konto "
"Oczekiwanie na potwierdzenie dla tego adresu. Sprawdź czy na Twoje konto "
"Jabbera/GTalka przyszła wiadomość z dalszymi instrukcjami. (Nie zapomnij "
"dodać %s do listy znajomych.)"
@ -407,11 +413,13 @@ msgid ""
"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
"a message with further instructions."
msgstr ""
"Ten adres oczekuje potwierdzenia. Sprawdź swoją skrzynkę odbiorczą (także "
"folder SPAM!) czy dostałeś wiadomość z dalszymi instrukcjami. "
#: ../actions/smssettings.php:58 actions/smssettings.php:58
#: actions/smssettings.php:111
msgid "Awaiting confirmation on this phone number."
msgstr ""
msgstr "Oczekiwanie na potwierdzenie dla tego numeru telefonu."
#: ../lib/util.php:1318 lib/util.php:1452
#, fuzzy
@ -434,7 +442,7 @@ msgstr "Wpis \"O mnie\" jest za długi (maks. 140 znaków)"
#: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
msgid "Can't delete this notice."
msgstr ""
msgstr "Nie można usunąć tego wpisu. "
#: ../actions/updateprofile.php:119 actions/updateprofile.php:120
#: actions/updateprofile.php:123

Binary file not shown.

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-01-24 22:20+0000\n"
"Last-Translator: Tony Manco <trmanco@yahoo.com>\n"
"PO-Revision-Date: 2009-02-02 03:45+0000\n"
"Last-Translator: Tiago Faria <gouki@goukihq.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -616,7 +616,7 @@ msgstr ""
#: ../lib/subs.php:46 lib/subs.php:46 lib/subs.php:57
msgid "Could not subscribe."
msgstr ""
msgstr "Não foi possível subscrever. "
#: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
#: actions/recoverpassword.php:111
@ -668,7 +668,7 @@ msgstr ""
#: actions/profilesettings.php:299 actions/twitapiaccount.php:94
#: actions/profilesettings.php:302 actions/twitapiaccount.php:81
msgid "Couldn't save profile."
msgstr ""
msgstr "Não foi possível salvar o perfil."
#: ../actions/profilesettings.php:161 actions/profilesettings.php:276
#: actions/profilesettings.php:279

Binary file not shown.

View File

@ -5,13 +5,13 @@ msgstr ""
"Project-Id-Version: laconica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-01-13 17:17-0200\n"
"Last-Translator: Frederico Goncalves Guimaraes <frederico@teia.bio.br>\n"
"PO-Revision-Date: 2009-02-11 12:53+0000\n"
"Last-Translator: Frederico Gonçalves Guimarães <frederico@teia.bio.br>\n"
"Language-Team: Português do Brasil\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"X-Generator: Pootle 1.1.0\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
@ -221,17 +221,17 @@ msgstr "1-64 letras ou números, sem pontuação ou espaços. Obrigatório."
#: ../actions/password.php:42 actions/profilesettings.php:181
#: actions/passwordsettings.php:102
msgid "6 or more characters"
msgstr "6 caracteres ou mais"
msgstr "6 ou mais caracteres"
#: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
#: actions/recoverpassword.php:220
msgid "6 or more characters, and don't forget it!"
msgstr "6 caracteres ou mais. E não se esqueça dela!"
msgstr "6 ou mais caracteres. E não se esqueça dela!"
#: ../actions/register.php:154 actions/register.php:168
#: actions/register.php:373
msgid "6 or more characters. Required."
msgstr "6 caracteres ou mais. Obrigatório."
msgstr "6 ou mais caracteres. Obrigatório."
#: ../actions/imsettings.php:197 actions/imsettings.php:205
#, php-format
@ -434,7 +434,7 @@ msgstr "Aguardando a confirmação deste número de telefone."
#: ../lib/util.php:1318 lib/util.php:1452
msgid "Before »"
msgstr "Antes »"
msgstr "Anteriores »"
#: ../actions/profilesettings.php:49 ../actions/register.php:170
#: actions/profilesettings.php:82 actions/register.php:184
@ -585,7 +585,7 @@ msgstr "Conectar"
#: ../actions/finishopenidlogin.php:86 actions/finishopenidlogin.php:92
#: actions/finishopenidlogin.php:114
msgid "Connect existing account"
msgstr "Conecta-se a uma conta já existente"
msgstr "Conectar-se a uma conta já existente"
#: ../lib/util.php:332 lib/util.php:348 lib/action.php:576
msgid "Contact"
@ -749,7 +749,7 @@ msgstr "Endereço de e-mail já confirmado."
#: ../actions/showstream.php:356 actions/showstream.php:367
msgid "Currently"
msgstr "Nesse momento"
msgstr "Neste momento"
#: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
#, php-format
@ -1263,8 +1263,8 @@ msgid ""
"email but isn't listed here, send email to let us know at %s."
msgstr ""
"A operadora móvel do seu celular. Se você conhece uma operadora que aceita "
"SMS via e-mail, mas não está listada aqui, informe-nos enviando uma "
"mensagempara %s."
"SMS via e-mail que não está listada aqui, informe-nos enviando uma mensagem "
"para %s."
#: ../actions/finishopenidlogin.php:79 ../actions/register.php:188
#: actions/finishopenidlogin.php:85 actions/register.php:202
@ -1379,7 +1379,7 @@ msgstr "Não foi selecionada nenhuma operadora."
#: ../actions/smssettings.php:316 actions/smssettings.php:324
#: actions/smssettings.php:486
msgid "No code entered"
msgstr "Não foi informado nenhum código"
msgstr "Não foi digitado nenhum código"
#: ../actions/confirmaddress.php:33 actions/confirmaddress.php:33
#: actions/confirmaddress.php:75
@ -1427,7 +1427,7 @@ msgstr "Nenhuma confirmação pendente para cancelar."
#: ../actions/smssettings.php:176 actions/smssettings.php:184
#: actions/smssettings.php:294
msgid "No phone number."
msgstr "Nenhum telefone cadastrado."
msgstr "Nenhum número de telefone."
#: ../actions/finishremotesubscribe.php:72
#: actions/finishremotesubscribe.php:74 actions/finishremotesubscribe.php:75
@ -2815,7 +2815,7 @@ msgstr "tipo de arquivo não suportado"
#: ../lib/util.php:1309 lib/util.php:1443
msgid "« After"
msgstr "« Depois"
msgstr "« Seguintes"
#: actions/deletenotice.php:74 actions/disfavor.php:43
#: actions/emailsettings.php:127 actions/favor.php:45
@ -3462,34 +3462,32 @@ msgid "Could not parse message."
msgstr "Não foi possível analisar a mensagem."
#: actions/all.php:63 actions/facebookhome.php:162
#, fuzzy, php-format
#, php-format
msgid "%s and friends, page %d"
msgstr "%s e amigos"
msgstr "%s e amigos, página %d"
#: actions/avatarsettings.php:76
#, fuzzy
msgid "You can upload your personal avatar."
msgstr "Você pode atualizar as informações do seu perfil pessoal aqui "
msgstr "Você pode enviar seu avatar pessoal."
#: actions/avatarsettings.php:117 actions/avatarsettings.php:191
#: actions/grouplogo.php:250
#, fuzzy
msgid "Avatar settings"
msgstr "Configurações do Twitter"
msgstr "Configurações do avatar"
#: actions/avatarsettings.php:124 actions/avatarsettings.php:199
#: actions/grouplogo.php:198 actions/grouplogo.php:258
msgid "Original"
msgstr ""
msgstr "Original"
#: actions/avatarsettings.php:139 actions/avatarsettings.php:211
#: actions/grouplogo.php:209 actions/grouplogo.php:270
msgid "Preview"
msgstr ""
msgstr "Visualização"
#: actions/avatarsettings.php:225 actions/grouplogo.php:284
msgid "Crop"
msgstr ""
msgstr "Cortar"
#: actions/avatarsettings.php:248 actions/deletenotice.php:133
#: actions/emailsettings.php:224 actions/grouplogo.php:307
@ -3500,31 +3498,27 @@ msgstr ""
#: actions/remotesubscribe.php:53 actions/smssettings.php:216
#: actions/subedit.php:38 actions/twittersettings.php:290
#: actions/userauthorization.php:39
#, fuzzy
msgid "There was a problem with your session token. "
msgstr ""
"Ocorreu um problema com o seu token de sessão. Tente novamente, por favor."
msgstr "Ocorreu um problema com o seu token de sessão. "
#: actions/avatarsettings.php:303 actions/grouplogo.php:360
msgid "Pick a square area of the image to be your avatar"
msgstr ""
msgstr "Selecione uma área quadrada da imagem para ser seu avatar"
#: actions/avatarsettings.php:327 actions/grouplogo.php:384
msgid "Lost our file data."
msgstr ""
msgstr "Nossos dados do arquivo foi perdido."
#: actions/avatarsettings.php:334 actions/grouplogo.php:391
#: classes/User_group.php:112
#, fuzzy
msgid "Lost our file."
msgstr "Não foi possível bloquear o usuário."
msgstr "Nosso arquivo foi perdido."
#: actions/avatarsettings.php:349 actions/avatarsettings.php:383
#: actions/grouplogo.php:406 actions/grouplogo.php:440
#: classes/User_group.php:129 classes/User_group.php:161
#, fuzzy
msgid "Unknown file type"
msgstr "tipo de arquivo não suportado"
msgstr "Tipo de arquivo desconhecido"
#: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
msgid "No profile specified."
@ -3552,16 +3546,13 @@ msgid "Failed to save block information."
msgstr "Não foi possível salvar a informação de bloqueio."
#: actions/confirmaddress.php:159
#, fuzzy, php-format
#, php-format
msgid "The address \"%s\" has been "
msgstr "O endereço foi removido."
msgstr "O endereço \"%s\" foi "
#: actions/deletenotice.php:73
#, fuzzy
msgid "You are about to permanently delete a notice. "
msgstr ""
"Você está prestes a apagar permanentemente uma mensagem. Isso não poderá ser "
"desfeito."
msgstr "Você está prestes a apagar permanentemente uma mensagem. "
#: actions/disfavor.php:94
msgid "Add to favorites"
@ -3570,7 +3561,7 @@ msgstr "Adicionar às favoritas"
#: actions/editgroup.php:54
#, php-format
msgid "Edit %s group"
msgstr ""
msgstr "Editar o grupo %s"
#: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
#: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
@ -3578,199 +3569,175 @@ msgid "Inboxes must be enabled for groups to work"
msgstr ""
#: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
#, fuzzy
msgid "You must be logged in to create a group."
msgstr ""
"Você deve estar autenticado para convidar outros usuários para usar o %s"
msgstr "Você deve estar autenticado para criar um grupo."
#: actions/editgroup.php:87 actions/grouplogo.php:87
#: actions/groupmembers.php:76 actions/joingroup.php:81
#: actions/showgroup.php:121
#, fuzzy
msgid "No nickname"
msgstr "Nenhum apelido."
msgstr "Nenhum apelido"
#: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
#: actions/groupmembers.php:83 actions/joingroup.php:88
#: actions/showgroup.php:128
#, fuzzy
msgid "No such group"
msgstr "Esse usuário não existe"
msgstr "Esse grupo não existe"
#: actions/editgroup.php:106 actions/editgroup.php:165
#: actions/grouplogo.php:107
#, fuzzy
msgid "You must be an admin to edit the group"
msgstr ""
"Você deve estar autenticado para convidar outros usuários para usar o %s"
msgstr "Você deve ser o administrador do grupo para editá-lo"
#: actions/editgroup.php:157
msgid "Use this form to edit the group."
msgstr ""
msgstr "Use esse formulário para editar o grupo."
#: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
#, fuzzy
msgid "Nickname must have only lowercase letters "
msgstr ""
"O apelido deve conter apenas letras minúsculas e/ou números e não pode ter "
"espaços."
msgstr "O apelido deve conter apenas letras minúsculas "
#: actions/editgroup.php:198 actions/newgroup.php:149
#, fuzzy
msgid "description is too long (max 140 chars)."
msgstr "Descrição muito extensa (máximo 140 caracteres)."
msgstr "descrição muito extensa (máximo 140 caracteres)."
#: actions/editgroup.php:218
#, fuzzy
msgid "Could not update group."
msgstr "Não foi possível atualizar o usuário."
msgstr "Não foi possível atualizar o grupo."
#: actions/editgroup.php:226
#, fuzzy
msgid "Options saved."
msgstr "As configurações foram salvas."
#: actions/emailsettings.php:107 actions/imsettings.php:108
#, fuzzy, php-format
#, php-format
msgid "Awaiting confirmation on this address. "
msgstr "Aguardando a confirmação deste número de telefone."
msgstr "Aguardando a confirmação neste endereço. "
#: actions/emailsettings.php:139 actions/smssettings.php:150
#, fuzzy
msgid "Make a new email address for posting to; "
msgstr "Novo endereço de e-mail para publicar no %s"
msgstr "Cria um novo endereço de e-mail para publicar no; "
#: actions/emailsettings.php:157
#, fuzzy
msgid "Send me email when someone "
msgstr "Envie-me um e-mail quando alguém enviar-me uma mensagem particular."
msgstr "Envie-me um e-mail quando alguém "
#: actions/emailsettings.php:168
msgid "Allow friends to nudge me and send me an email."
msgstr "Permitir que meus amigos chamem minha atenção e enviem-me um e-mail."
#: actions/emailsettings.php:321
#, fuzzy
msgid "That email address already belongs "
msgstr "Esse endereço de e-mail já pertence à outro usuário."
msgstr "Esse endereço de e-mail já pertence "
#: actions/emailsettings.php:343
#, fuzzy
msgid "A confirmation code was sent to the email address you added. "
msgstr ""
"Um código de confirmação foi enviado para o endereço de mensagem instantânea "
"que você informou. Você deve permitir que %s envie mensagens para você."
"Um código de confirmação foi enviado para o endereço de e-mail que você "
"informou. "
#: actions/facebookhome.php:110
msgid "Server error - couldn't get user!"
msgstr ""
msgstr "Erro no servidor - não foi possível obter o usuário!"
#: actions/facebookhome.php:196
#, php-format
msgid "If you would like the %s app to automatically update "
msgstr ""
msgstr "Se você deseja que o aplicativo %s atualize automaticamente "
#: actions/facebookhome.php:213 actions/facebooksettings.php:137
#, php-format
msgid "Allow %s to update my Facebook status"
msgstr ""
msgstr "Permitir que %s atualize meu status no Facebook"
#: actions/facebookhome.php:218
msgid "Skip"
msgstr ""
msgstr "Pular"
#: actions/facebookhome.php:235
#, fuzzy
msgid "No notice content!"
msgstr "Nenhum conteúdo!"
#: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
msgid "Pagination"
msgstr ""
msgstr "Paginação"
#: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
#, fuzzy
msgid "After"
msgstr "« Depois"
msgstr "Próximo"
#: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
#, fuzzy
msgid "Before"
msgstr "Antes »"
msgstr "Anterior"
#: actions/facebookinvite.php:70
#, php-format
msgid "Thanks for inviting your friends to use %s"
msgstr ""
msgstr "Obrigado por convidar seus amigos para usar o %s"
#: actions/facebookinvite.php:72
#, fuzzy
msgid "Invitations have been sent to the following users:"
msgstr "Convite(s) enviado(s) para as seguintes pessoas:"
msgstr "Foram enviados convites para os seguintes usuários:"
#: actions/facebookinvite.php:96
#, fuzzy, php-format
#, php-format
msgid "You have been invited to %s"
msgstr "Você teve a atenção chamada por %s"
msgstr "Você foi convidado por %s"
#: actions/facebookinvite.php:105
#, fuzzy, php-format
#, php-format
msgid "Invite your friends to use %s"
msgstr "Mensagens dos amigos de %s"
msgstr "Convide seus amigos para usar o %s"
#: actions/facebookinvite.php:113
#, php-format
msgid "Friends already using %s:"
msgstr ""
msgstr "Amigos que já utilizam o %s:"
#: actions/facebookinvite.php:130
#, php-format
msgid "Send invitations"
msgstr ""
msgstr "Enviar convites"
#: actions/facebookremove.php:56
msgid "Couldn't remove Facebook user."
msgstr "Não foi possível remover o usuário do Facebook."
#: actions/facebooksettings.php:65
#, fuzzy
msgid "There was a problem saving your sync preferences!"
msgstr ""
"Ocorreu um problema com o seu token de sessão. Tente novamente, por favor."
"Ocorreu um problema durante o salvamento das suas preferências de "
"sincronização!"
#: actions/facebooksettings.php:67
#, fuzzy
msgid "Sync preferences saved."
msgstr "As preferências foram salvas."
msgstr "As preferências de sincronização foram salvas."
#: actions/facebooksettings.php:90
#, fuzzy
msgid "Automatically update my Facebook status with my notices."
msgstr "Enviar minhas mensagens para o Twitter automaticamente."
msgstr ""
"Atualizar meu status do Facebook automaticamente com as minhas mensagens."
#: actions/facebooksettings.php:97
#, fuzzy
msgid "Send \"@\" replies to Facebook."
msgstr "Enviar respostas \"@\" locais para o Twitter."
msgstr "Enviar respostas \"@\" para o Facebook."
#: actions/facebooksettings.php:106
#, fuzzy
msgid "Prefix"
msgstr "Perfil"
msgstr "Prefixo"
#: actions/facebooksettings.php:108
msgid "A string to prefix notices with."
msgstr ""
msgstr "Um prefixo para acrescentar às mensagens."
#: actions/facebooksettings.php:124
#, php-format
msgid "If you would like %s to automatically update "
msgstr ""
msgstr "Se você deseja que %s atualize automaticamente "
#: actions/facebooksettings.php:147
#, fuzzy
msgid "Sync preferences"
msgstr "Preferências"
msgstr "Preferências de sincronização"
#: actions/favor.php:94 lib/disfavorform.php:140
msgid "Disfavor favorite"
@ -3782,14 +3749,13 @@ msgid "Popular notices"
msgstr "Mensagens populares"
#: actions/favorited.php:67
#, fuzzy, php-format
#, php-format
msgid "Popular notices, page %d"
msgstr "Mensagens populares"
msgstr "Mensagens populares, pág. %d"
#: actions/favorited.php:79
#, fuzzy
msgid "The most popular notices on the site right now."
msgstr "Exibindo as etiquetas mais populares da última semana"
msgstr "As etiquetas mais populares no site agora."
#: actions/featured.php:69 lib/featureduserssection.php:82
#: lib/publicgroupnav.php:87
@ -3797,9 +3763,9 @@ msgid "Featured users"
msgstr "Usuários de destaque"
#: actions/featured.php:71
#, fuzzy, php-format
#, php-format
msgid "Featured users, page %d"
msgstr "Usuários de destaque"
msgstr "Usuários de destaque, pág. %d"
#: actions/featured.php:99
#, php-format
@ -4532,12 +4498,12 @@ msgstr "Cancelado"
#: actions/usergroups.php:63
#, php-format
msgid "%s groups"
msgstr ""
msgstr "Grupos de %s"
#: actions/usergroups.php:65
#, php-format
msgid "%s groups, page %d"
msgstr ""
msgstr "Grupos de %s, página %d"
#: classes/Notice.php:104
msgid "Problem saving notice. Unknown user."
@ -4547,17 +4513,16 @@ msgstr "Problema no salvamento da mensagem. Usuário desconhecido."
msgid ""
"Too many notices too fast; take a breather and post again in a few minutes."
msgstr ""
"Muitas mensagens rapidamente; dê uma respirada e publique novamente em "
"alguns minutos."
"Muitas mensagens em um período curto de tempo; dê uma respirada e publique "
"novamente daqui a alguns minutos."
#: classes/Notice.php:116
msgid "You are banned from posting notices on this site."
msgstr "Você foi banido de publicar mensagens nesse site."
#: lib/accountsettingsaction.php:108
#, fuzzy
msgid "Upload an avatar"
msgstr "Não foi possível atualizar o avatar."
msgstr "Enviar um avatar"
#: lib/accountsettingsaction.php:119
msgid "Other"
@ -4568,17 +4533,18 @@ msgid "Other options"
msgstr "Outras opções"
#: lib/action.php:130
#, fuzzy, php-format
#, php-format
msgid "%s - %s"
msgstr "%s (%s)"
msgstr "%s - %s"
#: lib/action.php:145
msgid "Untitled page"
msgstr ""
msgstr "Página sem título"
#: lib/action.php:316
#, fuzzy
msgid "Primary site navigation"
msgstr ""
msgstr "Navegação primária no site"
#: lib/action.php:322
msgid "Personal profile and friends timeline"
@ -4667,33 +4633,29 @@ msgid "Block"
msgstr "Bloquear"
#: lib/disfavorform.php:114 lib/disfavorform.php:140
#, fuzzy
msgid "Disfavor this notice"
msgstr "Mensagens favoritas de %s"
msgstr "Tirar das favoritas"
#: lib/facebookaction.php:268
#, php-format
msgid "To use the %s Facebook Application you need to login "
msgstr ""
msgstr "Para usar a Aplicação do Facebook %s você precisa autenticar-se"
#: lib/facebookaction.php:271
#, fuzzy
msgid " a new account."
msgstr "Criar uma nova conta"
msgstr " uma nova conta."
#: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
#, fuzzy
msgid "Published"
msgstr "Público"
msgstr "Publicado"
#: lib/favorform.php:114 lib/favorform.php:140
#, fuzzy
msgid "Favor this notice"
msgstr "Mensagens favoritas de %s"
msgstr "Acrescentar às favoritas"
#: lib/feedlist.php:64
msgid "Export data"
msgstr ""
msgstr "Exportar os dados"
#: lib/galleryaction.php:121
msgid "Filter tags"
@ -4709,7 +4671,7 @@ msgstr "Etiqueta"
#: lib/galleryaction.php:138
msgid "Choose a tag to narrow list"
msgstr "Selecione uma etiqueta para diminuir a lista"
msgstr "Selecione uma etiqueta para reduzir a lista"
#: lib/galleryaction.php:139
msgid "Go"
@ -4761,45 +4723,40 @@ msgstr ""
#: lib/groupsbymemberssection.php:71
msgid "Groups with most members"
msgstr ""
msgstr "Grupos com mais membros"
#: lib/groupsbypostssection.php:71
msgid "Groups with most posts"
msgstr ""
msgstr "Grupos com mais mensagens"
#: lib/grouptagcloudsection.php:56
#, php-format
msgid "Tags in %s group's notices"
msgstr ""
msgstr "Etiquetas nas mensagens do grupo %s"
#: lib/htmloutputter.php:104
#, fuzzy
msgid "This page is not available in a "
msgstr "Esta página não está disponível em um tipo de mídia que você aceita"
msgstr "Esta página não está disponível em um "
#: lib/joinform.php:114
#, fuzzy
msgid "Join"
msgstr "Autenticação"
msgstr "Entrar"
#: lib/leaveform.php:114
#, fuzzy
msgid "Leave"
msgstr "Salvar"
msgstr "Sair"
#: lib/logingroupnav.php:76
#, fuzzy
msgid "Login with a username and password"
msgstr "Autentique-se com o seu nome de usuário e senha. "
msgstr "Autentique-se com um nome de usuário e senha"
#: lib/logingroupnav.php:79
#, fuzzy
msgid "Sign up for a new account"
msgstr "Criar uma nova conta"
msgstr "Cadastre-se para uma nova conta"
#: lib/logingroupnav.php:82
msgid "Login or register with OpenID"
msgstr ""
msgstr "Autentique-se ou registre-se como um OpenID"
#: lib/mail.php:175
#, php-format
@ -4807,21 +4764,23 @@ msgid ""
"Hey, %s.\n"
"\n"
msgstr ""
"Olá, %s.\n"
"\n"
#: lib/mail.php:236
#, fuzzy, php-format
#, php-format
msgid "%1$s is now listening to "
msgstr "%1$s agora está acompanhando suas mensagens em %2$s."
msgstr "%1$s agora está acompanhando "
#: lib/mail.php:254
#, fuzzy, php-format
#, php-format
msgid "Location: %s\n"
msgstr "Localização: %s"
msgstr "Localização: %s\n"
#: lib/mail.php:256
#, fuzzy, php-format
#, php-format
msgid "Homepage: %s\n"
msgstr "Site: %s"
msgstr "Site: %s\n"
#: lib/mail.php:258
#, php-format
@ -4829,6 +4788,8 @@ msgid ""
"Bio: %s\n"
"\n"
msgstr ""
"Descrição: %s\n"
"\n"
#: lib/mail.php:461
#, php-format
@ -4836,84 +4797,67 @@ msgid "You've been nudged by %s"
msgstr "Você teve a atenção chamada por %s"
#: lib/mail.php:465
#, fuzzy, php-format
#, php-format
msgid "%1$s (%2$s) is wondering what you are up to "
msgstr ""
"%1$s (%2$s) quer saber com você está atualmente e está convidando-o a "
"publicar alguma notícia.\n"
"\n"
msgstr "%1$s (%2$s) quer saber como você está "
#: lib/mail.php:555
#, fuzzy, php-format
#, php-format
msgid "%1$s just added your notice from %2$s"
msgstr ""
"%1$s acabou de marcar sua mensagem de %2$s como uma favorita.\n"
"\n"
msgstr "%1$s acabou de marcar sua mensagem de %2$s"
#: lib/mailbox.php:229 lib/noticelist.php:380
#, fuzzy
msgid "From"
msgstr " de "
msgstr "De"
#: lib/messageform.php:110
#, fuzzy
msgid "Send a direct notice"
msgstr "Excluir a mensagem"
msgstr "Enviar uma mensagem direta"
#: lib/noticeform.php:125
#, fuzzy
msgid "Send a notice"
msgstr "Chamar a atenção"
msgstr "Enviar uma mensagem"
#: lib/noticeform.php:152
#, fuzzy
msgid "Available characters"
msgstr "6 caracteres ou mais"
msgstr "Caracteres disponíveis"
#: lib/noticelist.php:426
#, fuzzy
msgid "in reply to"
msgstr "em resposta à..."
msgstr "em resposta à"
#: lib/noticelist.php:447 lib/noticelist.php:450
#, fuzzy
msgid "Reply to this notice"
msgstr "Não é possível excluir esta mensagem."
msgstr "Responder a esta mensagem"
#: lib/noticelist.php:451
#, fuzzy
msgid "Reply"
msgstr "responder"
msgstr "Responder"
#: lib/noticelist.php:471 lib/noticelist.php:474
#, fuzzy
msgid "Delete this notice"
msgstr "Excluir a mensagem"
msgstr "Excluir esta mensagem"
#: lib/noticelist.php:474
#, fuzzy
msgid "Delete"
msgstr "excluir"
msgstr "Excluir"
#: lib/nudgeform.php:116
#, fuzzy
msgid "Nudge this user"
msgstr "Chamada de atenção enviada"
msgstr "Chamar a atenção deste usuário"
#: lib/nudgeform.php:128
#, fuzzy
msgid "Nudge"
msgstr "Chamada de atenção enviada"
msgstr "Chamar a atenção"
#: lib/nudgeform.php:128
#, fuzzy
msgid "Send a nudge to this user"
msgstr "Você não pode enviar uma mensagem para esse usuário."
msgstr "Chame a atenção deste usuário"
#: lib/personaltagcloudsection.php:56
#, fuzzy, php-format
#, php-format
msgid "Tags in %s's notices"
msgstr "O usuário não tem uma \"última mensagem\""
msgstr "Etiquetas nas mensagens de %s"
#: lib/profilelist.php:182
msgid "(none)"
@ -4925,7 +4869,7 @@ msgstr "Público"
#: lib/publicgroupnav.php:80
msgid "User groups"
msgstr ""
msgstr "Grupos de usuário"
#: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
msgid "Recent tags"
@ -4940,72 +4884,64 @@ msgid "Popular"
msgstr "Popular"
#: lib/searchgroupnav.php:82
#, fuzzy
msgid "Notice"
msgstr "Mensagens"
msgstr "Mensagem"
#: lib/searchgroupnav.php:85
#, fuzzy
msgid "Find groups on this site"
msgstr "Procurar por pessoas neste site"
msgstr "Procurar por grupos neste site"
#: lib/section.php:89
msgid "Untitled section"
msgstr ""
msgstr "Seção sem título"
#: lib/subgroupnav.php:81
#, fuzzy, php-format
#, php-format
msgid "People %s subscribes to"
msgstr "Assinatura remota"
msgstr "Pessoas que %s assina"
#: lib/subgroupnav.php:89
#, fuzzy, php-format
#, php-format
msgid "People subscribed to %s"
msgstr "Efetuada a assinatura de %s"
msgstr "Assinantes de %s"
#: lib/subgroupnav.php:97
#, php-format
msgid "Groups %s is a member of"
msgstr ""
msgstr "O grupo %s é membro de"
#: lib/subgroupnav.php:104
#, fuzzy, php-format
#, php-format
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
"Use esse formulário para convidar seus amigos e colegas para usar este "
"serviço."
msgstr "Convide seus amigos e colegas para unir-se a você no %s"
#: lib/subs.php:53
msgid "User has blocked you."
msgstr "O usuário bloqueou você."
#: lib/subscribeform.php:115 lib/subscribeform.php:139
#, fuzzy
msgid "Subscribe to this user"
msgstr "Efetuada a assinatura de %s"
msgstr "Assinar este usuário"
#: lib/tagcloudsection.php:56
#, fuzzy
msgid "None"
msgstr "Não"
msgstr "Nenhuma"
#: lib/topposterssection.php:74
msgid "Top posters"
msgstr ""
msgstr "Quem mais publica"
#: lib/unblockform.php:120 lib/unblockform.php:150
#, fuzzy
msgid "Unblock this user"
msgstr "Bloquear usuário"
msgstr "Desbloquear este usuário"
#: lib/unblockform.php:150
msgid "Unblock"
msgstr "Desbloquear"
#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
#, fuzzy
msgid "Unsubscribe from this user"
msgstr "Cancelada a assinatura de %s"
msgstr "Cancelar a assinatura deste usuário"
#~ msgid "Code not yet ready."
#~ msgstr "O código ainda não está pronto."

Binary file not shown.

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-01-16 10:34+0000\n"
"Last-Translator: Sergey Salnikov <salnsg>\n"
"PO-Revision-Date: 2009-03-12 16:26+0000\n"
"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -150,7 +150,7 @@ msgstr "%s (%s)"
#: actions/publicrss.php:90
#, php-format
msgid "%s Public Stream"
msgstr "%s Публичный поток"
msgstr "%s Публичная Лента"
#: ../actions/all.php:47 ../actions/allrss.php:60
#: ../actions/twitapistatuses.php:238 ../lib/stream.php:51 actions/all.php:47
@ -182,7 +182,7 @@ msgstr "%s хронология"
#: actions/twitapistatuses.php:36
#, php-format
msgid "%s updates from everyone!"
msgstr "%s обновлен полностью!"
msgstr "%s обновлен для всех!"
#: ../actions/register.php:213
msgid ""
@ -198,8 +198,8 @@ msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
msgstr ""
"**%%site.name%%** это сервис микроблогинга доведённый до Вас при помощи [%%"
"site.broughtby%%](%%site.broughtbyurl%%). "
"**%%site.name%%** это сервис микроблогинга созданный для Вас при помощи "
"[%%site.broughtby%%](%%site.broughtbyurl%%). "
#: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
#, php-format
@ -260,9 +260,9 @@ msgid ""
"A confirmation code was sent to the phone number you added. Check your inbox "
"(and spam box!) for the code and instructions on how to use it."
msgstr ""
"Код подверждения выслан на мобильный номер, который вы добавили. Посмотрите "
"Ваши входящие сообщения (и папку для спама тоже!) для нахождения этого кода "
"и инструкций по его использованию."
"Код подтверждения выслан на мобильный номер, который вы добавили. "
"Посмотрите Ваши входящие сообщения (и папку для спама тоже!) для нахождения "
"этого кода и инструкций по его использованию."
#: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
#: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@ -284,7 +284,7 @@ msgstr ""
#: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
#: actions/twitapiusers.php:32
msgid "API method not found!"
msgstr "API-метод не найден!"
msgstr "Метод API не найден!"
#: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
#: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
@ -307,7 +307,7 @@ msgstr "API-метод не найден!"
#: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
#: actions/twitapistatuses.php:562
msgid "API method under construction."
msgstr "API-метод реконструируется"
msgstr "Метод API реконструируется."
#: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
msgid "About"
@ -437,7 +437,6 @@ msgid "Awaiting confirmation on this phone number."
msgstr "В ожидании подтверждения данного номера телефона."
#: ../lib/util.php:1318 lib/util.php:1452
#, fuzzy
msgid "Before »"
msgstr "Ранее »"
@ -463,7 +462,7 @@ msgstr "Не удаётся удалить эту заметку."
#: actions/updateprofile.php:123
#, php-format
msgid "Can't read avatar URL '%s'"
msgstr "Не удается прочитать URL для '%s'"
msgstr "Не удается прочитать URL аватары из '%s'"
#: ../actions/password.php:85 ../actions/recoverpassword.php:300
#: actions/profilesettings.php:404 actions/recoverpassword.php:313
@ -2899,7 +2898,9 @@ msgstr ""
msgid ""
"%1$s has invited you to join them on %2$s (%3$s).\n"
"\n"
msgstr "%1$s приглашает вас присоединиться к %2$s (%3$s)."
msgstr ""
"%1$s приглашает вас присоединиться к %2$s (%3$s).\n"
"\n"
#: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
#: actions/register.php:416
@ -3142,7 +3143,9 @@ msgstr "%s добавил Вашу заметку в состав своих л
msgid ""
"%1$s just added your notice from %2$s as one of their favorites.\n"
"\n"
msgstr "%1$s добавил Вашу заметку от %2$s в состав своих любимых."
msgstr ""
"%1$s добавил Вашу заметку от %2$s в состав своих любимых.\n"
"\n"
#: actions/twittersettings.php:27
msgid ""
@ -3267,7 +3270,7 @@ msgstr "Простите, эта команда ещё не выполнена."
#: classes/Command.php:96 classes/Command.php:113
#, php-format
msgid "Subscriptions: %1$s\n"
msgstr "Подписки: %1$s"
msgstr "Подписки: %1$s\n"
#: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
#: classes/Command.php:276
@ -3358,7 +3361,7 @@ msgstr "Есть оповещение."
#: classes/Command.php:344 classes/Command.php:392
msgid "Commands:\n"
msgstr "Команды:"
msgstr "Команды:\n"
#: classes/Message.php:53 classes/Message.php:56
msgid "Could not insert message."
@ -3377,7 +3380,9 @@ msgstr "Пользователь без соответствующего про
msgid ""
"You have a new posting address on %1$s.\n"
"\n"
msgstr "У Вас новый адрес постинга на %1$s."
msgstr ""
"У Вас новый адрес постинга на %1$s.\n"
"\n"
#: lib/mail.php:249 lib/mail.php:508
#, php-format
@ -3389,7 +3394,9 @@ msgstr "Новое приватное сообщение от %s"
msgid ""
"%1$s (%2$s) sent you a private message:\n"
"\n"
msgstr "%1$s (%2$s) послал Вам приватное сообщение:"
msgstr ""
"%1$s (%2$s) послал Вам приватное сообщение:\n"
"\n"
#: lib/mailbox.php:43 lib/mailbox.php:89
msgid "Only the user can read their own mailboxes."
@ -3557,7 +3564,7 @@ msgstr ""
#: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
#: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
msgid "Inboxes must be enabled for groups to work"
msgstr ""
msgstr "Входящие должны быть включены для работы групп"
#: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
#, fuzzy
@ -3834,12 +3841,12 @@ msgstr ""
#: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
#: lib/subgroupnav.php:96
msgid "Groups"
msgstr ""
msgstr "Группы"
#: actions/groups.php:64
#, php-format
msgid "Groups, page %d"
msgstr ""
msgstr "Группы, страница %d"
#: actions/groups.php:90
#, php-format
@ -3849,19 +3856,19 @@ msgstr ""
#: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
#, fuzzy
msgid "Create a new group"
msgstr "Создать новую учетную запись"
msgstr "Создать новую группу"
#: actions/groupsearch.php:57
#, fuzzy, php-format
msgid ""
"Search for groups on %%site.name%% by their name, location, or description. "
msgstr ""
"поиск людей на %%site.name%% по их имени, месту жительства или интересам."
"поиск людей на %%site.name%% по их имени, месту жительства или описанию."
#: actions/groupsearch.php:63
#, fuzzy
msgid "Group search"
msgstr "Поиск людей"
msgstr "Поиск групп"
#: actions/imsettings.php:70
#, fuzzy
@ -3871,7 +3878,7 @@ msgstr "Вы не можете послать сообщение этому по
#: actions/imsettings.php:120
#, php-format
msgid "Jabber or GTalk address, "
msgstr ""
msgstr "Адрес Jabber или GTalk, "
#: actions/imsettings.php:147
#, fuzzy
@ -3881,19 +3888,17 @@ msgstr "Посылать мне заметки через Jabber/GTalk."
#: actions/imsettings.php:321
#, fuzzy, php-format
msgid "A confirmation code was sent "
msgstr "Нет кода подтверждения."
msgstr "Код подтверждения отправлен"
#: actions/joingroup.php:65
#, fuzzy
msgid "You must be logged in to join a group."
msgstr ""
"Вы должны авторизоваться, чтобы приглашать других пользователей следовать за "
"%s"
msgstr "Вы должны авторизоваться для вступления в группу."
#: actions/joingroup.php:95
#, fuzzy
msgid "You are already a member of that group"
msgstr "Вы уже подписаны на пользователя:"
msgstr "Вы уже являетесь членом этой группы"
#: actions/joingroup.php:128
#, fuzzy, php-format
@ -3904,11 +3909,11 @@ msgstr ""
#: actions/joingroup.php:135
#, fuzzy, php-format
msgid "%s joined group %s"
msgstr "%s / Любимое от %s"
msgstr "%s / вступил в группу %s"
#: actions/leavegroup.php:60
msgid "Inboxes must be enabled for groups to work."
msgstr ""
msgstr "Входящие должны быть включены для работы групп."
#: actions/leavegroup.php:65
#, fuzzy
@ -3920,37 +3925,36 @@ msgstr ""
#: actions/leavegroup.php:88
#, fuzzy
msgid "No such group."
msgstr "Нет такого тега."
msgstr "Нет такой группы."
#: actions/leavegroup.php:95
#, fuzzy
msgid "You are not a member of that group."
msgstr "Вы не подписаны на этот профиль."
msgstr "Вы не являетесь членом этой группы."
#: actions/leavegroup.php:100
#, fuzzy
msgid "You may not leave a group while you are its administrator."
msgstr "Вы не можете удалять статус других пользователей."
msgstr "Вы не можете покинуть группу, пока являетесь её администратором."
#: actions/leavegroup.php:130
#, fuzzy
msgid "Could not find membership record."
msgstr "Не удаётся обновить пользовательскую запись."
msgstr "Не удаётся найти учетную запись."
#: actions/leavegroup.php:138
#, fuzzy, php-format
msgid "Could not remove user %s to group %s"
msgstr ""
"Не удаётся следовать пользователю, т.к. такого пользователя не существует."
msgstr "Не удаётся удалить пользователя %s из группы %s"
#: actions/leavegroup.php:145
#, php-format
msgid "%s left group %s"
msgstr ""
msgstr "%s покинул группу %s"
#: actions/login.php:225 lib/facebookaction.php:304
msgid "Login to site"
msgstr ""
msgstr "Авторизоваться"
#: actions/microsummary.php:69
msgid "No current status"
@ -3958,32 +3962,32 @@ msgstr "Нет текущего статуса"
#: actions/newgroup.php:53
msgid "New group"
msgstr ""
msgstr "Новая группа"
#: actions/newgroup.php:115
#, fuzzy
msgid "Use this form to create a new group."
msgstr "При помощи этой формы Вы можете создать новый счёт."
msgstr "Используйте эту форму для создания новой группы."
#: actions/newgroup.php:177
#, fuzzy
msgid "Could not create group."
msgstr "Не удаётся создать любимую заметку."
msgstr "Не удаётся создать группу."
#: actions/newgroup.php:191
#, fuzzy
msgid "Could not set group membership."
msgstr "Не удаётся сохранить подписку."
msgstr "Не удаётся назначить членство в группе."
#: actions/newmessage.php:119 actions/newnotice.php:132
#, fuzzy
msgid "That's too long. "
msgstr "Это слишком большой файл."
msgstr "Это слишком длинно."
#: actions/newmessage.php:134
#, fuzzy
msgid "Don't send a message to yourself; "
msgstr "Вы не можете послать сообщение этому пользователю."
msgstr "Вы не можете послать сообщение самому себе."
#: actions/newnotice.php:166
msgid "Notice posted"
@ -3991,7 +3995,7 @@ msgstr "Заметка опубликована"
#: actions/newnotice.php:200 classes/Channel.php:163
msgid "Ajax Error"
msgstr "Ошибка Аякса"
msgstr "Ошибка AJAX"
#: actions/nudge.php:85
msgid ""
@ -4576,29 +4580,29 @@ msgstr ""
#: lib/action.php:325
msgid "Search for people or text"
msgstr ""
msgstr "Искать людей или текст"
#: lib/action.php:328
#, fuzzy
msgid "Account"
msgstr "О проекте"
msgstr "Аккаунт"
#: lib/action.php:328
#, fuzzy
msgid "Change your email, avatar, password, profile"
msgstr "Изменить Ваш пароль"
msgstr "Изменить Ваш email, аватару, пароль, профиль"
#: lib/action.php:330
msgid "Connect to IM, SMS, Twitter"
msgstr ""
msgstr "Соединиться с IM, SMS, Twitter"
#: lib/action.php:332
msgid "Logout from the site"
msgstr ""
msgstr "Выйти"
#: lib/action.php:335
msgid "Login to the site"
msgstr ""
msgstr "Войти"
#: lib/action.php:338
#, fuzzy
@ -4608,7 +4612,7 @@ msgstr "Создать новую учетную запись"
#: lib/action.php:341
#, fuzzy
msgid "Login with OpenID"
msgstr "Нет такого OpenID."
msgstr "Войти с OpenID"
#: lib/action.php:344
#, fuzzy
@ -4645,7 +4649,7 @@ msgstr "Все"
#: lib/action.php:635
msgid "license."
msgstr ""
msgstr "лицензия."
#: lib/blockform.php:123 lib/blockform.php:153
#, fuzzy
@ -4683,7 +4687,7 @@ msgstr "%s любимые заметки"
#: lib/feedlist.php:64
msgid "Export data"
msgstr ""
msgstr "Экспорт данных"
#: lib/galleryaction.php:121
msgid "Filter tags"
@ -4703,7 +4707,7 @@ msgstr "Выберите тег из выпадающего списка"
#: lib/galleryaction.php:139
msgid "Go"
msgstr "Идти"
msgstr "Перейти"
#: lib/groupeditform.php:148
#, fuzzy
@ -4713,7 +4717,7 @@ msgstr "Адрес твоей страницы, дневника или проф
#: lib/groupeditform.php:151
#, fuzzy
msgid "Description"
msgstr "Подписки"
msgstr "Описание"
#: lib/groupeditform.php:153
#, fuzzy
@ -4747,15 +4751,15 @@ msgstr "Выход"
#: lib/groupnav.php:107
#, php-format
msgid "Add or edit %s logo"
msgstr ""
msgstr "Добавить или изменить логотип %s"
#: lib/groupsbymemberssection.php:71
msgid "Groups with most members"
msgstr ""
msgstr "Группы с наибольшим количеством участников"
#: lib/groupsbypostssection.php:71
msgid "Groups with most posts"
msgstr ""
msgstr "Группы с наибольшим количеством сообщений"
#: lib/grouptagcloudsection.php:56
#, php-format
@ -4775,12 +4779,12 @@ msgstr "Авторизация"
#: lib/leaveform.php:114
#, fuzzy
msgid "Leave"
msgstr "Сохранить"
msgstr "Выйти"
#: lib/logingroupnav.php:76
#, fuzzy
msgid "Login with a username and password"
msgstr "Авторизация с Вашим именем и паролем."
msgstr "Войти с Вашим именем и паролем."
#: lib/logingroupnav.php:79
#, fuzzy
@ -4789,7 +4793,7 @@ msgstr "Создать новую учетную запись"
#: lib/logingroupnav.php:82
msgid "Login or register with OpenID"
msgstr ""
msgstr "Войти или зарегистрироваться с OpenID"
#: lib/mail.php:175
#, php-format
@ -4797,6 +4801,8 @@ msgid ""
"Hey, %s.\n"
"\n"
msgstr ""
"Привет, %s.\n"
"\n"
#: lib/mail.php:236
#, fuzzy, php-format
@ -4870,7 +4876,7 @@ msgstr "Не удаётся удалить эту заметку."
#: lib/noticelist.php:451
#, fuzzy
msgid "Reply"
msgstr "ответить"
msgstr "Ответить"
#: lib/noticelist.php:471 lib/noticelist.php:474
#, fuzzy
@ -4912,7 +4918,7 @@ msgstr "Публичное"
#: lib/publicgroupnav.php:80
msgid "User groups"
msgstr ""
msgstr "Группы пользователя"
#: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
msgid "Recent tags"
@ -4934,7 +4940,7 @@ msgstr "Заметки"
#: lib/searchgroupnav.php:85
#, fuzzy
msgid "Find groups on this site"
msgstr "Найти человека на этом сайте"
msgstr "Найти группы на этом сайте"
#: lib/section.php:89
msgid "Untitled section"

Binary file not shown.

View File

@ -3,20 +3,18 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2009-02-03 18:51+0000\n"
"Last-Translator: Håkan Eriksson <eriksson@utryckning.se>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"#-#-#-#-# laconica.pot (PACKAGE VERSION) #-#-#-#-#\n"
"#-#-#-#-# laconica.new.pot (PACKAGE VERSION) #-#-#-#-#\n"
"X-Generator: Pootle 1.1.0\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
@ -160,7 +158,7 @@ msgstr "%s med vänner"
#: actions/twitapistatuses.php:33
#, php-format
msgid "%s public timeline"
msgstr "%s publika tidslinje"
msgstr "%s publik tidslinje"
#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
#, php-format

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -3,12 +3,13 @@ msgstr ""
"Project-Id-Version: laconica\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: \n"
"Last-Translator: LienNguyen <lien.nguyen@anhone.vn>\n"
"Language-Team: <support@saigonica.com>\n"
"PO-Revision-Date: 2009-01-31 05:21+0000\n"
"Last-Translator: Tuan Nguyen <group3t@gmail.com>\n"
"Language-Team: <support@saigonica.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Pootle 1.1.0\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-Language: English\n"
"X-Poedit-Country: NEW ZEALAND\n"
@ -4934,7 +4935,7 @@ msgstr "còn nữa..."
#: lib/noticelist.php:447 lib/noticelist.php:450
#, fuzzy
msgid "Reply to this notice"
msgstr "cảnh báo tin nhắn"
msgstr "Trả lời tin nhắn này"
#: lib/noticelist.php:451
msgid "Reply"

Binary file not shown.

View File

@ -8,12 +8,13 @@ msgstr ""
"Project-Id-Version: identi.ca\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2008-12-16 21:31+0800\n"
"Last-Translator: Yuan Yijun <bbbush.yuan@gmail.com>\n"
"PO-Revision-Date: 2009-02-11 07:27+0000\n"
"Last-Translator: zhangfei <zhangfeisky@126.com>\n"
"Language-Team: i18n-zh <i18n-zh@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Pootle 1.1.0\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
@ -4642,7 +4643,7 @@ msgstr "这个页面不提供您想要的媒体类型"
#: lib/joinform.php:114
#, fuzzy
msgid "Join"
msgstr "登录"
msgstr "加入"
#: lib/leaveform.php:114
#, fuzzy
@ -4784,7 +4785,7 @@ msgstr ""
#: lib/publicgroupnav.php:80
msgid "User groups"
msgstr ""
msgstr "用户组"
#: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
#, fuzzy
@ -4793,7 +4794,7 @@ msgstr "最近的标签"
#: lib/publicgroupnav.php:86
msgid "Featured"
msgstr ""
msgstr "特征"
#: lib/publicgroupnav.php:90
#, fuzzy

Binary file not shown.

View File

@ -3,18 +3,18 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2009-03-12 16:21+0000\n"
"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Pootle 1.1.0\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
@ -97,7 +97,7 @@ msgstr ""
"\n"
"\n"
"%4$s.\n"
"敬上。"
"敬上。\n"
#: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
#: actions/twitapistatuses.php:350

View File

@ -0,0 +1,104 @@
<?php
/**
* Laconica, the distributed open-source microblogging tool
*
* Plugin to use Piwik Analytics
*
* PHP version 5
*
* LICENCE: This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @category Plugin
* @package Laconica
* @author Evan Prodromou <evan@controlyourself.ca>
* @author Tobias Diekershoff <tobias.diekershoff@gmx.net>
* @copyright 2008 Control Yourself, Inc.
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://laconi.ca/
*/
if (!defined('LACONICA')) {
exit(1);
}
/**
* Plugin to use Piwik Analytics (based on the Google Analytics plugin by Evan)
*
* This plugin will spoot out the correct JavaScript spell to invoke
* Piwik Analytics on a page.
*
* To use this plugin please add the following three lines to your config.php
*
* require_once('plugins/PiwikAnalyticsPlugin.php');
* $pa = new PiwikAnalyticsPlugin("example.com/piwik/","id");
*
* exchange example.com/piwik/ with the url to your piwik installation and
* make sure you don't forget the final /
* exchange id with the ID your laconica installation has in your Piwik analytics
*
* @category Plugin
* @package Laconica
* @author Tobias Diekershoff <tobias.diekershoff@gmx.net>
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://laconi.ca/
*
* @see Event
*/
class PiwikAnalyticsPlugin extends Plugin
{
/** the base of your Piwik installation */
var $piwikroot = null;
/** the Piwik Id of your laconica installation */
var $piwikId = null;
/**
* constructor
*
* @param string $root Piwik root URL
* @param string $id Piwik ID of this app
*/
function __construct($root=null, $id=null)
{
$this->piwikroot = $root;
$this->piwikid = $id;
parent::__construct();
}
/**
* Called when all scripts have been shown
*
* @param Action $action Current action
*
* @return boolean ignored
*/
function onEndShowScripts($action)
{
$js1 = 'var pkBaseURL = (("https:" == document.location.protocol) ? "https://'.
$this->piwikroot.'" : "http://'.$this->piwikroot.
'"); document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\''.
' type=\'text/javascript\'%3E%3C/script%3E"));';
$js2 = 'piwik_action_name = ""; piwik_idsite = '.$this->piwikid.
'; piwik_url = pkBaseURL + "piwik.php"; piwik_log(piwik_action_name, piwik_idsite, piwik_url);';
$action->elementStart('script', array('type' => 'text/javascript'));
$action->raw($js1);
$action->elementEnd('script');
$action->elementStart('script', array('type' => 'text/javascript'));
$action->raw($js2);
$action->elementEnd('script');
return true;
}
}

View File

@ -34,7 +34,7 @@ require_once(INSTALLDIR . '/lib/queuehandler.php');
set_error_handler('common_error_handler');
class PingQueueHandler extends QueueHandler {
function transport() {
return 'ping';
}
@ -47,7 +47,7 @@ class PingQueueHandler extends QueueHandler {
function handle_notice($notice) {
return ping_broadcast_notice($notice);
}
function finish() {
}
}

View File

@ -150,7 +150,9 @@ font-weight:bold;
#form_openid_login legend,
#form_search legend,
#form_invite legend,
#form_notice_delete legend {
#form_notice_delete legend,
#form_password_recover legend,
#form_password_change legend {
display:none;
}