forked from GNUsocial/gnu-social
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
This commit is contained in:
commit
82033b3773
@ -100,11 +100,11 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction
|
||||
|
||||
function showTimeline()
|
||||
{
|
||||
$profile = $this->user->getProfile();
|
||||
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
|
||||
$profile = $this->user->getProfile();
|
||||
$avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
|
||||
|
||||
$sitename = common_config('site', 'name');
|
||||
$title = sprintf(
|
||||
$sitename = common_config('site', 'name');
|
||||
$title = sprintf(
|
||||
_('%1$s / Favorites from %2$s'),
|
||||
$sitename,
|
||||
$this->user->nickname
|
||||
@ -112,32 +112,69 @@ class ApiTimelineFavoritesAction extends ApiBareAuthAction
|
||||
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:Favorites:" . $this->user->id;
|
||||
$link = common_local_url(
|
||||
'favorites',
|
||||
array('nickname' => $this->user->nickname)
|
||||
);
|
||||
$subtitle = sprintf(
|
||||
|
||||
$subtitle = sprintf(
|
||||
_('%1$s updates favorited by %2$s / %2$s.'),
|
||||
$sitename,
|
||||
$profile->getBestName(),
|
||||
$this->user->nickname
|
||||
);
|
||||
$logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
$logo = !empty($avatar)
|
||||
? $avatar->displayUrl()
|
||||
: Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
|
||||
switch($this->format) {
|
||||
case 'xml':
|
||||
$this->showXmlTimeline($this->notices);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo);
|
||||
$link = common_local_url(
|
||||
'showfavorites',
|
||||
array('nickname' => $this->user->nickname)
|
||||
);
|
||||
$this->showRssTimeline(
|
||||
$this->notices,
|
||||
$title,
|
||||
$link,
|
||||
$subtitle,
|
||||
null,
|
||||
$logo
|
||||
);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() .
|
||||
ltrim($_SERVER['QUERY_STRING'], 'p=');
|
||||
$this->showAtomTimeline(
|
||||
$this->notices, $title, $id, $link, $subtitle,
|
||||
null, $selfuri, $logo
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'showfavorites',
|
||||
array('nickname' => $this->user->nickname)
|
||||
)
|
||||
);
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineFavorites', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -114,39 +114,71 @@ class ApiTimelineFriendsAction extends ApiBareAuthAction
|
||||
$title = sprintf(_("%s and friends"), $this->user->nickname);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:FriendsTimeline:" . $this->user->id;
|
||||
$link = common_local_url(
|
||||
'all', array('nickname' => $this->user->nickname)
|
||||
);
|
||||
$subtitle = sprintf(
|
||||
_('Updates from %1$s and friends on %2$s!'),
|
||||
$this->user->nickname, $sitename
|
||||
);
|
||||
$logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
|
||||
$subtitle = sprintf(
|
||||
_('Updates from %1$s and friends on %2$s!'),
|
||||
$this->user->nickname, $sitename
|
||||
);
|
||||
|
||||
$logo = (!empty($avatar))
|
||||
? $avatar->displayUrl()
|
||||
: Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
|
||||
switch($this->format) {
|
||||
case 'xml':
|
||||
$this->showXmlTimeline($this->notices);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo);
|
||||
|
||||
$link = common_local_url(
|
||||
'all', array(
|
||||
'nickname' => $this->user->nickname
|
||||
)
|
||||
);
|
||||
|
||||
$this->showRssTimeline(
|
||||
$this->notices,
|
||||
$title,
|
||||
$link,
|
||||
$subtitle,
|
||||
null,
|
||||
$logo
|
||||
);
|
||||
break;
|
||||
case 'atom':
|
||||
|
||||
$target_id = $this->arg('id');
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
if (isset($target_id)) {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statuses/friends_timeline/' .
|
||||
$target_id . '.atom';
|
||||
} else {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statuses/friends_timeline.atom';
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'all',
|
||||
array('nickname' => $this->user->nickname)
|
||||
)
|
||||
);
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$this->showAtomTimeline(
|
||||
$this->notices, $title, $id, $link,
|
||||
$subtitle, null, $selfuri, $logo
|
||||
);
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineFriends', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -109,38 +109,70 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
|
||||
$title = sprintf(_("%s timeline"), $this->group->nickname);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:GroupTimeline:" . $this->group->id;
|
||||
$link = common_local_url(
|
||||
'showgroup',
|
||||
array('nickname' => $this->group->nickname)
|
||||
);
|
||||
|
||||
$subtitle = sprintf(
|
||||
_('Updates from %1$s on %2$s!'),
|
||||
$this->group->nickname,
|
||||
$sitename
|
||||
);
|
||||
$logo = ($avatar) ? $avatar : User_group::defaultLogo(AVATAR_PROFILE_SIZE);
|
||||
|
||||
$logo = ($avatar) ? $avatar : User_group::defaultLogo(AVATAR_PROFILE_SIZE);
|
||||
|
||||
switch($this->format) {
|
||||
case 'xml':
|
||||
$this->showXmlTimeline($this->notices);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() .
|
||||
'api/statusnet/groups/timeline/' .
|
||||
$this->group->nickname . '.atom';
|
||||
$this->showAtomTimeline(
|
||||
$this->showRssTimeline(
|
||||
$this->notices,
|
||||
$title,
|
||||
$id,
|
||||
$link,
|
||||
$this->group->homeUrl(),
|
||||
$subtitle,
|
||||
null,
|
||||
$selfuri,
|
||||
$logo
|
||||
);
|
||||
break;
|
||||
case 'atom':
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
try {
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addAuthorRaw($this->group->asAtomAuthor());
|
||||
$atom->setActivitySubject($this->group->asActivitySubject());
|
||||
|
||||
$atom->addLink($this->group->homeUrl());
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineGroup', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
|
||||
$this->raw($atom->getString());
|
||||
|
||||
} catch (Atom10FeedException $e) {
|
||||
$this->serverError(
|
||||
'Could not generate feed for group - ' . $e->getMessage()
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -115,39 +115,67 @@ class ApiTimelineHomeAction extends ApiBareAuthAction
|
||||
$title = sprintf(_("%s and friends"), $this->user->nickname);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:HomeTimeline:" . $this->user->id;
|
||||
$link = common_local_url(
|
||||
'all', array('nickname' => $this->user->nickname)
|
||||
);
|
||||
|
||||
$subtitle = sprintf(
|
||||
_('Updates from %1$s and friends on %2$s!'),
|
||||
$this->user->nickname, $sitename
|
||||
);
|
||||
$logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
|
||||
$logo = (!empty($avatar))
|
||||
? $avatar->displayUrl()
|
||||
: Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
|
||||
switch($this->format) {
|
||||
case 'xml':
|
||||
$this->showXmlTimeline($this->notices);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo);
|
||||
$link = common_local_url(
|
||||
'all',
|
||||
array('nickname' => $this->user->nickname)
|
||||
);
|
||||
$this->showRssTimeline(
|
||||
$this->notices,
|
||||
$title,
|
||||
$link,
|
||||
$subtitle,
|
||||
null,
|
||||
$logo
|
||||
);
|
||||
break;
|
||||
case 'atom':
|
||||
|
||||
$target_id = $this->arg('id');
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
if (isset($target_id)) {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statuses/home_timeline/' .
|
||||
$target_id . '.atom';
|
||||
} else {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statuses/home_timeline.atom';
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'all',
|
||||
array('nickname' => $this->user->nickname)
|
||||
)
|
||||
);
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$this->showAtomTimeline(
|
||||
$this->notices, $title, $id, $link,
|
||||
$subtitle, null, $selfuri, $logo
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineHome', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -137,12 +137,36 @@ class ApiTimelineMentionsAction extends ApiBareAuthAction
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $logo);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() .
|
||||
ltrim($_SERVER['QUERY_STRING'], 'p=');
|
||||
$this->showAtomTimeline(
|
||||
$this->notices, $title, $id, $link, $subtitle,
|
||||
null, $selfuri, $logo
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'replies',
|
||||
array('nickname' => $this->user->nickname)
|
||||
)
|
||||
);
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineMentions', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -75,6 +75,10 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction
|
||||
|
||||
$this->notices = $this->getNotices();
|
||||
|
||||
if ($this->since) {
|
||||
throw new ServerException("since parameter is disabled for performance; use since_id", 403);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -118,11 +122,28 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $sitelogo);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() . 'api/statuses/public_timeline.atom';
|
||||
$this->showAtomTimeline(
|
||||
$this->notices, $title, $id, $link,
|
||||
$subtitle, null, $selfuri, $sitelogo
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($sitelogo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(common_local_url('public'));
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri(
|
||||
'ApiTimelinePublic', array('format' => 'atom')
|
||||
),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
@ -145,7 +166,7 @@ class ApiTimelinePublicAction extends ApiPrivateAuthAction
|
||||
|
||||
$notice = Notice::publicStream(
|
||||
($this->page - 1) * $this->count, $this->count, $this->since_id,
|
||||
$this->max_id, $this->since
|
||||
$this->max_id
|
||||
);
|
||||
|
||||
while ($notice->fetch()) {
|
||||
|
@ -99,6 +99,8 @@ class ApiTimelineRetweetsOfMeAction extends ApiAuthAction
|
||||
|
||||
$strm = $this->auth_user->repeatsOfMe($offset, $limit, $this->since_id, $this->max_id);
|
||||
|
||||
common_debug(var_export($strm, true));
|
||||
|
||||
switch ($this->format) {
|
||||
case 'xml':
|
||||
$this->showXmlTimeline($strm);
|
||||
@ -112,10 +114,38 @@ class ApiTimelineRetweetsOfMeAction extends ApiAuthAction
|
||||
$title = sprintf(_("Repeats of %s"), $this->auth_user->nickname);
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$id = "tag:$taguribase:RepeatsOfMe:" . $this->auth_user->id;
|
||||
$link = common_local_url('showstream',
|
||||
array('nickname' => $this->auth_user->nickname));
|
||||
|
||||
$this->showAtomTimeline($strm, $title, $id, $link);
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'showstream',
|
||||
array('nickname' => $this->auth_user->nickname)
|
||||
)
|
||||
);
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineRetweetsOfMe', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($strm);
|
||||
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -100,10 +100,6 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction
|
||||
$sitename = common_config('site', 'name');
|
||||
$sitelogo = (common_config('site', 'logo')) ? common_config('site', 'logo') : Theme::path('logo.png');
|
||||
$title = sprintf(_("Notices tagged with %s"), $this->tag);
|
||||
$link = common_local_url(
|
||||
'tag',
|
||||
array('tag' => $this->tag)
|
||||
);
|
||||
$subtitle = sprintf(
|
||||
_('Updates tagged with %1$s on %2$s!'),
|
||||
$this->tag,
|
||||
@ -117,22 +113,51 @@ class ApiTimelineTagAction extends ApiPrivateAuthAction
|
||||
$this->showXmlTimeline($this->notices);
|
||||
break;
|
||||
case 'rss':
|
||||
$this->showRssTimeline($this->notices, $title, $link, $subtitle, null, $sitelogo);
|
||||
break;
|
||||
case 'atom':
|
||||
$selfuri = common_root_url() .
|
||||
'api/statusnet/tags/timeline/' .
|
||||
$this->tag . '.atom';
|
||||
$this->showAtomTimeline(
|
||||
$link = common_local_url(
|
||||
'tag',
|
||||
array('tag' => $this->tag)
|
||||
);
|
||||
$this->showRssTimeline(
|
||||
$this->notices,
|
||||
$title,
|
||||
$id,
|
||||
$link,
|
||||
$subtitle,
|
||||
null,
|
||||
$selfuri,
|
||||
$sitelogo
|
||||
);
|
||||
break;
|
||||
case 'atom':
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'tag',
|
||||
array('tag' => $this->tag)
|
||||
)
|
||||
);
|
||||
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($this->tag)) {
|
||||
$aargs['tag'] = $this->tag;
|
||||
}
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineTag', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -145,18 +145,47 @@ class ApiTimelineUserAction extends ApiBareAuthAction
|
||||
);
|
||||
break;
|
||||
case 'atom':
|
||||
if (isset($apidata['api_arg'])) {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statuses/user_timeline/' .
|
||||
$apidata['api_arg'] . '.atom';
|
||||
} else {
|
||||
$selfuri = common_root_url() .
|
||||
'api/statuses/user_timeline.atom';
|
||||
}
|
||||
$this->showAtomTimeline(
|
||||
$this->notices, $title, $id, $link,
|
||||
$subtitle, $suplink, $selfuri, $logo
|
||||
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
|
||||
$atom = new AtomNoticeFeed();
|
||||
|
||||
$atom->setId($id);
|
||||
$atom->setTitle($title);
|
||||
$atom->setSubtitle($subtitle);
|
||||
$atom->setLogo($logo);
|
||||
$atom->setUpdated('now');
|
||||
|
||||
$atom->addLink(
|
||||
common_local_url(
|
||||
'showstream',
|
||||
array('nickname' => $this->user->nickname)
|
||||
)
|
||||
);
|
||||
|
||||
$id = $this->arg('id');
|
||||
$aargs = array('format' => 'atom');
|
||||
if (!empty($id)) {
|
||||
$aargs['id'] = $id;
|
||||
}
|
||||
|
||||
$atom->addLink(
|
||||
$this->getSelfUri('ApiTimelineUser', $aargs),
|
||||
array('rel' => 'self', 'type' => 'application/atom+xml')
|
||||
);
|
||||
|
||||
$atom->addLink(
|
||||
$suplink,
|
||||
array(
|
||||
'rel' => 'http://api.friendfeed.com/2008/03#sup',
|
||||
'type' => 'application/json'
|
||||
)
|
||||
);
|
||||
|
||||
$atom->addEntryFromNotices($this->notices);
|
||||
|
||||
$this->raw($atom->getString());
|
||||
|
||||
break;
|
||||
case 'json':
|
||||
$this->showJsonTimeline($this->notices);
|
||||
|
@ -277,7 +277,7 @@ class EditApplicationAction extends OwnerDesignAction
|
||||
function nameExists($name)
|
||||
{
|
||||
$newapp = Oauth_application::staticGet('name', $name);
|
||||
if (!$newapp) {
|
||||
if (empty($newapp)) {
|
||||
return false;
|
||||
} else {
|
||||
return $newapp->id != $this->app->id;
|
||||
|
@ -192,7 +192,9 @@ class GroupMemberListItem extends ProfileListItem
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
if (!empty($user) && $user->id != $this->profile->id && $user->isAdmin($this->group) &&
|
||||
if (!empty($user) &&
|
||||
$user->id != $this->profile->id &&
|
||||
($user->isAdmin($this->group) || $user->hasRight(Right::MAKEGROUPADMIN)) &&
|
||||
!$this->profile->isAdmin($this->group)) {
|
||||
$this->out->elementStart('li', 'entity_make_admin');
|
||||
$maf = new MakeAdminForm($this->out, $this->profile, $this->group,
|
||||
|
@ -87,7 +87,8 @@ class MakeadminAction extends Action
|
||||
return false;
|
||||
}
|
||||
$user = common_current_user();
|
||||
if (!$user->isAdmin($this->group)) {
|
||||
if (!$user->isAdmin($this->group) &&
|
||||
!$user->hasRight(Right::MAKEGROUPADMIN)) {
|
||||
$this->clientError(_('Only an admin can make another user an admin.'), 401);
|
||||
return false;
|
||||
}
|
||||
|
@ -290,7 +290,7 @@ class NewApplicationAction extends OwnerDesignAction
|
||||
function nameExists($name)
|
||||
{
|
||||
$app = Oauth_application::staticGet('name', $name);
|
||||
return ($app !== false);
|
||||
return !empty($app);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -330,13 +330,13 @@ class ShowgroupAction extends GroupDesignAction
|
||||
new Feed(Feed::RSS2,
|
||||
common_local_url('ApiTimelineGroup',
|
||||
array('format' => 'rss',
|
||||
'id' => $this->group->nickname)),
|
||||
'id' => $this->group->id)),
|
||||
sprintf(_('Notice feed for %s group (RSS 2.0)'),
|
||||
$this->group->nickname)),
|
||||
new Feed(Feed::ATOM,
|
||||
common_local_url('ApiTimelineGroup',
|
||||
array('format' => 'atom',
|
||||
'id' => $this->group->nickname)),
|
||||
'id' => $this->group->id)),
|
||||
sprintf(_('Notice feed for %s group (Atom)'),
|
||||
$this->group->nickname)),
|
||||
new Feed(Feed::FOAF,
|
||||
|
@ -131,14 +131,14 @@ class ShowstreamAction extends ProfileAction
|
||||
new Feed(Feed::RSS2,
|
||||
common_local_url('ApiTimelineUser',
|
||||
array(
|
||||
'id' => $this->user->nickname,
|
||||
'id' => $this->user->id,
|
||||
'format' => 'rss')),
|
||||
sprintf(_('Notice feed for %s (RSS 2.0)'),
|
||||
$this->user->nickname)),
|
||||
new Feed(Feed::ATOM,
|
||||
common_local_url('ApiTimelineUser',
|
||||
array(
|
||||
'id' => $this->user->nickname,
|
||||
'id' => $this->user->id,
|
||||
'format' => 'atom')),
|
||||
sprintf(_('Notice feed for %s (Atom)'),
|
||||
$this->user->nickname)),
|
||||
|
@ -363,7 +363,7 @@ class Memcached_DataObject extends DB_DataObject
|
||||
$cached[] = clone($inst);
|
||||
}
|
||||
$inst->free();
|
||||
$c->set($ckey, $cached, MEMCACHE_COMPRESSED, $expiry);
|
||||
$c->set($ckey, $cached, Cache::COMPRESSED, $expiry);
|
||||
return new ArrayWrapper($cached);
|
||||
}
|
||||
|
||||
|
@ -22,4 +22,19 @@ class Nonce extends Memcached_DataObject
|
||||
|
||||
/* the code above is auto generated do not remove the tag below */
|
||||
###END_AUTOCODE
|
||||
|
||||
/**
|
||||
* Compatibility hack for PHP 5.3
|
||||
*
|
||||
* The statusnet.links.ini entry cannot be read because "," is no longer
|
||||
* allowed in key names when read by parse_ini_file().
|
||||
*
|
||||
* @return array
|
||||
* @access public
|
||||
*/
|
||||
function links()
|
||||
{
|
||||
return array('consumer_key,token' => 'token:consumer_key,token');
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -783,7 +783,7 @@ class Notice extends Memcached_DataObject
|
||||
|
||||
$result = $gi->insert();
|
||||
|
||||
if (!result) {
|
||||
if (!$result) {
|
||||
common_log_db_error($gi, 'INSERT', __FILE__);
|
||||
throw new ServerException(_('Problem saving group inbox.'));
|
||||
}
|
||||
@ -917,7 +917,7 @@ class Notice extends Memcached_DataObject
|
||||
/**
|
||||
* Same calculation as saveGroups but without the saving
|
||||
* @fixme merge the functions
|
||||
* @return array of Group objects
|
||||
* @return array of Group_inbox objects
|
||||
*/
|
||||
function getGroups()
|
||||
{
|
||||
@ -957,7 +957,10 @@ class Notice extends Memcached_DataObject
|
||||
|
||||
if ($namespace) {
|
||||
$attrs = array('xmlns' => 'http://www.w3.org/2005/Atom',
|
||||
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0');
|
||||
'xmlns:thr' => 'http://purl.org/syndication/thread/1.0',
|
||||
'xmlns:georss' => 'http://www.georss.org/georss',
|
||||
'xmlns:activity' => 'http://activitystrea.ms/spec/1.0/',
|
||||
'xmlns:ostatus' => 'http://ostatus.org/schema/1.0');
|
||||
} else {
|
||||
$attrs = array();
|
||||
}
|
||||
@ -983,11 +986,6 @@ class Notice extends Memcached_DataObject
|
||||
$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');
|
||||
}
|
||||
@ -995,6 +993,9 @@ class Notice extends Memcached_DataObject
|
||||
$xs->element('title', null, $this->content);
|
||||
$xs->element('summary', null, $this->content);
|
||||
|
||||
$xs->raw($profile->asAtomAuthor());
|
||||
$xs->raw($profile->asActivityActor());
|
||||
|
||||
$xs->element('link', array('rel' => 'alternate',
|
||||
'href' => $this->bestUrl()));
|
||||
|
||||
@ -1014,6 +1015,43 @@ class Notice extends Memcached_DataObject
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($this->conversation)
|
||||
&& $this->conversation != $this->id) {
|
||||
$xs->element(
|
||||
'link', array(
|
||||
'rel' => 'ostatus:conversation',
|
||||
'href' => common_local_url(
|
||||
'conversation',
|
||||
array('id' => $this->conversation)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$reply_ids = $this->getReplies();
|
||||
|
||||
foreach ($reply_ids as $id) {
|
||||
$profile = Profile::staticGet('id', $id);
|
||||
if (!empty($profile)) {
|
||||
$xs->element(
|
||||
'link', array(
|
||||
'rel' => 'ostatus:attention',
|
||||
'href' => $profile->getAcctUri()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($this->repeat_of)) {
|
||||
$repeat = Notice::staticGet('id', $this->repeat_of);
|
||||
if (!empty($repeat)) {
|
||||
$xs->element(
|
||||
'ostatus:forward',
|
||||
array('ref' => $repeat->uri, 'href' => $repeat->bestUrl())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$xs->element('content', array('type' => 'html'), $this->rendered);
|
||||
|
||||
$tag = new Notice_tag();
|
||||
@ -1041,9 +1079,7 @@ class Notice extends Memcached_DataObject
|
||||
}
|
||||
|
||||
if (!empty($this->lat) && !empty($this->lon)) {
|
||||
$xs->elementStart('geo', array('xmlns:georss' => 'http://www.georss.org/georss'));
|
||||
$xs->element('georss:point', null, $this->lat . ' ' . $this->lon);
|
||||
$xs->elementEnd('geo');
|
||||
}
|
||||
|
||||
$xs->elementEnd('entry');
|
||||
@ -1176,6 +1212,10 @@ class Notice extends Memcached_DataObject
|
||||
// Figure out who that is.
|
||||
|
||||
$sender = Profile::staticGet('id', $profile_id);
|
||||
if (empty($sender)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$recipient = common_relative_profile($sender, $nickname, common_sql_now());
|
||||
|
||||
if (empty($recipient)) {
|
||||
|
@ -716,6 +716,7 @@ class Profile extends Memcached_DataObject
|
||||
switch ($right)
|
||||
{
|
||||
case Right::DELETEOTHERSNOTICE:
|
||||
case Right::MAKEGROUPADMIN:
|
||||
case Right::SANDBOXUSER:
|
||||
case Right::SILENCEUSER:
|
||||
case Right::DELETEUSER:
|
||||
@ -753,4 +754,89 @@ class Profile extends Memcached_DataObject
|
||||
|
||||
return !empty($notice);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an XML string fragment with limited profile information
|
||||
* as an Atom <author> element.
|
||||
*
|
||||
* Assumes that Atom has been previously set up as the base namespace.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function asAtomAuthor()
|
||||
{
|
||||
$xs = new XMLStringer(true);
|
||||
|
||||
$xs->elementStart('author');
|
||||
$xs->element('name', null, $this->nickname);
|
||||
$xs->element('uri', null, $this->profileurl);
|
||||
$xs->elementEnd('author');
|
||||
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an XML string fragment with profile information as an
|
||||
* Activity Streams <activity:actor> element.
|
||||
*
|
||||
* Assumes that 'activity' namespace has been previously defined.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function asActivityActor()
|
||||
{
|
||||
return $this->asActivityNoun('actor');
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an XML string fragment with profile information as an
|
||||
* Activity Streams noun object with the given element type.
|
||||
*
|
||||
* Assumes that 'activity' namespace has been previously defined.
|
||||
*
|
||||
* @param string $element one of 'actor', 'subject', 'object', 'target'
|
||||
* @return string
|
||||
*/
|
||||
function asActivityNoun($element)
|
||||
{
|
||||
$xs = new XMLStringer(true);
|
||||
|
||||
$xs->elementStart('activity:' . $element);
|
||||
$xs->element(
|
||||
'activity:object-type',
|
||||
null,
|
||||
'http://activitystrea.ms/schema/1.0/person'
|
||||
);
|
||||
$xs->element(
|
||||
'id',
|
||||
null,
|
||||
common_local_url(
|
||||
'userbyid',
|
||||
array('id' => $this->id)
|
||||
)
|
||||
);
|
||||
$xs->element('title', null, $this->getBestName());
|
||||
|
||||
$avatar = $this->getAvatar(AVATAR_PROFILE_SIZE);
|
||||
|
||||
$xs->element(
|
||||
'link', array(
|
||||
'type' => empty($avatar) ? 'image/png' : $avatar->mediatype,
|
||||
'href' => empty($avatar)
|
||||
? Avatar::defaultImage(AVATAR_PROFILE_SIZE)
|
||||
: $avatar->displayUrl()
|
||||
),
|
||||
''
|
||||
);
|
||||
|
||||
$xs->elementEnd('activity:' . $element);
|
||||
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
function getAcctUri()
|
||||
{
|
||||
return $this->nickname . '@' . common_config('site', 'server');
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -49,12 +49,12 @@ class User_group extends Memcached_DataObject
|
||||
array('id' => $this->id));
|
||||
}
|
||||
|
||||
function getNotices($offset, $limit)
|
||||
function getNotices($offset, $limit, $since_id=null, $max_id=null)
|
||||
{
|
||||
$ids = Notice::stream(array($this, '_streamDirect'),
|
||||
array(),
|
||||
'user_group:notice_ids:' . $this->id,
|
||||
$offset, $limit);
|
||||
$offset, $limit, $since_id, $max_id);
|
||||
|
||||
return Notice::getStreamByIds($ids);
|
||||
}
|
||||
@ -355,6 +355,39 @@ class User_group extends Memcached_DataObject
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
function asAtomAuthor()
|
||||
{
|
||||
$xs = new XMLStringer(true);
|
||||
|
||||
$xs->elementStart('author');
|
||||
$xs->element('name', null, $this->nickname);
|
||||
$xs->element('uri', null, $this->permalink());
|
||||
$xs->elementEnd('author');
|
||||
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
function asActivitySubject()
|
||||
{
|
||||
$xs = new XMLStringer(true);
|
||||
|
||||
$xs->elementStart('activity:subject');
|
||||
$xs->element('activity:object', null, 'http://activitystrea.ms/schema/1.0/group');
|
||||
$xs->element('id', null, $this->permalink());
|
||||
$xs->element('title', null, $this->getBestName());
|
||||
$xs->element(
|
||||
'link', array(
|
||||
'rel' => 'avatar',
|
||||
'href' => empty($this->homepage_logo)
|
||||
? User_group::defaultLogo(AVATAR_PROFILE_SIZE)
|
||||
: $this->homepage_logo
|
||||
)
|
||||
);
|
||||
$xs->elementEnd('activity:subject');
|
||||
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
static function register($fields) {
|
||||
|
||||
// MAGICALLY put fields into current scope
|
||||
|
@ -19,8 +19,11 @@ profile_id = profile:id
|
||||
[token]
|
||||
consumer_key = consumer:consumer_key
|
||||
|
||||
[nonce]
|
||||
consumer_key,token = token:consumer_key,token
|
||||
; Compatibility hack for PHP 5.3
|
||||
; This entry has been moved to the class definition, as commas are no longer
|
||||
; considered valid in keys, causing parse_ini_file() to reject the whole file.
|
||||
;[nonce]
|
||||
;consumer_key,token = token:consumer_key,token
|
||||
|
||||
[confirm_address]
|
||||
user_id = user:id
|
||||
|
48
js/util.js
48
js/util.js
@ -356,42 +356,44 @@ var SN = { // StatusNet
|
||||
},
|
||||
|
||||
NoticeRepeat: function() {
|
||||
$('.form_repeat').live('click', function() {
|
||||
SN.U.FormXHR($(this));
|
||||
$('.form_repeat').live('click', function(e) {
|
||||
e.preventDefault();
|
||||
|
||||
SN.U.NoticeRepeatConfirmation($(this));
|
||||
return false;
|
||||
});
|
||||
},
|
||||
|
||||
NoticeRepeatConfirmation: function(form) {
|
||||
function NRC() {
|
||||
form.closest('.notice-options').addClass('opaque');
|
||||
form.addClass('dialogbox');
|
||||
var submit_i = form.find('.submit');
|
||||
|
||||
form.append('<button class="close">×</button>');
|
||||
form.find('button.close').click(function(){
|
||||
$(this).remove();
|
||||
var submit = submit_i.clone();
|
||||
submit
|
||||
.addClass('submit_dialogbox')
|
||||
.removeClass('submit');
|
||||
form.append(submit);
|
||||
submit.bind('click', function() { SN.U.FormXHR(form); return false; });
|
||||
|
||||
form.closest('.notice-options').removeClass('opaque');
|
||||
form.removeClass('dialogbox');
|
||||
form.find('.submit_dialogbox').remove();
|
||||
form.find('.submit').show();
|
||||
submit_i.hide();
|
||||
|
||||
return false;
|
||||
});
|
||||
};
|
||||
form
|
||||
.addClass('dialogbox')
|
||||
.append('<button class="close">×</button>')
|
||||
.closest('.notice-options')
|
||||
.addClass('opaque');
|
||||
|
||||
form.find('.submit').bind('click', function(e) {
|
||||
e.preventDefault();
|
||||
form.find('button.close').click(function(){
|
||||
$(this).remove();
|
||||
|
||||
var submit = form.find('.submit').clone();
|
||||
submit.addClass('submit_dialogbox');
|
||||
submit.removeClass('submit');
|
||||
form.append(submit);
|
||||
form
|
||||
.removeClass('dialogbox')
|
||||
.closest('.notice-options')
|
||||
.removeClass('opaque');
|
||||
|
||||
$(this).hide();
|
||||
form.find('.submit_dialogbox').remove();
|
||||
form.find('.submit').show();
|
||||
|
||||
NRC();
|
||||
return false;
|
||||
});
|
||||
},
|
||||
|
||||
|
21
lib/api.php
21
lib/api.php
@ -77,6 +77,7 @@ class ApiAction extends Action
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
StatusNet::setApi(true); // reduce exception reports to aid in debugging
|
||||
parent::prepare($args);
|
||||
|
||||
$this->format = $this->arg('format');
|
||||
@ -1103,7 +1104,7 @@ class ApiAction extends Action
|
||||
}
|
||||
}
|
||||
|
||||
function serverError($msg, $code = 500, $content_type = 'json')
|
||||
function serverError($msg, $code = 500, $content_type = 'xml')
|
||||
{
|
||||
$action = $this->trimmed('action');
|
||||
|
||||
@ -1321,4 +1322,22 @@ class ApiAction extends Action
|
||||
}
|
||||
}
|
||||
|
||||
function getSelfUri($action, $aargs)
|
||||
{
|
||||
parse_str($_SERVER['QUERY_STRING'], $params);
|
||||
$pstring = '';
|
||||
if (!empty($params)) {
|
||||
unset($params['p']);
|
||||
$pstring = http_build_query($params);
|
||||
}
|
||||
|
||||
$uri = common_local_url($action, $aargs);
|
||||
|
||||
if (!empty($pstring)) {
|
||||
$uri .= '?' . $pstring;
|
||||
}
|
||||
|
||||
return $uri;
|
||||
}
|
||||
|
||||
}
|
||||
|
106
lib/atom10entry.php
Normal file
106
lib/atom10entry.php
Normal file
@ -0,0 +1,106 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Class for building / manipulating an Atom entry in memory
|
||||
*
|
||||
* 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 Feed
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2010 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class Atom10EntryException extends Exception
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Class for manipulating an Atom entry in memory. Get the entry as an XML
|
||||
* string with Atom10Entry::getString().
|
||||
*
|
||||
* @category Feed
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class Atom10Entry extends XMLStringer
|
||||
{
|
||||
private $namespaces;
|
||||
private $categories;
|
||||
private $content;
|
||||
private $contributors;
|
||||
private $id;
|
||||
private $links;
|
||||
private $published;
|
||||
private $rights;
|
||||
private $source;
|
||||
private $summary;
|
||||
private $title;
|
||||
|
||||
function __construct($indent = true) {
|
||||
parent::__construct($indent);
|
||||
$this->namespaces = array();
|
||||
}
|
||||
|
||||
function addNamespace($namespace, $uri)
|
||||
{
|
||||
$ns = array($namespace => $uri);
|
||||
$this->namespaces = array_merge($this->namespaces, $ns);
|
||||
}
|
||||
|
||||
function initEntry()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function endEntry()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that all required elements have been set, etc.
|
||||
* Throws an Atom10EntryException if something's missing.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function validate
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
function getString()
|
||||
{
|
||||
$this->validate();
|
||||
|
||||
$this->initEntry();
|
||||
$this->renderEntries();
|
||||
$this->endEntry();
|
||||
|
||||
return $this->xw->outputMemory();
|
||||
}
|
||||
|
||||
}
|
293
lib/atom10feed.php
Normal file
293
lib/atom10feed.php
Normal file
@ -0,0 +1,293 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Class for building an Atom feed in memory
|
||||
*
|
||||
* 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 Feed
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2010 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET'))
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class Atom10FeedException extends Exception
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Class for building an Atom feed in memory. Get the finished doc
|
||||
* as a string with Atom10Feed::getString().
|
||||
*
|
||||
* @category Feed
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class Atom10Feed extends XMLStringer
|
||||
{
|
||||
public $xw;
|
||||
private $namespaces;
|
||||
private $authors;
|
||||
private $subject;
|
||||
private $categories;
|
||||
private $contributors;
|
||||
private $generator;
|
||||
private $icon;
|
||||
private $links;
|
||||
private $logo;
|
||||
private $rights;
|
||||
private $subtitle;
|
||||
private $title;
|
||||
private $published;
|
||||
private $updated;
|
||||
private $entries;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param boolean $indent flag to turn indenting on or off
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function __construct($indent = true) {
|
||||
parent::__construct($indent);
|
||||
$this->namespaces = array();
|
||||
$this->authors = array();
|
||||
$this->links = array();
|
||||
$this->entries = array();
|
||||
$this->addNamespace('xmlns', 'http://www.w3.org/2005/Atom');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add another namespace to the feed
|
||||
*
|
||||
* @param string $namespace the namespace
|
||||
* @param string $uri namspace uri
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function addNamespace($namespace, $uri)
|
||||
{
|
||||
$ns = array($namespace => $uri);
|
||||
$this->namespaces = array_merge($this->namespaces, $ns);
|
||||
}
|
||||
|
||||
function addAuthor($name, $uri = null, $email = null)
|
||||
{
|
||||
$xs = new XMLStringer(true);
|
||||
|
||||
$xs->elementStart('author');
|
||||
|
||||
if (!empty($name)) {
|
||||
$xs->element('name', null, $name);
|
||||
} else {
|
||||
throw new Atom10FeedException(
|
||||
'author element must contain a name element.'
|
||||
);
|
||||
}
|
||||
|
||||
if (!is_null($uri)) {
|
||||
$xs->element('uri', null, $uri);
|
||||
}
|
||||
|
||||
if (!is_null(email)) {
|
||||
$xs->element('email', null, $email);
|
||||
}
|
||||
|
||||
$xs->elementEnd('author');
|
||||
|
||||
array_push($this->authors, $xs->getString());
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an Author to the feed via raw XML string
|
||||
*
|
||||
* @param string $xmlAuthor An XML string representation author
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function addAuthorRaw($xmlAuthor)
|
||||
{
|
||||
array_push($this->authors, $xmlAuthor);
|
||||
}
|
||||
|
||||
function renderAuthors()
|
||||
{
|
||||
foreach ($this->authors as $author) {
|
||||
$this->raw($author);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a activity feed subject via raw XML string
|
||||
*
|
||||
* @param string $xmlSubject An XML string representation of the subject
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function setActivitySubject($xmlSubject)
|
||||
{
|
||||
$this->subject = $xmlSubject;
|
||||
}
|
||||
|
||||
function getNamespaces()
|
||||
{
|
||||
return $this->namespaces;
|
||||
}
|
||||
|
||||
function initFeed()
|
||||
{
|
||||
$this->xw->startDocument('1.0', 'UTF-8');
|
||||
$commonAttrs = array('xml:lang' => 'en-US');
|
||||
$commonAttrs = array_merge($commonAttrs, $this->namespaces);
|
||||
$this->elementStart('feed', $commonAttrs);
|
||||
|
||||
$this->element('id', null, $this->id);
|
||||
$this->element('title', null, $this->title);
|
||||
$this->element('subtitle', null, $this->subtitle);
|
||||
|
||||
if (!empty($this->logo)) {
|
||||
$this->element('logo', null, $this->logo);
|
||||
}
|
||||
|
||||
$this->element('updated', null, $this->updated);
|
||||
|
||||
$this->renderLinks();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check that all required elements have been set, etc.
|
||||
* Throws an Atom10FeedException if something's missing.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function validate()
|
||||
{
|
||||
}
|
||||
|
||||
function renderLinks()
|
||||
{
|
||||
foreach ($this->links as $attrs)
|
||||
{
|
||||
$this->element('link', $attrs, null);
|
||||
}
|
||||
}
|
||||
|
||||
function addEntryRaw($xmlEntry)
|
||||
{
|
||||
array_push($this->entries, $xmlEntry);
|
||||
}
|
||||
|
||||
function addEntry($entry)
|
||||
{
|
||||
array_push($this->entries, $entry->getString());
|
||||
}
|
||||
|
||||
function renderEntries()
|
||||
{
|
||||
foreach ($this->entries as $entry) {
|
||||
$this->raw($entry);
|
||||
}
|
||||
}
|
||||
|
||||
function endFeed()
|
||||
{
|
||||
$this->elementEnd('feed');
|
||||
$this->xw->endDocument();
|
||||
}
|
||||
|
||||
function getString()
|
||||
{
|
||||
$this->validate();
|
||||
|
||||
$this->initFeed();
|
||||
$this->renderAuthors();
|
||||
|
||||
if (!empty($this->subject)) {
|
||||
$this->raw($this->subject);
|
||||
}
|
||||
|
||||
$this->renderEntries();
|
||||
$this->endFeed();
|
||||
|
||||
return $this->xw->outputMemory();
|
||||
}
|
||||
|
||||
function setId($id)
|
||||
{
|
||||
$this->id = $id;
|
||||
}
|
||||
|
||||
function setTitle($title)
|
||||
{
|
||||
$this->title = $title;
|
||||
}
|
||||
|
||||
function setSubtitle($subtitle)
|
||||
{
|
||||
$this->subtitle = $subtitle;
|
||||
}
|
||||
|
||||
function setLogo($logo)
|
||||
{
|
||||
$this->logo = $logo;
|
||||
}
|
||||
|
||||
function setUpdated($dt)
|
||||
{
|
||||
$this->updated = common_date_iso8601($dt);
|
||||
}
|
||||
|
||||
function setPublished($dt)
|
||||
{
|
||||
$this->published = common_date_iso8601($dt);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a link element into the Atom document
|
||||
*
|
||||
* Assumes you want rel="alternate" and type="text/html" unless
|
||||
* you send in $otherAttrs.
|
||||
*
|
||||
* @param string $uri the uri the href needs to point to
|
||||
* @param array $otherAttrs other attributes to stick in
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function addLink($uri, $otherAttrs = null) {
|
||||
$attrs = array('href' => $uri);
|
||||
|
||||
if (is_null($otherAttrs)) {
|
||||
$attrs['rel'] = 'alternate';
|
||||
$attrs['type'] = 'text/html';
|
||||
} else {
|
||||
$attrs = array_merge($attrs, $otherAttrs);
|
||||
}
|
||||
|
||||
array_push($this->links, $attrs);
|
||||
}
|
||||
|
||||
}
|
103
lib/atomnoticefeed.php
Normal file
103
lib/atomnoticefeed.php
Normal file
@ -0,0 +1,103 @@
|
||||
<?php
|
||||
/**
|
||||
* StatusNet, the distributed open-source microblogging tool
|
||||
*
|
||||
* Class for building and Atom feed from a collection of notices
|
||||
*
|
||||
* 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 Feed
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @copyright 2010 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET'))
|
||||
{
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Class for creating a feed that represents a collection of notices. Builds the
|
||||
* feed in memory. Get the feed as a string with AtomNoticeFeed::getString().
|
||||
*
|
||||
* @category Feed
|
||||
* @package StatusNet
|
||||
* @author Zach Copley <zach@status.net>
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
class AtomNoticeFeed extends Atom10Feed
|
||||
{
|
||||
function __construct($indent = true) {
|
||||
parent::__construct($indent);
|
||||
|
||||
// Feeds containing notice info use these namespaces
|
||||
|
||||
$this->addNamespace(
|
||||
'xmlns:thr',
|
||||
'http://purl.org/syndication/thread/1.0'
|
||||
);
|
||||
|
||||
$this->addNamespace(
|
||||
'xmlns:georss',
|
||||
'http://www.georss.org/georss'
|
||||
);
|
||||
|
||||
$this->addNamespace(
|
||||
'xmlns:activity',
|
||||
'http://activitystrea.ms/spec/1.0/'
|
||||
);
|
||||
|
||||
// XXX: What should the uri be?
|
||||
$this->addNamespace(
|
||||
'xmlns:ostatus',
|
||||
'http://ostatus.org/schema/1.0'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add more than one Notice to the feed
|
||||
*
|
||||
* @param mixed $notices an array of Notice objects or handle
|
||||
*
|
||||
*/
|
||||
function addEntryFromNotices($notices)
|
||||
{
|
||||
if (is_array($notices)) {
|
||||
foreach ($notices as $notice) {
|
||||
$this->addEntryFromNotice($notice);
|
||||
}
|
||||
} else {
|
||||
while ($notices->fetch()) {
|
||||
$this->addEntryFromNotice($notices);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a single Notice to the feed
|
||||
*
|
||||
* @param Notice $notice a Notice to add
|
||||
*/
|
||||
function addEntryFromNotice($notice)
|
||||
{
|
||||
$this->addEntryRaw($notice->asAtomEntry());
|
||||
}
|
||||
|
||||
}
|
@ -47,6 +47,8 @@ class Cache
|
||||
var $_items = array();
|
||||
static $_inst = null;
|
||||
|
||||
const COMPRESSED = 1;
|
||||
|
||||
/**
|
||||
* Singleton constructor
|
||||
*
|
||||
@ -133,7 +135,7 @@ class Cache
|
||||
*
|
||||
* @param string $key The key to use for lookups
|
||||
* @param string $value The value to store
|
||||
* @param integer $flag Flags to use, mostly ignored
|
||||
* @param integer $flag Flags to use, may include Cache::COMPRESSED
|
||||
* @param integer $expiry Expiry value, mostly ignored
|
||||
*
|
||||
* @return boolean success flag
|
||||
|
@ -88,6 +88,7 @@ $default =
|
||||
'stomp_manual_failover' => true, // if multiple servers are listed, treat them as separate (enqueue on one randomly, listen on all)
|
||||
'monitor' => null, // URL to monitor ping endpoint (work in progress)
|
||||
'softlimit' => '90%', // total size or % of memory_limit at which to restart queue threads gracefully
|
||||
'spawndelay' => 1, // Wait at least N seconds between (re)spawns of child processes to avoid slamming the queue server with subscription startup
|
||||
'debug_memory' => false, // true to spit memory usage to log
|
||||
'inboxes' => true, // true to do inbox distribution & output queueing from in background via 'distrib' queue
|
||||
),
|
||||
|
@ -56,6 +56,7 @@ class ErrorAction extends Action
|
||||
|
||||
$this->code = $code;
|
||||
$this->message = $message;
|
||||
$this->minimal = StatusNet::isApi();
|
||||
|
||||
// XXX: hack alert: usually we aren't going to
|
||||
// call this page directly, but because it's
|
||||
@ -102,7 +103,14 @@ class ErrorAction extends Action
|
||||
|
||||
function showPage()
|
||||
{
|
||||
parent::showPage();
|
||||
if ($this->minimal) {
|
||||
// Even more minimal -- we're in a machine API
|
||||
// and don't want to flood the output.
|
||||
$this->extraHeaders();
|
||||
$this->showContent();
|
||||
} else {
|
||||
parent::showPage();
|
||||
}
|
||||
|
||||
// We don't want to have any more output after this
|
||||
exit();
|
||||
|
@ -81,12 +81,13 @@ class HTTPResponse extends HTTP_Request2_Response
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the response is OK, generally a 200 status code.
|
||||
* Check if the response is OK, generally a 200 or other 2xx status code.
|
||||
* @return bool
|
||||
*/
|
||||
function isOk()
|
||||
{
|
||||
return ($this->getStatus() == 200);
|
||||
$status = $this->getStatus();
|
||||
return ($status >= 200 && $status < 300);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -213,6 +213,7 @@ class MysqlSchema extends Schema
|
||||
|
||||
$sql .= "); ";
|
||||
|
||||
common_log(LOG_INFO, $sql);
|
||||
$res = $this->conn->query($sql);
|
||||
|
||||
if (PEAR::isError($res)) {
|
||||
|
@ -155,26 +155,26 @@ abstract class QueueManager extends IoManager
|
||||
}
|
||||
|
||||
/**
|
||||
* Encode an object for queued storage.
|
||||
* Next gen may use serialization.
|
||||
* Encode an object or variable for queued storage.
|
||||
* Notice objects are currently stored as an id reference;
|
||||
* other items are serialized.
|
||||
*
|
||||
* @param mixed $object
|
||||
* @param mixed $item
|
||||
* @return string
|
||||
*/
|
||||
protected function encode($object)
|
||||
protected function encode($item)
|
||||
{
|
||||
if ($object instanceof Notice) {
|
||||
return $object->id;
|
||||
} else if (is_string($object)) {
|
||||
return $object;
|
||||
if ($item instanceof Notice) {
|
||||
// Backwards compat
|
||||
return $item->id;
|
||||
} else {
|
||||
throw new ServerException("Can't queue this type", 500);
|
||||
return serialize($item);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Decode an object from queued storage.
|
||||
* Accepts back-compat notice reference entries and strings for now.
|
||||
* Accepts notice reference entries and serialized items.
|
||||
*
|
||||
* @param string
|
||||
* @return mixed
|
||||
@ -182,9 +182,23 @@ abstract class QueueManager extends IoManager
|
||||
protected function decode($frame)
|
||||
{
|
||||
if (is_numeric($frame)) {
|
||||
// Back-compat for notices...
|
||||
return Notice::staticGet(intval($frame));
|
||||
} else {
|
||||
} elseif (substr($frame, 0, 1) == '<') {
|
||||
// Back-compat for XML source
|
||||
return $frame;
|
||||
} else {
|
||||
// Deserialize!
|
||||
#$old = error_reporting();
|
||||
#error_reporting($old & ~E_NOTICE);
|
||||
$out = unserialize($frame);
|
||||
#error_reporting($old);
|
||||
|
||||
if ($out === false && $frame !== 'b:0;') {
|
||||
common_log(LOG_ERR, "Couldn't unserialize queued frame: $frame");
|
||||
return false;
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -57,5 +57,6 @@ class Right
|
||||
const EMAILONREPLY = 'emailonreply';
|
||||
const EMAILONSUBSCRIBE = 'emailonsubscribe';
|
||||
const EMAILONFAVE = 'emailonfave';
|
||||
const MAKEGROUPADMIN = 'makegroupadmin';
|
||||
}
|
||||
|
||||
|
@ -83,6 +83,7 @@ abstract class SpawningDaemon extends Daemon
|
||||
$this->log(LOG_INFO, "Spawned thread $i as pid $pid");
|
||||
$children[$i] = $pid;
|
||||
}
|
||||
sleep(common_config('queue', 'spawndelay'));
|
||||
}
|
||||
|
||||
$this->log(LOG_INFO, "Waiting for children to complete.");
|
||||
@ -111,6 +112,7 @@ abstract class SpawningDaemon extends Daemon
|
||||
$this->log(LOG_INFO, "Respawned thread $i as pid $pid");
|
||||
$children[$i] = $pid;
|
||||
}
|
||||
sleep(common_config('queue', 'spawndelay'));
|
||||
} else {
|
||||
$this->log(LOG_INFO, "Thread $i pid $pid exited with status $exitCode; closing out thread.");
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ global $config, $_server, $_path;
|
||||
class StatusNet
|
||||
{
|
||||
protected static $have_config;
|
||||
protected static $is_api;
|
||||
|
||||
/**
|
||||
* Configure and instantiate a plugin into the current configuration.
|
||||
@ -147,6 +148,16 @@ class StatusNet
|
||||
return self::$have_config;
|
||||
}
|
||||
|
||||
public function isApi()
|
||||
{
|
||||
return self::$is_api;
|
||||
}
|
||||
|
||||
public function setApi($mode)
|
||||
{
|
||||
self::$is_api = $mode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Build default configuration array
|
||||
* @return array
|
||||
|
@ -107,9 +107,10 @@ class StompQueueManager extends QueueManager
|
||||
$message .= ':' . $param;
|
||||
}
|
||||
$this->_connect();
|
||||
$result = $this->_send($this->control,
|
||||
$message,
|
||||
array ('created' => common_sql_now()));
|
||||
$con = $this->cons[$this->defaultIdx];
|
||||
$result = $con->send($this->control,
|
||||
$message,
|
||||
array ('created' => common_sql_now()));
|
||||
if ($result) {
|
||||
$this->_log(LOG_INFO, "Sent control ping to queue daemons: $message");
|
||||
return true;
|
||||
@ -368,17 +369,10 @@ class StompQueueManager extends QueueManager
|
||||
foreach ($this->cons as $i => $con) {
|
||||
if ($con) {
|
||||
$this->rollback($i);
|
||||
$con->unsubscribe($this->control);
|
||||
$con->disconnect();
|
||||
$this->cons[$i] = null;
|
||||
}
|
||||
}
|
||||
if ($this->sites) {
|
||||
foreach ($this->sites as $server) {
|
||||
StatusNet::init($server);
|
||||
$this->doUnsubscribe();
|
||||
}
|
||||
} else {
|
||||
$this->doUnsubscribe();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -555,26 +549,14 @@ class StompQueueManager extends QueueManager
|
||||
}
|
||||
|
||||
$host = $this->cons[$idx]->getServer();
|
||||
if (is_numeric($frame->body)) {
|
||||
$id = intval($frame->body);
|
||||
$info = "notice $id posted at {$frame->headers['created']} in queue $queue from $host";
|
||||
|
||||
$notice = Notice::staticGet('id', $id);
|
||||
if (empty($notice)) {
|
||||
$this->_log(LOG_WARNING, "Skipping missing $info");
|
||||
$this->ack($idx, $frame);
|
||||
$this->commit($idx);
|
||||
$this->begin($idx);
|
||||
$this->stats('badnotice', $queue);
|
||||
return false;
|
||||
}
|
||||
|
||||
$item = $notice;
|
||||
} else {
|
||||
// @fixme should we serialize, or json, or what here?
|
||||
$info = "string posted at {$frame->headers['created']} in queue $queue from $host";
|
||||
$item = $frame->body;
|
||||
$item = $this->decode($frame->body);
|
||||
if (empty($item)) {
|
||||
$this->_log(LOG_ERR, "Skipping empty or deleted item in queue $queue from $host");
|
||||
return true;
|
||||
}
|
||||
$info = $this->logrep($item) . " posted at " .
|
||||
$frame->headers['created'] . " in queue $queue from $host";
|
||||
$this->_log(LOG_DEBUG, "Dequeued $info");
|
||||
|
||||
$handler = $this->getHandler($queue);
|
||||
if (!$handler) {
|
||||
|
@ -367,7 +367,8 @@ function common_current_user()
|
||||
|
||||
if ($_cur === false) {
|
||||
|
||||
if (isset($_REQUEST[session_name()]) || (isset($_SESSION['userid']) && $_SESSION['userid'])) {
|
||||
if (isset($_COOKIE[session_name()]) || isset($_GET[session_name()])
|
||||
|| (isset($_SESSION['userid']) && $_SESSION['userid'])) {
|
||||
common_ensure_session();
|
||||
$id = isset($_SESSION['userid']) ? $_SESSION['userid'] : false;
|
||||
if ($id) {
|
||||
@ -658,6 +659,9 @@ function common_valid_profile_tag($str)
|
||||
function common_at_link($sender_id, $nickname)
|
||||
{
|
||||
$sender = Profile::staticGet($sender_id);
|
||||
if (!$sender) {
|
||||
return $nickname;
|
||||
}
|
||||
$recipient = common_relative_profile($sender, common_canonical_nickname($nickname));
|
||||
if ($recipient) {
|
||||
$user = User::staticGet('id', $recipient->id);
|
||||
@ -687,7 +691,7 @@ function common_group_link($sender_id, $nickname)
|
||||
{
|
||||
$sender = Profile::staticGet($sender_id);
|
||||
$group = User_group::getForNickname($nickname);
|
||||
if ($group && $sender->isMember($group)) {
|
||||
if ($sender && $group && $sender->isMember($group)) {
|
||||
$attrs = array('href' => $group->permalink(),
|
||||
'class' => 'url');
|
||||
if (!empty($group->fullname)) {
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:32+0000\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:05+0000\n"
|
||||
"PO-Revision-Date: 2010-02-14 20:05:58+0000\n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62476); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ar\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -26,14 +26,12 @@ msgid "Access"
|
||||
msgstr "نفاذ"
|
||||
|
||||
#: actions/accessadminpanel.php:65
|
||||
#, fuzzy
|
||||
msgid "Site access settings"
|
||||
msgstr "اذف إعدادت الموقع"
|
||||
msgstr "إعدادات الوصول إلى الموقع"
|
||||
|
||||
#: actions/accessadminpanel.php:158
|
||||
#, fuzzy
|
||||
msgid "Registration"
|
||||
msgstr "سجّل"
|
||||
msgstr "تسجيل"
|
||||
|
||||
#: actions/accessadminpanel.php:161
|
||||
msgid "Private"
|
||||
@ -72,9 +70,8 @@ msgid "Save"
|
||||
msgstr "أرسل"
|
||||
|
||||
#: actions/accessadminpanel.php:189
|
||||
#, fuzzy
|
||||
msgid "Save access settings"
|
||||
msgstr "اذف إعدادت الموقع"
|
||||
msgstr "حفظ إعدادت الوصول"
|
||||
|
||||
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
|
||||
#: actions/showfavorites.php:137 actions/tag.php:51
|
||||
@ -165,8 +162,8 @@ msgstr ""
|
||||
msgid "You and friends"
|
||||
msgstr "أنت والأصدقاء"
|
||||
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:121
|
||||
#: actions/apitimelinehome.php:122
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:119
|
||||
#: actions/apitimelinehome.php:120
|
||||
#, php-format
|
||||
msgid "Updates from %1$s and friends on %2$s!"
|
||||
msgstr ""
|
||||
@ -187,12 +184,12 @@ msgstr ""
|
||||
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
|
||||
#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
|
||||
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
|
||||
#: actions/apitimelinefavorites.php:146 actions/apitimelinefriends.php:155
|
||||
#: actions/apitimelinegroup.php:150 actions/apitimelinehome.php:156
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
|
||||
#: actions/apitimelinegroup.php:182 actions/apitimelinehome.php:184
|
||||
#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
|
||||
#: actions/apitimelineuser.php:194 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "لم يتم العثور على وسيلة API."
|
||||
|
||||
@ -280,7 +277,7 @@ msgstr "رسائل مباشرة من %s"
|
||||
#: actions/apidirectmessage.php:93
|
||||
#, php-format
|
||||
msgid "All the direct messages sent from %s"
|
||||
msgstr ""
|
||||
msgstr "جميع الرسائل المرسلة من %s"
|
||||
|
||||
#: actions/apidirectmessage.php:101
|
||||
#, php-format
|
||||
@ -353,7 +350,7 @@ msgstr ""
|
||||
|
||||
#: actions/apifriendshipsshow.php:134
|
||||
msgid "Could not determine source user."
|
||||
msgstr ""
|
||||
msgstr "تعذّر تحديد المستخدم المصدر."
|
||||
|
||||
#: actions/apifriendshipsshow.php:142
|
||||
msgid "Could not find target user."
|
||||
@ -369,7 +366,7 @@ msgstr ""
|
||||
#: actions/newgroup.php:130 actions/profilesettings.php:238
|
||||
#: actions/register.php:208
|
||||
msgid "Nickname already in use. Try another one."
|
||||
msgstr ""
|
||||
msgstr "الاسم المستعار مستخدم بالفعل. جرّب اسمًا آخرًا."
|
||||
|
||||
#: actions/apigroupcreate.php:180 actions/editgroup.php:189
|
||||
#: actions/newgroup.php:133 actions/profilesettings.php:218
|
||||
@ -406,7 +403,7 @@ msgstr ""
|
||||
#: actions/newgroup.php:159
|
||||
#, php-format
|
||||
msgid "Too many aliases! Maximum %d."
|
||||
msgstr ""
|
||||
msgstr "كنيات كيرة! العدد الأقصى هو %d."
|
||||
|
||||
#: actions/apigroupcreate.php:264 actions/editgroup.php:224
|
||||
#: actions/newgroup.php:168
|
||||
@ -446,7 +443,7 @@ msgstr "لم يمكن ضم المستخدم %1$s إلى المجموعة %2$s."
|
||||
|
||||
#: actions/apigroupleave.php:114
|
||||
msgid "You are not a member of this group."
|
||||
msgstr ""
|
||||
msgstr "لست عضوًا في هذه المجموعة"
|
||||
|
||||
#: actions/apigroupleave.php:124 actions/leavegroup.php:119
|
||||
#, php-format
|
||||
@ -628,7 +625,7 @@ msgstr "نسق غير مدعوم."
|
||||
msgid "%1$s / Favorites from %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinefavorites.php:120
|
||||
#: actions/apitimelinefavorites.php:117
|
||||
#, php-format
|
||||
msgid "%1$s updates favorited by %2$s / %2$s."
|
||||
msgstr ""
|
||||
@ -639,7 +636,7 @@ msgstr ""
|
||||
msgid "%s timeline"
|
||||
msgstr "مسار %s الزمني"
|
||||
|
||||
#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
|
||||
#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
|
||||
#: actions/userrss.php:92
|
||||
#, php-format
|
||||
msgid "Updates from %1$s on %2$s!"
|
||||
@ -655,12 +652,12 @@ msgstr ""
|
||||
msgid "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
|
||||
#, php-format
|
||||
msgid "%s public timeline"
|
||||
msgstr "مسار %s الزمني العام"
|
||||
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
|
||||
#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
|
||||
#, php-format
|
||||
msgid "%s updates from everyone!"
|
||||
msgstr ""
|
||||
@ -670,7 +667,7 @@ msgstr ""
|
||||
msgid "Repeated to %s"
|
||||
msgstr "كرر إلى %s"
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#: actions/apitimelineretweetsofme.php:114
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr "تكرارات %s"
|
||||
@ -680,7 +677,7 @@ msgstr "تكرارات %s"
|
||||
msgid "Notices tagged with %s"
|
||||
msgstr "الإشعارات الموسومة ب%s"
|
||||
|
||||
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
|
||||
#: actions/apitimelinetag.php:104 actions/tagrss.php:64
|
||||
#, php-format
|
||||
msgid "Updates tagged with %1$s on %2$s!"
|
||||
msgstr ""
|
||||
@ -804,7 +801,7 @@ msgstr "لا تمنع هذا المستخدم"
|
||||
msgid "Yes"
|
||||
msgstr "نعم"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "امنع هذا المستخدم"
|
||||
|
||||
@ -1217,7 +1214,7 @@ msgstr ""
|
||||
msgid "Could not update group."
|
||||
msgstr "تعذر تحديث المجموعة."
|
||||
|
||||
#: actions/editgroup.php:259 classes/User_group.php:390
|
||||
#: actions/editgroup.php:259 classes/User_group.php:423
|
||||
msgid "Could not create aliases."
|
||||
msgstr "تعذّر إنشاء الكنى."
|
||||
|
||||
@ -1550,7 +1547,7 @@ msgstr ""
|
||||
msgid "User is not a member of group."
|
||||
msgstr "المستخدم ليس عضوًا في المجموعة."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "امنع المستخدم من المجموعة"
|
||||
|
||||
@ -1645,19 +1642,19 @@ msgstr "قائمة بمستخدمي هذه المجموعة."
|
||||
msgid "Admin"
|
||||
msgstr "إداري"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "امنع"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "اجعل هذا المستخدم إداريًا"
|
||||
|
||||
@ -2005,21 +2002,21 @@ msgid ""
|
||||
"(%%action.register%%) a new account."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "لم يمكن الحصول على تسجيل العضوية ل%1$s في المجموعة %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "لم يمكن جعل %1$s إداريا للمجموعة %2$s."
|
||||
@ -2214,8 +2211,8 @@ msgstr "نوع المحتوى "
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "ليس نسق بيانات مدعوم."
|
||||
|
||||
@ -2544,7 +2541,7 @@ msgstr "إعدادات الملف الشخصي"
|
||||
#: actions/profilesettings.php:71
|
||||
msgid ""
|
||||
"You can update your personal profile info here so people know more about you."
|
||||
msgstr ""
|
||||
msgstr "بإمكانك تحديث بيانات ملفك الشخصي ليعرف عنك الناس أكثر."
|
||||
|
||||
#: actions/profilesettings.php:99
|
||||
msgid "Profile information"
|
||||
@ -2567,12 +2564,12 @@ msgstr "الصفحة الرئيسية"
|
||||
|
||||
#: actions/profilesettings.php:117 actions/register.php:455
|
||||
msgid "URL of your homepage, blog, or profile on another site"
|
||||
msgstr ""
|
||||
msgstr "مسار صفحتك الرئيسية أو مدونتك أو ملفك الشخصي على موقع آخر"
|
||||
|
||||
#: actions/profilesettings.php:122 actions/register.php:461
|
||||
#, php-format
|
||||
msgid "Describe yourself and your interests in %d chars"
|
||||
msgstr ""
|
||||
msgstr "تكلم عن نفسك واهتمامتك في %d حرف"
|
||||
|
||||
#: actions/profilesettings.php:125 actions/register.php:464
|
||||
msgid "Describe yourself and your interests"
|
||||
@ -2591,7 +2588,7 @@ msgstr "الموقع"
|
||||
|
||||
#: actions/profilesettings.php:134 actions/register.php:473
|
||||
msgid "Where you are, like \"City, State (or Region), Country\""
|
||||
msgstr ""
|
||||
msgstr "مكان تواجدك، على سبيل المثال \"المدينة، الولاية (أو المنطقة)، الدولة\""
|
||||
|
||||
#: actions/profilesettings.php:138
|
||||
msgid "Share my current location when posting notices"
|
||||
@ -2607,6 +2604,7 @@ msgstr "الوسوم"
|
||||
msgid ""
|
||||
"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
|
||||
msgstr ""
|
||||
"سِم نفسك (حروف وأرقام و \"-\" و \".\" و \"_\")، افصلها بفاصلة (',') أو مسافة."
|
||||
|
||||
#: actions/profilesettings.php:151 actions/siteadminpanel.php:280
|
||||
msgid "Language"
|
||||
@ -2627,7 +2625,7 @@ msgstr "ما المنطقة الزمنية التي تتواجد فيها عاد
|
||||
#: actions/profilesettings.php:167
|
||||
msgid ""
|
||||
"Automatically subscribe to whoever subscribes to me (best for non-humans)"
|
||||
msgstr ""
|
||||
msgstr "اشترك تلقائيًا بأي شخص يشترك بي (يفضل أن يستخدم لغير البشر)"
|
||||
|
||||
#: actions/profilesettings.php:228 actions/register.php:223
|
||||
#, php-format
|
||||
@ -4246,7 +4244,7 @@ msgstr "مشكلة أثناء حفظ الإشعار."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1271
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "آر تي @%1$s %2$s"
|
||||
@ -4256,11 +4254,11 @@ msgstr "آر تي @%1$s %2$s"
|
||||
msgid "Welcome to %1$s, @%2$s!"
|
||||
msgstr "أهلا بكم في %1$s يا @%2$s!"
|
||||
|
||||
#: classes/User_group.php:380
|
||||
#: classes/User_group.php:413
|
||||
msgid "Could not create group."
|
||||
msgstr "تعذّر إنشاء المجموعة."
|
||||
|
||||
#: classes/User_group.php:409
|
||||
#: classes/User_group.php:442
|
||||
msgid "Could not set group membership."
|
||||
msgstr "تعذّر ضبط عضوية المجموعة."
|
||||
|
||||
@ -5802,47 +5800,47 @@ msgstr "رسالة"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:871
|
||||
msgid "a few seconds ago"
|
||||
msgstr "قبل لحظات قليلة"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:873
|
||||
msgid "about a minute ago"
|
||||
msgstr "قبل دقيقة تقريبًا"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:875
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:877
|
||||
msgid "about an hour ago"
|
||||
msgstr "قبل ساعة تقريبًا"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:879
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:881
|
||||
msgid "about a day ago"
|
||||
msgstr "قبل يوم تقريبا"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:883
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:885
|
||||
msgid "about a month ago"
|
||||
msgstr "قبل شهر تقريبًا"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:887
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:889
|
||||
msgid "about a year ago"
|
||||
msgstr "قبل سنة تقريبًا"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Translation of StatusNet to Egyptian Spoken Arabic
|
||||
#
|
||||
# Author@translatewiki.net: Dudi
|
||||
# Author@translatewiki.net: Ghaly
|
||||
# Author@translatewiki.net: Meno25
|
||||
# --
|
||||
@ -9,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:37+0000\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:05+0000\n"
|
||||
"PO-Revision-Date: 2010-02-14 20:06:01+0000\n"
|
||||
"Language-Team: Egyptian Spoken Arabic\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62476); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: arz\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -110,7 +111,7 @@ msgstr "لا مستخدم كهذا."
|
||||
#: actions/all.php:84
|
||||
#, php-format
|
||||
msgid "%1$s and friends, page %2$d"
|
||||
msgstr "%1$s والأصدقاء, الصفحه %2$d"
|
||||
msgstr "%1$s و الصحاب, صفحه %2$d"
|
||||
|
||||
#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
|
||||
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
|
||||
@ -165,8 +166,8 @@ msgstr ""
|
||||
msgid "You and friends"
|
||||
msgstr "أنت والأصدقاء"
|
||||
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:121
|
||||
#: actions/apitimelinehome.php:122
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:119
|
||||
#: actions/apitimelinehome.php:120
|
||||
#, php-format
|
||||
msgid "Updates from %1$s and friends on %2$s!"
|
||||
msgstr ""
|
||||
@ -187,12 +188,12 @@ msgstr ""
|
||||
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
|
||||
#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
|
||||
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
|
||||
#: actions/apitimelinefavorites.php:146 actions/apitimelinefriends.php:155
|
||||
#: actions/apitimelinegroup.php:150 actions/apitimelinehome.php:156
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
|
||||
#: actions/apitimelinegroup.php:182 actions/apitimelinehome.php:184
|
||||
#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
|
||||
#: actions/apitimelineuser.php:194 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "لم يتم العثور على وسيله API."
|
||||
|
||||
@ -316,7 +317,7 @@ msgstr ""
|
||||
|
||||
#: actions/apifavoritecreate.php:119
|
||||
msgid "This status is already a favorite."
|
||||
msgstr "هذه الحاله مفضله بالفعل."
|
||||
msgstr "الحاله دى موجوده فعلا فى التفضيلات."
|
||||
|
||||
#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176
|
||||
msgid "Could not create favorite."
|
||||
@ -324,7 +325,7 @@ msgstr "تعذّر إنشاء مفضله."
|
||||
|
||||
#: actions/apifavoritedestroy.php:122
|
||||
msgid "That status is not a favorite."
|
||||
msgstr "تلك الحاله ليست مفضله."
|
||||
msgstr "الحاله دى مش محطوطه فى التفضيلات."
|
||||
|
||||
#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87
|
||||
msgid "Could not delete favorite."
|
||||
@ -345,7 +346,7 @@ msgstr ""
|
||||
|
||||
#: actions/apifriendshipsdestroy.php:120
|
||||
msgid "You cannot unfollow yourself."
|
||||
msgstr "لا يمكنك عدم متابعه نفسك."
|
||||
msgstr "ما ينفعش عدم متابعة نفسك."
|
||||
|
||||
#: actions/apifriendshipsexists.php:94
|
||||
msgid "Two user ids or screen_names must be supplied."
|
||||
@ -442,7 +443,7 @@ msgstr ""
|
||||
#: actions/apigroupjoin.php:138 actions/joingroup.php:124
|
||||
#, php-format
|
||||
msgid "Could not join user %1$s to group %2$s."
|
||||
msgstr "لم يمكن ضم المستخدم %1$s إلى المجموعه %2$s."
|
||||
msgstr "ما نفعش يضم %1$s للجروپ %2$s."
|
||||
|
||||
#: actions/apigroupleave.php:114
|
||||
msgid "You are not a member of this group."
|
||||
@ -451,7 +452,7 @@ msgstr ""
|
||||
#: actions/apigroupleave.php:124 actions/leavegroup.php:119
|
||||
#, php-format
|
||||
msgid "Could not remove user %1$s from group %2$s."
|
||||
msgstr "لم يمكن إزاله المستخدم %1$s من المجموعه %2$s."
|
||||
msgstr "ما نفعش يتشال اليوزر %1$s من الجروپ %2$s."
|
||||
|
||||
#: actions/apigrouplist.php:95
|
||||
#, php-format
|
||||
@ -497,7 +498,7 @@ msgstr ""
|
||||
|
||||
#: actions/apioauthauthorize.php:135
|
||||
msgid "Invalid nickname / password!"
|
||||
msgstr "اسم/كلمه سر غير صحيحة!"
|
||||
msgstr "نيكنيم / پاسوورد مش مظبوطه!"
|
||||
|
||||
#: actions/apioauthauthorize.php:159
|
||||
#, fuzzy
|
||||
@ -628,7 +629,7 @@ msgstr "نسق غير مدعوم."
|
||||
msgid "%1$s / Favorites from %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinefavorites.php:120
|
||||
#: actions/apitimelinefavorites.php:117
|
||||
#, php-format
|
||||
msgid "%1$s updates favorited by %2$s / %2$s."
|
||||
msgstr ""
|
||||
@ -639,7 +640,7 @@ msgstr ""
|
||||
msgid "%s timeline"
|
||||
msgstr "مسار %s الزمني"
|
||||
|
||||
#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
|
||||
#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
|
||||
#: actions/userrss.php:92
|
||||
#, php-format
|
||||
msgid "Updates from %1$s on %2$s!"
|
||||
@ -655,12 +656,12 @@ msgstr ""
|
||||
msgid "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
|
||||
#, php-format
|
||||
msgid "%s public timeline"
|
||||
msgstr "مسار %s الزمنى العام"
|
||||
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
|
||||
#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
|
||||
#, php-format
|
||||
msgid "%s updates from everyone!"
|
||||
msgstr ""
|
||||
@ -670,7 +671,7 @@ msgstr ""
|
||||
msgid "Repeated to %s"
|
||||
msgstr "كرر إلى %s"
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#: actions/apitimelineretweetsofme.php:114
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr "تكرارات %s"
|
||||
@ -680,7 +681,7 @@ msgstr "تكرارات %s"
|
||||
msgid "Notices tagged with %s"
|
||||
msgstr "الإشعارات الموسومه ب%s"
|
||||
|
||||
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
|
||||
#: actions/apitimelinetag.php:104 actions/tagrss.php:64
|
||||
#, php-format
|
||||
msgid "Updates tagged with %1$s on %2$s!"
|
||||
msgstr ""
|
||||
@ -804,7 +805,7 @@ msgstr "لا تمنع هذا المستخدم"
|
||||
msgid "Yes"
|
||||
msgstr "نعم"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "امنع هذا المستخدم"
|
||||
|
||||
@ -830,7 +831,7 @@ msgstr ""
|
||||
#: actions/blockedfromgroup.php:93
|
||||
#, php-format
|
||||
msgid "%1$s blocked profiles, page %2$d"
|
||||
msgstr "%1$s ملفات ممنوعة, الصفحه %2$d"
|
||||
msgstr "%1$s فايلات معمول ليها بلوك, الصفحه %2$d"
|
||||
|
||||
#: actions/blockedfromgroup.php:108
|
||||
msgid "A list of the users blocked from joining this group."
|
||||
@ -888,7 +889,7 @@ msgstr "تعذّر حذف تأكيد البريد الإلكترونى."
|
||||
|
||||
#: actions/confirmaddress.php:144
|
||||
msgid "Confirm address"
|
||||
msgstr "أكد العنوان"
|
||||
msgstr "اكد العنوان"
|
||||
|
||||
#: actions/confirmaddress.php:159
|
||||
#, php-format
|
||||
@ -917,7 +918,7 @@ msgstr "لم يوجد رمز التأكيد."
|
||||
#: actions/deleteapplication.php:78 actions/editapplication.php:77
|
||||
#: actions/showapplication.php:94
|
||||
msgid "You are not the owner of this application."
|
||||
msgstr "أنت لست مالك هذا التطبيق."
|
||||
msgstr "انت مش بتملك الapplication دى."
|
||||
|
||||
#: actions/deleteapplication.php:102 actions/editapplication.php:127
|
||||
#: actions/newapplication.php:110 actions/showapplication.php:118
|
||||
@ -1131,16 +1132,16 @@ msgstr "تطبيقات OAuth"
|
||||
|
||||
#: actions/editapplication.php:66
|
||||
msgid "You must be logged in to edit an application."
|
||||
msgstr "يجب أن تكون مسجل الدخول لتعدل تطبيقا."
|
||||
msgstr "لازم يكون متسجل دخولك علشان تعدّل application."
|
||||
|
||||
#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
|
||||
#: actions/showapplication.php:87
|
||||
msgid "No such application."
|
||||
msgstr "لا تطبيق كهذا."
|
||||
msgstr "ما فيش application زى كده."
|
||||
|
||||
#: actions/editapplication.php:161
|
||||
msgid "Use this form to edit your application."
|
||||
msgstr "استخدم النموذج ده علشان تعدل تطبيقك."
|
||||
msgstr "استعمل الفورمه دى علشان تعدّل الapplication بتاعتك."
|
||||
|
||||
#: actions/editapplication.php:177 actions/newapplication.php:159
|
||||
msgid "Name is required."
|
||||
@ -1148,7 +1149,7 @@ msgstr "الاسم مطلوب."
|
||||
|
||||
#: actions/editapplication.php:180 actions/newapplication.php:165
|
||||
msgid "Name is too long (max 255 chars)."
|
||||
msgstr "الاسم طويل جدا (الأقصى 255 حرفا)."
|
||||
msgstr "الاسم طويل جدا (اكتر حاجه 255 رمز)."
|
||||
|
||||
#: actions/editapplication.php:183 actions/newapplication.php:162
|
||||
msgid "Name already in use. Try another one."
|
||||
@ -1164,7 +1165,7 @@ msgstr ""
|
||||
|
||||
#: actions/editapplication.php:200 actions/newapplication.php:185
|
||||
msgid "Source URL is not valid."
|
||||
msgstr "مسار المصدر ليس صحيحا."
|
||||
msgstr "الSource URL مش مظبوط."
|
||||
|
||||
#: actions/editapplication.php:203 actions/newapplication.php:188
|
||||
msgid "Organization is required."
|
||||
@ -1172,7 +1173,7 @@ msgstr ""
|
||||
|
||||
#: actions/editapplication.php:206 actions/newapplication.php:191
|
||||
msgid "Organization is too long (max 255 chars)."
|
||||
msgstr "المنظمه طويله جدا (الأقصى 255 حرفا)."
|
||||
msgstr "المنظمه طويله جدا (اكتر حاجه 255 رمز)."
|
||||
|
||||
#: actions/editapplication.php:209 actions/newapplication.php:194
|
||||
msgid "Organization homepage is required."
|
||||
@ -1188,7 +1189,7 @@ msgstr ""
|
||||
|
||||
#: actions/editapplication.php:258
|
||||
msgid "Could not update application."
|
||||
msgstr "لم يمكن تحديث التطبيق."
|
||||
msgstr "ما نفعش تحديث الapplication."
|
||||
|
||||
#: actions/editgroup.php:56
|
||||
#, php-format
|
||||
@ -1202,7 +1203,7 @@ msgstr "يجب أن تكون والجًا لتنشئ مجموعه."
|
||||
#: actions/editgroup.php:103 actions/editgroup.php:168
|
||||
#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106
|
||||
msgid "You must be an admin to edit the group."
|
||||
msgstr "يجب أن تكون إداريا لتعدل المجموعه."
|
||||
msgstr "لازم تكون ادارى علشان تعدّل الجروپ."
|
||||
|
||||
#: actions/editgroup.php:154
|
||||
msgid "Use this form to edit the group."
|
||||
@ -1217,7 +1218,7 @@ msgstr ""
|
||||
msgid "Could not update group."
|
||||
msgstr "تعذر تحديث المجموعه."
|
||||
|
||||
#: actions/editgroup.php:259 classes/User_group.php:390
|
||||
#: actions/editgroup.php:259 classes/User_group.php:423
|
||||
msgid "Could not create aliases."
|
||||
msgstr "تعذّر إنشاء الكنى."
|
||||
|
||||
@ -1227,7 +1228,7 @@ msgstr "حُفظت الخيارات."
|
||||
|
||||
#: actions/emailsettings.php:60
|
||||
msgid "Email settings"
|
||||
msgstr "إعدادات البريد الإلكتروني"
|
||||
msgstr "تظبيطات الايميل"
|
||||
|
||||
#: actions/emailsettings.php:71
|
||||
#, php-format
|
||||
@ -1263,7 +1264,7 @@ msgstr "ألغِ"
|
||||
|
||||
#: actions/emailsettings.php:121
|
||||
msgid "Email address"
|
||||
msgstr "عنوان البريد الإلكتروني"
|
||||
msgstr "عنوان الايميل"
|
||||
|
||||
#: actions/emailsettings.php:123
|
||||
msgid "Email address, like \"UserName@example.org\""
|
||||
@ -1550,7 +1551,7 @@ msgstr ""
|
||||
msgid "User is not a member of group."
|
||||
msgstr "المستخدم ليس عضوًا فى المجموعه."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "امنع المستخدم من المجموعة"
|
||||
|
||||
@ -1613,7 +1614,7 @@ msgstr ""
|
||||
|
||||
#: actions/grouplogo.php:178
|
||||
msgid "User without matching profile."
|
||||
msgstr "المستخدم بدون ملف مطابق."
|
||||
msgstr "يوزر من-غير پروفايل زيّه."
|
||||
|
||||
#: actions/grouplogo.php:362
|
||||
msgid "Pick a square area of the image to be the logo."
|
||||
@ -1635,7 +1636,7 @@ msgstr "أعضاء مجموعه %s"
|
||||
#: actions/groupmembers.php:96
|
||||
#, php-format
|
||||
msgid "%1$s group members, page %2$d"
|
||||
msgstr "%1$s أعضاء المجموعة, الصفحه %2$d"
|
||||
msgstr "%1$s اعضاء الجروپ, صفحه %2$d"
|
||||
|
||||
#: actions/groupmembers.php:111
|
||||
msgid "A list of the users in this group."
|
||||
@ -1645,19 +1646,19 @@ msgstr "قائمه بمستخدمى هذه المجموعه."
|
||||
msgid "Admin"
|
||||
msgstr "إداري"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "امنع"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "اجعل هذا المستخدم إداريًا"
|
||||
|
||||
@ -1734,7 +1735,7 @@ msgstr "خطأ أثناء منع الحجب."
|
||||
|
||||
#: actions/imsettings.php:59
|
||||
msgid "IM settings"
|
||||
msgstr "إعدادات المراسله الفورية"
|
||||
msgstr "تظبيطات بعت الرسايل الفوريه"
|
||||
|
||||
#: actions/imsettings.php:70
|
||||
#, php-format
|
||||
@ -1760,7 +1761,7 @@ msgstr ""
|
||||
|
||||
#: actions/imsettings.php:124
|
||||
msgid "IM address"
|
||||
msgstr "عنوان المراسله الفورية"
|
||||
msgstr "عنوان الرساله الفوريه"
|
||||
|
||||
#: actions/imsettings.php:126
|
||||
#, php-format
|
||||
@ -1944,7 +1945,7 @@ msgstr ""
|
||||
#: actions/joingroup.php:131
|
||||
#, php-format
|
||||
msgid "%1$s joined group %2$s"
|
||||
msgstr "%1$s انضم للمجموعه %2$s"
|
||||
msgstr "%1$s دخل جروپ %2$s"
|
||||
|
||||
#: actions/leavegroup.php:60
|
||||
msgid "You must be logged in to leave a group."
|
||||
@ -1957,7 +1958,7 @@ msgstr "لست عضوا فى تلك المجموعه."
|
||||
#: actions/leavegroup.php:127
|
||||
#, php-format
|
||||
msgid "%1$s left group %2$s"
|
||||
msgstr "%1$s ترك المجموعه %2$s"
|
||||
msgstr "%1$s ساب جروپ %2$s"
|
||||
|
||||
#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
|
||||
msgid "Already logged in."
|
||||
@ -2005,24 +2006,24 @@ msgid ""
|
||||
"(%%action.register%%) a new account."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "لم يمكن الحصول على تسجيل العضويه ل%1$s فى المجموعه %2$s."
|
||||
msgstr "مش نافع يتجاب سجل العضويه لـ%1$s فى جروپ %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "لم يمكن جعل %1$s إداريا للمجموعه %2$s."
|
||||
msgstr "%1$s مش نافع يبقى ادارى لجروپ %2$s."
|
||||
|
||||
#: actions/microsummary.php:69
|
||||
msgid "No current status"
|
||||
@ -2035,11 +2036,11 @@ msgstr "لا تطبيق كهذا."
|
||||
|
||||
#: actions/newapplication.php:64
|
||||
msgid "You must be logged in to register an application."
|
||||
msgstr "يجب أن تكون مسجل الدخول لتسجل تطبيقا."
|
||||
msgstr "لازم تكون مسجل دخوللك علشان تسجل application."
|
||||
|
||||
#: actions/newapplication.php:143
|
||||
msgid "Use this form to register a new application."
|
||||
msgstr "استخدم هذا النموذج لتسجل تطبيقا جديدا."
|
||||
msgstr "استعمل الفورمه دى علشان تسجل application جديد."
|
||||
|
||||
#: actions/newapplication.php:176
|
||||
msgid "Source URL is required."
|
||||
@ -2047,7 +2048,7 @@ msgstr ""
|
||||
|
||||
#: actions/newapplication.php:258 actions/newapplication.php:267
|
||||
msgid "Could not create application."
|
||||
msgstr "مش ممكن إنشاء التطبيق."
|
||||
msgstr "مش ممكن إنشاء الapplication."
|
||||
|
||||
#: actions/newgroup.php:53
|
||||
msgid "New group"
|
||||
@ -2086,7 +2087,7 @@ msgstr "أُرسلت الرسالة"
|
||||
#: actions/newmessage.php:185
|
||||
#, php-format
|
||||
msgid "Direct message to %s sent."
|
||||
msgstr "رساله مباشره ل%s تم إرسالها."
|
||||
msgstr "رساله مباشره اتبعتت لـ%s."
|
||||
|
||||
#: actions/newmessage.php:210 actions/newnotice.php:245 lib/channel.php:170
|
||||
msgid "Ajax Error"
|
||||
@ -2114,7 +2115,7 @@ msgstr "بحث فى النصوص"
|
||||
#: actions/noticesearch.php:91
|
||||
#, php-format
|
||||
msgid "Search results for \"%1$s\" on %2$s"
|
||||
msgstr "نتائج البحث ل\"%1$s\" على %2$s"
|
||||
msgstr "نتايج التدوير لـ\"%1$s\" على %2$s"
|
||||
|
||||
#: actions/noticesearch.php:121
|
||||
#, php-format
|
||||
@ -2155,11 +2156,11 @@ msgstr "أُرسل التنبيه!"
|
||||
|
||||
#: actions/oauthappssettings.php:59
|
||||
msgid "You must be logged in to list your applications."
|
||||
msgstr "يجب أن تكون مسجل الدخول لعرض تطبيقاتك."
|
||||
msgstr "لازم تكون مسجل دخولك علشان تشوف ليستة الapplications بتاعتك."
|
||||
|
||||
#: actions/oauthappssettings.php:74
|
||||
msgid "OAuth applications"
|
||||
msgstr "تطبيقات OAuth"
|
||||
msgstr "OAuth applications"
|
||||
|
||||
#: actions/oauthappssettings.php:85
|
||||
msgid "Applications you have registered"
|
||||
@ -2180,7 +2181,7 @@ msgstr ""
|
||||
|
||||
#: actions/oauthconnectionssettings.php:175
|
||||
msgid "You are not a user of that application."
|
||||
msgstr "أنت لست مستخدما لهذا التطبيق."
|
||||
msgstr "انت مش يوزر للapplication دى."
|
||||
|
||||
#: actions/oauthconnectionssettings.php:186
|
||||
msgid "Unable to revoke access for app: "
|
||||
@ -2212,8 +2213,8 @@ msgstr "نوع المحتوى "
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr " مش نظام بيانات مدعوم."
|
||||
|
||||
@ -2227,7 +2228,7 @@ msgstr "بحث الإشعارات"
|
||||
|
||||
#: actions/othersettings.php:60
|
||||
msgid "Other settings"
|
||||
msgstr "إعدادات تانيه"
|
||||
msgstr "تظبيطات تانيه"
|
||||
|
||||
#: actions/othersettings.php:71
|
||||
msgid "Manage various other options."
|
||||
@ -2259,23 +2260,23 @@ msgstr ""
|
||||
|
||||
#: actions/otp.php:69
|
||||
msgid "No user ID specified."
|
||||
msgstr "لا هويه مستخدم محدده."
|
||||
msgstr "ما فيش ID متحدد لليوزر."
|
||||
|
||||
#: actions/otp.php:83
|
||||
msgid "No login token specified."
|
||||
msgstr "لا محتوى دخول محدد."
|
||||
msgstr "ما فيش امارة دخول متحدده."
|
||||
|
||||
#: actions/otp.php:90
|
||||
msgid "No login token requested."
|
||||
msgstr "لا طلب استيثاق."
|
||||
msgstr "ما فيش طلب تسجيل دخول مطلوب."
|
||||
|
||||
#: actions/otp.php:95
|
||||
msgid "Invalid login token specified."
|
||||
msgstr "توكن دخول غير صحيح محدد."
|
||||
msgstr "امارة تسجيل الدخول اللى اتحطت مش موجوده."
|
||||
|
||||
#: actions/otp.php:104
|
||||
msgid "Login token expired."
|
||||
msgstr "توكن الدخول انتهى."
|
||||
msgstr "تاريخ صلاحية الاماره خلص."
|
||||
|
||||
#: actions/outbox.php:58
|
||||
#, php-format
|
||||
@ -2495,7 +2496,7 @@ msgstr ""
|
||||
|
||||
#: actions/pathsadminpanel.php:335
|
||||
msgid "SSL server"
|
||||
msgstr "خادم SSL"
|
||||
msgstr "SSL server"
|
||||
|
||||
#: actions/pathsadminpanel.php:336
|
||||
msgid "Server to direct SSL requests to"
|
||||
@ -3118,7 +3119,7 @@ msgstr ""
|
||||
|
||||
#: actions/rsd.php:146 actions/version.php:157
|
||||
msgid "StatusNet"
|
||||
msgstr "ستاتس نت"
|
||||
msgstr "StatusNet"
|
||||
|
||||
#: actions/sandbox.php:65 actions/unsandbox.php:65
|
||||
msgid "You cannot sandbox users on this site."
|
||||
@ -3161,7 +3162,7 @@ msgstr "اذف إعدادت الموقع"
|
||||
|
||||
#: actions/showapplication.php:82
|
||||
msgid "You must be logged in to view an application."
|
||||
msgstr "يجب أن تكون مسجل الدخول لرؤيه تطبيق."
|
||||
msgstr "لازم تكون مسجل دخولك علشان تشوف اى application."
|
||||
|
||||
#: actions/showapplication.php:157
|
||||
msgid "Application profile"
|
||||
@ -3178,7 +3179,7 @@ msgstr "الاسم"
|
||||
|
||||
#: actions/showapplication.php:178 lib/applicationeditform.php:222
|
||||
msgid "Organization"
|
||||
msgstr "المنظمة"
|
||||
msgstr "المنظمه"
|
||||
|
||||
#: actions/showapplication.php:187 actions/version.php:198
|
||||
#: lib/applicationeditform.php:209 lib/groupeditform.php:172
|
||||
@ -3225,7 +3226,7 @@ msgstr ""
|
||||
|
||||
#: actions/showapplication.php:283
|
||||
msgid "Authorize URL"
|
||||
msgstr "اسمح بالمسار"
|
||||
msgstr "اسمح للURL"
|
||||
|
||||
#: actions/showapplication.php:288
|
||||
msgid ""
|
||||
@ -3499,12 +3500,12 @@ msgstr "يجب ألا يكون طول اسم الموقع صفرًا."
|
||||
|
||||
#: actions/siteadminpanel.php:140
|
||||
msgid "You must have a valid contact email address."
|
||||
msgstr "يجب أن تملك عنوان بريد إلكترونى صحيح."
|
||||
msgstr "لازم يكون عندك عنوان ايميل صالح."
|
||||
|
||||
#: actions/siteadminpanel.php:158
|
||||
#, php-format
|
||||
msgid "Unknown language \"%s\"."
|
||||
msgstr "لغه غير معروفه \"%s\"."
|
||||
msgstr "لغه مش معروفه \"%s\"."
|
||||
|
||||
#: actions/siteadminpanel.php:165
|
||||
msgid "Invalid snapshot report URL."
|
||||
@ -3632,7 +3633,7 @@ msgstr ""
|
||||
|
||||
#: actions/smssettings.php:58
|
||||
msgid "SMS settings"
|
||||
msgstr "إعدادات الرسائل القصيرة"
|
||||
msgstr "تظبيطات الـSMS"
|
||||
|
||||
#: actions/smssettings.php:69
|
||||
#, php-format
|
||||
@ -3661,7 +3662,7 @@ msgstr ""
|
||||
|
||||
#: actions/smssettings.php:138
|
||||
msgid "SMS phone number"
|
||||
msgstr "رقم هاتف SMS"
|
||||
msgstr "نمرة تليفون الـSMS"
|
||||
|
||||
#: actions/smssettings.php:140
|
||||
msgid "Phone number, no punctuation or spaces, with area code"
|
||||
@ -3746,7 +3747,7 @@ msgstr "مشتركو %s"
|
||||
#: actions/subscribers.php:52
|
||||
#, php-format
|
||||
msgid "%1$s subscribers, page %2$d"
|
||||
msgstr "مشتركو %1$s, الصفحه %2$d"
|
||||
msgstr "%1$s مشتركين, صفحه %2$d"
|
||||
|
||||
#: actions/subscribers.php:63
|
||||
msgid "These are the people who listen to your notices."
|
||||
@ -3783,7 +3784,7 @@ msgstr "اشتراكات %s"
|
||||
#: actions/subscriptions.php:54
|
||||
#, php-format
|
||||
msgid "%1$s subscriptions, page %2$d"
|
||||
msgstr "اشتراكات%1$s, الصفحه %2$d"
|
||||
msgstr "%1$s اشتراكات, صفحه %2$d"
|
||||
|
||||
#: actions/subscriptions.php:65
|
||||
msgid "These are the people whose notices you listen to."
|
||||
@ -4108,7 +4109,7 @@ msgstr ""
|
||||
#: actions/version.php:73
|
||||
#, php-format
|
||||
msgid "StatusNet %s"
|
||||
msgstr "ستاتس نت %s"
|
||||
msgstr "StatusNet %s"
|
||||
|
||||
#: actions/version.php:153
|
||||
#, php-format
|
||||
@ -4150,11 +4151,11 @@ msgstr ""
|
||||
|
||||
#: actions/version.php:196 lib/action.php:747
|
||||
msgid "Version"
|
||||
msgstr "النسخة"
|
||||
msgstr "النسخه"
|
||||
|
||||
#: actions/version.php:197
|
||||
msgid "Author(s)"
|
||||
msgstr "المؤلف(ون)"
|
||||
msgstr "المؤلف/ين"
|
||||
|
||||
#: classes/File.php:144
|
||||
#, php-format
|
||||
@ -4175,15 +4176,15 @@ msgstr ""
|
||||
|
||||
#: classes/Group_member.php:41
|
||||
msgid "Group join failed."
|
||||
msgstr "الانضمام للمجموعه فشل."
|
||||
msgstr "دخول الجروپ فشل."
|
||||
|
||||
#: classes/Group_member.php:53
|
||||
msgid "Not part of group."
|
||||
msgstr "ليس جزءا من المجموعه."
|
||||
msgstr "مش جزء من الجروپ."
|
||||
|
||||
#: classes/Group_member.php:60
|
||||
msgid "Group leave failed."
|
||||
msgstr "ترك المجموعه فشل."
|
||||
msgstr "الخروج من الجروپ فشل."
|
||||
|
||||
#: classes/Login_token.php:76
|
||||
#, php-format
|
||||
@ -4244,7 +4245,7 @@ msgstr "مشكله أثناء حفظ الإشعار."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1271
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "آر تى @%1$s %2$s"
|
||||
@ -4254,11 +4255,11 @@ msgstr "آر تى @%1$s %2$s"
|
||||
msgid "Welcome to %1$s, @%2$s!"
|
||||
msgstr "أهلا بكم فى %1$s يا @%2$s!"
|
||||
|
||||
#: classes/User_group.php:380
|
||||
#: classes/User_group.php:413
|
||||
msgid "Could not create group."
|
||||
msgstr "تعذّر إنشاء المجموعه."
|
||||
|
||||
#: classes/User_group.php:409
|
||||
#: classes/User_group.php:442
|
||||
msgid "Could not set group membership."
|
||||
msgstr "تعذّر ضبط عضويه المجموعه."
|
||||
|
||||
@ -4485,7 +4486,7 @@ msgstr ""
|
||||
|
||||
#: lib/adminpanelaction.php:107
|
||||
msgid "Changes to that panel are not allowed."
|
||||
msgstr "التغييرات لهذه اللوحه غير مسموح بها."
|
||||
msgstr "التغييرات مش مسموحه للـ لوحه دى."
|
||||
|
||||
#: lib/adminpanelaction.php:206
|
||||
msgid "showForm() not implemented."
|
||||
@ -4550,11 +4551,11 @@ msgstr ""
|
||||
|
||||
#: lib/applicationeditform.php:207
|
||||
msgid "Describe your application"
|
||||
msgstr "اوصف تطبيقك"
|
||||
msgstr "اوصف الapplication بتاعتك"
|
||||
|
||||
#: lib/applicationeditform.php:216
|
||||
msgid "Source URL"
|
||||
msgstr "مسار المصدر"
|
||||
msgstr "Source URL"
|
||||
|
||||
#: lib/applicationeditform.php:218
|
||||
msgid "URL of the homepage of this application"
|
||||
@ -4598,7 +4599,7 @@ msgstr ""
|
||||
|
||||
#: lib/applicationlist.php:154
|
||||
msgid "Revoke"
|
||||
msgstr "اسحب"
|
||||
msgstr "بطّل"
|
||||
|
||||
#: lib/attachmentlist.php:87
|
||||
msgid "Attachments"
|
||||
@ -4622,11 +4623,11 @@ msgstr "وسوم هذا المرفق"
|
||||
|
||||
#: lib/authenticationplugin.php:218 lib/authenticationplugin.php:223
|
||||
msgid "Password changing failed"
|
||||
msgstr "تغيير كلمه السر فشل"
|
||||
msgstr "تغيير الپاسوورد فشل"
|
||||
|
||||
#: lib/authenticationplugin.php:233
|
||||
msgid "Password changing is not allowed"
|
||||
msgstr "تغيير كلمه السر غير مسموح به"
|
||||
msgstr "تغيير الپاسوورد مش مسموح"
|
||||
|
||||
#: lib/channel.php:138 lib/channel.php:158
|
||||
msgid "Command results"
|
||||
@ -4647,7 +4648,7 @@ msgstr ""
|
||||
#: lib/command.php:88
|
||||
#, php-format
|
||||
msgid "Could not find a user with nickname %s"
|
||||
msgstr "لم يمكن إيجاد مستخدم بالاسم %s"
|
||||
msgstr "ما نفعش يلاقى يوزر بإسم %s"
|
||||
|
||||
#: lib/command.php:92
|
||||
msgid "It does not make a lot of sense to nudge yourself!"
|
||||
@ -4656,7 +4657,7 @@ msgstr ""
|
||||
#: lib/command.php:99
|
||||
#, php-format
|
||||
msgid "Nudge sent to %s"
|
||||
msgstr "التنبيه تم إرساله إلى %s"
|
||||
msgstr "Nudge اتبعتت لـ %s"
|
||||
|
||||
#: lib/command.php:126
|
||||
#, php-format
|
||||
@ -4671,7 +4672,7 @@ msgstr ""
|
||||
|
||||
#: lib/command.php:152 lib/command.php:390 lib/command.php:451
|
||||
msgid "Notice with that id does not exist"
|
||||
msgstr "الملاحظه بهذا الرقم غير موجودة"
|
||||
msgstr "الملاحظه بالـID ده مالهاش وجود"
|
||||
|
||||
#: lib/command.php:168 lib/command.php:406 lib/command.php:467
|
||||
#: lib/command.php:523
|
||||
@ -4684,12 +4685,12 @@ msgstr ""
|
||||
|
||||
#: lib/command.php:217
|
||||
msgid "You are already a member of that group"
|
||||
msgstr "أنت بالفعل عضو فى هذه المجموعة"
|
||||
msgstr "انت اصلا عضو فى الجروپ ده"
|
||||
|
||||
#: lib/command.php:231
|
||||
#, php-format
|
||||
msgid "Could not join user %s to group %s"
|
||||
msgstr "لم يمكن ضم المستخدم %s إلى المجموعه %s"
|
||||
msgstr "ما نفعش يدخل اليوزر %s لجروپ %s"
|
||||
|
||||
#: lib/command.php:236
|
||||
#, php-format
|
||||
@ -4699,12 +4700,12 @@ msgstr "%s انضم إلى مجموعه %s"
|
||||
#: lib/command.php:275
|
||||
#, php-format
|
||||
msgid "Could not remove user %s to group %s"
|
||||
msgstr "لم يمكن إزاله المستخدم %s من المجموعه %s"
|
||||
msgstr "ما نفعش يشيل اليوزر %s لجروپ %s"
|
||||
|
||||
#: lib/command.php:280
|
||||
#, php-format
|
||||
msgid "%s left group %s"
|
||||
msgstr "%s ترك المجموعه %s"
|
||||
msgstr "%s ساب الجروپ %s"
|
||||
|
||||
#: lib/command.php:309
|
||||
#, php-format
|
||||
@ -4734,7 +4735,7 @@ msgstr ""
|
||||
#: lib/command.php:367
|
||||
#, php-format
|
||||
msgid "Direct message to %s sent"
|
||||
msgstr "رساله مباشره إلى %s تم إرسالها"
|
||||
msgstr "رساله مباشره اتبعتت لـ %s"
|
||||
|
||||
#: lib/command.php:369
|
||||
msgid "Error sending direct message."
|
||||
@ -4742,7 +4743,7 @@ msgstr ""
|
||||
|
||||
#: lib/command.php:413
|
||||
msgid "Cannot repeat your own notice"
|
||||
msgstr "لا يمكنك تكرار ملاحظتك الخاصة"
|
||||
msgstr "الملاحظه بتاعتك مش نافعه تتكرر"
|
||||
|
||||
#: lib/command.php:418
|
||||
msgid "Already repeated that notice"
|
||||
@ -4931,7 +4932,7 @@ msgstr ""
|
||||
|
||||
#: lib/connectsettingsaction.php:120
|
||||
msgid "Connections"
|
||||
msgstr "اتصالات"
|
||||
msgstr "كونيكشونات (Connections)"
|
||||
|
||||
#: lib/connectsettingsaction.php:121
|
||||
msgid "Authorized connected applications"
|
||||
@ -5127,7 +5128,7 @@ msgstr "[%s]"
|
||||
#: lib/jabber.php:400
|
||||
#, php-format
|
||||
msgid "Unknown inbox source %d."
|
||||
msgstr "مصدر صندوق وارد غير معروف %d."
|
||||
msgstr "مصدر الـinbox مش معروف %d."
|
||||
|
||||
#: lib/joinform.php:114
|
||||
msgid "Join"
|
||||
@ -5189,7 +5190,7 @@ msgstr ""
|
||||
#: lib/mail.php:258
|
||||
#, php-format
|
||||
msgid "Bio: %s"
|
||||
msgstr "السيرة: %s"
|
||||
msgstr "عن نفسك: %s"
|
||||
|
||||
#: lib/mail.php:286
|
||||
#, php-format
|
||||
@ -5342,7 +5343,7 @@ msgstr ""
|
||||
#: lib/mailhandler.php:228
|
||||
#, php-format
|
||||
msgid "Unsupported message type: %s"
|
||||
msgstr "نوع رساله غير مدعوم: %s"
|
||||
msgstr "نوع رساله مش مدعوم: %s"
|
||||
|
||||
#: lib/mediafile.php:98 lib/mediafile.php:123
|
||||
msgid "There was a database error while saving your file. Please try again."
|
||||
@ -5384,7 +5385,7 @@ msgstr ""
|
||||
|
||||
#: lib/mediafile.php:201 lib/mediafile.php:237
|
||||
msgid "Could not determine file's MIME type."
|
||||
msgstr "لم يمكن تحديد نوع MIME للملف."
|
||||
msgstr "مش نافع يتحدد نوع الـMIME بتاع الفايل."
|
||||
|
||||
#: lib/mediafile.php:270
|
||||
#, php-format
|
||||
@ -5427,11 +5428,11 @@ msgstr "أرفق ملفًا"
|
||||
|
||||
#: lib/noticeform.php:212
|
||||
msgid "Share my location"
|
||||
msgstr "شارك موقعى"
|
||||
msgstr "اعمل مشاركه لمكانى"
|
||||
|
||||
#: lib/noticeform.php:215
|
||||
msgid "Do not share my location"
|
||||
msgstr "لا تشارك موقعي"
|
||||
msgstr "ما تعملش مشاركه لمكانى"
|
||||
|
||||
#: lib/noticeform.php:216
|
||||
msgid ""
|
||||
@ -5555,7 +5556,7 @@ msgstr ""
|
||||
|
||||
#: lib/plugin.php:114
|
||||
msgid "Unknown"
|
||||
msgstr "غير معروف"
|
||||
msgstr "مش معروف"
|
||||
|
||||
#: lib/profileaction.php:109 lib/profileaction.php:192 lib/subgroupnav.php:82
|
||||
msgid "Subscriptions"
|
||||
@ -5790,47 +5791,47 @@ msgstr "رسالة"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:871
|
||||
msgid "a few seconds ago"
|
||||
msgstr "قبل لحظات قليلة"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:873
|
||||
msgid "about a minute ago"
|
||||
msgstr "قبل دقيقه تقريبًا"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:875
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:877
|
||||
msgid "about an hour ago"
|
||||
msgstr "قبل ساعه تقريبًا"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:879
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:881
|
||||
msgid "about a day ago"
|
||||
msgstr "قبل يوم تقريبا"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:883
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:885
|
||||
msgid "about a month ago"
|
||||
msgstr "قبل شهر تقريبًا"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:887
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:889
|
||||
msgid "about a year ago"
|
||||
msgstr "قبل سنه تقريبًا"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:40+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:17+0000\n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: bg\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -30,7 +30,6 @@ msgid "Site access settings"
|
||||
msgstr "Запазване настройките на сайта"
|
||||
|
||||
#: actions/accessadminpanel.php:158
|
||||
#, fuzzy
|
||||
msgid "Registration"
|
||||
msgstr "Регистриране"
|
||||
|
||||
@ -107,9 +106,9 @@ msgid "No such user."
|
||||
msgstr "Няма такъв потребител"
|
||||
|
||||
#: actions/all.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s and friends, page %2$d"
|
||||
msgstr "Блокирани за %s, страница %d"
|
||||
msgstr "%1$s и приятели, страница %2$d"
|
||||
|
||||
#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115
|
||||
#: actions/apitimelinefriends.php:114 actions/apitimelinehome.php:115
|
||||
@ -191,7 +190,7 @@ msgstr "Бележки от %1$s и приятели в %2$s."
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "Не е открит методът в API."
|
||||
|
||||
@ -425,9 +424,9 @@ msgstr "Неправилен псевдоним: \"%s\""
|
||||
|
||||
#: actions/apigroupcreate.php:273 actions/editgroup.php:228
|
||||
#: actions/newgroup.php:172
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Alias \"%s\" already in use. Try another one."
|
||||
msgstr "Опитайте друг псевдоним, този вече е зает."
|
||||
msgstr "Псевдонимът \"%s\" вече е зает. Опитайте друг."
|
||||
|
||||
#: actions/apigroupcreate.php:286 actions/editgroup.php:234
|
||||
#: actions/newgroup.php:178
|
||||
@ -817,7 +816,7 @@ msgstr "Да не се блокира този потребител"
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Блокиране на потребителя"
|
||||
|
||||
@ -902,9 +901,8 @@ msgid "Couldn't delete email confirmation."
|
||||
msgstr "Грешка при изтриване потвърждението по е-поща."
|
||||
|
||||
#: actions/confirmaddress.php:144
|
||||
#, fuzzy
|
||||
msgid "Confirm address"
|
||||
msgstr "Потвърждаване на адреса"
|
||||
msgstr "Потвърждаване на адрес"
|
||||
|
||||
#: actions/confirmaddress.php:159
|
||||
#, php-format
|
||||
@ -1598,7 +1596,7 @@ msgstr "Потребителят вече е блокиран за групат
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Потребителят не членува в групата."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Блокиране на потребителя"
|
||||
@ -1701,20 +1699,20 @@ msgstr "Списък с потребителите в тази група."
|
||||
msgid "Admin"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Блокиране"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
#, fuzzy
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "За да редактирате групата, трябва да сте й администратор."
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2057,9 +2055,9 @@ msgid "You are not a member of that group."
|
||||
msgstr "Не членувате в тази група."
|
||||
|
||||
#: actions/leavegroup.php:127
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s left group %2$s"
|
||||
msgstr "%s напусна групата %s"
|
||||
msgstr "%1$s напусна групата %2$s"
|
||||
|
||||
#: actions/login.php:80 actions/otp.php:62 actions/register.php:137
|
||||
msgid "Already logged in."
|
||||
@ -2112,21 +2110,21 @@ msgstr ""
|
||||
"Влезте с име и парола. Нямате такива? [Регистрирайте](%%action.register%%) "
|
||||
"нова сметка или опитайте с [OpenID](%%action.openidlogin%%). "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Потребителят вече е блокиран за групата."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Грешка при проследяване — потребителят не е намерен."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "За да редактирате групата, трябва да сте й администратор."
|
||||
@ -2329,8 +2327,8 @@ msgstr "вид съдържание "
|
||||
msgid "Only "
|
||||
msgstr "Само "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Неподдържан формат на данните"
|
||||
|
||||
@ -2343,7 +2341,6 @@ msgid "Notice Search"
|
||||
msgstr "Търсене на бележки"
|
||||
|
||||
#: actions/othersettings.php:60
|
||||
#, fuzzy
|
||||
msgid "Other settings"
|
||||
msgstr "Други настройки"
|
||||
|
||||
@ -2619,7 +2616,6 @@ msgid "When to use SSL"
|
||||
msgstr "Кога да се използва SSL"
|
||||
|
||||
#: actions/pathsadminpanel.php:335
|
||||
#, fuzzy
|
||||
msgid "SSL server"
|
||||
msgstr "SSL-сървър"
|
||||
|
||||
@ -3095,7 +3091,7 @@ msgid ""
|
||||
msgstr " освен тези лични данни: парола, е-поща, месинджър, телефон."
|
||||
|
||||
#: actions/register.php:538
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Congratulations, %1$s! And welcome to %%%%site.name%%%%. From here, you may "
|
||||
"want to...\n"
|
||||
@ -3112,9 +3108,9 @@ msgid ""
|
||||
"\n"
|
||||
"Thanks for signing up and we hope you enjoy using this service."
|
||||
msgstr ""
|
||||
"Поздравления, %s! И добре дошли в %%%%site.name%%%%! от тук можете да...\n"
|
||||
"Поздравления, %1$s! И добре дошли в %%%%site.name%%%%! от тук можете да...\n"
|
||||
"\n"
|
||||
"* Отидете в [профила си](%s) и да публикувате първата си бележка.\n"
|
||||
"* Отидете в [профила си](%2$s) и да публикувате първата си бележка.\n"
|
||||
"* Добавите [адрес в Jabber/GTalk](%%%%action.imsettings%%%%), за да "
|
||||
"изпращате бележки от програмата си за моментни съобщения.\n"
|
||||
"* [Търсите хора](%%%%action.peoplesearch%%%%), които познавате или с които "
|
||||
@ -3328,18 +3324,16 @@ msgstr "Бележката няма профил"
|
||||
|
||||
#: actions/showapplication.php:159 lib/applicationeditform.php:180
|
||||
msgid "Icon"
|
||||
msgstr ""
|
||||
msgstr "Икона"
|
||||
|
||||
#: actions/showapplication.php:169 actions/version.php:195
|
||||
#: lib/applicationeditform.php:195
|
||||
#, fuzzy
|
||||
msgid "Name"
|
||||
msgstr "Псевдоним"
|
||||
msgstr "Име"
|
||||
|
||||
#: actions/showapplication.php:178 lib/applicationeditform.php:222
|
||||
#, fuzzy
|
||||
msgid "Organization"
|
||||
msgstr "Страниране"
|
||||
msgstr "Организация"
|
||||
|
||||
#: actions/showapplication.php:187 actions/version.php:198
|
||||
#: lib/applicationeditform.php:209 lib/groupeditform.php:172
|
||||
@ -3401,9 +3395,9 @@ msgid "Are you sure you want to reset your consumer key and secret?"
|
||||
msgstr "Наистина ли искате да изтриете тази бележка?"
|
||||
|
||||
#: actions/showfavorites.php:79
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s's favorite notices, page %2$d"
|
||||
msgstr "Любими бележки на %s"
|
||||
msgstr "Любими бележки на %1$s, страница %2$d"
|
||||
|
||||
#: actions/showfavorites.php:132
|
||||
msgid "Could not retrieve favorite notices."
|
||||
@ -3466,7 +3460,7 @@ msgstr "Профил на групата"
|
||||
#: actions/showgroup.php:263 actions/tagother.php:118
|
||||
#: actions/userauthorization.php:175 lib/userprofile.php:177
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
msgstr "URL"
|
||||
|
||||
#: actions/showgroup.php:274 actions/tagother.php:128
|
||||
#: actions/userauthorization.php:187 lib/userprofile.php:194
|
||||
@ -3475,7 +3469,7 @@ msgstr "Бележка"
|
||||
|
||||
#: actions/showgroup.php:284 lib/groupeditform.php:184
|
||||
msgid "Aliases"
|
||||
msgstr ""
|
||||
msgstr "Псевдоними"
|
||||
|
||||
#: actions/showgroup.php:293
|
||||
msgid "Group actions"
|
||||
@ -3661,9 +3655,9 @@ msgid "You must have a valid contact email address."
|
||||
msgstr "Адресът на е-поща за контакт е задължителен"
|
||||
|
||||
#: actions/siteadminpanel.php:158
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Unknown language \"%s\"."
|
||||
msgstr "Непознат език \"%s\""
|
||||
msgstr "Непознат език \"%s\"."
|
||||
|
||||
#: actions/siteadminpanel.php:165
|
||||
msgid "Invalid snapshot report URL."
|
||||
@ -4300,9 +4294,9 @@ msgid "Try [searching for groups](%%action.groupsearch%%) and joining them."
|
||||
msgstr ""
|
||||
|
||||
#: actions/version.php:73
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "StatusNet %s"
|
||||
msgstr "Статистики"
|
||||
msgstr "StatusNet %s"
|
||||
|
||||
#: actions/version.php:153
|
||||
#, php-format
|
||||
@ -4340,17 +4334,15 @@ msgstr ""
|
||||
|
||||
#: actions/version.php:189
|
||||
msgid "Plugins"
|
||||
msgstr ""
|
||||
msgstr "Приставки"
|
||||
|
||||
#: actions/version.php:196 lib/action.php:747
|
||||
#, fuzzy
|
||||
msgid "Version"
|
||||
msgstr "Сесии"
|
||||
msgstr "Версия"
|
||||
|
||||
#: actions/version.php:197
|
||||
#, fuzzy
|
||||
msgid "Author(s)"
|
||||
msgstr "Автор"
|
||||
msgstr "Автор(и)"
|
||||
|
||||
#: classes/File.php:144
|
||||
#, php-format
|
||||
@ -4450,7 +4442,7 @@ msgstr "Проблем при записване на бележката."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Грешка в базата от данни — отговор при вмъкването: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -5418,11 +5410,9 @@ msgstr ""
|
||||
"Може да смените адреса и настройките за уведомяване по е-поща на %8$s\n"
|
||||
|
||||
#: lib/mail.php:258
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Bio: %s"
|
||||
msgstr ""
|
||||
"Биография: %s\n"
|
||||
"\n"
|
||||
msgstr "Биография: %s"
|
||||
|
||||
#: lib/mail.php:286
|
||||
#, php-format
|
||||
@ -6039,47 +6029,47 @@ msgstr "Съобщение"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "преди няколко секунди"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "преди около минута"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "преди около %d минути"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "преди около час"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "преди около %d часа"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "преди около ден"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "преди около %d дни"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "преди около месец"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "преди около %d месеца"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "преди около година"
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
# Translation of StatusNet to Catalan
|
||||
#
|
||||
# Author@translatewiki.net: Aleator
|
||||
# Author@translatewiki.net: McDutchie
|
||||
# Author@translatewiki.net: Toniher
|
||||
# --
|
||||
@ -9,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:45+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:20+0000\n"
|
||||
"Language-Team: Catalan\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ca\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -195,7 +196,7 @@ msgstr "Actualitzacions de %1$s i amics a %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "No s'ha trobat el mètode API!"
|
||||
@ -833,7 +834,7 @@ msgstr "No bloquis l'usuari"
|
||||
msgid "Yes"
|
||||
msgstr "Sí"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Bloquejar aquest usuari"
|
||||
|
||||
@ -1613,7 +1614,7 @@ msgstr "Un usuari t'ha bloquejat."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "L'usuari no és membre del grup."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Bloca l'usuari del grup"
|
||||
|
||||
@ -1714,19 +1715,19 @@ msgstr "La llista dels usuaris d'aquest grup."
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Bloca"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Fes l'usuari un administrador del grup"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Fes-lo administrador"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Fes l'usuari administrador"
|
||||
|
||||
@ -2131,21 +2132,21 @@ msgstr ""
|
||||
"tens un nom d'usuari? [Crea](%%action.register%%) un nou compte o prova "
|
||||
"[OpenID] (%%action.openidlogin%%)."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Només un administrador poc fer a un altre usuari administrador."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%s ja és un administrador del grup «%s»."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "No s'ha pogut eliminar l'usuari %s del grup %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "No es pot fer %s un administrador del grup %s"
|
||||
@ -2349,8 +2350,8 @@ msgstr "tipus de contingut "
|
||||
msgid "Only "
|
||||
msgstr "Només "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Format de data no suportat."
|
||||
|
||||
@ -4502,7 +4503,7 @@ msgstr "Problema en guardar l'avís."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Error de BD en inserir resposta: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -5119,8 +5120,8 @@ msgstr "No sou membre de cap grup."
|
||||
#: lib/command.php:714
|
||||
msgid "You are a member of this group:"
|
||||
msgid_plural "You are a member of these groups:"
|
||||
msgstr[0] "No sou un membre del grup."
|
||||
msgstr[1] "No sou un membre del grup."
|
||||
msgstr[0] "Sou un membre d'aquest grup:"
|
||||
msgstr[1] "Sou un membre d'aquests grups:"
|
||||
|
||||
#: lib/command.php:728
|
||||
msgid ""
|
||||
@ -6084,47 +6085,47 @@ msgstr "Missatge"
|
||||
msgid "Moderate"
|
||||
msgstr "Modera"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "fa pocs segons"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "fa un minut"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "fa %d minuts"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "fa una hora"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "fa %d hores"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "fa un dia"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "fa %d dies"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "fa un mes"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "fa %d mesos"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "fa un any"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:47+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:23+0000\n"
|
||||
"Language-Team: Czech\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: cs\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -196,7 +196,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Potvrzující kód nebyl nalezen"
|
||||
@ -834,7 +834,7 @@ msgstr "Žádný takový uživatel."
|
||||
msgid "Yes"
|
||||
msgstr "Ano"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Zablokovat tohoto uživatele"
|
||||
|
||||
@ -1619,7 +1619,7 @@ msgstr "Uživatel nemá profil."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Neodeslal jste nám profil"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Žádný takový uživatel."
|
||||
@ -1723,19 +1723,19 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2106,21 +2106,21 @@ msgstr ""
|
||||
"[Registrovat](%%action.register%%) nový účet, nebo vyzkoušejte [OpenID](%%"
|
||||
"action.openidlogin%%)."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Uživatel nemá profil."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Nelze vytvořit OpenID z: %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Uživatel nemá profil."
|
||||
@ -2319,8 +2319,8 @@ msgstr "Připojit"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4444,7 +4444,7 @@ msgstr "Problém při ukládání sdělení"
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Chyba v DB při vkládání odpovědi: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -6056,47 +6056,47 @@ msgstr "Zpráva"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "před pár sekundami"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "asi před minutou"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "asi před %d minutami"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "asi před hodinou"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "asi před %d hodinami"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "asi přede dnem"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "před %d dny"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "asi před měsícem"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "asi před %d mesíci"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "asi před rokem"
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
# Author@translatewiki.net: Bavatar
|
||||
# Author@translatewiki.net: Lutzgh
|
||||
# Author@translatewiki.net: March
|
||||
# Author@translatewiki.net: McDutchie
|
||||
# Author@translatewiki.net: Pill
|
||||
# Author@translatewiki.net: Umherirrender
|
||||
# --
|
||||
@ -12,12 +13,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:50+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:26+0000\n"
|
||||
"Language-Team: German\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: de\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -207,7 +208,7 @@ msgstr "Aktualisierungen von %1$s und Freunden auf %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API-Methode nicht gefunden."
|
||||
|
||||
@ -831,7 +832,7 @@ msgstr "Diesen Benutzer freigeben"
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Diesen Benutzer blockieren"
|
||||
|
||||
@ -1606,7 +1607,7 @@ msgstr "Dieser Nutzer ist bereits von der Gruppe gesperrt"
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Nutzer ist kein Mitglied dieser Gruppe."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Benutzerzugang zu der Gruppe blockieren"
|
||||
|
||||
@ -1705,19 +1706,19 @@ msgstr "Liste der Benutzer in dieser Gruppe."
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blockieren"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Benutzer zu einem Admin dieser Gruppe ernennen"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Zum Admin ernennen"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Diesen Benutzer zu einem Admin ernennen"
|
||||
|
||||
@ -2127,21 +2128,21 @@ msgstr ""
|
||||
"Melde dich mit Nutzernamen und Passwort an. Du hast noch keinen Nutzernamen? "
|
||||
"[Registriere](%%action.register%%) ein neues Konto."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Nur Administratoren können andere Nutzer zu Administratoren ernennen."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%s ist bereits ein Administrator der Gruppe „%s“."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Konnte Benutzer %s aus der Gruppe %s nicht entfernen"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Konnte %s nicht zum Administrator der Gruppe %s machen"
|
||||
@ -2346,8 +2347,8 @@ msgstr "Content-Typ "
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Kein unterstütztes Datenformat."
|
||||
|
||||
@ -2360,7 +2361,6 @@ msgid "Notice Search"
|
||||
msgstr "Nachrichtensuche"
|
||||
|
||||
#: actions/othersettings.php:60
|
||||
#, fuzzy
|
||||
msgid "Other settings"
|
||||
msgstr "Andere Einstellungen"
|
||||
|
||||
@ -2393,9 +2393,8 @@ msgid "URL shortening service is too long (max 50 chars)."
|
||||
msgstr "URL-Auto-Kürzungs-Dienst ist zu lang (max. 50 Zeichen)."
|
||||
|
||||
#: actions/otp.php:69
|
||||
#, fuzzy
|
||||
msgid "No user ID specified."
|
||||
msgstr "Keine Gruppe angegeben"
|
||||
msgstr "Keine Benutzer ID angegeben"
|
||||
|
||||
#: actions/otp.php:83
|
||||
#, fuzzy
|
||||
@ -2418,9 +2417,9 @@ msgid "Login token expired."
|
||||
msgstr "An Seite anmelden"
|
||||
|
||||
#: actions/outbox.php:58
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Outbox for %1$s - page %2$d"
|
||||
msgstr "Postausgang von %s"
|
||||
msgstr "Postausgang für %1$s - Seite %2$d"
|
||||
|
||||
#: actions/outbox.php:61
|
||||
#, php-format
|
||||
@ -2531,9 +2530,8 @@ msgid "Site"
|
||||
msgstr "Seite"
|
||||
|
||||
#: actions/pathsadminpanel.php:238
|
||||
#, fuzzy
|
||||
msgid "Server"
|
||||
msgstr "Wiederherstellung"
|
||||
msgstr "Server"
|
||||
|
||||
#: actions/pathsadminpanel.php:238
|
||||
msgid "Site's server hostname."
|
||||
@ -2616,9 +2614,8 @@ msgid "SSL"
|
||||
msgstr "SSL"
|
||||
|
||||
#: actions/pathsadminpanel.php:323 actions/siteadminpanel.php:294
|
||||
#, fuzzy
|
||||
msgid "Never"
|
||||
msgstr "Wiederherstellung"
|
||||
msgstr "Nie"
|
||||
|
||||
#: actions/pathsadminpanel.php:324
|
||||
msgid "Sometimes"
|
||||
@ -2637,7 +2634,6 @@ msgid "When to use SSL"
|
||||
msgstr "Wann soll SSL verwendet werden"
|
||||
|
||||
#: actions/pathsadminpanel.php:335
|
||||
#, fuzzy
|
||||
msgid "SSL server"
|
||||
msgstr "SSL-Server"
|
||||
|
||||
@ -2962,7 +2958,7 @@ msgstr ""
|
||||
|
||||
#: actions/recoverpassword.php:191
|
||||
msgid "Nickname or email address"
|
||||
msgstr ""
|
||||
msgstr "Spitzname oder e-mail Adresse"
|
||||
|
||||
#: actions/recoverpassword.php:193
|
||||
msgid "Your nickname on this server, or your registered email address."
|
||||
@ -3226,20 +3222,16 @@ msgid "Couldn’t get a request token."
|
||||
msgstr "Konnte keinen Anfrage-Token bekommen."
|
||||
|
||||
#: actions/repeat.php:57
|
||||
#, fuzzy
|
||||
msgid "Only logged-in users can repeat notices."
|
||||
msgstr "Nur der Benutzer selbst kann seinen Posteingang lesen."
|
||||
msgstr "Nur angemeldete Nutzer können Nachrichten wiederholen."
|
||||
|
||||
#: actions/repeat.php:64 actions/repeat.php:71
|
||||
#, fuzzy
|
||||
msgid "No notice specified."
|
||||
msgstr "Kein Profil angegeben."
|
||||
msgstr "Keine Nachricht angegeen."
|
||||
|
||||
#: actions/repeat.php:76
|
||||
#, fuzzy
|
||||
msgid "You can't repeat your own notice."
|
||||
msgstr ""
|
||||
"Du kannst dich nicht registrieren, wenn du die Lizenz nicht akzeptierst."
|
||||
msgstr "Du kannst deine eigene Nachricht nicht wiederholen."
|
||||
|
||||
#: actions/repeat.php:90
|
||||
#, fuzzy
|
||||
@ -3263,9 +3255,9 @@ msgid "Replies to %s"
|
||||
msgstr "Antworten an %s"
|
||||
|
||||
#: actions/replies.php:127
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Replies to %1$s, page %2$d"
|
||||
msgstr "Antworten an %1$s auf %2$s!"
|
||||
msgstr "Antworten an %1$s, Seite %2$d"
|
||||
|
||||
#: actions/replies.php:144
|
||||
#, php-format
|
||||
@ -3314,9 +3306,8 @@ msgid "Replies to %1$s on %2$s!"
|
||||
msgstr "Antworten an %1$s auf %2$s!"
|
||||
|
||||
#: actions/rsd.php:146 actions/version.php:157
|
||||
#, fuzzy
|
||||
msgid "StatusNet"
|
||||
msgstr "Status gelöscht."
|
||||
msgstr "StatusNet"
|
||||
|
||||
#: actions/sandbox.php:65 actions/unsandbox.php:65
|
||||
#, fuzzy
|
||||
@ -4520,7 +4511,7 @@ msgstr "Problem bei Speichern der Nachricht."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Datenbankfehler beim Einfügen der Antwort: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -5137,8 +5128,8 @@ msgstr "Du bist in keiner Gruppe Mitglied."
|
||||
#: lib/command.php:714
|
||||
msgid "You are a member of this group:"
|
||||
msgid_plural "You are a member of these groups:"
|
||||
msgstr[0] "Du bist kein Mitglied dieser Gruppe."
|
||||
msgstr[1] "Du bist kein Mitglied dieser Gruppe."
|
||||
msgstr[0] "Du bist Mitglied dieser Gruppe:"
|
||||
msgstr[1] "Du bist Mitglied dieser Gruppen:"
|
||||
|
||||
#: lib/command.php:728
|
||||
msgid ""
|
||||
@ -6170,47 +6161,47 @@ msgstr "Nachricht"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "vor wenigen Sekunden"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "vor einer Minute"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "vor %d Minuten"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "vor einer Stunde"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "vor %d Stunden"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "vor einem Tag"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "vor %d Tagen"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "vor einem Monat"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "vor %d Monaten"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "vor einem Jahr"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:53+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:30+0000\n"
|
||||
"Language-Team: Greek\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: el\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -191,7 +191,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Η μέθοδος του ΑΡΙ δε βρέθηκε!"
|
||||
@ -817,7 +817,7 @@ msgstr "Αδυναμία διαγραφής αυτού του μηνύματος
|
||||
msgid "Yes"
|
||||
msgstr "Ναι"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr ""
|
||||
|
||||
@ -1594,7 +1594,7 @@ msgstr ""
|
||||
msgid "User is not a member of group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr ""
|
||||
|
||||
@ -1692,20 +1692,20 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr "Διαχειριστής"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
#, fuzzy
|
||||
msgid "Make Admin"
|
||||
msgstr "Διαχειριστής"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2067,21 +2067,21 @@ msgstr ""
|
||||
"ακόμα; Κάντε [εγγραφή](%%action.register%%) για ένα νέο λογαριασμό ή "
|
||||
"δοκιμάστε το [OpenID](%%action.openidlogin%%). "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Αδύνατη η αποθήκευση του προφίλ."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Αδύνατη η αποθήκευση του προφίλ."
|
||||
@ -2277,8 +2277,8 @@ msgstr "Σύνδεση"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4372,7 +4372,7 @@ msgstr ""
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Σφάλμα βάσης δεδομένων κατά την εισαγωγή απάντησης: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -5933,47 +5933,47 @@ msgstr "Μήνυμα"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr ""
|
||||
|
||||
|
@ -10,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:53:56+0000\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:05+0000\n"
|
||||
"PO-Revision-Date: 2010-02-14 20:06:20+0000\n"
|
||||
"Language-Team: British English\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62476); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: en-gb\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -169,8 +169,8 @@ msgstr ""
|
||||
msgid "You and friends"
|
||||
msgstr "You and friends"
|
||||
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:121
|
||||
#: actions/apitimelinehome.php:122
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:119
|
||||
#: actions/apitimelinehome.php:120
|
||||
#, php-format
|
||||
msgid "Updates from %1$s and friends on %2$s!"
|
||||
msgstr "Updates from %1$s and friends on %2$s!"
|
||||
@ -191,12 +191,12 @@ msgstr "Updates from %1$s and friends on %2$s!"
|
||||
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
|
||||
#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
|
||||
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
|
||||
#: actions/apitimelinefavorites.php:146 actions/apitimelinefriends.php:155
|
||||
#: actions/apitimelinegroup.php:150 actions/apitimelinehome.php:156
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
|
||||
#: actions/apitimelinegroup.php:182 actions/apitimelinehome.php:184
|
||||
#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
|
||||
#: actions/apitimelineuser.php:194 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API method not found."
|
||||
|
||||
@ -640,7 +640,7 @@ msgstr "Unsupported format."
|
||||
msgid "%1$s / Favorites from %2$s"
|
||||
msgstr "%1$s / Favourites from %2$s"
|
||||
|
||||
#: actions/apitimelinefavorites.php:120
|
||||
#: actions/apitimelinefavorites.php:117
|
||||
#, php-format
|
||||
msgid "%1$s updates favorited by %2$s / %2$s."
|
||||
msgstr "%1$s updates favourited by %2$s / %2$s."
|
||||
@ -651,7 +651,7 @@ msgstr "%1$s updates favourited by %2$s / %2$s."
|
||||
msgid "%s timeline"
|
||||
msgstr "%s timeline"
|
||||
|
||||
#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
|
||||
#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
|
||||
#: actions/userrss.php:92
|
||||
#, php-format
|
||||
msgid "Updates from %1$s on %2$s!"
|
||||
@ -667,12 +667,12 @@ msgstr "%1$s / Updates mentioning %2$s"
|
||||
msgid "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
msgstr "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
|
||||
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
|
||||
#, php-format
|
||||
msgid "%s public timeline"
|
||||
msgstr "%s public timeline"
|
||||
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
|
||||
#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
|
||||
#, php-format
|
||||
msgid "%s updates from everyone!"
|
||||
msgstr "%s updates from everyone!"
|
||||
@ -682,7 +682,7 @@ msgstr "%s updates from everyone!"
|
||||
msgid "Repeated to %s"
|
||||
msgstr "Repeated to %s"
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#: actions/apitimelineretweetsofme.php:114
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr "Repeats of %s"
|
||||
@ -692,7 +692,7 @@ msgstr "Repeats of %s"
|
||||
msgid "Notices tagged with %s"
|
||||
msgstr "Notices tagged with %s"
|
||||
|
||||
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
|
||||
#: actions/apitimelinetag.php:104 actions/tagrss.php:64
|
||||
#, php-format
|
||||
msgid "Updates tagged with %1$s on %2$s!"
|
||||
msgstr "Updates tagged with %1$s on %2$s!"
|
||||
@ -819,7 +819,7 @@ msgstr "Do not block this user"
|
||||
msgid "Yes"
|
||||
msgstr "Yes"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Block this user"
|
||||
|
||||
@ -1235,7 +1235,7 @@ msgstr "description is too long (max %d chars)."
|
||||
msgid "Could not update group."
|
||||
msgstr "Could not update group."
|
||||
|
||||
#: actions/editgroup.php:259 classes/User_group.php:390
|
||||
#: actions/editgroup.php:259 classes/User_group.php:423
|
||||
msgid "Could not create aliases."
|
||||
msgstr "Could not create aliases"
|
||||
|
||||
@ -1581,7 +1581,7 @@ msgstr "User is already blocked from group."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "User is not a member of group."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Block user"
|
||||
@ -1689,21 +1689,21 @@ msgstr "A list of the users in this group."
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Block"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
#, fuzzy
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "You must be an admin to edit the group"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
#, fuzzy
|
||||
msgid "Make Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2103,21 +2103,21 @@ msgstr ""
|
||||
"Login with your username and password. Don't have a username yet? [Register]"
|
||||
"(%%action.register%%) a new account."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "User is already blocked from group."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Could not remove user %s to group %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "You must be an admin to edit the group"
|
||||
@ -2323,8 +2323,8 @@ msgstr "Connect"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Not a supported data format."
|
||||
|
||||
@ -4501,7 +4501,7 @@ msgstr "Problem saving notice."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "DB error inserting reply: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1271
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -4511,11 +4511,11 @@ msgstr "%1$s (%2$s)"
|
||||
msgid "Welcome to %1$s, @%2$s!"
|
||||
msgstr "Welcome to %1$s, @%2$s!"
|
||||
|
||||
#: classes/User_group.php:380
|
||||
#: classes/User_group.php:413
|
||||
msgid "Could not create group."
|
||||
msgstr "Could not create group."
|
||||
|
||||
#: classes/User_group.php:409
|
||||
#: classes/User_group.php:442
|
||||
msgid "Could not set group membership."
|
||||
msgstr "Could not set group membership."
|
||||
|
||||
@ -6091,47 +6091,47 @@ msgstr "Message"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:871
|
||||
msgid "a few seconds ago"
|
||||
msgstr "a few seconds ago"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:873
|
||||
msgid "about a minute ago"
|
||||
msgstr "about a minute ago"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:875
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "about %d minutes ago"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:877
|
||||
msgid "about an hour ago"
|
||||
msgstr "about an hour ago"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:879
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "about %d hours ago"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:881
|
||||
msgid "about a day ago"
|
||||
msgstr "about a day ago"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:883
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "about %d days ago"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:885
|
||||
msgid "about a month ago"
|
||||
msgstr "about a month ago"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:887
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "about %d months ago"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:889
|
||||
msgid "about a year ago"
|
||||
msgstr "about a year ago"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:05+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:41+0000\n"
|
||||
"Last-Translator: Ahmad Sufi Mahmudi\n"
|
||||
"Language-Team: Persian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
"X-Language-Code: fa\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
|
||||
#: actions/accessadminpanel.php:54 lib/adminpanelaction.php:326
|
||||
@ -200,7 +200,7 @@ msgstr "به روز رسانی از %1$ و دوستان در %2$"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "رابط مورد نظر پیدا نشد."
|
||||
|
||||
@ -822,7 +822,7 @@ msgstr "کاربر را مسدود نکن"
|
||||
msgid "Yes"
|
||||
msgstr "بله"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "کاربر را مسدود کن"
|
||||
|
||||
@ -1597,7 +1597,7 @@ msgstr "هم اکنون دسترسی کاربر به گروه مسدود شده
|
||||
msgid "User is not a member of group."
|
||||
msgstr "کاربر عضو گروه نیست."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "دسترسی کاربر به گروه را مسدود کن"
|
||||
|
||||
@ -1693,19 +1693,19 @@ msgstr "یک فهرست از کاربران در این گروه"
|
||||
msgid "Admin"
|
||||
msgstr "مدیر"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "بازداشتن"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "کاربر یک مدیر گروه شود"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "مدیر شود"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "این کاربر یک مدیر شود"
|
||||
|
||||
@ -2080,21 +2080,21 @@ msgstr ""
|
||||
"با نامکاربری و گذزواژهی خود وارد شوید. نامکاربری ندارید؟ یک نامکاربری [ثبت ]"
|
||||
"(%%action.register%%) کنید."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "فقط یک مدیر میتواند کاربر دیگری را مدیر کند."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%s از قبل مدیر گروه %s بود."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "نمیتوان اطلاعات عضویت %s را در گروه %s به دست آورد."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "نمیتوان %s را مدیر گروه %s کرد."
|
||||
@ -2301,8 +2301,8 @@ msgstr "نوع محتوا "
|
||||
msgid "Only "
|
||||
msgstr " فقط"
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "یک قالب دادهٔ پشتیبانیشده نیست."
|
||||
|
||||
@ -4369,7 +4369,7 @@ msgstr "مشکل در ذخیره کردن آگهی."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -5917,47 +5917,47 @@ msgstr "پیام"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "چند ثانیه پیش"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "حدود یک دقیقه پیش"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "حدود %d دقیقه پیش"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "حدود یک ساعت پیش"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "حدود %d ساعت پیش"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "حدود یک روز پیش"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "حدود %d روز پیش"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "حدود یک ماه پیش"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "حدود %d ماه پیش"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "حدود یک سال پیش"
|
||||
|
||||
|
@ -10,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:02+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:39+0000\n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: fi\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -202,7 +202,7 @@ msgstr "Käyttäjän %1$s ja kavereiden päivitykset palvelussa %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "API-metodia ei löytynyt!"
|
||||
@ -837,7 +837,7 @@ msgstr "Älä estä tätä käyttäjää"
|
||||
msgid "Yes"
|
||||
msgstr "Kyllä"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Estä tämä käyttäjä"
|
||||
|
||||
@ -1628,7 +1628,7 @@ msgstr "Käyttäjä on asettanut eston sinulle."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Käyttäjä ei kuulu tähän ryhmään."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Estä käyttäjä ryhmästä"
|
||||
|
||||
@ -1726,19 +1726,19 @@ msgstr "Lista ryhmän käyttäjistä."
|
||||
msgid "Admin"
|
||||
msgstr "Ylläpito"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Estä"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Tee tästä käyttäjästä ylläpitäjä"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Tee ylläpitäjäksi"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Tee tästä käyttäjästä ylläpitäjä"
|
||||
|
||||
@ -2144,21 +2144,21 @@ msgstr ""
|
||||
"käyttäjätunnusta? [Rekisteröi](%%action.register%%) käyttäjätunnus tai "
|
||||
"kokeile [OpenID](%%action.openidlogin%%)-tunnuksella sisään kirjautumista. "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Vain ylläpitäjä voi tehdä toisesta käyttäjästä ylläpitäjän."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%s on jo ryhmän \"%s\" ylläpitäjä."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Ei saatu käyttäjän %s jäsenyystietoja ryhmästä %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Ei voitu tehdä käyttäjästä %s ylläpitäjää ryhmään %s"
|
||||
@ -2365,8 +2365,8 @@ msgstr "Yhdistä"
|
||||
msgid "Only "
|
||||
msgstr "Vain "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Tuo ei ole tuettu tietomuoto."
|
||||
|
||||
@ -4542,7 +4542,7 @@ msgstr "Ongelma päivityksen tallentamisessa."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Tietokantavirhe tallennettaessa vastausta: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -6159,47 +6159,47 @@ msgstr "Viesti"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "muutama sekunti sitten"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "noin minuutti sitten"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "noin %d minuuttia sitten"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "noin tunti sitten"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "noin %d tuntia sitten"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "noin päivä sitten"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "noin %d päivää sitten"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "noin kuukausi sitten"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "noin %d kuukautta sitten"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "noin vuosi sitten"
|
||||
|
||||
|
@ -14,12 +14,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:09+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:44+0000\n"
|
||||
"Language-Team: French\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: fr\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -202,7 +202,7 @@ msgstr "Statuts de %1$s et ses amis dans %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "Méthode API non trouvée !"
|
||||
|
||||
@ -838,7 +838,7 @@ msgstr "Ne pas bloquer cet utilisateur"
|
||||
msgid "Yes"
|
||||
msgstr "Oui"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Bloquer cet utilisateur"
|
||||
|
||||
@ -1599,7 +1599,7 @@ msgstr "Cet utilisateur est déjà bloqué pour le groupe."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "L’utilisateur n’est pas membre du groupe."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Bloquer cet utilisateur du groupe"
|
||||
|
||||
@ -1702,19 +1702,19 @@ msgstr "Liste des utilisateurs inscrits à ce groupe."
|
||||
msgid "Admin"
|
||||
msgstr "Administrer"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Bloquer"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Faire de cet utilisateur un administrateur du groupe"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Faire un administrateur"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Faire de cet utilisateur un administrateur"
|
||||
|
||||
@ -2134,24 +2134,24 @@ msgstr ""
|
||||
"pas encore d’identifiant ? [Créez-vous](%%action.register%%) un nouveau "
|
||||
"compte."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
"Seul un administrateur peut faire d’un autre utilisateur un administrateur."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s est déjà administrateur du groupe « %2$s »."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr ""
|
||||
"Impossible d’obtenir les enregistrements d’appartenance pour %1$s dans le "
|
||||
"groupe %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Impossible de rendre %1$s administrateur du groupe %2$s."
|
||||
@ -2356,8 +2356,8 @@ msgstr "type de contenu "
|
||||
msgid "Only "
|
||||
msgstr "Seulement "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Format de données non supporté."
|
||||
|
||||
@ -4546,7 +4546,7 @@ msgstr "Problème lors de l’enregistrement de la boîte de réception du group
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Erreur de base de donnée en insérant la réponse :%s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -4590,7 +4590,7 @@ msgstr "Autres "
|
||||
|
||||
#: lib/accountsettingsaction.php:128
|
||||
msgid "Other options"
|
||||
msgstr "Autres options "
|
||||
msgstr "Autres options"
|
||||
|
||||
#: lib/action.php:144
|
||||
#, php-format
|
||||
@ -6231,47 +6231,47 @@ msgstr "Message"
|
||||
msgid "Moderate"
|
||||
msgstr "Modérer"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "il y a quelques secondes"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "il y a 1 minute"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "il y a %d minutes"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "il y a 1 heure"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "il y a %d heures"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "il y a 1 jour"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "il y a %d jours"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "il y a 1 mois"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "il y a %d mois"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "il y a environ 1 an"
|
||||
|
||||
|
@ -8,12 +8,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:12+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:47+0000\n"
|
||||
"Language-Team: Irish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ga\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -197,7 +197,7 @@ msgstr "Actualizacións dende %1$s e amigos en %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Método da API non atopado"
|
||||
@ -843,7 +843,7 @@ msgstr "Bloquear usuario"
|
||||
msgid "Yes"
|
||||
msgstr "Si"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
#, fuzzy
|
||||
msgid "Block this user"
|
||||
msgstr "Bloquear usuario"
|
||||
@ -1654,7 +1654,7 @@ msgstr "O usuario bloqueoute."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "%1s non é unha orixe fiable."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Bloquear usuario"
|
||||
@ -1760,19 +1760,19 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2176,21 +2176,21 @@ msgstr ""
|
||||
"(%%action.register%%) unha nova conta, ou accede co teu enderezo [OpenID](%%"
|
||||
"action.openidlogin%%). "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "O usuario bloqueoute."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Non podes seguir a este usuario: o Usuario non se atopa."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "O usuario bloqueoute."
|
||||
@ -2396,8 +2396,8 @@ msgstr "Conectar"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Non é un formato de datos soportado."
|
||||
|
||||
@ -4599,7 +4599,7 @@ msgstr "Aconteceu un erro ó gardar o chío."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Erro ó inserir a contestación na BD: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -6336,47 +6336,47 @@ msgstr "Nova mensaxe"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "fai uns segundos"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "fai un minuto"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "fai %d minutos"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "fai unha hora"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "fai %d horas"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "fai un día"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "fai %d días"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "fai un mes"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "fai %d meses"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "fai un ano"
|
||||
|
||||
|
@ -7,12 +7,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:15+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:50+0000\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: he\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -194,7 +194,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "קוד האישור לא נמצא."
|
||||
@ -833,7 +833,7 @@ msgstr "אין משתמש כזה."
|
||||
msgid "Yes"
|
||||
msgstr "כן"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
#, fuzzy
|
||||
msgid "Block this user"
|
||||
msgstr "אין משתמש כזה."
|
||||
@ -1626,7 +1626,7 @@ msgstr "למשתמש אין פרופיל."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "לא שלחנו אלינו את הפרופיל הזה"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "אין משתמש כזה."
|
||||
@ -1731,19 +1731,19 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2113,21 +2113,21 @@ msgstr ""
|
||||
"היכנס בעזרת שם המשתמש והסיסמה שלך. עדיין אין לך שם משתמש? [הרשם](%%action."
|
||||
"register%%) לחשבון "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "למשתמש אין פרופיל."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "נכשלה יצירת OpenID מתוך: %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "למשתמש אין פרופיל."
|
||||
@ -2327,8 +2327,8 @@ msgstr "התחבר"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4444,7 +4444,7 @@ msgstr "בעיה בשמירת ההודעה."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "שגיאת מסד נתונים בהכנסת התגובה: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -6060,47 +6060,47 @@ msgstr "הודעה חדשה"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "לפני מספר שניות"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "לפני כדקה"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "לפני כ-%d דקות"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "לפני כשעה"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "לפני כ-%d שעות"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "לפני כיום"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "לפני כ-%d ימים"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "לפני כחודש"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "לפני כ-%d חודשים"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "לפני כשנה"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:18+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:14:54+0000\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: hsb\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -192,7 +192,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API-metoda njenamakana."
|
||||
|
||||
@ -805,7 +805,7 @@ msgstr "Tutoho wužiwarja njeblokować"
|
||||
msgid "Yes"
|
||||
msgstr "Haj"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Tutoho wužiwarja blokować"
|
||||
|
||||
@ -1553,7 +1553,7 @@ msgstr "Wužiwar je hižo za skupinu zablokowany."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Wužiwar njeje čłon skupiny."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Wužiwarja za skupinu blokować"
|
||||
|
||||
@ -1650,19 +1650,19 @@ msgstr "Lisćina wužiwarjow w tutej skupinje."
|
||||
msgid "Admin"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blokować"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Tutoho wužiwarja k administratorej činić"
|
||||
|
||||
@ -2012,21 +2012,21 @@ msgid ""
|
||||
"(%%action.register%%) a new account."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Jenož administrator móže druheho wužiwarja k administratorej činić."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s je hižo administrator za skupinu \"%2$s\"."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Přistup na datowu sadźbu čłona %1$S w skupinje %2$s móžno njeje."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Njeje móžno %1$S k administratorej w skupinje %2$s činić."
|
||||
@ -2219,8 +2219,8 @@ msgstr ""
|
||||
msgid "Only "
|
||||
msgstr "Jenož "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Njeje podpěrany datowy format."
|
||||
|
||||
@ -4241,7 +4241,7 @@ msgstr ""
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -5773,47 +5773,47 @@ msgstr "Powěsć"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "před něšto sekundami"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "před něhdźe jednej mjeńšinu"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "před %d mjeńšinami"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "před něhdźe jednej hodźinu"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "před něhdźe %d hodźinami"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "před něhdźe jednym dnjom"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "před něhdźe %d dnjemi"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "před něhdźe jednym měsacom"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "před něhdźe %d měsacami"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "před něhdźe jednym lětom"
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -8,12 +8,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:24+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:11+0000\n"
|
||||
"Language-Team: Icelandic\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: is\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -196,7 +196,7 @@ msgstr "Færslur frá %1$s og vinum á %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Aðferð í forritsskilum fannst ekki!"
|
||||
@ -829,7 +829,7 @@ msgstr "Opna á þennan notanda"
|
||||
msgid "Yes"
|
||||
msgstr "Já"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Loka á þennan notanda"
|
||||
|
||||
@ -1616,7 +1616,7 @@ msgstr ""
|
||||
msgid "User is not a member of group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr ""
|
||||
|
||||
@ -1713,19 +1713,19 @@ msgstr "Listi yfir notendur í þessum hóp."
|
||||
msgid "Admin"
|
||||
msgstr "Stjórnandi"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Loka"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2128,21 +2128,21 @@ msgstr ""
|
||||
"notendanafn? [Nýskráðu þig](%%action.register%%) eða prófaðu [OpenID](%%"
|
||||
"action.openidlogin%%). "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Gat ekki fjarlægt notandann %s úr hópnum %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Gat ekki fjarlægt notandann %s úr hópnum %s"
|
||||
@ -2347,8 +2347,8 @@ msgstr ""
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Enginn stuðningur við gagnasnið."
|
||||
|
||||
@ -4492,7 +4492,7 @@ msgstr "Vandamál komu upp við að vista babl."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Gagnagrunnsvilla við innsetningu svars: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -6088,47 +6088,47 @@ msgstr "Skilaboð"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "fyrir nokkrum sekúndum"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "fyrir um einni mínútu síðan"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "fyrir um %d mínútum síðan"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "fyrir um einum klukkutíma síðan"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "fyrir um %d klukkutímum síðan"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "fyrir um einum degi síðan"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "fyrir um %d dögum síðan"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "fyrir um einum mánuði síðan"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "fyrir um %d mánuðum síðan"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "fyrir um einu ári síðan"
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
# Translation of StatusNet to Italian
|
||||
#
|
||||
# Author@translatewiki.net: McDutchie
|
||||
# Author@translatewiki.net: Milocasagrande
|
||||
# Author@translatewiki.net: Nemo bis
|
||||
# --
|
||||
@ -10,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:27+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:14+0000\n"
|
||||
"Language-Team: Italian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: it\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -200,7 +199,7 @@ msgstr "Messaggi da %1$s e amici su %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "Metodo delle API non trovato."
|
||||
|
||||
@ -484,12 +483,11 @@ msgstr "Gruppi su %s"
|
||||
|
||||
#: actions/apioauthauthorize.php:101
|
||||
msgid "No oauth_token parameter provided."
|
||||
msgstr ""
|
||||
msgstr "Nessun parametro oauth_token fornito."
|
||||
|
||||
#: actions/apioauthauthorize.php:106
|
||||
#, fuzzy
|
||||
msgid "Invalid token."
|
||||
msgstr "Dimensione non valida."
|
||||
msgstr "Token non valido."
|
||||
|
||||
#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
|
||||
#: actions/deletenotice.php:157 actions/disfavor.php:74
|
||||
@ -532,9 +530,9 @@ msgstr ""
|
||||
"accesso."
|
||||
|
||||
#: actions/apioauthauthorize.php:227
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "The request token %s has been denied and revoked."
|
||||
msgstr "Il token di richiesta %s è stato rifiutato."
|
||||
msgstr "Il token di richiesta %s è stato rifiutato o revocato."
|
||||
|
||||
#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
|
||||
#: actions/designadminpanel.php:103 actions/editapplication.php:139
|
||||
@ -560,6 +558,9 @@ msgid ""
|
||||
"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
|
||||
"give access to your %4$s account to third parties you trust."
|
||||
msgstr ""
|
||||
"L'applicazione <strong>%1$s</strong> di <strong>%2$s</strong> vorrebbe poter "
|
||||
"<strong>%3$s</strong> ai dati del tuo account %4$s. È consigliato fornire "
|
||||
"accesso al proprio account %4$s solo ad applicazioni di cui ci si può fidare."
|
||||
|
||||
#: actions/apioauthauthorize.php:310 lib/action.php:441
|
||||
msgid "Account"
|
||||
@ -579,12 +580,10 @@ msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: actions/apioauthauthorize.php:328
|
||||
#, fuzzy
|
||||
msgid "Deny"
|
||||
msgstr "Nega"
|
||||
|
||||
#: actions/apioauthauthorize.php:334
|
||||
#, fuzzy
|
||||
msgid "Allow"
|
||||
msgstr "Consenti"
|
||||
|
||||
@ -826,7 +825,7 @@ msgstr "Non bloccare questo utente"
|
||||
msgid "Yes"
|
||||
msgstr "Sì"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Blocca questo utente"
|
||||
|
||||
@ -909,7 +908,6 @@ msgid "Couldn't delete email confirmation."
|
||||
msgstr "Impossibile eliminare l'email di conferma."
|
||||
|
||||
#: actions/confirmaddress.php:144
|
||||
#, fuzzy
|
||||
msgid "Confirm address"
|
||||
msgstr "Conferma indirizzo"
|
||||
|
||||
@ -928,20 +926,17 @@ msgid "Notices"
|
||||
msgstr "Messaggi"
|
||||
|
||||
#: actions/deleteapplication.php:63
|
||||
#, fuzzy
|
||||
msgid "You must be logged in to delete an application."
|
||||
msgstr "Devi eseguire l'accesso per modificare un gruppo."
|
||||
msgstr "Devi eseguire l'accesso per eliminare un'applicazione."
|
||||
|
||||
#: actions/deleteapplication.php:71
|
||||
#, fuzzy
|
||||
msgid "Application not found."
|
||||
msgstr "Il messaggio non ha un profilo"
|
||||
msgstr "Applicazione non trovata."
|
||||
|
||||
#: actions/deleteapplication.php:78 actions/editapplication.php:77
|
||||
#: actions/showapplication.php:94
|
||||
#, fuzzy
|
||||
msgid "You are not the owner of this application."
|
||||
msgstr "Non fai parte di questo gruppo."
|
||||
msgstr "Questa applicazione non è di tua proprietà."
|
||||
|
||||
#: actions/deleteapplication.php:102 actions/editapplication.php:127
|
||||
#: actions/newapplication.php:110 actions/showapplication.php:118
|
||||
@ -950,29 +945,25 @@ msgid "There was a problem with your session token."
|
||||
msgstr "Si è verificato un problema con il tuo token di sessione."
|
||||
|
||||
#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
|
||||
#, fuzzy
|
||||
msgid "Delete application"
|
||||
msgstr "Nessun messaggio."
|
||||
msgstr "Elimina applicazione"
|
||||
|
||||
#: actions/deleteapplication.php:149
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Are you sure you want to delete this application? This will clear all data "
|
||||
"about the application from the database, including all existing user "
|
||||
"connections."
|
||||
msgstr ""
|
||||
"Vuoi eliminare questo utente? Questa azione eliminerà tutti i dati "
|
||||
"dell'utente dal database, senza una copia di sicurezza."
|
||||
"Vuoi eliminare questa applicazione? Questa azione eliminerà tutti i dati "
|
||||
"riguardo all'applicazione dal database, comprese tutte le connessioni utente."
|
||||
|
||||
#: actions/deleteapplication.php:156
|
||||
#, fuzzy
|
||||
msgid "Do not delete this application"
|
||||
msgstr "Non eliminare il messaggio"
|
||||
msgstr "Non eliminare l'applicazione"
|
||||
|
||||
#: actions/deleteapplication.php:160
|
||||
#, fuzzy
|
||||
msgid "Delete this application"
|
||||
msgstr "Elimina questo messaggio"
|
||||
msgstr "Elimina l'applicazione"
|
||||
|
||||
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
|
||||
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
|
||||
@ -1153,86 +1144,74 @@ msgid "Add to favorites"
|
||||
msgstr "Aggiungi ai preferiti"
|
||||
|
||||
#: actions/doc.php:158
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "No such document \"%s\""
|
||||
msgstr "Nessun documento."
|
||||
msgstr "Nessun documento \"%s\""
|
||||
|
||||
#: actions/editapplication.php:54
|
||||
#, fuzzy
|
||||
msgid "Edit Application"
|
||||
msgstr "Altre opzioni"
|
||||
msgstr "Modifica applicazione"
|
||||
|
||||
#: actions/editapplication.php:66
|
||||
#, fuzzy
|
||||
msgid "You must be logged in to edit an application."
|
||||
msgstr "Devi eseguire l'accesso per modificare un gruppo."
|
||||
msgstr "Devi eseguire l'accesso per modificare un'applicazione."
|
||||
|
||||
#: actions/editapplication.php:81 actions/oauthconnectionssettings.php:166
|
||||
#: actions/showapplication.php:87
|
||||
#, fuzzy
|
||||
msgid "No such application."
|
||||
msgstr "Nessun messaggio."
|
||||
msgstr "Nessuna applicazione."
|
||||
|
||||
#: actions/editapplication.php:161
|
||||
#, fuzzy
|
||||
msgid "Use this form to edit your application."
|
||||
msgstr "Usa questo modulo per modificare il gruppo."
|
||||
msgstr "Usa questo modulo per modificare la tua applicazione."
|
||||
|
||||
#: actions/editapplication.php:177 actions/newapplication.php:159
|
||||
#, fuzzy
|
||||
msgid "Name is required."
|
||||
msgstr "Stessa password di sopra; richiesta"
|
||||
msgstr "Il nome è richiesto."
|
||||
|
||||
#: actions/editapplication.php:180 actions/newapplication.php:165
|
||||
#, fuzzy
|
||||
msgid "Name is too long (max 255 chars)."
|
||||
msgstr "Nome troppo lungo (max 255 caratteri)."
|
||||
msgstr "Il nome è troppo lungo (max 255 caratteri)."
|
||||
|
||||
#: actions/editapplication.php:183 actions/newapplication.php:162
|
||||
#, fuzzy
|
||||
msgid "Name already in use. Try another one."
|
||||
msgstr "Soprannome già in uso. Prova con un altro."
|
||||
msgstr "Nome già in uso. Prova con un altro."
|
||||
|
||||
#: actions/editapplication.php:186 actions/newapplication.php:168
|
||||
#, fuzzy
|
||||
msgid "Description is required."
|
||||
msgstr "Descrizione"
|
||||
msgstr "La descrizione è richiesta."
|
||||
|
||||
#: actions/editapplication.php:194
|
||||
msgid "Source URL is too long."
|
||||
msgstr ""
|
||||
msgstr "L'URL sorgente è troppo lungo."
|
||||
|
||||
#: actions/editapplication.php:200 actions/newapplication.php:185
|
||||
#, fuzzy
|
||||
msgid "Source URL is not valid."
|
||||
msgstr "L'URL \"%s\" dell'immagine non è valido."
|
||||
msgstr "L'URL sorgente non è valido."
|
||||
|
||||
#: actions/editapplication.php:203 actions/newapplication.php:188
|
||||
msgid "Organization is required."
|
||||
msgstr ""
|
||||
msgstr "L'organizzazione è richiesta."
|
||||
|
||||
#: actions/editapplication.php:206 actions/newapplication.php:191
|
||||
#, fuzzy
|
||||
msgid "Organization is too long (max 255 chars)."
|
||||
msgstr "Ubicazione troppo lunga (max 255 caratteri)."
|
||||
msgstr "L'organizzazione è troppo lunga (max 255 caratteri)."
|
||||
|
||||
#: actions/editapplication.php:209 actions/newapplication.php:194
|
||||
msgid "Organization homepage is required."
|
||||
msgstr ""
|
||||
msgstr "Il sito web dell'organizzazione è richiesto."
|
||||
|
||||
#: actions/editapplication.php:218 actions/newapplication.php:206
|
||||
msgid "Callback is too long."
|
||||
msgstr ""
|
||||
msgstr "Il callback è troppo lungo."
|
||||
|
||||
#: actions/editapplication.php:225 actions/newapplication.php:215
|
||||
#, fuzzy
|
||||
msgid "Callback URL is not valid."
|
||||
msgstr "L'URL \"%s\" dell'immagine non è valido."
|
||||
msgstr "L'URL di callback non è valido."
|
||||
|
||||
#: actions/editapplication.php:258
|
||||
#, fuzzy
|
||||
msgid "Could not update application."
|
||||
msgstr "Impossibile aggiornare il gruppo."
|
||||
msgstr "Impossibile aggiornare l'applicazione."
|
||||
|
||||
#: actions/editgroup.php:56
|
||||
#, php-format
|
||||
@ -1609,7 +1588,7 @@ msgstr "L'utente è già bloccato dal gruppo."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "L'utente non fa parte del gruppo."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Blocca l'utente dal gruppo"
|
||||
|
||||
@ -1711,19 +1690,19 @@ msgstr "Un elenco degli utenti in questo gruppo."
|
||||
msgid "Admin"
|
||||
msgstr "Amministra"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blocca"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Rende l'utente amministratore del gruppo"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Rendi amm."
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Rende questo utente un amministratore"
|
||||
|
||||
@ -1905,9 +1884,9 @@ msgid "That is not your Jabber ID."
|
||||
msgstr "Quello non è il tuo ID di Jabber."
|
||||
|
||||
#: actions/inbox.php:59
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Inbox for %1$s - page %2$d"
|
||||
msgstr "Casella posta in arrivo di %s"
|
||||
msgstr "Casella posta in arrivo di %s - pagina %2$d"
|
||||
|
||||
#: actions/inbox.php:62
|
||||
#, php-format
|
||||
@ -2129,22 +2108,22 @@ msgstr ""
|
||||
"Accedi col tuo nome utente e password. Non hai ancora un nome utente? [Crea]"
|
||||
"(%%action.register%%) un nuovo account."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
"Solo gli amministratori possono rendere un altro utente amministratori."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s è già amministratore del gruppo \"%2$s\"."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Impossibile recuperare la membership per %1$s nel gruppo %2$s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Impossibile rendere %1$s un amministratore del gruppo %2$s"
|
||||
@ -2154,28 +2133,24 @@ msgid "No current status"
|
||||
msgstr "Nessun messaggio corrente"
|
||||
|
||||
#: actions/newapplication.php:52
|
||||
#, fuzzy
|
||||
msgid "New Application"
|
||||
msgstr "Nessun messaggio."
|
||||
msgstr "Nuova applicazione"
|
||||
|
||||
#: actions/newapplication.php:64
|
||||
#, fuzzy
|
||||
msgid "You must be logged in to register an application."
|
||||
msgstr "Devi eseguire l'accesso per creare un gruppo."
|
||||
msgstr "Devi eseguire l'accesso per registrare un'applicazione."
|
||||
|
||||
#: actions/newapplication.php:143
|
||||
#, fuzzy
|
||||
msgid "Use this form to register a new application."
|
||||
msgstr "Usa questo modulo per creare un nuovo gruppo."
|
||||
msgstr "Usa questo modulo per registrare un'applicazione."
|
||||
|
||||
#: actions/newapplication.php:176
|
||||
msgid "Source URL is required."
|
||||
msgstr ""
|
||||
msgstr "L'URL sorgente è richiesto."
|
||||
|
||||
#: actions/newapplication.php:258 actions/newapplication.php:267
|
||||
#, fuzzy
|
||||
msgid "Could not create application."
|
||||
msgstr "Impossibile creare gli alias."
|
||||
msgstr "Impossibile creare l'applicazione."
|
||||
|
||||
#: actions/newgroup.php:53
|
||||
msgid "New group"
|
||||
@ -2242,7 +2217,7 @@ msgid "Text search"
|
||||
msgstr "Cerca testo"
|
||||
|
||||
#: actions/noticesearch.php:91
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Search results for \"%1$s\" on %2$s"
|
||||
msgstr "Risultati della ricerca per \"%1$s\" su %2$s"
|
||||
|
||||
@ -2290,49 +2265,48 @@ msgid "Nudge sent!"
|
||||
msgstr "Richiamo inviato!"
|
||||
|
||||
#: actions/oauthappssettings.php:59
|
||||
#, fuzzy
|
||||
msgid "You must be logged in to list your applications."
|
||||
msgstr "Devi eseguire l'accesso per modificare un gruppo."
|
||||
msgstr "Devi eseguire l'accesso per poter elencare le tue applicazioni."
|
||||
|
||||
#: actions/oauthappssettings.php:74
|
||||
#, fuzzy
|
||||
msgid "OAuth applications"
|
||||
msgstr "Altre opzioni"
|
||||
msgstr "Applicazioni OAuth"
|
||||
|
||||
#: actions/oauthappssettings.php:85
|
||||
msgid "Applications you have registered"
|
||||
msgstr ""
|
||||
msgstr "Applicazioni che hai registrato"
|
||||
|
||||
#: actions/oauthappssettings.php:135
|
||||
#, php-format
|
||||
msgid "You have not registered any applications yet."
|
||||
msgstr ""
|
||||
msgstr "Non hai ancora registrato alcuna applicazione."
|
||||
|
||||
#: actions/oauthconnectionssettings.php:72
|
||||
msgid "Connected applications"
|
||||
msgstr ""
|
||||
msgstr "Applicazioni collegate"
|
||||
|
||||
#: actions/oauthconnectionssettings.php:83
|
||||
msgid "You have allowed the following applications to access you account."
|
||||
msgstr ""
|
||||
msgstr "Hai consentito alle seguenti applicazioni di accedere al tuo account."
|
||||
|
||||
#: actions/oauthconnectionssettings.php:175
|
||||
#, fuzzy
|
||||
msgid "You are not a user of that application."
|
||||
msgstr "Non fai parte di quel gruppo."
|
||||
msgstr "Non sei un utente di quella applicazione."
|
||||
|
||||
#: actions/oauthconnectionssettings.php:186
|
||||
msgid "Unable to revoke access for app: "
|
||||
msgstr ""
|
||||
msgstr "Impossibile revocare l'accesso per l'applicazione: "
|
||||
|
||||
#: actions/oauthconnectionssettings.php:198
|
||||
#, php-format
|
||||
msgid "You have not authorized any applications to use your account."
|
||||
msgstr ""
|
||||
msgstr "Non hai autorizzato alcuna applicazione all'uso del tuo account."
|
||||
|
||||
#: actions/oauthconnectionssettings.php:211
|
||||
msgid "Developers can edit the registration settings for their applications "
|
||||
msgstr ""
|
||||
"Gli sviluppatori possono modificare le impostazioni di registrazione per le "
|
||||
"loro applicazioni "
|
||||
|
||||
#: actions/oembed.php:79 actions/shownotice.php:100
|
||||
msgid "Notice has no profile"
|
||||
@ -2351,8 +2325,8 @@ msgstr "tipo di contenuto "
|
||||
msgid "Only "
|
||||
msgstr "Solo "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Non è un formato di dati supportato."
|
||||
|
||||
@ -2365,7 +2339,6 @@ msgid "Notice Search"
|
||||
msgstr "Cerca messaggi"
|
||||
|
||||
#: actions/othersettings.php:60
|
||||
#, fuzzy
|
||||
msgid "Other settings"
|
||||
msgstr "Altre impostazioni"
|
||||
|
||||
@ -2398,34 +2371,29 @@ msgid "URL shortening service is too long (max 50 chars)."
|
||||
msgstr "Il servizio di riduzione degli URL è troppo lungo (max 50 caratteri)."
|
||||
|
||||
#: actions/otp.php:69
|
||||
#, fuzzy
|
||||
msgid "No user ID specified."
|
||||
msgstr "Nessun ID utente specificato."
|
||||
|
||||
#: actions/otp.php:83
|
||||
#, fuzzy
|
||||
msgid "No login token specified."
|
||||
msgstr "Nessun token di accesso specificato."
|
||||
|
||||
#: actions/otp.php:90
|
||||
#, fuzzy
|
||||
msgid "No login token requested."
|
||||
msgstr "Nessun token di accesso richiesto."
|
||||
|
||||
#: actions/otp.php:95
|
||||
#, fuzzy
|
||||
msgid "Invalid login token specified."
|
||||
msgstr "Token di accesso specificato non valido."
|
||||
|
||||
#: actions/otp.php:104
|
||||
#, fuzzy
|
||||
msgid "Login token expired."
|
||||
msgstr "Token di accesso scaduto."
|
||||
|
||||
#: actions/outbox.php:58
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Outbox for %1$s - page %2$d"
|
||||
msgstr "Casella posta inviata di %s"
|
||||
msgstr "Casella posta inviata di %s - pagina %2$d"
|
||||
|
||||
#: actions/outbox.php:61
|
||||
#, php-format
|
||||
@ -3266,9 +3234,9 @@ msgid "Replies to %s"
|
||||
msgstr "Risposte a %s"
|
||||
|
||||
#: actions/replies.php:127
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Replies to %1$s, page %2$d"
|
||||
msgstr "Risposte a %1$s su %2$s!"
|
||||
msgstr "Risposte a %1$s, pagina %2$d"
|
||||
|
||||
#: actions/replies.php:144
|
||||
#, php-format
|
||||
@ -3310,7 +3278,7 @@ msgid ""
|
||||
"attention](%%%%action.newnotice%%%%?status_textarea=%3$s)."
|
||||
msgstr ""
|
||||
"Puoi provare a [richiamare %1$s](../%2$s) o [scrivere qualche cosa alla sua "
|
||||
"attenzione](%%%%action.newnotice%%%%?status_textarea=%3$s)."
|
||||
"attenzione](%%%%action.newnotice%%%%?status_textarea=%s)."
|
||||
|
||||
#: actions/repliesrss.php:72
|
||||
#, php-format
|
||||
@ -3335,9 +3303,8 @@ msgid "Sessions"
|
||||
msgstr "Sessioni"
|
||||
|
||||
#: actions/sessionsadminpanel.php:65
|
||||
#, fuzzy
|
||||
msgid "Session settings for this StatusNet site."
|
||||
msgstr "Impostazioni dell'aspetto per questo sito di StatusNet."
|
||||
msgstr "Impostazioni di sessione per questo sito di StatusNet."
|
||||
|
||||
#: actions/sessionsadminpanel.php:175
|
||||
msgid "Handle sessions"
|
||||
@ -3361,18 +3328,16 @@ msgid "Save site settings"
|
||||
msgstr "Salva impostazioni"
|
||||
|
||||
#: actions/showapplication.php:82
|
||||
#, fuzzy
|
||||
msgid "You must be logged in to view an application."
|
||||
msgstr "Devi eseguire l'accesso per lasciare un gruppo."
|
||||
msgstr "Devi eseguire l'accesso per visualizzare un'applicazione."
|
||||
|
||||
#: actions/showapplication.php:157
|
||||
#, fuzzy
|
||||
msgid "Application profile"
|
||||
msgstr "Il messaggio non ha un profilo"
|
||||
msgstr "Profilo applicazione"
|
||||
|
||||
#: actions/showapplication.php:159 lib/applicationeditform.php:180
|
||||
msgid "Icon"
|
||||
msgstr ""
|
||||
msgstr "Icona"
|
||||
|
||||
#: actions/showapplication.php:169 actions/version.php:195
|
||||
#: lib/applicationeditform.php:195
|
||||
@ -3380,9 +3345,8 @@ msgid "Name"
|
||||
msgstr "Nome"
|
||||
|
||||
#: actions/showapplication.php:178 lib/applicationeditform.php:222
|
||||
#, fuzzy
|
||||
msgid "Organization"
|
||||
msgstr "Paginazione"
|
||||
msgstr "Organizzazione"
|
||||
|
||||
#: actions/showapplication.php:187 actions/version.php:198
|
||||
#: lib/applicationeditform.php:209 lib/groupeditform.php:172
|
||||
@ -3397,56 +3361,56 @@ msgstr "Statistiche"
|
||||
#: actions/showapplication.php:203
|
||||
#, php-format
|
||||
msgid "Created by %1$s - %2$s access by default - %3$d users"
|
||||
msgstr ""
|
||||
msgstr "creata da %1$s - %2$s accessi predefiniti - %3$d utenti"
|
||||
|
||||
#: actions/showapplication.php:213
|
||||
msgid "Application actions"
|
||||
msgstr ""
|
||||
msgstr "Azioni applicazione"
|
||||
|
||||
#: actions/showapplication.php:236
|
||||
msgid "Reset key & secret"
|
||||
msgstr ""
|
||||
msgstr "Reimposta chiave e segreto"
|
||||
|
||||
#: actions/showapplication.php:261
|
||||
msgid "Application info"
|
||||
msgstr ""
|
||||
msgstr "Informazioni applicazione"
|
||||
|
||||
#: actions/showapplication.php:263
|
||||
msgid "Consumer key"
|
||||
msgstr ""
|
||||
msgstr "Chiave consumatore"
|
||||
|
||||
#: actions/showapplication.php:268
|
||||
msgid "Consumer secret"
|
||||
msgstr ""
|
||||
msgstr "Segreto consumatore"
|
||||
|
||||
#: actions/showapplication.php:273
|
||||
msgid "Request token URL"
|
||||
msgstr ""
|
||||
msgstr "URL token di richiesta"
|
||||
|
||||
#: actions/showapplication.php:278
|
||||
msgid "Access token URL"
|
||||
msgstr ""
|
||||
msgstr "URL token di accesso"
|
||||
|
||||
#: actions/showapplication.php:283
|
||||
#, fuzzy
|
||||
msgid "Authorize URL"
|
||||
msgstr "Autore"
|
||||
msgstr "URL di autorizzazione"
|
||||
|
||||
#: actions/showapplication.php:288
|
||||
msgid ""
|
||||
"Note: We support HMAC-SHA1 signatures. We do not support the plaintext "
|
||||
"signature method."
|
||||
msgstr ""
|
||||
"Nota: sono supportate firme HMAC-SHA1, ma non è supportato il metodo di "
|
||||
"firma di testo in chiaro."
|
||||
|
||||
#: actions/showapplication.php:309
|
||||
#, fuzzy
|
||||
msgid "Are you sure you want to reset your consumer key and secret?"
|
||||
msgstr "Vuoi eliminare questo messaggio?"
|
||||
msgstr "Ripristinare la chiave e il segreto?"
|
||||
|
||||
#: actions/showfavorites.php:79
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s's favorite notices, page %2$d"
|
||||
msgstr "Messaggi preferiti di %s"
|
||||
msgstr "Messaggi preferiti di %1$s, pagina %2$d"
|
||||
|
||||
#: actions/showfavorites.php:132
|
||||
msgid "Could not retrieve favorite notices."
|
||||
@ -3505,9 +3469,9 @@ msgid "%s group"
|
||||
msgstr "Gruppo %s"
|
||||
|
||||
#: actions/showgroup.php:84
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s group, page %2$d"
|
||||
msgstr "Membri del gruppo %1$s, pagina %2$d"
|
||||
msgstr "Gruppi di %1$s, pagina %2$d"
|
||||
|
||||
#: actions/showgroup.php:218
|
||||
msgid "Group profile"
|
||||
@ -3629,9 +3593,9 @@ msgid " tagged %s"
|
||||
msgstr " etichettati con %s"
|
||||
|
||||
#: actions/showstream.php:79
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s, page %2$d"
|
||||
msgstr "Profili bloccati di %1$s, pagina %2$d"
|
||||
msgstr "%1$s, pagina %2$d"
|
||||
|
||||
#: actions/showstream.php:122
|
||||
#, php-format
|
||||
@ -3731,7 +3695,7 @@ msgid "You must have a valid contact email address."
|
||||
msgstr "Devi avere un'email di contatto valida."
|
||||
|
||||
#: actions/siteadminpanel.php:158
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Unknown language \"%s\"."
|
||||
msgstr "Lingua \"%s\" sconosciuta."
|
||||
|
||||
@ -4065,9 +4029,9 @@ msgid "SMS"
|
||||
msgstr "SMS"
|
||||
|
||||
#: actions/tag.php:68
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Notices tagged with %1$s, page %2$d"
|
||||
msgstr "Utenti auto-etichettati con %1$s - pagina %2$d"
|
||||
msgstr "Messaggi etichettati con %1$s, pagina %2$d"
|
||||
|
||||
#: actions/tag.php:86
|
||||
#, php-format
|
||||
@ -4353,9 +4317,9 @@ msgid "Enjoy your hotdog!"
|
||||
msgstr "Gustati il tuo hotdog!"
|
||||
|
||||
#: actions/usergroups.php:64
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s groups, page %2$d"
|
||||
msgstr "Membri del gruppo %1$s, pagina %2$d"
|
||||
msgstr "Gruppi di %1$s, pagina %2$d"
|
||||
|
||||
#: actions/usergroups.php:130
|
||||
msgid "Search for more groups"
|
||||
@ -4456,19 +4420,16 @@ msgstr ""
|
||||
"Un file di questa dimensione supererebbe la tua quota mensile di %d byte."
|
||||
|
||||
#: classes/Group_member.php:41
|
||||
#, fuzzy
|
||||
msgid "Group join failed."
|
||||
msgstr "Profilo del gruppo"
|
||||
msgstr "Ingresso nel gruppo non riuscito."
|
||||
|
||||
#: classes/Group_member.php:53
|
||||
#, fuzzy
|
||||
msgid "Not part of group."
|
||||
msgstr "Impossibile aggiornare il gruppo."
|
||||
msgstr "Non si fa parte del gruppo."
|
||||
|
||||
#: classes/Group_member.php:60
|
||||
#, fuzzy
|
||||
msgid "Group leave failed."
|
||||
msgstr "Profilo del gruppo"
|
||||
msgstr "Uscita dal gruppo non riuscita."
|
||||
|
||||
#: classes/Login_token.php:76
|
||||
#, php-format
|
||||
@ -4524,16 +4485,15 @@ msgid "Problem saving notice."
|
||||
msgstr "Problema nel salvare il messaggio."
|
||||
|
||||
#: classes/Notice.php:788
|
||||
#, fuzzy
|
||||
msgid "Problem saving group inbox."
|
||||
msgstr "Problema nel salvare il messaggio."
|
||||
msgstr "Problema nel salvare la casella della posta del gruppo."
|
||||
|
||||
#: classes/Notice.php:848
|
||||
#, php-format
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Errore del DB nell'inserire la risposta: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -4580,7 +4540,7 @@ msgid "Other options"
|
||||
msgstr "Altre opzioni"
|
||||
|
||||
#: lib/action.php:144
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "%1$s - %2$s"
|
||||
msgstr "%1$s - %2$s"
|
||||
|
||||
@ -4737,16 +4697,19 @@ msgstr "Licenza del contenuto del sito"
|
||||
#: lib/action.php:806
|
||||
#, php-format
|
||||
msgid "Content and data of %1$s are private and confidential."
|
||||
msgstr ""
|
||||
msgstr "I contenuti e i dati di %1$s sono privati e confidenziali."
|
||||
|
||||
#: lib/action.php:811
|
||||
#, php-format
|
||||
msgid "Content and data copyright by %1$s. All rights reserved."
|
||||
msgstr ""
|
||||
"I contenuti e i dati sono copyright di %1$s. Tutti i diritti riservati."
|
||||
|
||||
#: lib/action.php:814
|
||||
msgid "Content and data copyright by contributors. All rights reserved."
|
||||
msgstr ""
|
||||
"I contenuti e i dati sono forniti dai collaboratori. Tutti i diritti "
|
||||
"riservati."
|
||||
|
||||
#: lib/action.php:826
|
||||
msgid "All "
|
||||
@ -4797,102 +4760,99 @@ msgid "Design configuration"
|
||||
msgstr "Configurazione aspetto"
|
||||
|
||||
#: lib/adminpanelaction.php:322
|
||||
#, fuzzy
|
||||
msgid "User configuration"
|
||||
msgstr "Configurazione percorsi"
|
||||
msgstr "Configurazione utente"
|
||||
|
||||
#: lib/adminpanelaction.php:327
|
||||
#, fuzzy
|
||||
msgid "Access configuration"
|
||||
msgstr "Configurazione aspetto"
|
||||
msgstr "Configurazione di accesso"
|
||||
|
||||
#: lib/adminpanelaction.php:332
|
||||
msgid "Paths configuration"
|
||||
msgstr "Configurazione percorsi"
|
||||
|
||||
#: lib/adminpanelaction.php:337
|
||||
#, fuzzy
|
||||
msgid "Sessions configuration"
|
||||
msgstr "Configurazione aspetto"
|
||||
msgstr "Configurazione sessioni"
|
||||
|
||||
#: lib/apiauth.php:95
|
||||
msgid "API resource requires read-write access, but you only have read access."
|
||||
msgstr ""
|
||||
"Le risorse API richiedono accesso lettura-scrittura, ma si dispone del solo "
|
||||
"accesso in lettura."
|
||||
|
||||
#: lib/apiauth.php:273
|
||||
#, php-format
|
||||
msgid "Failed API auth attempt, nickname = %1$s, proxy = %2$s, ip = %3$s"
|
||||
msgstr ""
|
||||
"Tentativo di autorizzazione API non riuscito, soprannome = %1$s, proxy = %2"
|
||||
"$s, IP = %3$s"
|
||||
|
||||
#: lib/applicationeditform.php:136
|
||||
msgid "Edit application"
|
||||
msgstr ""
|
||||
msgstr "Modifica applicazione"
|
||||
|
||||
#: lib/applicationeditform.php:184
|
||||
msgid "Icon for this application"
|
||||
msgstr ""
|
||||
msgstr "Icona per questa applicazione"
|
||||
|
||||
#: lib/applicationeditform.php:204
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Describe your application in %d characters"
|
||||
msgstr "Descrivi il gruppo o l'argomento in %d caratteri"
|
||||
msgstr "Descrivi l'applicazione in %d caratteri"
|
||||
|
||||
#: lib/applicationeditform.php:207
|
||||
#, fuzzy
|
||||
msgid "Describe your application"
|
||||
msgstr "Descrivi il gruppo o l'argomento"
|
||||
msgstr "Descrivi l'applicazione"
|
||||
|
||||
#: lib/applicationeditform.php:216
|
||||
#, fuzzy
|
||||
msgid "Source URL"
|
||||
msgstr "Sorgenti"
|
||||
msgstr "URL sorgente"
|
||||
|
||||
#: lib/applicationeditform.php:218
|
||||
#, fuzzy
|
||||
msgid "URL of the homepage of this application"
|
||||
msgstr "URL della pagina web, blog del gruppo o l'argomento"
|
||||
msgstr "URL della pagina web di questa applicazione"
|
||||
|
||||
#: lib/applicationeditform.php:224
|
||||
msgid "Organization responsible for this application"
|
||||
msgstr ""
|
||||
msgstr "Organizzazione responsabile per questa applicazione"
|
||||
|
||||
#: lib/applicationeditform.php:230
|
||||
#, fuzzy
|
||||
msgid "URL for the homepage of the organization"
|
||||
msgstr "URL della pagina web, blog del gruppo o l'argomento"
|
||||
msgstr "URL della pagina web dell'organizzazione"
|
||||
|
||||
#: lib/applicationeditform.php:236
|
||||
msgid "URL to redirect to after authentication"
|
||||
msgstr ""
|
||||
msgstr "URL verso cui redirigere dopo l'autenticazione"
|
||||
|
||||
#: lib/applicationeditform.php:258
|
||||
msgid "Browser"
|
||||
msgstr ""
|
||||
msgstr "Browser"
|
||||
|
||||
#: lib/applicationeditform.php:274
|
||||
msgid "Desktop"
|
||||
msgstr ""
|
||||
msgstr "Desktop"
|
||||
|
||||
#: lib/applicationeditform.php:275
|
||||
msgid "Type of application, browser or desktop"
|
||||
msgstr ""
|
||||
msgstr "Tipo di applicazione, browser o desktop"
|
||||
|
||||
#: lib/applicationeditform.php:297
|
||||
msgid "Read-only"
|
||||
msgstr ""
|
||||
msgstr "Sola lettura"
|
||||
|
||||
#: lib/applicationeditform.php:315
|
||||
msgid "Read-write"
|
||||
msgstr ""
|
||||
msgstr "Lettura-scrittura"
|
||||
|
||||
#: lib/applicationeditform.php:316
|
||||
msgid "Default access for this application: read-only, or read-write"
|
||||
msgstr ""
|
||||
"Accesso predefinito per questa applicazione, sola lettura o lettura-scrittura"
|
||||
|
||||
#: lib/applicationlist.php:154
|
||||
#, fuzzy
|
||||
msgid "Revoke"
|
||||
msgstr "Rimuovi"
|
||||
msgstr "Revoca"
|
||||
|
||||
#: lib/attachmentlist.php:87
|
||||
msgid "Attachments"
|
||||
@ -5255,13 +5215,12 @@ msgid "Updates by SMS"
|
||||
msgstr "Messaggi via SMS"
|
||||
|
||||
#: lib/connectsettingsaction.php:120
|
||||
#, fuzzy
|
||||
msgid "Connections"
|
||||
msgstr "Connetti"
|
||||
msgstr "Connessioni"
|
||||
|
||||
#: lib/connectsettingsaction.php:121
|
||||
msgid "Authorized connected applications"
|
||||
msgstr ""
|
||||
msgstr "Applicazioni collegate autorizzate"
|
||||
|
||||
#: lib/dberroraction.php:60
|
||||
msgid "Database error"
|
||||
@ -5454,9 +5413,9 @@ msgid "[%s]"
|
||||
msgstr "[%s]"
|
||||
|
||||
#: lib/jabber.php:400
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Unknown inbox source %d."
|
||||
msgstr "Lingua \"%s\" sconosciuta."
|
||||
msgstr "Sorgente casella in arrivo %d sconosciuta."
|
||||
|
||||
#: lib/joinform.php:114
|
||||
msgid "Join"
|
||||
@ -5844,12 +5803,10 @@ msgid "Attach a file"
|
||||
msgstr "Allega un file"
|
||||
|
||||
#: lib/noticeform.php:212
|
||||
#, fuzzy
|
||||
msgid "Share my location"
|
||||
msgstr "Condividi la mia posizione"
|
||||
|
||||
#: lib/noticeform.php:215
|
||||
#, fuzzy
|
||||
msgid "Do not share my location"
|
||||
msgstr "Non condividere la mia posizione"
|
||||
|
||||
@ -5858,6 +5815,8 @@ msgid ""
|
||||
"Sorry, retrieving your geo location is taking longer than expected, please "
|
||||
"try again later"
|
||||
msgstr ""
|
||||
"Il recupero della tua posizione geografica sta impiegando più tempo del "
|
||||
"previsto. Riprova più tardi."
|
||||
|
||||
#: lib/noticelist.php:428
|
||||
#, php-format
|
||||
@ -6043,7 +6002,7 @@ msgstr "Ripeti questo messaggio"
|
||||
|
||||
#: lib/router.php:665
|
||||
msgid "No single user defined for single-user mode."
|
||||
msgstr ""
|
||||
msgstr "Nessun utente singolo definito per la modalità single-user."
|
||||
|
||||
#: lib/sandboxform.php:67
|
||||
msgid "Sandbox"
|
||||
@ -6210,47 +6169,47 @@ msgstr "Messaggio"
|
||||
msgid "Moderate"
|
||||
msgstr "Modera"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "pochi secondi fa"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "circa un minuto fa"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "circa %d minuti fa"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "circa un'ora fa"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "circa %d ore fa"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "circa un giorno fa"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "circa %d giorni fa"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "circa un mese fa"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "circa %d mesi fa"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "circa un anno fa"
|
||||
|
||||
|
@ -11,12 +11,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:30+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:17+0000\n"
|
||||
"Language-Team: Japanese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ja\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -196,7 +196,7 @@ msgstr "%2$s に %1$s と友人からの更新があります!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API メソッドが見つかりません。"
|
||||
|
||||
@ -818,7 +818,7 @@ msgstr "このユーザをアンブロックする"
|
||||
msgid "Yes"
|
||||
msgstr "Yes"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "このユーザをブロックする"
|
||||
|
||||
@ -1582,7 +1582,7 @@ msgstr "ユーザはすでにグループからブロックされています。
|
||||
msgid "User is not a member of group."
|
||||
msgstr "ユーザはグループのメンバーではありません。"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "グループからユーザをブロック"
|
||||
|
||||
@ -1683,19 +1683,19 @@ msgstr "このグループのユーザのリスト。"
|
||||
msgid "Admin"
|
||||
msgstr "管理者"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "ブロック"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "ユーザをグループの管理者にする"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "管理者にする"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "このユーザを管理者にする"
|
||||
|
||||
@ -2100,21 +2100,21 @@ msgstr ""
|
||||
"ユーザ名とパスワードで、ログインしてください。 まだユーザ名を持っていません"
|
||||
"か? 新しいアカウントを [登録](%%action.register%%)。"
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "管理者だけが別のユーザを管理者にすることができます。"
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s はすでにグループ \"%2$s\" の管理者です。"
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "%1$s の会員資格記録をグループ %2$s 中から取得できません。"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "%1$s をグループ %2$s の管理者にすることはできません"
|
||||
@ -2316,8 +2316,8 @@ msgstr "内容種別 "
|
||||
msgid "Only "
|
||||
msgstr "だけ "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "サポートされていないデータ形式。"
|
||||
|
||||
@ -4474,7 +4474,7 @@ msgstr "グループ受信箱を保存する際に問題が発生しました。
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "返信を追加する際にデータベースエラー : %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -6108,47 +6108,47 @@ msgstr "メッセージ"
|
||||
msgid "Moderate"
|
||||
msgstr "管理"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "数秒前"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "約 1 分前"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "約 %d 分前"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "約 1 時間前"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "約 %d 時間前"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "約 1 日前"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "約 %d 日前"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "約 1 ヵ月前"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "約 %d ヵ月前"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "約 1 年前"
|
||||
|
||||
|
@ -7,12 +7,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:33+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:20+0000\n"
|
||||
"Language-Team: Korean\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ko\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -195,7 +195,7 @@ msgstr "%1$s 및 %2$s에 있는 친구들의 업데이트!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "API 메서드를 찾을 수 없습니다."
|
||||
@ -834,7 +834,7 @@ msgstr "이 사용자를 차단해제합니다."
|
||||
msgid "Yes"
|
||||
msgstr "네, 맞습니다."
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "이 사용자 차단하기"
|
||||
|
||||
@ -1635,7 +1635,7 @@ msgstr "회원이 당신을 차단해왔습니다."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "당신은 해당 그룹의 멤버가 아닙니다."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "사용자를 차단합니다."
|
||||
@ -1740,21 +1740,21 @@ msgstr "이 그룹의 회원리스트"
|
||||
msgid "Admin"
|
||||
msgstr "관리자"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "차단하기"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
#, fuzzy
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "관리자만 그룹을 편집할 수 있습니다."
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
#, fuzzy
|
||||
msgid "Make Admin"
|
||||
msgstr "관리자"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2146,21 +2146,21 @@ msgstr ""
|
||||
"action.register%%) 새 계정을 생성 또는 [OpenID](%%action.openidlogin%%)를 사"
|
||||
"용해 보세요."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "회원이 당신을 차단해왔습니다."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "그룹 %s에서 %s 사용자를 제거할 수 없습니다."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "관리자만 그룹을 편집할 수 있습니다."
|
||||
@ -2365,8 +2365,8 @@ msgstr "연결"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "지원하는 형식의 데이터가 아닙니다."
|
||||
|
||||
@ -4517,7 +4517,7 @@ msgstr "통지를 저장하는데 문제가 발생했습니다."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "답신을 추가 할 때에 데이타베이스 에러 : %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -6117,47 +6117,47 @@ msgstr "메시지"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "몇 초 전"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "1분 전"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "%d분 전"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "1시간 전"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "%d시간 전"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "하루 전"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "%d일 전"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "1달 전"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "%d달 전"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "1년 전"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:36+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:23+0000\n"
|
||||
"Language-Team: Macedonian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: mk\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -199,7 +199,7 @@ msgstr "Подновувања од %1$s и пријатели на %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API методот не е пронајден."
|
||||
|
||||
@ -828,7 +828,7 @@ msgstr "Не го блокирај корисников"
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Блокирај го корисников"
|
||||
|
||||
@ -1591,7 +1591,7 @@ msgstr "Корисникот е веќе блокиран од оваа груп
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Корисникот не членува во групата."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Блокирај корисник од група"
|
||||
|
||||
@ -1695,19 +1695,19 @@ msgstr "Листа на корисниците на овааг група."
|
||||
msgid "Admin"
|
||||
msgstr "Администратор"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Блокирај"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Направи го корисникот администратор на групата"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Направи го/ја администратор"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Направи го корисникот администратор"
|
||||
|
||||
@ -2093,7 +2093,8 @@ msgstr "Запамети ме"
|
||||
#: actions/login.php:237 actions/register.php:480
|
||||
msgid "Automatically login in the future; not for shared computers!"
|
||||
msgstr ""
|
||||
"Следниот пат најавете се автоматски; не за компјутери кои ги делите со други!"
|
||||
"Следниот пат најавете се автоматски; не е за компјутери кои ги делите со "
|
||||
"други!"
|
||||
|
||||
#: actions/login.php:247
|
||||
msgid "Lost or forgotten password?"
|
||||
@ -2116,21 +2117,21 @@ msgstr ""
|
||||
"Најавете се со Вашето корисничко име и лозинка. Сè уште немате корисничко "
|
||||
"име? [Регистрирајте](%%action.register%%) нова сметка."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Само администратор може да направи друг корисник администратор."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s веќе е администратор на групата „%2$s“."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Не можам да добијам евиденција за членство на %1$s во групата %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Не можам да го направам корисникот %1$s администратор на групата %2$s."
|
||||
@ -2334,8 +2335,8 @@ msgstr "тип на содржини "
|
||||
msgid "Only "
|
||||
msgstr "Само "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Ова не е поддржан формат на податотека."
|
||||
|
||||
@ -4514,7 +4515,7 @@ msgstr "Проблем при зачувувањето на групното п
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Одговор од внесот во базата: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -5251,8 +5252,8 @@ msgstr "Подигни податотека"
|
||||
msgid ""
|
||||
"You can upload your personal background image. The maximum file size is 2MB."
|
||||
msgstr ""
|
||||
"Не можете да подигнете личната позадинска слика. Максималната дозволена "
|
||||
"големина изнесува 2МБ."
|
||||
"Можете да подигнете лична позадинска слика. Максималната дозволена големина "
|
||||
"изнесува 2МБ."
|
||||
|
||||
#: lib/designsettings.php:418
|
||||
msgid "Design defaults restored."
|
||||
@ -6193,47 +6194,47 @@ msgstr "Порака"
|
||||
msgid "Moderate"
|
||||
msgstr "Модерирај"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "пред неколку секунди"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "пред една минута"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "пред %d минути"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "пред еден час"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "пред %d часа"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "пред еден ден"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "пред %d денови"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "пред еден месец"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "пред %d месеца"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "пред една година"
|
||||
|
||||
|
@ -8,12 +8,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:39+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:26+0000\n"
|
||||
"Language-Team: Norwegian (bokmål)\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: no\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -194,7 +194,7 @@ msgstr "Oppdateringer fra %1$s og venner på %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "API-metode ikke funnet!"
|
||||
@ -812,7 +812,7 @@ msgstr "Ikke blokker denne brukeren"
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Blokker denne brukeren"
|
||||
|
||||
@ -1576,7 +1576,7 @@ msgstr "Du er allerede logget inn!"
|
||||
msgid "User is not a member of group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr ""
|
||||
|
||||
@ -1673,19 +1673,19 @@ msgstr "En liste over brukerne i denne gruppen."
|
||||
msgid "Admin"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blokkér"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Gjør brukeren til en administrator for gruppen"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Gjør til administrator"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Gjør denne brukeren til administrator"
|
||||
|
||||
@ -2062,21 +2062,21 @@ msgid ""
|
||||
"(%%action.register%%) a new account."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Du er allerede logget inn!"
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Klarte ikke å oppdatere bruker."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Gjør brukeren til en administrator for gruppen"
|
||||
@ -2271,8 +2271,8 @@ msgstr "innholdstype "
|
||||
msgid "Only "
|
||||
msgstr "Bare "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4365,7 +4365,7 @@ msgstr ""
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -5952,47 +5952,47 @@ msgstr ""
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "noen få sekunder siden"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "omtrent ett minutt siden"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "omtrent %d minutter siden"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "omtrent én time siden"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "omtrent %d timer siden"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "omtrent én dag siden"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "omtrent %d dager siden"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "omtrent én måned siden"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "omtrent %d måneder siden"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "omtrent ett år siden"
|
||||
|
||||
|
@ -10,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:45+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:32+0000\n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: nl\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -198,7 +198,7 @@ msgstr "Updates van %1$s en vrienden op %2$s."
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "De API-functie is niet aangetroffen."
|
||||
|
||||
@ -837,7 +837,7 @@ msgstr "Gebruiker niet blokkeren"
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Deze gebruiker blokkeren"
|
||||
|
||||
@ -1605,7 +1605,7 @@ msgstr "Deze gebruiker is al de toegang tot de groep ontzegd."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "De gebruiker is geen lid van de groep."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Gebruiker toegang tot de groep blokkeren"
|
||||
|
||||
@ -1709,19 +1709,19 @@ msgstr "Ledenlijst van deze groep"
|
||||
msgid "Admin"
|
||||
msgstr "Beheerder"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blokkeren"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Deze gebruiker groepsbeheerder maken"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Beheerder maken"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Deze gebruiker beheerder maken"
|
||||
|
||||
@ -2133,21 +2133,21 @@ msgstr ""
|
||||
"Meld u aan met uw gebruikersnaam en wachtwoord. Hebt u nog geen "
|
||||
"gebruikersnaam? [Registreer een nieuwe gebruiker](%%action.register%%)."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Alleen beheerders kunnen andere gebruikers beheerder maken."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s is al beheerder van de groep \"%2$s\""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Het was niet mogelijk te bevestigen dat %1$s lid is van de groep %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Het is niet mogelijk %1$s beheerder te maken van de groep %2$s."
|
||||
@ -2354,8 +2354,8 @@ msgstr "inhoudstype "
|
||||
msgid "Only "
|
||||
msgstr "Alleen "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Geen ondersteund gegevensformaat."
|
||||
|
||||
@ -4423,9 +4423,9 @@ msgid ""
|
||||
"for more details. "
|
||||
msgstr ""
|
||||
"Dit programma wordt verspreid in de hoop dat het bruikbaar is, maar ZONDER "
|
||||
"ENIGE GARANTIE; zonder zelfde impliciete garantie van VERMARKTBAARHEID of "
|
||||
"GESCHIKTHEID VOOR EEN SPECIFIEK DOEL. Zie de GNU Affero General Public "
|
||||
"License voor meer details. "
|
||||
"ENIGE GARANTIE; zelfs zonder de impliciete garantie van VERKOOPBAARHEID of "
|
||||
"GESCHIKTHEID VOOR EEN BEPAALD DOEL. Zie de GNU Affero General Public License "
|
||||
"voor meer details. "
|
||||
|
||||
#: actions/version.php:180
|
||||
#, php-format
|
||||
@ -4551,7 +4551,7 @@ msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
"Er is een databasefout opgetreden bij het invoegen van het antwoord: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -6237,47 +6237,47 @@ msgstr "Bericht"
|
||||
msgid "Moderate"
|
||||
msgstr "Modereren"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "een paar seconden geleden"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "ongeveer een minuut geleden"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "ongeveer %d minuten geleden"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "ongeveer een uur geleden"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "ongeveer %d uur geleden"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "ongeveer een dag geleden"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "ongeveer %d dagen geleden"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "ongeveer een maand geleden"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "ongeveer %d maanden geleden"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "ongeveer een jaar geleden"
|
||||
|
||||
|
@ -7,12 +7,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:42+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:29+0000\n"
|
||||
"Language-Team: Norwegian Nynorsk\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: nn\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -195,7 +195,7 @@ msgstr "Oppdateringar frå %1$s og vener på %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Fann ikkje API-metode."
|
||||
@ -832,7 +832,7 @@ msgstr "Lås opp brukaren"
|
||||
msgid "Yes"
|
||||
msgstr "Jau"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Blokkér denne brukaren"
|
||||
|
||||
@ -1635,7 +1635,7 @@ msgstr "Brukar har blokkert deg."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Du er ikkje medlem av den gruppa."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Blokker brukaren"
|
||||
@ -1740,21 +1740,21 @@ msgstr "Ei liste over brukarane i denne gruppa."
|
||||
msgid "Admin"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blokkér"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
#, fuzzy
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Du må være administrator for å redigere gruppa"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
#, fuzzy
|
||||
msgid "Make Admin"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2149,21 +2149,21 @@ msgstr ""
|
||||
"%action.register%%) ein ny konto, eller prøv [OpenID](%%action.openidlogin%"
|
||||
"%)."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Brukar har blokkert deg."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Kunne ikkje fjerne %s fra %s gruppa "
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Du må være administrator for å redigere gruppa"
|
||||
@ -2370,8 +2370,8 @@ msgstr "Kopla til"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Ikkje eit støtta dataformat."
|
||||
|
||||
@ -4534,7 +4534,7 @@ msgstr "Eit problem oppstod ved lagring av notis."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Databasefeil, kan ikkje lagra svar: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -6144,47 +6144,47 @@ msgstr "Melding"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "eit par sekund sidan"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "omtrent eitt minutt sidan"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "~%d minutt sidan"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "omtrent ein time sidan"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "~%d timar sidan"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "omtrent ein dag sidan"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "~%d dagar sidan"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "omtrent ein månad sidan"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "~%d månadar sidan"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "omtrent eitt år sidan"
|
||||
|
||||
|
@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:48+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:35+0000\n"
|
||||
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
|
||||
"Language-Team: Polish <pl@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: pl\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -201,7 +201,7 @@ msgstr "Aktualizacje z %1$s i przyjaciół na %2$s."
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "Nie odnaleziono metody API."
|
||||
|
||||
@ -823,7 +823,7 @@ msgstr "Nie blokuj tego użytkownika"
|
||||
msgid "Yes"
|
||||
msgstr "Tak"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Zablokuj tego użytkownika"
|
||||
|
||||
@ -1581,7 +1581,7 @@ msgstr "Użytkownik został już zablokował w grupie."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Użytkownik nie jest członkiem grupy."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Zablokuj użytkownika w grupie"
|
||||
|
||||
@ -1679,19 +1679,19 @@ msgstr "Lista użytkowników znajdujących się w tej grupie."
|
||||
msgid "Admin"
|
||||
msgstr "Administrator"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Zablokuj"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Uczyń użytkownika administratorem grupy"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Uczyń administratorem"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Uczyń tego użytkownika administratorem"
|
||||
|
||||
@ -2099,21 +2099,21 @@ msgstr ""
|
||||
"Zaloguj się za pomocą nazwy użytkownika i hasła. Nie masz ich jeszcze? "
|
||||
"[Zarejestruj](%%action.register%%) nowe konto."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Tylko administrator może uczynić innego użytkownika administratorem."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Użytkownika %1$s jest już administratorem grupy \"%2$s\"."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Nie można uzyskać wpisu członkostwa użytkownika %1$s w grupie %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Nie można uczynić %1$s administratorem grupy %2$s."
|
||||
@ -2314,8 +2314,8 @@ msgstr "typ zawartości "
|
||||
msgid "Only "
|
||||
msgstr "Tylko "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "To nie jest obsługiwany format danych."
|
||||
|
||||
@ -4484,7 +4484,7 @@ msgstr "Problem podczas zapisywania skrzynki odbiorczej grupy."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Błąd bazy danych podczas wprowadzania odpowiedzi: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -6163,47 +6163,47 @@ msgstr "Wiadomość"
|
||||
msgid "Moderate"
|
||||
msgstr "Moderuj"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "kilka sekund temu"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "około minutę temu"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "około %d minut temu"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "około godzinę temu"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "około %d godzin temu"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "blisko dzień temu"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "około %d dni temu"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "około miesiąc temu"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "około %d miesięcy temu"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "około rok temu"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:51+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:39+0000\n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: pt\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -198,7 +198,7 @@ msgstr "Actualizações de %1$s e amigos no %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "Método da API não encontrado."
|
||||
|
||||
@ -821,7 +821,7 @@ msgstr "Não bloquear este utilizador"
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Bloquear este utilizador"
|
||||
|
||||
@ -1604,7 +1604,7 @@ msgstr "Acesso do utilizador ao grupo já foi bloqueado."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Utilizador não é membro do grupo."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Bloquear acesso do utilizador ao grupo"
|
||||
|
||||
@ -1706,19 +1706,19 @@ msgstr "Uma lista dos utilizadores neste grupo."
|
||||
msgid "Admin"
|
||||
msgstr "Gestor"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Tornar utilizador o gestor do grupo"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Tornar Gestor"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Tornar este utilizador um gestor"
|
||||
|
||||
@ -2126,21 +2126,21 @@ msgstr ""
|
||||
"Entrar com o seu nome de utilizador e senha. Ainda não está registado? "
|
||||
"[Registe](%%action.register%%) uma conta."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Só um gestor pode tornar outro utilizador num gestor."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s já é um administrador do grupo \"%2$s\"."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Não existe registo de %1$s ter entrado no grupo %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Não é possível tornar %1$s administrador do grupo %2$s."
|
||||
@ -2347,8 +2347,8 @@ msgstr "tipo de conteúdo "
|
||||
msgid "Only "
|
||||
msgstr "Apenas "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Formato de dados não suportado."
|
||||
|
||||
@ -4530,7 +4530,7 @@ msgstr "Problema na gravação da nota."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Ocorreu um erro na base de dados ao inserir a resposta: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -6203,47 +6203,47 @@ msgstr "Mensagem"
|
||||
msgid "Moderate"
|
||||
msgstr "Moderar"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "há alguns segundos"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "há cerca de um minuto"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "há cerca de %d minutos"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "há cerca de uma hora"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "há cerca de %d horas"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "há cerca de um dia"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "há cerca de %d dias"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "há cerca de um mês"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "há cerca de %d meses"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "há cerca de um ano"
|
||||
|
||||
|
@ -2,6 +2,7 @@
|
||||
#
|
||||
# Author@translatewiki.net: Aracnus
|
||||
# Author@translatewiki.net: Ewout
|
||||
# Author@translatewiki.net: McDutchie
|
||||
# Author@translatewiki.net: Vuln
|
||||
# --
|
||||
# This file is distributed under the same license as the StatusNet package.
|
||||
@ -10,12 +11,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:54+0000\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:05+0000\n"
|
||||
"PO-Revision-Date: 2010-02-14 20:07:20+0000\n"
|
||||
"Language-Team: Brazilian Portuguese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62476); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: pt-br\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -26,14 +27,12 @@ msgid "Access"
|
||||
msgstr "Acesso"
|
||||
|
||||
#: actions/accessadminpanel.php:65
|
||||
#, fuzzy
|
||||
msgid "Site access settings"
|
||||
msgstr "Salvar as configurações do site"
|
||||
msgstr "Configurações de acesso ao site"
|
||||
|
||||
#: actions/accessadminpanel.php:158
|
||||
#, fuzzy
|
||||
msgid "Registration"
|
||||
msgstr "Registrar-se"
|
||||
msgstr "Registro"
|
||||
|
||||
#: actions/accessadminpanel.php:161
|
||||
msgid "Private"
|
||||
@ -72,9 +71,8 @@ msgid "Save"
|
||||
msgstr "Salvar"
|
||||
|
||||
#: actions/accessadminpanel.php:189
|
||||
#, fuzzy
|
||||
msgid "Save access settings"
|
||||
msgstr "Salvar as configurações do site"
|
||||
msgstr "Salvar as configurações de acesso"
|
||||
|
||||
#: actions/all.php:63 actions/public.php:97 actions/replies.php:92
|
||||
#: actions/showfavorites.php:137 actions/tag.php:51
|
||||
@ -174,8 +172,8 @@ msgstr ""
|
||||
msgid "You and friends"
|
||||
msgstr "Você e amigos"
|
||||
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:121
|
||||
#: actions/apitimelinehome.php:122
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:119
|
||||
#: actions/apitimelinehome.php:120
|
||||
#, php-format
|
||||
msgid "Updates from %1$s and friends on %2$s!"
|
||||
msgstr "Atualizações de %1$s e amigos no %2$s!"
|
||||
@ -196,12 +194,12 @@ msgstr "Atualizações de %1$s e amigos no %2$s!"
|
||||
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
|
||||
#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
|
||||
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
|
||||
#: actions/apitimelinefavorites.php:146 actions/apitimelinefriends.php:155
|
||||
#: actions/apitimelinegroup.php:150 actions/apitimelinehome.php:156
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
|
||||
#: actions/apitimelinegroup.php:182 actions/apitimelinehome.php:184
|
||||
#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
|
||||
#: actions/apitimelineuser.php:194 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "O método da API não foi encontrado!"
|
||||
|
||||
@ -487,12 +485,11 @@ msgstr "grupos no %s"
|
||||
|
||||
#: actions/apioauthauthorize.php:101
|
||||
msgid "No oauth_token parameter provided."
|
||||
msgstr ""
|
||||
msgstr "Não foi fornecido nenhum parâmetro oauth_token"
|
||||
|
||||
#: actions/apioauthauthorize.php:106
|
||||
#, fuzzy
|
||||
msgid "Invalid token."
|
||||
msgstr "Tamanho inválido."
|
||||
msgstr "Token inválido."
|
||||
|
||||
#: actions/apioauthauthorize.php:123 actions/avatarsettings.php:268
|
||||
#: actions/deletenotice.php:157 actions/disfavor.php:74
|
||||
@ -518,16 +515,14 @@ msgid "Invalid nickname / password!"
|
||||
msgstr "Nome de usuário e/ou senha inválido(s)!"
|
||||
|
||||
#: actions/apioauthauthorize.php:159
|
||||
#, fuzzy
|
||||
msgid "Database error deleting OAuth application user."
|
||||
msgstr ""
|
||||
"Erro no banco de dados durante a exclusão do aplicativo OAuth do usuário."
|
||||
"Erro no banco de dados durante a exclusão do usuário da aplicação OAuth."
|
||||
|
||||
#: actions/apioauthauthorize.php:185
|
||||
#, fuzzy
|
||||
msgid "Database error inserting OAuth application user."
|
||||
msgstr ""
|
||||
"Erro no banco de dados durante a inserção do aplicativo OAuth do usuário."
|
||||
"Erro no banco de dados durante a inserção do usuário da aplicativo OAuth."
|
||||
|
||||
#: actions/apioauthauthorize.php:214
|
||||
#, php-format
|
||||
@ -539,9 +534,9 @@ msgstr ""
|
||||
"acesso."
|
||||
|
||||
#: actions/apioauthauthorize.php:227
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "The request token %s has been denied and revoked."
|
||||
msgstr "O token de requisição %s foi negado."
|
||||
msgstr "O token %s solicitado foi negado e revogado."
|
||||
|
||||
#: actions/apioauthauthorize.php:232 actions/avatarsettings.php:281
|
||||
#: actions/designadminpanel.php:103 actions/editapplication.php:139
|
||||
@ -567,6 +562,10 @@ msgid ""
|
||||
"the ability to <strong>%3$s</strong> your %4$s account data. You should only "
|
||||
"give access to your %4$s account to third parties you trust."
|
||||
msgstr ""
|
||||
"A aplicação <strong>%1$s</strong> por <strong>%2$s</strong> solicita a "
|
||||
"permissão para <strong>%3$s</strong> os dados da sua conta %4$s. Você deve "
|
||||
"fornecer acesso à sua conta %4$s somente para terceiros nos quais você "
|
||||
"confia."
|
||||
|
||||
#: actions/apioauthauthorize.php:310 lib/action.php:441
|
||||
msgid "Account"
|
||||
@ -650,7 +649,7 @@ msgstr "Formato não suportado."
|
||||
msgid "%1$s / Favorites from %2$s"
|
||||
msgstr "%1$s / Favoritas de %2$s"
|
||||
|
||||
#: actions/apitimelinefavorites.php:120
|
||||
#: actions/apitimelinefavorites.php:117
|
||||
#, php-format
|
||||
msgid "%1$s updates favorited by %2$s / %2$s."
|
||||
msgstr "%1$s marcadas como favoritas por %2$s / %2$s."
|
||||
@ -661,7 +660,7 @@ msgstr "%1$s marcadas como favoritas por %2$s / %2$s."
|
||||
msgid "%s timeline"
|
||||
msgstr "Mensagens de %s"
|
||||
|
||||
#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
|
||||
#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
|
||||
#: actions/userrss.php:92
|
||||
#, php-format
|
||||
msgid "Updates from %1$s on %2$s!"
|
||||
@ -677,12 +676,12 @@ msgstr "%1$s / Mensagens mencionando %2$s"
|
||||
msgid "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
msgstr "%1$s mensagens em resposta a mensagens de %2$s / %3$s."
|
||||
|
||||
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
|
||||
#, php-format
|
||||
msgid "%s public timeline"
|
||||
msgstr "Mensagens públicas de %s"
|
||||
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
|
||||
#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
|
||||
#, php-format
|
||||
msgid "%s updates from everyone!"
|
||||
msgstr "%s mensagens de todo mundo!"
|
||||
@ -692,7 +691,7 @@ msgstr "%s mensagens de todo mundo!"
|
||||
msgid "Repeated to %s"
|
||||
msgstr "Repetida para %s"
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#: actions/apitimelineretweetsofme.php:114
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr "Repetições de %s"
|
||||
@ -702,7 +701,7 @@ msgstr "Repetições de %s"
|
||||
msgid "Notices tagged with %s"
|
||||
msgstr "Mensagens etiquetadas como %s"
|
||||
|
||||
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
|
||||
#: actions/apitimelinetag.php:104 actions/tagrss.php:64
|
||||
#, php-format
|
||||
msgid "Updates tagged with %1$s on %2$s!"
|
||||
msgstr "Mensagens etiquetadas como %1$s no %2$s!"
|
||||
@ -831,7 +830,7 @@ msgstr "Não bloquear este usuário"
|
||||
msgid "Yes"
|
||||
msgstr "Sim"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Bloquear este usuário"
|
||||
|
||||
@ -932,14 +931,12 @@ msgid "Notices"
|
||||
msgstr "Mensagens"
|
||||
|
||||
#: actions/deleteapplication.php:63
|
||||
#, fuzzy
|
||||
msgid "You must be logged in to delete an application."
|
||||
msgstr "Você precisa estar autenticado para editar uma aplicação."
|
||||
msgstr "Você precisa estar autenticado para excluir uma aplicação."
|
||||
|
||||
#: actions/deleteapplication.php:71
|
||||
#, fuzzy
|
||||
msgid "Application not found."
|
||||
msgstr "Informação da aplicação"
|
||||
msgstr "A aplicação não foi encontrada."
|
||||
|
||||
#: actions/deleteapplication.php:78 actions/editapplication.php:77
|
||||
#: actions/showapplication.php:94
|
||||
@ -953,29 +950,26 @@ msgid "There was a problem with your session token."
|
||||
msgstr "Ocorreu um problema com o seu token de sessão."
|
||||
|
||||
#: actions/deleteapplication.php:123 actions/deleteapplication.php:147
|
||||
#, fuzzy
|
||||
msgid "Delete application"
|
||||
msgstr "Editar a aplicação"
|
||||
msgstr "Excluir a aplicação"
|
||||
|
||||
#: actions/deleteapplication.php:149
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Are you sure you want to delete this application? This will clear all data "
|
||||
"about the application from the database, including all existing user "
|
||||
"connections."
|
||||
msgstr ""
|
||||
"Tem certeza que deseja excluir este usuário? Isso irá eliminar todos os "
|
||||
"dados deste usuário do banco de dados, sem cópia de segurança."
|
||||
"Tem certeza que deseja excluir esta aplicação? Isso eliminará todos os dados "
|
||||
"desta aplicação do banco de dados, incluindo todas as conexões existentes "
|
||||
"com os usuários."
|
||||
|
||||
#: actions/deleteapplication.php:156
|
||||
#, fuzzy
|
||||
msgid "Do not delete this application"
|
||||
msgstr "Não excluir esta mensagem."
|
||||
msgstr "Não excluir esta aplicação"
|
||||
|
||||
#: actions/deleteapplication.php:160
|
||||
#, fuzzy
|
||||
msgid "Delete this application"
|
||||
msgstr "Ícone para esta aplicação"
|
||||
msgstr "Excluir esta aplicação"
|
||||
|
||||
#: actions/deletenotice.php:67 actions/disfavor.php:61 actions/favor.php:62
|
||||
#: actions/groupblock.php:61 actions/groupunblock.php:61 actions/logout.php:69
|
||||
@ -1032,8 +1026,8 @@ msgid ""
|
||||
"Are you sure you want to delete this user? This will clear all data about "
|
||||
"the user from the database, without a backup."
|
||||
msgstr ""
|
||||
"Tem certeza que deseja excluir este usuário? Isso irá eliminar todos os "
|
||||
"dados deste usuário do banco de dados, sem cópia de segurança."
|
||||
"Tem certeza que deseja excluir este usuário? Isso eliminará todos os dados "
|
||||
"deste usuário do banco de dados, sem cópia de segurança."
|
||||
|
||||
#: actions/deleteuser.php:148 lib/deleteuserform.php:77
|
||||
msgid "Delete this user"
|
||||
@ -1156,12 +1150,11 @@ msgid "Add to favorites"
|
||||
msgstr "Adicionar às favoritas"
|
||||
|
||||
#: actions/doc.php:158
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "No such document \"%s\""
|
||||
msgstr "Esse documento não existe."
|
||||
msgstr "O documento \"%s\" não existe"
|
||||
|
||||
#: actions/editapplication.php:54
|
||||
#, fuzzy
|
||||
msgid "Edit Application"
|
||||
msgstr "Editar a aplicação"
|
||||
|
||||
@ -1187,9 +1180,8 @@ msgid "Name is too long (max 255 chars)."
|
||||
msgstr "O nome é muito extenso (máx. 255 caracteres)."
|
||||
|
||||
#: actions/editapplication.php:183 actions/newapplication.php:162
|
||||
#, fuzzy
|
||||
msgid "Name already in use. Try another one."
|
||||
msgstr "Esta identificação já está em uso. Tente outro."
|
||||
msgstr "Este nome já está em uso. Tente outro."
|
||||
|
||||
#: actions/editapplication.php:186 actions/newapplication.php:168
|
||||
msgid "Description is required."
|
||||
@ -1254,7 +1246,7 @@ msgstr "descrição muito extensa (máximo %d caracteres)."
|
||||
msgid "Could not update group."
|
||||
msgstr "Não foi possível atualizar o grupo."
|
||||
|
||||
#: actions/editgroup.php:259 classes/User_group.php:390
|
||||
#: actions/editgroup.php:259 classes/User_group.php:423
|
||||
msgid "Could not create aliases."
|
||||
msgstr "Não foi possível criar os apelidos."
|
||||
|
||||
@ -1603,7 +1595,7 @@ msgstr "O usuário já está bloqueado no grupo."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "O usuário não é um membro do grupo"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Bloquear o usuário no grupo"
|
||||
|
||||
@ -1706,19 +1698,19 @@ msgstr "Uma lista dos usuários deste grupo."
|
||||
msgid "Admin"
|
||||
msgstr "Admin"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Tornar o usuário um administrador do grupo"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Tornar administrador"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Torna este usuário um administrador"
|
||||
|
||||
@ -1901,9 +1893,9 @@ msgid "That is not your Jabber ID."
|
||||
msgstr "Essa não é sua ID do Jabber."
|
||||
|
||||
#: actions/inbox.php:59
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Inbox for %1$s - page %2$d"
|
||||
msgstr "Recebidas por %s"
|
||||
msgstr "Recebidas por %s - pág. %2$d"
|
||||
|
||||
#: actions/inbox.php:62
|
||||
#, php-format
|
||||
@ -2129,23 +2121,23 @@ msgstr ""
|
||||
"Digite seu nome de usuário e senha. Ainda não possui um usuário? [Registre](%"
|
||||
"%action.register%%) uma nova conta."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
"Somente um administrador pode dar privilégios de administração para outro "
|
||||
"usuário."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s já é um administrador do grupo \"%2$s\"."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Não foi possível obter o registro de membro de %1$s no grupo %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Não foi possível tornar %1$s um administrador do grupo %2$s."
|
||||
@ -2155,7 +2147,6 @@ msgid "No current status"
|
||||
msgstr "Nenhuma mensagem atual"
|
||||
|
||||
#: actions/newapplication.php:52
|
||||
#, fuzzy
|
||||
msgid "New Application"
|
||||
msgstr "Nova aplicação"
|
||||
|
||||
@ -2351,8 +2342,8 @@ msgstr "tipo de conteúdo "
|
||||
msgid "Only "
|
||||
msgstr "Apenas "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Não é um formato de dados suportado."
|
||||
|
||||
@ -2417,9 +2408,9 @@ msgid "Login token expired."
|
||||
msgstr "O token de autenticação expirou."
|
||||
|
||||
#: actions/outbox.php:58
|
||||
#, fuzzy, php-format
|
||||
#, php-format
|
||||
msgid "Outbox for %1$s - page %2$d"
|
||||
msgstr "Enviadas de %s"
|
||||
msgstr "Enviadas por %s - pág. %2$d"
|
||||
|
||||
#: actions/outbox.php:61
|
||||
#, php-format
|
||||
@ -4433,7 +4424,7 @@ msgstr "Versão"
|
||||
|
||||
#: actions/version.php:197
|
||||
msgid "Author(s)"
|
||||
msgstr "Author(es)"
|
||||
msgstr "Autor(es)"
|
||||
|
||||
#: classes/File.php:144
|
||||
#, php-format
|
||||
@ -4529,7 +4520,7 @@ msgstr "Problema no salvamento da mensagem."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Erro no banco de dados na inserção da reposta: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1271
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -4539,11 +4530,11 @@ msgstr "RT @%1$s %2$s"
|
||||
msgid "Welcome to %1$s, @%2$s!"
|
||||
msgstr "Bem vindo(a) a %1$s, @%2$s!"
|
||||
|
||||
#: classes/User_group.php:380
|
||||
#: classes/User_group.php:413
|
||||
msgid "Could not create group."
|
||||
msgstr "Não foi possível criar o grupo."
|
||||
|
||||
#: classes/User_group.php:409
|
||||
#: classes/User_group.php:442
|
||||
msgid "Could not set group membership."
|
||||
msgstr "Não foi possível configurar a associação ao grupo."
|
||||
|
||||
@ -6205,47 +6196,47 @@ msgstr "Mensagem"
|
||||
msgid "Moderate"
|
||||
msgstr "Moderar"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:871
|
||||
msgid "a few seconds ago"
|
||||
msgstr "alguns segundos atrás"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:873
|
||||
msgid "about a minute ago"
|
||||
msgstr "cerca de 1 minuto atrás"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:875
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "cerca de %d minutos atrás"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:877
|
||||
msgid "about an hour ago"
|
||||
msgstr "cerca de 1 hora atrás"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:879
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "cerca de %d horas atrás"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:881
|
||||
msgid "about a day ago"
|
||||
msgstr "cerca de 1 dia atrás"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:883
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "cerca de %d dias atrás"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:885
|
||||
msgid "about a month ago"
|
||||
msgstr "cerca de 1 mês atrás"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:887
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "cerca de %d meses atrás"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:889
|
||||
msgid "about a year ago"
|
||||
msgstr "cerca de 1 ano atrás"
|
||||
|
||||
|
@ -12,12 +12,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:54:57+0000\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:05+0000\n"
|
||||
"PO-Revision-Date: 2010-02-14 20:07:23+0000\n"
|
||||
"Language-Team: Russian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62476); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: ru\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -173,8 +173,8 @@ msgstr ""
|
||||
msgid "You and friends"
|
||||
msgstr "Вы и друзья"
|
||||
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:121
|
||||
#: actions/apitimelinehome.php:122
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:119
|
||||
#: actions/apitimelinehome.php:120
|
||||
#, php-format
|
||||
msgid "Updates from %1$s and friends on %2$s!"
|
||||
msgstr "Обновлено от %1$s и его друзей на %2$s!"
|
||||
@ -195,12 +195,12 @@ msgstr "Обновлено от %1$s и его друзей на %2$s!"
|
||||
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
|
||||
#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
|
||||
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
|
||||
#: actions/apitimelinefavorites.php:146 actions/apitimelinefriends.php:155
|
||||
#: actions/apitimelinegroup.php:150 actions/apitimelinehome.php:156
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
|
||||
#: actions/apitimelinegroup.php:182 actions/apitimelinehome.php:184
|
||||
#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
|
||||
#: actions/apitimelineuser.php:194 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "Метод API не найден."
|
||||
|
||||
@ -647,7 +647,7 @@ msgstr "Неподдерживаемый формат."
|
||||
msgid "%1$s / Favorites from %2$s"
|
||||
msgstr "%1$s / Любимое от %2$s"
|
||||
|
||||
#: actions/apitimelinefavorites.php:120
|
||||
#: actions/apitimelinefavorites.php:117
|
||||
#, php-format
|
||||
msgid "%1$s updates favorited by %2$s / %2$s."
|
||||
msgstr "Обновления %1$s, отмеченные как любимые %2$s / %2$s."
|
||||
@ -658,7 +658,7 @@ msgstr "Обновления %1$s, отмеченные как любимые %2
|
||||
msgid "%s timeline"
|
||||
msgstr "Лента %s"
|
||||
|
||||
#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
|
||||
#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
|
||||
#: actions/userrss.php:92
|
||||
#, php-format
|
||||
msgid "Updates from %1$s on %2$s!"
|
||||
@ -674,12 +674,12 @@ msgstr "%1$s / Обновления, упоминающие %2$s"
|
||||
msgid "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
msgstr "%1$s обновил этот ответ на сообщение: %2$s / %3$s."
|
||||
|
||||
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
|
||||
#, php-format
|
||||
msgid "%s public timeline"
|
||||
msgstr "Общая лента %s"
|
||||
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
|
||||
#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
|
||||
#, php-format
|
||||
msgid "%s updates from everyone!"
|
||||
msgstr "Обновления %s от всех!"
|
||||
@ -689,7 +689,7 @@ msgstr "Обновления %s от всех!"
|
||||
msgid "Repeated to %s"
|
||||
msgstr "Повторено для %s"
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#: actions/apitimelineretweetsofme.php:114
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr "Повторы за %s"
|
||||
@ -699,7 +699,7 @@ msgstr "Повторы за %s"
|
||||
msgid "Notices tagged with %s"
|
||||
msgstr "Записи с тегом %s"
|
||||
|
||||
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
|
||||
#: actions/apitimelinetag.php:104 actions/tagrss.php:64
|
||||
#, php-format
|
||||
msgid "Updates tagged with %1$s on %2$s!"
|
||||
msgstr "Обновления с тегом %1$s на %2$s!"
|
||||
@ -827,7 +827,7 @@ msgstr "Не блокировать этого пользователя"
|
||||
msgid "Yes"
|
||||
msgstr "Да"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Заблокировать пользователя."
|
||||
|
||||
@ -1243,7 +1243,7 @@ msgstr "Слишком длинное описание (максимум %d си
|
||||
msgid "Could not update group."
|
||||
msgstr "Не удаётся обновить информацию о группе."
|
||||
|
||||
#: actions/editgroup.php:259 classes/User_group.php:390
|
||||
#: actions/editgroup.php:259 classes/User_group.php:423
|
||||
msgid "Could not create aliases."
|
||||
msgstr "Не удаётся создать алиасы."
|
||||
|
||||
@ -1597,7 +1597,7 @@ msgstr "Пользователь уже заблокирован из групп
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Пользователь не является членом этой группы."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Заблокировать пользователя из группы."
|
||||
|
||||
@ -1699,19 +1699,19 @@ msgstr "Список пользователей, являющихся члена
|
||||
msgid "Admin"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Блокировать"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Сделать пользователя администратором группы"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Сделать администратором"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Сделать этого пользователя администратором"
|
||||
|
||||
@ -1743,7 +1743,7 @@ msgstr ""
|
||||
"общими интересами. После присоединения к группе и вы сможете отправлять "
|
||||
"сообщения до всех её участников, используя команду «!имягруппы». Не видите "
|
||||
"группу, которая вас интересует? Попробуйте [найти её](%%%%action.groupsearch%"
|
||||
"%%%) или [создайте собственную!](%%%%action.newgroup%%%%)"
|
||||
"%%%) или [создайте собственную](%%%%action.newgroup%%%%)!"
|
||||
|
||||
#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122
|
||||
msgid "Create a new group"
|
||||
@ -2119,22 +2119,22 @@ msgstr ""
|
||||
"Вход с вашим логином и паролем. Нет аккаунта? [Зарегистрируйте](%%action."
|
||||
"register%%) новый аккаунт."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
"Только администратор может сделать другого пользователя администратором."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s уже является администратором группы «%2$s»."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Не удаётся получить запись принадлежности для %1$s к группе %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Невозможно сделать %1$s администратором группы %2$s."
|
||||
@ -2334,8 +2334,8 @@ msgstr "тип содержимого "
|
||||
msgid "Only "
|
||||
msgstr "Только "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Неподдерживаемый формат данных."
|
||||
|
||||
@ -4504,7 +4504,7 @@ msgstr "Проблемы с сохранением входящих сообще
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Ошибка баз данных при вставке ответа для %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1271
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -4514,11 +4514,11 @@ msgstr "RT @%1$s %2$s"
|
||||
msgid "Welcome to %1$s, @%2$s!"
|
||||
msgstr "Добро пожаловать на %1$s, @%2$s!"
|
||||
|
||||
#: classes/User_group.php:380
|
||||
#: classes/User_group.php:413
|
||||
msgid "Could not create group."
|
||||
msgstr "Не удаётся создать группу."
|
||||
|
||||
#: classes/User_group.php:409
|
||||
#: classes/User_group.php:442
|
||||
msgid "Could not set group membership."
|
||||
msgstr "Не удаётся назначить членство в группе."
|
||||
|
||||
@ -6179,47 +6179,47 @@ msgstr "Сообщение"
|
||||
msgid "Moderate"
|
||||
msgstr "Модерировать"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:871
|
||||
msgid "a few seconds ago"
|
||||
msgstr "пару секунд назад"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:873
|
||||
msgid "about a minute ago"
|
||||
msgstr "около минуты назад"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:875
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "около %d минут(ы) назад"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:877
|
||||
msgid "about an hour ago"
|
||||
msgstr "около часа назад"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:879
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "около %d часа(ов) назад"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:881
|
||||
msgid "about a day ago"
|
||||
msgstr "около дня назад"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:883
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "около %d дня(ей) назад"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:885
|
||||
msgid "about a month ago"
|
||||
msgstr "около месяца назад"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:887
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "около %d месяца(ев) назад"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:889
|
||||
msgid "about a year ago"
|
||||
msgstr "около года назад"
|
||||
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"POT-Creation-Date: 2010-02-14 20:05+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -158,8 +158,8 @@ msgstr ""
|
||||
msgid "You and friends"
|
||||
msgstr ""
|
||||
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:121
|
||||
#: actions/apitimelinehome.php:122
|
||||
#: actions/allrss.php:119 actions/apitimelinefriends.php:119
|
||||
#: actions/apitimelinehome.php:120
|
||||
#, php-format
|
||||
msgid "Updates from %1$s and friends on %2$s!"
|
||||
msgstr ""
|
||||
@ -180,12 +180,12 @@ msgstr ""
|
||||
#: actions/apistatusesdestroy.php:102 actions/apistatusesretweets.php:112
|
||||
#: actions/apistatusesshow.php:108 actions/apistatusnetconfig.php:137
|
||||
#: actions/apistatusnetversion.php:93 actions/apisubscriptions.php:111
|
||||
#: actions/apitimelinefavorites.php:146 actions/apitimelinefriends.php:155
|
||||
#: actions/apitimelinegroup.php:150 actions/apitimelinehome.php:156
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelinefavorites.php:183 actions/apitimelinefriends.php:187
|
||||
#: actions/apitimelinegroup.php:182 actions/apitimelinehome.php:184
|
||||
#: actions/apitimelinementions.php:175 actions/apitimelinepublic.php:152
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineretweetsofme.php:152 actions/apitimelinetag.php:166
|
||||
#: actions/apitimelineuser.php:194 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr ""
|
||||
|
||||
@ -618,7 +618,7 @@ msgstr ""
|
||||
msgid "%1$s / Favorites from %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinefavorites.php:120
|
||||
#: actions/apitimelinefavorites.php:117
|
||||
#, php-format
|
||||
msgid "%1$s updates favorited by %2$s / %2$s."
|
||||
msgstr ""
|
||||
@ -629,7 +629,7 @@ msgstr ""
|
||||
msgid "%s timeline"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinegroup.php:117 actions/apitimelineuser.php:126
|
||||
#: actions/apitimelinegroup.php:114 actions/apitimelineuser.php:126
|
||||
#: actions/userrss.php:92
|
||||
#, php-format
|
||||
msgid "Updates from %1$s on %2$s!"
|
||||
@ -645,12 +645,12 @@ msgstr ""
|
||||
msgid "%1$s updates that reply to updates from %2$s / %3$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinepublic.php:107 actions/publicrss.php:103
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:103
|
||||
#, php-format
|
||||
msgid "%s public timeline"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinepublic.php:111 actions/publicrss.php:105
|
||||
#: actions/apitimelinepublic.php:115 actions/publicrss.php:105
|
||||
#, php-format
|
||||
msgid "%s updates from everyone!"
|
||||
msgstr ""
|
||||
@ -660,7 +660,7 @@ msgstr ""
|
||||
msgid "Repeated to %s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelineretweetsofme.php:112
|
||||
#: actions/apitimelineretweetsofme.php:114
|
||||
#, php-format
|
||||
msgid "Repeats of %s"
|
||||
msgstr ""
|
||||
@ -670,7 +670,7 @@ msgstr ""
|
||||
msgid "Notices tagged with %s"
|
||||
msgstr ""
|
||||
|
||||
#: actions/apitimelinetag.php:108 actions/tagrss.php:64
|
||||
#: actions/apitimelinetag.php:104 actions/tagrss.php:64
|
||||
#, php-format
|
||||
msgid "Updates tagged with %1$s on %2$s!"
|
||||
msgstr ""
|
||||
@ -794,7 +794,7 @@ msgstr ""
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr ""
|
||||
|
||||
@ -1201,7 +1201,7 @@ msgstr ""
|
||||
msgid "Could not update group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/editgroup.php:259 classes/User_group.php:390
|
||||
#: actions/editgroup.php:259 classes/User_group.php:423
|
||||
msgid "Could not create aliases."
|
||||
msgstr ""
|
||||
|
||||
@ -1534,7 +1534,7 @@ msgstr ""
|
||||
msgid "User is not a member of group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr ""
|
||||
|
||||
@ -1629,19 +1629,19 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -1989,21 +1989,21 @@ msgid ""
|
||||
"(%%action.register%%) a new account."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr ""
|
||||
@ -2195,8 +2195,8 @@ msgstr ""
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4214,7 +4214,7 @@ msgstr ""
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1271
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -4224,11 +4224,11 @@ msgstr ""
|
||||
msgid "Welcome to %1$s, @%2$s!"
|
||||
msgstr ""
|
||||
|
||||
#: classes/User_group.php:380
|
||||
#: classes/User_group.php:413
|
||||
msgid "Could not create group."
|
||||
msgstr ""
|
||||
|
||||
#: classes/User_group.php:409
|
||||
#: classes/User_group.php:442
|
||||
msgid "Could not set group membership."
|
||||
msgstr ""
|
||||
|
||||
@ -5737,47 +5737,47 @@ msgstr ""
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:871
|
||||
msgid "a few seconds ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:869
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:871
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:873
|
||||
msgid "about an hour ago"
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:875
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgid "about %d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:877
|
||||
msgid "about a day ago"
|
||||
msgid "about an hour ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:879
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgid "about %d hours ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:881
|
||||
msgid "about a month ago"
|
||||
msgid "about a day ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:883
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgid "about %d days ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:885
|
||||
msgid "about a month ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:887
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:889
|
||||
msgid "about a year ago"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:00+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:15:57+0000\n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: sv\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -196,7 +196,7 @@ msgstr "Uppdateringar från %1$s och vänner på %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API-metod hittades inte."
|
||||
|
||||
@ -815,7 +815,7 @@ msgstr "Blockera inte denna användare"
|
||||
msgid "Yes"
|
||||
msgstr "Ja"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Blockera denna användare"
|
||||
|
||||
@ -1577,7 +1577,7 @@ msgstr "Användaren är redan blockerad från grupp."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Användare är inte en gruppmedlem."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Blockera användare från grupp"
|
||||
|
||||
@ -1678,19 +1678,19 @@ msgstr "En lista av användarna i denna grupp."
|
||||
msgid "Admin"
|
||||
msgstr "Administratör"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Blockera"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Gör användare till en administratör för gruppen"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Gör till administratör"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Gör denna användare till administratör"
|
||||
|
||||
@ -2097,21 +2097,21 @@ msgstr ""
|
||||
"Logga in med ditt användarnamn och lösenord. Har du inget användarnamn ännu? "
|
||||
"[Registrera](%%action.register%%) ett nytt konto."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "Bara en administratör kan göra en annan användare till administratör."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s är redan en administratör för grupp \"%2$s\"."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Kan inte hämta uppgift om medlemskap för %1$s i grupp %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Kan inte göra %1$s till en administratör för grupp %2$s."
|
||||
@ -2314,8 +2314,8 @@ msgstr "innehållstyp "
|
||||
msgid "Only "
|
||||
msgstr "Bara "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Ett dataformat som inte stödjs"
|
||||
|
||||
@ -3548,8 +3548,8 @@ msgid ""
|
||||
"[StatusNet](http://status.net/) tool. Its members share short messages about "
|
||||
"their life and interests. "
|
||||
msgstr ""
|
||||
"**%s** är en användargrupp på %%%%site.name%%%%, en [mikroblogg](http://en."
|
||||
"wikipedia.org/wiki/Micro-blogging)tjänst baserad den fria programvaran "
|
||||
"**%s** är en användargrupp på %%%%site.name%%%%, en [mikroblogg](http://sv."
|
||||
"wikipedia.org/wiki/Mikroblogg)tjänst baserad den fria programvaran "
|
||||
"[StatusNet](http://status.net/). Dess medlemmar delar korta meddelande om "
|
||||
"sina liv och intressen. "
|
||||
|
||||
@ -3644,8 +3644,8 @@ msgid ""
|
||||
"[StatusNet](http://status.net/) tool. [Join now](%%%%action.register%%%%) to "
|
||||
"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
|
||||
msgstr ""
|
||||
"**%s** har ett konto på %%%%site.name%%%%, en [mikroblogg](http://en."
|
||||
"wikipedia.org/wiki/Micro-blogging)tjänst baserad på den fria programvaran "
|
||||
"**%s** har ett konto på %%%%site.name%%%%, en [mikroblogg](http://sv."
|
||||
"wikipedia.org/wiki/Mikroblogg)tjänst baserad på den fria programvaran "
|
||||
"[StatusNet](http://status.net/). [Gå med nu](%%%%action.register%%%%) för "
|
||||
"att följa **%s**s notiser och många fler! ([Läs mer](%%%%doc.help%%%%))"
|
||||
|
||||
@ -3656,8 +3656,8 @@ msgid ""
|
||||
"wikipedia.org/wiki/Micro-blogging) service based on the Free Software "
|
||||
"[StatusNet](http://status.net/) tool. "
|
||||
msgstr ""
|
||||
"**%s** har ett konto på %%%%site.name%%%%, en [mikroblogg](http://en."
|
||||
"wikipedia.org/wiki/Micro-blogging)tjänst baserad på den fria programvaran "
|
||||
"**%s** har ett konto på %%%%site.name%%%%, en [mikroblogg](http://sv."
|
||||
"wikipedia.org/wiki/Mikroblogg)tjänst baserad på den fria programvaran "
|
||||
"[StatusNet](http://status.net/). "
|
||||
|
||||
#: actions/showstream.php:305
|
||||
@ -4376,7 +4376,7 @@ msgid ""
|
||||
"along with this program. If not, see %s."
|
||||
msgstr ""
|
||||
"Du bör ha fått en kopia av GNU Affero General Public License tillsammans med "
|
||||
"detta program. Om inte, se% s."
|
||||
"detta program. Om inte, se %s."
|
||||
|
||||
#: actions/version.php:189
|
||||
msgid "Plugins"
|
||||
@ -4483,7 +4483,7 @@ msgstr "Problem med att spara gruppinkorg."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Databasfel vid infogning av svar: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -6150,47 +6150,47 @@ msgstr "Meddelande"
|
||||
msgid "Moderate"
|
||||
msgstr "Moderera"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "ett par sekunder sedan"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "för nån minut sedan"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "för %d minuter sedan"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "för en timma sedan"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "för %d timmar sedan"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "för en dag sedan"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "för %d dagar sedan"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "för en månad sedan"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "för %d månader sedan"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "för ett år sedan"
|
||||
|
||||
|
@ -8,12 +8,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:04+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:16:03+0000\n"
|
||||
"Language-Team: Telugu\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: te\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -190,7 +190,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "నిర్ధారణ సంకేతం కనబడలేదు."
|
||||
@ -810,7 +810,7 @@ msgstr "ఈ వాడుకరిని నిరోధించకు"
|
||||
msgid "Yes"
|
||||
msgstr "అవును"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "ఈ వాడుకరిని నిరోధించు"
|
||||
|
||||
@ -1561,7 +1561,7 @@ msgstr "వాడుకరిని ఇప్పటికే గుంపున
|
||||
msgid "User is not a member of group."
|
||||
msgstr "వాడుకరి ఈ గుంపులో సభ్యులు కాదు."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "వాడుకరిని గుంపు నుండి నిరోధించు"
|
||||
|
||||
@ -1661,19 +1661,19 @@ msgstr "ఈ గుంపులో వాడుకరులు జాబితా
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "నిరోధించు"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "వాడుకరిని గుంపుకి ఒక నిర్వాహకునిగా చేయి"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "నిర్వాహకున్ని చేయి"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "ఈ వాడుకరిని నిర్వాహకున్ని చేయి"
|
||||
|
||||
@ -2033,21 +2033,21 @@ msgstr ""
|
||||
"మీ వాడుకరిపేరు మరియు సంకేతపదాలతో ప్రవేశించండి. మీకు ఇంకా వాడుకరిపేరు లేదా? కొత్త ఖాతాని [నమోదుచేసుకోండి]"
|
||||
"(%%action.register%%)."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr "నిర్వాహకులు మాత్రమే మరొక వాడుకరిని నిర్వాహకునిగా చేయగలరు."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s ఇప్పటికే \"%2$s\" గుంపు యొక్క ఒక నిర్వాకులు."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "వాడుకరి %sని %s గుంపు నుండి తొలగించలేకపోయాం"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "%s ఇప్పటికే \"%s\" గుంపు యొక్క ఒక నిర్వాకులు."
|
||||
@ -2246,8 +2246,8 @@ msgstr "విషయ రకం "
|
||||
msgid "Only "
|
||||
msgstr "మాత్రమే "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4330,7 +4330,7 @@ msgstr "సందేశాన్ని భద్రపరచడంలో పొ
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr ""
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -5924,47 +5924,47 @@ msgstr "సందేశం"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "కొన్ని క్షణాల క్రితం"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "ఓ నిమిషం క్రితం"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "%d నిమిషాల క్రితం"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "ఒక గంట క్రితం"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "%d గంటల క్రితం"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "ఓ రోజు క్రితం"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "%d రోజుల క్రితం"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "ఓ నెల క్రితం"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "%d నెలల క్రితం"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "ఒక సంవత్సరం క్రితం"
|
||||
|
||||
|
@ -9,12 +9,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:08+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:16:08+0000\n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: tr\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -196,7 +196,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Onay kodu bulunamadı."
|
||||
@ -838,7 +838,7 @@ msgstr "Böyle bir kullanıcı yok."
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
#, fuzzy
|
||||
msgid "Block this user"
|
||||
msgstr "Böyle bir kullanıcı yok."
|
||||
@ -1628,7 +1628,7 @@ msgstr "Kullanıcının profili yok."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Bize o profili yollamadınız"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Böyle bir kullanıcı yok."
|
||||
@ -1732,19 +1732,19 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2120,21 +2120,21 @@ msgstr ""
|
||||
"duruyorsunuz, hemen bir [yeni hesap oluşturun](%%action.register%%) ya da "
|
||||
"[OpenID](%%action.openidlogin%%) ile giriş yapın."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Kullanıcının profili yok."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "OpenID formu yaratılamadı: %s"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Kullanıcının profili yok."
|
||||
@ -2333,8 +2333,8 @@ msgstr "Bağlan"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4452,7 +4452,7 @@ msgstr "Durum mesajını kaydederken hata oluştu."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Cevap eklenirken veritabanı hatası: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -6067,47 +6067,47 @@ msgstr ""
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "birkaç saniye önce"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "yaklaşık bir dakika önce"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "yaklaşık %d dakika önce"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "yaklaşık bir saat önce"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "yaklaşık %d saat önce"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "yaklaşık bir gün önce"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "yaklaşık %d gün önce"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "yaklaşık bir ay önce"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "yaklaşık %d ay önce"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "yaklaşık bir yıl önce"
|
||||
|
||||
|
@ -10,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:11+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:16:16+0000\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: uk\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -198,7 +198,7 @@ msgstr "Оновлення від %1$s та друзів на %2$s!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
msgid "API method not found."
|
||||
msgstr "API метод не знайдено."
|
||||
|
||||
@ -825,7 +825,7 @@ msgstr "Не блокувати цього користувача"
|
||||
msgid "Yes"
|
||||
msgstr "Так"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
msgid "Block this user"
|
||||
msgstr "Блокувати користувача"
|
||||
|
||||
@ -1581,7 +1581,7 @@ msgstr "Користувача заблоковано в цій групі."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Користувач не є учасником групи."
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
msgid "Block user from group"
|
||||
msgstr "Блокувати користувача в групі"
|
||||
|
||||
@ -1683,19 +1683,19 @@ msgstr "Список учасників цієї групи."
|
||||
msgid "Admin"
|
||||
msgstr "Адмін"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "Блок"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Надати користувачеві права адміністратора"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr "Зробити адміном"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Надати цьому користувачеві права адміністратора"
|
||||
|
||||
@ -2106,22 +2106,22 @@ msgstr ""
|
||||
"Увійти викристовуючи ім’я та пароль. Ще не маєте імені користувача? "
|
||||
"[Зареєструвати](%%action.register%%) новий акаунт."
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
"Лише користувач з правами адміністратора може призначити інших адмінів групи."
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "%1$s вже є адміном у групі «%2$s»."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Не можна отримати запис для %1$s щодо членства у групі %2$s."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Не можна надати %1$s права адміна в групі %2$s."
|
||||
@ -2323,8 +2323,8 @@ msgstr "тип змісту "
|
||||
msgid "Only "
|
||||
msgstr "Лише "
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Такий формат даних не підтримується."
|
||||
|
||||
@ -4490,7 +4490,7 @@ msgstr "Проблема при збереженні вхідних дописі
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Помилка бази даних при додаванні відповіді: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "RT @%1$s %2$s"
|
||||
@ -6159,47 +6159,47 @@ msgstr "Повідомлення"
|
||||
msgid "Moderate"
|
||||
msgstr "Модерувати"
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "мить тому"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "хвилину тому"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "близько %d хвилин тому"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "годину тому"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "близько %d годин тому"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "день тому"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "близько %d днів тому"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "місяць тому"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "близько %d місяців тому"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "рік тому"
|
||||
|
||||
|
@ -7,12 +7,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:14+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:16:19+0000\n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: vi\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -195,7 +195,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "Phương thức API không tìm thấy!"
|
||||
@ -843,7 +843,7 @@ msgstr "Bỏ chặn người dùng này"
|
||||
msgid "Yes"
|
||||
msgstr "Có"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
#, fuzzy
|
||||
msgid "Block this user"
|
||||
msgstr "Ban user"
|
||||
@ -1668,7 +1668,7 @@ msgstr "Người dùng không có thông tin."
|
||||
msgid "User is not a member of group."
|
||||
msgstr "Bạn chưa cập nhật thông tin riêng"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "Ban user"
|
||||
@ -1775,20 +1775,20 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
#, fuzzy
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "Bạn phải đăng nhập vào mới có thể gửi thư mời những "
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
#, fuzzy
|
||||
msgid "Make this user an admin"
|
||||
msgstr "Kênh mà bạn tham gia"
|
||||
@ -2200,21 +2200,21 @@ msgstr ""
|
||||
"khoản, [hãy đăng ký](%%action.register%%) tài khoản mới, hoặc thử đăng nhập "
|
||||
"bằng [OpenID](%%action.openidlogin%%). "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "Người dùng không có thông tin."
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "Không thể theo bạn này: %s đã có trong danh sách bạn bè của bạn rồi."
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "Bạn phải đăng nhập vào mới có thể gửi thư mời những "
|
||||
@ -2422,8 +2422,8 @@ msgstr "Kết nối"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "Không hỗ trợ định dạng dữ liệu này."
|
||||
|
||||
@ -4604,7 +4604,7 @@ msgstr "Có lỗi xảy ra khi lưu tin nhắn."
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "Lỗi cơ sở dữ liệu khi chèn trả lời: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%s (%s)"
|
||||
@ -6309,47 +6309,47 @@ msgstr "Tin mới nhất"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "vài giây trước"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "1 phút trước"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "%d phút trước"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "1 giờ trước"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "%d giờ trước"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "1 ngày trước"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "%d ngày trước"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "1 tháng trước"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "%d tháng trước"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "1 năm trước"
|
||||
|
||||
|
@ -10,12 +10,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:17+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:16:22+0000\n"
|
||||
"Language-Team: Simplified Chinese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: zh-hans\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -197,7 +197,7 @@ msgstr "来自%2$s 上 %1$s 和好友的更新!"
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "API 方法未实现!"
|
||||
@ -837,7 +837,7 @@ msgstr "取消阻止次用户"
|
||||
msgid "Yes"
|
||||
msgstr "是"
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
#, fuzzy
|
||||
msgid "Block this user"
|
||||
msgstr "阻止该用户"
|
||||
@ -1646,7 +1646,7 @@ msgstr "用户没有个人信息。"
|
||||
msgid "User is not a member of group."
|
||||
msgstr "您未告知此个人信息"
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "阻止用户"
|
||||
@ -1752,21 +1752,21 @@ msgstr "该组成员列表。"
|
||||
msgid "Admin"
|
||||
msgstr "admin管理员"
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr "阻止"
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
#, fuzzy
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr "只有admin才能编辑这个组"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
#, fuzzy
|
||||
msgid "Make Admin"
|
||||
msgstr "admin管理员"
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2155,21 +2155,21 @@ msgstr ""
|
||||
"请使用你的帐号和密码登入。没有帐号?[注册](%%action.register%%) 一个新帐号, "
|
||||
"或使用 [OpenID](%%action.openidlogin%%). "
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, fuzzy, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr "用户没有个人信息。"
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "无法订阅用户:未找到。"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "只有admin才能编辑这个组"
|
||||
@ -2372,8 +2372,8 @@ msgstr "连接"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr "不支持的数据格式。"
|
||||
|
||||
@ -4530,7 +4530,7 @@ msgstr "保存通告时出错。"
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "添加回复时数据库出错:%s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, fuzzy, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr "%1$s (%2$s)"
|
||||
@ -6174,47 +6174,47 @@ msgstr "新消息"
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr "几秒前"
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr "一分钟前"
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr "%d 分钟前"
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr "一小时前"
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr "%d 小时前"
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr "一天前"
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr "%d 天前"
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr "一个月前"
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr "%d 个月前"
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr "一年前"
|
||||
|
||||
|
@ -7,12 +7,12 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: StatusNet\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-02-05 23:53+0000\n"
|
||||
"PO-Revision-Date: 2010-02-05 23:55:19+0000\n"
|
||||
"POT-Creation-Date: 2010-02-11 08:14+0000\n"
|
||||
"PO-Revision-Date: 2010-02-11 08:16:25+0000\n"
|
||||
"Language-Team: Traditional Chinese\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62048); Translate extension (2010-01-16)\n"
|
||||
"X-Generator: MediaWiki 1.16alpha (r62295); Translate extension (2010-01-16)\n"
|
||||
"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
|
||||
"X-Language-Code: zh-hant\n"
|
||||
"X-Message-Group: out-statusnet\n"
|
||||
@ -193,7 +193,7 @@ msgstr ""
|
||||
#: actions/apitimelinementions.php:151 actions/apitimelinepublic.php:131
|
||||
#: actions/apitimelineretweetedtome.php:121
|
||||
#: actions/apitimelineretweetsofme.php:122 actions/apitimelinetag.php:141
|
||||
#: actions/apitimelineuser.php:165 actions/apiusershow.php:101
|
||||
#: actions/apitimelineuser.php:166 actions/apiusershow.php:101
|
||||
#, fuzzy
|
||||
msgid "API method not found."
|
||||
msgstr "確認碼遺失"
|
||||
@ -828,7 +828,7 @@ msgstr "無此使用者"
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
|
||||
#: actions/block.php:144 actions/groupmembers.php:346 lib/blockform.php:80
|
||||
#: actions/block.php:144 actions/groupmembers.php:348 lib/blockform.php:80
|
||||
#, fuzzy
|
||||
msgid "Block this user"
|
||||
msgstr "無此使用者"
|
||||
@ -1612,7 +1612,7 @@ msgstr ""
|
||||
msgid "User is not a member of group."
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:314
|
||||
#: actions/groupblock.php:136 actions/groupmembers.php:316
|
||||
#, fuzzy
|
||||
msgid "Block user from group"
|
||||
msgstr "無此使用者"
|
||||
@ -1714,19 +1714,19 @@ msgstr ""
|
||||
msgid "Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:346 lib/blockform.php:69
|
||||
#: actions/groupmembers.php:348 lib/blockform.php:69
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:441
|
||||
#: actions/groupmembers.php:443
|
||||
msgid "Make user an admin of the group"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make Admin"
|
||||
msgstr ""
|
||||
|
||||
#: actions/groupmembers.php:473
|
||||
#: actions/groupmembers.php:475
|
||||
msgid "Make this user an admin"
|
||||
msgstr ""
|
||||
|
||||
@ -2082,21 +2082,21 @@ msgid ""
|
||||
"(%%action.register%%) a new account."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:91
|
||||
#: actions/makeadmin.php:92
|
||||
msgid "Only an admin can make another user an admin."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:95
|
||||
#: actions/makeadmin.php:96
|
||||
#, php-format
|
||||
msgid "%1$s is already an admin for group \"%2$s\"."
|
||||
msgstr ""
|
||||
|
||||
#: actions/makeadmin.php:132
|
||||
#: actions/makeadmin.php:133
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't get membership record for %1$s in group %2$s."
|
||||
msgstr "無法從 %s 建立OpenID"
|
||||
|
||||
#: actions/makeadmin.php:145
|
||||
#: actions/makeadmin.php:146
|
||||
#, fuzzy, php-format
|
||||
msgid "Can't make %1$s an admin for group %2$s."
|
||||
msgstr "無法從 %s 建立OpenID"
|
||||
@ -2292,8 +2292,8 @@ msgstr "連結"
|
||||
msgid "Only "
|
||||
msgstr ""
|
||||
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1039
|
||||
#: lib/api.php:1067 lib/api.php:1177
|
||||
#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:1040
|
||||
#: lib/api.php:1068 lib/api.php:1178
|
||||
msgid "Not a supported data format."
|
||||
msgstr ""
|
||||
|
||||
@ -4374,7 +4374,7 @@ msgstr "儲存使用者發生錯誤"
|
||||
msgid "DB error inserting reply: %s"
|
||||
msgstr "增加回覆時,資料庫發生錯誤: %s"
|
||||
|
||||
#: classes/Notice.php:1231
|
||||
#: classes/Notice.php:1235
|
||||
#, php-format
|
||||
msgid "RT @%1$s %2$s"
|
||||
msgstr ""
|
||||
@ -5962,47 +5962,47 @@ msgstr ""
|
||||
msgid "Moderate"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:867
|
||||
#: lib/util.php:870
|
||||
msgid "a few seconds ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:869
|
||||
#: lib/util.php:872
|
||||
msgid "about a minute ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:871
|
||||
#: lib/util.php:874
|
||||
#, php-format
|
||||
msgid "about %d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:873
|
||||
#: lib/util.php:876
|
||||
msgid "about an hour ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:875
|
||||
#: lib/util.php:878
|
||||
#, php-format
|
||||
msgid "about %d hours ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:877
|
||||
#: lib/util.php:880
|
||||
msgid "about a day ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:879
|
||||
#: lib/util.php:882
|
||||
#, php-format
|
||||
msgid "about %d days ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:881
|
||||
#: lib/util.php:884
|
||||
msgid "about a month ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:883
|
||||
#: lib/util.php:886
|
||||
#, php-format
|
||||
msgid "about %d months ago"
|
||||
msgstr ""
|
||||
|
||||
#: lib/util.php:885
|
||||
#: lib/util.php:888
|
||||
msgid "about a year ago"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1,115 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
StatusNet Plugin: 0.9
|
||||
Plugin Name: FeedSub
|
||||
Plugin URI: http://status.net/wiki/Feed_subscription
|
||||
Description: FeedSub allows subscribing to real-time updates from external feeds supporting PubHubSubbub protocol.
|
||||
Version: 0.1
|
||||
Author: Brion Vibber <brion@status.net>
|
||||
Author URI: http://status.net/
|
||||
*/
|
||||
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2009, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package FeedSubPlugin
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
define('FEEDSUB_SERVICE', 100); // fixme -- avoid hardcoding these?
|
||||
|
||||
// We bundle the XML_Parse_Feed library...
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib');
|
||||
|
||||
class FeedSubException extends Exception
|
||||
{
|
||||
}
|
||||
|
||||
class FeedSubPlugin extends Plugin
|
||||
{
|
||||
/**
|
||||
* Hook for RouterInitialized event.
|
||||
*
|
||||
* @param Net_URL_Mapper $m path-to-action mapper
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onRouterInitialized($m)
|
||||
{
|
||||
$m->connect('feedsub/callback/:feed',
|
||||
array('action' => 'feedsubcallback'),
|
||||
array('feed' => '[0-9]+'));
|
||||
$m->connect('settings/feedsub',
|
||||
array('action' => 'feedsubsettings'));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the feed settings page to the Connect Settings menu
|
||||
*
|
||||
* @param Action &$action The calling page
|
||||
*
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onEndConnectSettingsNav(&$action)
|
||||
{
|
||||
$action_name = $action->trimmed('action');
|
||||
|
||||
$action->menuItem(common_local_url('feedsubsettings'),
|
||||
_m('Feeds'),
|
||||
_m('Feed subscription options'),
|
||||
$action_name === 'feedsubsettings');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Automatically load the actions and libraries used by the plugin
|
||||
*
|
||||
* @param Class $cls the class
|
||||
*
|
||||
* @return boolean hook return
|
||||
*
|
||||
*/
|
||||
function onAutoload($cls)
|
||||
{
|
||||
$base = dirname(__FILE__);
|
||||
$lower = strtolower($cls);
|
||||
$files = array("$base/$lower.php");
|
||||
if (substr($lower, -6) == 'action') {
|
||||
$files[] = "$base/actions/" . substr($lower, 0, -6) . ".php";
|
||||
}
|
||||
foreach ($files as $file) {
|
||||
if (file_exists($file)) {
|
||||
include_once $file;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function onCheckSchema() {
|
||||
// warning: the autoincrement doesn't seem to set.
|
||||
// alter table feedinfo change column id id int(11) not null auto_increment;
|
||||
$schema = Schema::get();
|
||||
$schema->ensureTable('feedinfo', Feedinfo::schemaDef());
|
||||
return true;
|
||||
}
|
||||
}
|
@ -1,268 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|
||||
Subscription flow:
|
||||
|
||||
$feedinfo->subscribe()
|
||||
generate random verification token
|
||||
save to verify_token
|
||||
sends a sub request to the hub...
|
||||
|
||||
feedsub/callback
|
||||
hub sends confirmation back to us via GET
|
||||
We verify the request, then echo back the challenge.
|
||||
On our end, we save the time we subscribed and the lease expiration
|
||||
|
||||
feedsub/callback
|
||||
hub sends us updates via POST
|
||||
?
|
||||
|
||||
*/
|
||||
|
||||
class FeedDBException extends FeedSubException
|
||||
{
|
||||
public $obj;
|
||||
|
||||
function __construct($obj)
|
||||
{
|
||||
parent::__construct('Database insert failure');
|
||||
$this->obj = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
class Feedinfo extends Memcached_DataObject
|
||||
{
|
||||
public $__table = 'feedinfo';
|
||||
|
||||
public $id;
|
||||
public $profile_id;
|
||||
|
||||
public $feeduri;
|
||||
public $homeuri;
|
||||
public $huburi;
|
||||
|
||||
// PuSH subscription data
|
||||
public $verify_token;
|
||||
public $sub_start;
|
||||
public $sub_end;
|
||||
|
||||
public $created;
|
||||
public $lastupdate;
|
||||
|
||||
|
||||
public /*static*/ function staticGet($k, $v=null)
|
||||
{
|
||||
return parent::staticGet(__CLASS__, $k, $v);
|
||||
}
|
||||
|
||||
/**
|
||||
* return table definition for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know something about the table to manipulate
|
||||
* instances. This method provides all the DB_DataObject needs to know.
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
|
||||
'profile_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
|
||||
'feeduri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'homeuri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'huburi' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'verify_token' => DB_DATAOBJECT_STR,
|
||||
'sub_start' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
|
||||
'sub_end' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
|
||||
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
|
||||
'lastupdate' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
|
||||
}
|
||||
|
||||
static function schemaDef()
|
||||
{
|
||||
return array(new ColumnDef('id', 'integer',
|
||||
/*size*/ null,
|
||||
/*nullable*/ false,
|
||||
/*key*/ 'PRI',
|
||||
/*default*/ '0',
|
||||
/*extra*/ null,
|
||||
/*auto_increment*/ true),
|
||||
new ColumnDef('profile_id', 'integer',
|
||||
null, false),
|
||||
new ColumnDef('feeduri', 'varchar',
|
||||
255, false, 'UNI'),
|
||||
new ColumnDef('homeuri', 'varchar',
|
||||
255, false),
|
||||
new ColumnDef('huburi', 'varchar',
|
||||
255, false),
|
||||
new ColumnDef('verify_token', 'varchar',
|
||||
32, true),
|
||||
new ColumnDef('sub_start', 'datetime',
|
||||
null, true),
|
||||
new ColumnDef('sub_end', 'datetime',
|
||||
null, true),
|
||||
new ColumnDef('created', 'datetime',
|
||||
null, false),
|
||||
new ColumnDef('lastupdate', 'datetime',
|
||||
null, false));
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know about keys that the table has; this function
|
||||
* defines them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array('id' => 'P'); //?
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for Memcached_DataObject
|
||||
*
|
||||
* Our caching system uses the same key definitions, but uses a different
|
||||
* method to get them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return $this->keys();
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the StatusNet-side profile for this feed
|
||||
* @return Profile
|
||||
*/
|
||||
public function getProfile()
|
||||
{
|
||||
return Profile::staticGet('id', $this->profile_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FeedMunger $munger
|
||||
* @return Feedinfo
|
||||
*/
|
||||
public static function ensureProfile($munger)
|
||||
{
|
||||
$feedinfo = $munger->feedinfo();
|
||||
|
||||
$current = self::staticGet('feeduri', $feedinfo->feeduri);
|
||||
if ($current) {
|
||||
// @fixme we should probably update info as necessary
|
||||
return $current;
|
||||
}
|
||||
|
||||
$feedinfo->query('BEGIN');
|
||||
|
||||
try {
|
||||
$profile = $munger->profile();
|
||||
$result = $profile->insert();
|
||||
if (empty($result)) {
|
||||
throw new FeedDBException($profile);
|
||||
}
|
||||
|
||||
$feedinfo->profile_id = $profile->id;
|
||||
$result = $feedinfo->insert();
|
||||
if (empty($result)) {
|
||||
throw new FeedDBException($feedinfo);
|
||||
}
|
||||
|
||||
$feedinfo->query('COMMIT');
|
||||
} catch (FeedDBException $e) {
|
||||
common_log_db_error($e->obj, 'INSERT', __FILE__);
|
||||
$feedinfo->query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
return $feedinfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a subscription request to the hub for this feed.
|
||||
* The hub will later send us a confirmation POST to /feedsub/callback.
|
||||
*
|
||||
* @return bool true on success, false on failure
|
||||
*/
|
||||
public function subscribe()
|
||||
{
|
||||
// @fixme use the verification token
|
||||
#$token = md5(mt_rand() . ':' . $this->feeduri);
|
||||
#$this->verify_token = $token;
|
||||
#$this->update(); // @fixme
|
||||
|
||||
try {
|
||||
$callback = common_local_url('feedsubcallback', array('feed' => $this->id));
|
||||
$headers = array('Content-Type: application/x-www-form-urlencoded');
|
||||
$post = array('hub.mode' => 'subscribe',
|
||||
'hub.callback' => $callback,
|
||||
'hub.verify' => 'async',
|
||||
//'hub.verify_token' => $token,
|
||||
//'hub.lease_seconds' => 0,
|
||||
'hub.topic' => $this->feeduri);
|
||||
$client = new HTTPClient();
|
||||
$response = $client->post($this->huburi, $headers, $post);
|
||||
if ($response->getStatus() >= 200 && $response->getStatus() < 300) {
|
||||
common_log(LOG_INFO, __METHOD__ . ': sub req ok');
|
||||
return true;
|
||||
} else {
|
||||
common_log(LOG_INFO, __METHOD__ . ': sub req failed');
|
||||
return false;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// wtf!
|
||||
common_log(LOG_ERR, __METHOD__ . ": error \"{$e->getMessage()}\" hitting hub $this->huburi subscribing to $this->feeduri");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Read and post notices for updates from the feed.
|
||||
* Currently assumes that all items in the feed are new,
|
||||
* coming from a PuSH hub.
|
||||
*
|
||||
* @param string $xml source of Atom or RSS feed
|
||||
*/
|
||||
public function postUpdates($xml)
|
||||
{
|
||||
common_log(LOG_INFO, __METHOD__ . ": packet for \"$this->feeduri\"! $xml");
|
||||
require_once "XML/Feed/Parser.php";
|
||||
$feed = new XML_Feed_Parser($xml, false, false, true);
|
||||
$munger = new FeedMunger($feed);
|
||||
|
||||
$hits = 0;
|
||||
foreach ($feed as $index => $entry) {
|
||||
// @fixme this might sort in wrong order if we get multiple updates
|
||||
|
||||
$notice = $munger->notice($index);
|
||||
$notice->profile_id = $this->profile_id;
|
||||
|
||||
// Double-check for oldies
|
||||
// @fixme this could explode horribly for multiple feeds on a blog. sigh
|
||||
$dupe = new Notice();
|
||||
$dupe->uri = $notice->uri;
|
||||
$dupe->find();
|
||||
if ($dupe->fetch()) {
|
||||
common_log(LOG_WARNING, __METHOD__ . ": tried to save dupe notice for entry {$notice->uri} of feed {$this->feeduri}");
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Event::handle('StartNoticeSave', array(&$notice))) {
|
||||
$id = $notice->insert();
|
||||
Event::handle('EndNoticeSave', array($notice));
|
||||
}
|
||||
$notice->addToInboxes();
|
||||
|
||||
common_log(LOG_INFO, __METHOD__ . ": saved notice {$notice->id} for entry $index of update to \"{$this->feeduri}\"");
|
||||
$hits++;
|
||||
}
|
||||
if ($hits == 0) {
|
||||
common_log(LOG_INFO, __METHOD__ . ": no updates in packet for \"$this->feeduri\"! $xml");
|
||||
}
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
CREATE TABLE `feedinfo` (
|
||||
`id` int(11) NOT NULL auto_increment,
|
||||
`profile_id` int(11) NOT NULL,
|
||||
`feeduri` varchar(255) NOT NULL,
|
||||
`homeuri` varchar(255) NOT NULL,
|
||||
`huburi` varchar(255) NOT NULL,
|
||||
`verify_token` varchar(32) default NULL,
|
||||
`sub_start` datetime default NULL,
|
||||
`sub_end` datetime default NULL,
|
||||
`created` datetime NOT NULL,
|
||||
`lastupdate` datetime NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `feedinfo_feeduri_idx` (`feeduri`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
@ -102,7 +102,7 @@ class MemcachePlugin extends Plugin
|
||||
*
|
||||
* @param string &$key in; Key to use for lookups
|
||||
* @param mixed &$value in; Value to associate
|
||||
* @param integer &$flag in; Flag (passed through to Memcache)
|
||||
* @param integer &$flag in; Flag empty or Cache::COMPRESSED
|
||||
* @param integer &$expiry in; Expiry (passed through to Memcache)
|
||||
* @param boolean &$success out; Whether the set was successful
|
||||
*
|
||||
@ -115,7 +115,7 @@ class MemcachePlugin extends Plugin
|
||||
if ($expiry === null) {
|
||||
$expiry = $this->defaultExpiry;
|
||||
}
|
||||
$success = $this->_conn->set($key, $value, $flag, $expiry);
|
||||
$success = $this->_conn->set($key, $value, $this->flag(intval($flag)), $expiry);
|
||||
Event::handle('EndCacheSet', array($key, $value, $flag,
|
||||
$expiry));
|
||||
return false;
|
||||
@ -197,6 +197,20 @@ class MemcachePlugin extends Plugin
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate general flags to Memcached-specific flags
|
||||
* @param int $flag
|
||||
* @return int
|
||||
*/
|
||||
protected function flag($flag)
|
||||
{
|
||||
$out = 0;
|
||||
if ($flag & Cache::COMPRESSED == Cache::COMPRESSED) {
|
||||
$out |= MEMCACHE_COMPRESSED;
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
function onPluginVersion(&$versions)
|
||||
{
|
||||
$versions[] = array('name' => 'Memcache',
|
||||
|
276
plugins/OStatus/OStatusPlugin.php
Normal file
276
plugins/OStatus/OStatusPlugin.php
Normal file
@ -0,0 +1,276 @@
|
||||
<?php
|
||||
/*
|
||||
StatusNet Plugin: 0.9
|
||||
Plugin Name: FeedSub
|
||||
Plugin URI: http://status.net/wiki/Feed_subscription
|
||||
Description: FeedSub allows subscribing to real-time updates from external feeds supporting PubHubSubbub protocol.
|
||||
Version: 0.1
|
||||
Author: Brion Vibber <brion@status.net>
|
||||
Author URI: http://status.net/
|
||||
*/
|
||||
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2009, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package FeedSubPlugin
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
define('FEEDSUB_SERVICE', 100); // fixme -- avoid hardcoding these?
|
||||
|
||||
// We bundle the XML_Parse_Feed library...
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib');
|
||||
|
||||
class FeedSubException extends Exception
|
||||
{
|
||||
}
|
||||
|
||||
class OStatusPlugin extends Plugin
|
||||
{
|
||||
/**
|
||||
* Hook for RouterInitialized event.
|
||||
*
|
||||
* @param Net_URL_Mapper $m path-to-action mapper
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onRouterInitialized($m)
|
||||
{
|
||||
// Discovery actions
|
||||
$m->connect('.well-known/host-meta',
|
||||
array('action' => 'hostmeta'));
|
||||
$m->connect('main/webfinger',
|
||||
array('action' => 'webfinger'));
|
||||
$m->connect('main/ostatus',
|
||||
array('action' => 'ostatusinit'));
|
||||
$m->connect('main/ostatus?nickname=:nickname',
|
||||
array('action' => 'ostatusinit'), array('nickname' => '[A-Za-z0-9_-]+'));
|
||||
$m->connect('main/ostatussub',
|
||||
array('action' => 'ostatussub'));
|
||||
$m->connect('main/ostatussub',
|
||||
array('action' => 'ostatussub'), array('feed' => '[A-Za-z0-9\.\/\:]+'));
|
||||
|
||||
// PuSH actions
|
||||
$m->connect('main/push/hub', array('action' => 'pushhub'));
|
||||
|
||||
$m->connect('main/push/callback/:feed',
|
||||
array('action' => 'pushcallback'),
|
||||
array('feed' => '[0-9]+'));
|
||||
$m->connect('settings/feedsub',
|
||||
array('action' => 'feedsubsettings'));
|
||||
|
||||
// Salmon endpoint
|
||||
$m->connect('main/salmon/user/:id',
|
||||
array('action' => 'salmon'),
|
||||
array('id' => '[0-9]+'));
|
||||
$m->connect('main/salmon/group/:id',
|
||||
array('action' => 'salmongroup'),
|
||||
array('id' => '[0-9]+'));
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up queue handlers for outgoing hub pushes
|
||||
* @param QueueManager $qm
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onEndInitializeQueueManager(QueueManager $qm)
|
||||
{
|
||||
$qm->connect('hubverify', 'HubVerifyQueueHandler');
|
||||
$qm->connect('hubdistrib', 'HubDistribQueueHandler');
|
||||
$qm->connect('hubout', 'HubOutQueueHandler');
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Put saved notices into the queue for pubsub distribution.
|
||||
*/
|
||||
function onStartEnqueueNotice($notice, &$transports)
|
||||
{
|
||||
$transports[] = 'hubdistrib';
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up a PuSH hub link to our internal link for canonical timeline
|
||||
* Atom feeds for users and groups.
|
||||
*/
|
||||
function onStartApiAtom(Action $action)
|
||||
{
|
||||
if ($action instanceof ApiTimelineUserAction) {
|
||||
$salmonAction = 'salmon';
|
||||
} else if ($action instanceof ApiTimelineGroupAction) {
|
||||
$salmonAction = 'salmongroup';
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
$id = $action->arg('id');
|
||||
if (strval(intval($id)) === strval($id)) {
|
||||
// Canonical form of id in URL? These are used for OStatus syndication.
|
||||
|
||||
$hub = common_config('ostatus', 'hub');
|
||||
if (empty($hub)) {
|
||||
// Updates will be handled through our internal PuSH hub.
|
||||
$hub = common_local_url('pushhub');
|
||||
}
|
||||
$action->element('link', array('rel' => 'hub',
|
||||
'href' => $hub));
|
||||
|
||||
// Also, we'll add in the salmon link
|
||||
$salmon = common_local_url($salmonAction, array('id' => $id));
|
||||
$action->element('link', array('rel' => 'salmon',
|
||||
'href' => $salmon));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the feed settings page to the Connect Settings menu
|
||||
*
|
||||
* @param Action &$action The calling page
|
||||
*
|
||||
* @return boolean hook return
|
||||
*/
|
||||
function onEndConnectSettingsNav(&$action)
|
||||
{
|
||||
$action_name = $action->trimmed('action');
|
||||
|
||||
$action->menuItem(common_local_url('feedsubsettings'),
|
||||
_m('Feeds'),
|
||||
_m('Feed subscription options'),
|
||||
$action_name === 'feedsubsettings');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Automatically load the actions and libraries used by the plugin
|
||||
*
|
||||
* @param Class $cls the class
|
||||
*
|
||||
* @return boolean hook return
|
||||
*
|
||||
*/
|
||||
function onAutoload($cls)
|
||||
{
|
||||
$base = dirname(__FILE__);
|
||||
$lower = strtolower($cls);
|
||||
$files = array("$base/classes/$cls.php",
|
||||
"$base/lib/$lower.php");
|
||||
if (substr($lower, -6) == 'action') {
|
||||
$files[] = "$base/actions/" . substr($lower, 0, -6) . ".php";
|
||||
}
|
||||
foreach ($files as $file) {
|
||||
if (file_exists($file)) {
|
||||
include_once $file;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add in an OStatus subscribe button
|
||||
*/
|
||||
function onStartProfilePageActionsElements($output, $profile)
|
||||
{
|
||||
$cur = common_current_user();
|
||||
|
||||
if (empty($cur)) {
|
||||
// Add an OStatus subscribe
|
||||
$output->elementStart('li', 'entity_subscribe');
|
||||
$url = common_local_url('ostatusinit',
|
||||
array('nickname' => $profile->nickname));
|
||||
$output->element('a', array('href' => $url,
|
||||
'class' => 'entity_remote_subscribe'),
|
||||
_m('OStatus'));
|
||||
|
||||
$output->elementEnd('li');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if we've got remote replies to send via Salmon.
|
||||
*
|
||||
* @fixme push webfinger lookup & sending to a background queue
|
||||
* @fixme also detect short-form name for remote subscribees where not ambiguous
|
||||
*/
|
||||
function onEndNoticeSave($notice)
|
||||
{
|
||||
$count = preg_match_all('/(\w+\.)*\w+@(\w+\.)*\w+(\w+\-\w+)*\.\w+/', $notice->content, $matches);
|
||||
if ($count) {
|
||||
foreach ($matches[0] as $webfinger) {
|
||||
// Check to see if we've got an actual webfinger
|
||||
$w = new Webfinger;
|
||||
|
||||
$endpoint_uri = '';
|
||||
|
||||
$result = $w->lookup($webfinger);
|
||||
if (empty($result)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($result->links as $link) {
|
||||
if ($link['rel'] == 'salmon') {
|
||||
$endpoint_uri = $link['href'];
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($endpoint_uri)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" ?>';
|
||||
$xml .= $notice->asAtomEntry();
|
||||
|
||||
$salmon = new Salmon();
|
||||
$salmon->post($endpoint_uri, $xml);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Garbage collect unused feeds on unsubscribe
|
||||
*/
|
||||
function onEndUnsubscribe($user, $other)
|
||||
{
|
||||
$profile = Ostatus_profile::staticGet('profile_id', $other->id);
|
||||
if ($feed) {
|
||||
$sub = new Subscription();
|
||||
$sub->subscribed = $other->id;
|
||||
$sub->limit(1);
|
||||
if (!$sub->find(true)) {
|
||||
common_log(LOG_INFO, "Unsubscribing from now-unused feed $feed->feeduri on hub $feed->huburi");
|
||||
$profile->unsubscribe();
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make sure necessary tables are filled out.
|
||||
*/
|
||||
function onCheckSchema() {
|
||||
$schema = Schema::get();
|
||||
$schema->ensureTable('ostatus_profile', Ostatus_profile::schemaDef());
|
||||
$schema->ensureTable('hubsub', HubSub::schemaDef());
|
||||
return true;
|
||||
}
|
||||
}
|
@ -182,9 +182,9 @@ class FeedSubSettingsAction extends ConnectSettingsAction
|
||||
}
|
||||
|
||||
$this->munger = $discover->feedMunger();
|
||||
$this->feedinfo = $this->munger->feedInfo();
|
||||
$this->profile = $this->munger->ostatusProfile();
|
||||
|
||||
if ($this->feedinfo->huburi == '') {
|
||||
if ($this->profile->huburi == '' && !common_config('feedsub', 'nohub')) {
|
||||
$this->showForm(_m('Feed is not PuSH-enabled; cannot subscribe.'));
|
||||
return false;
|
||||
}
|
||||
@ -196,30 +196,44 @@ class FeedSubSettingsAction extends ConnectSettingsAction
|
||||
{
|
||||
if ($this->validateFeed()) {
|
||||
$this->preview = true;
|
||||
$this->feedinfo = Feedinfo::ensureProfile($this->munger);
|
||||
$this->profile = Ostatus_profile::ensureProfile($this->munger);
|
||||
if (!$this->profile) {
|
||||
throw new ServerException("Feed profile was not saved properly.");
|
||||
}
|
||||
|
||||
// If not already in use, subscribe to updates via the hub
|
||||
if ($this->feedinfo->sub_start) {
|
||||
common_log(LOG_INFO, __METHOD__ . ": double the fun! new sub for {$this->feedinfo->feeduri} last subbed {$this->feedinfo->sub_start}");
|
||||
if ($this->profile->sub_start) {
|
||||
common_log(LOG_INFO, __METHOD__ . ": double the fun! new sub for {$this->profile->feeduri} last subbed {$this->profile->sub_start}");
|
||||
} else {
|
||||
$ok = $this->feedinfo->subscribe();
|
||||
$ok = $this->profile->subscribe();
|
||||
common_log(LOG_INFO, __METHOD__ . ": sub was $ok");
|
||||
if (!$ok) {
|
||||
$this->showForm(_m('Feed subscription failed! Bad response from hub.'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// And subscribe the current user to the local profile
|
||||
$user = common_current_user();
|
||||
$profile = $this->feedinfo->getProfile();
|
||||
|
||||
if ($user->isSubscribed($profile)) {
|
||||
$this->showForm(_m('Already subscribed!'));
|
||||
} elseif ($user->subscribeTo($profile)) {
|
||||
$this->showForm(_m('Feed subscribed!'));
|
||||
|
||||
if ($this->profile->isGroup()) {
|
||||
$group = $this->profile->localGroup();
|
||||
if ($user->isMember($group)) {
|
||||
$this->showForm(_m('Already a member!'));
|
||||
} elseif (Group_member::join($this->profile->group_id, $user->id)) {
|
||||
$this->showForm(_m('Joined remote group!'));
|
||||
} else {
|
||||
$this->showForm(_m('Remote group join failed!'));
|
||||
}
|
||||
} else {
|
||||
$this->showForm(_m('Feed subscription failed!'));
|
||||
$local = $this->profile->localProfile();
|
||||
if ($user->isSubscribed($local)) {
|
||||
$this->showForm(_m('Already subscribed!'));
|
||||
} elseif ($user->subscribeTo($local)) {
|
||||
$this->showForm(_m('Feed subscribed!'));
|
||||
} else {
|
||||
$this->showForm(_m('Feed subscription failed!'));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -234,7 +248,7 @@ class FeedSubSettingsAction extends ConnectSettingsAction
|
||||
|
||||
function previewFeed()
|
||||
{
|
||||
$feedinfo = $this->munger->feedinfo();
|
||||
$profile = $this->munger->ostatusProfile();
|
||||
$notice = $this->munger->notice(0, true); // preview
|
||||
|
||||
if ($notice) {
|
42
plugins/OStatus/actions/hostmeta.php
Normal file
42
plugins/OStatus/actions/hostmeta.php
Normal file
@ -0,0 +1,42 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class HostMetaAction extends Action
|
||||
{
|
||||
|
||||
function handle()
|
||||
{
|
||||
parent::handle();
|
||||
|
||||
$w = new Webfinger();
|
||||
|
||||
|
||||
$domain = common_config('site', 'server');
|
||||
$url = common_local_url('webfinger');
|
||||
$url.= '?uri={uri}';
|
||||
print $w->getHostMeta($domain, $url);
|
||||
}
|
||||
}
|
128
plugins/OStatus/actions/ostatusinit.php
Normal file
128
plugins/OStatus/actions/ostatusinit.php
Normal file
@ -0,0 +1,128 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
|
||||
class OStatusInitAction extends Action
|
||||
{
|
||||
|
||||
var $nickname;
|
||||
var $acct;
|
||||
var $err;
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
||||
if (common_logged_in()) {
|
||||
$this->clientError(_('You can use the local subscription!'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->nickname = $this->trimmed('nickname');
|
||||
$this->acct = $this->trimmed('acct');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
parent::handle($args);
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
/* Use a session token for CSRF protection. */
|
||||
$token = $this->trimmed('token');
|
||||
if (!$token || $token != common_session_token()) {
|
||||
$this->showForm(_('There was a problem with your session token. '.
|
||||
'Try again, please.'));
|
||||
return;
|
||||
}
|
||||
$this->ostatusConnect();
|
||||
} else {
|
||||
$this->showForm();
|
||||
}
|
||||
}
|
||||
|
||||
function showForm($err = null)
|
||||
{
|
||||
$this->err = $err;
|
||||
$this->showPage();
|
||||
|
||||
}
|
||||
|
||||
function showContent()
|
||||
{
|
||||
$this->elementStart('form', array('id' => 'form_ostatus_connect',
|
||||
'method' => 'post',
|
||||
'class' => 'form_settings',
|
||||
'action' => common_local_url('ostatusinit')));
|
||||
$this->elementStart('fieldset');
|
||||
$this->element('legend', _('Subscribe to a remote user'));
|
||||
$this->hidden('token', common_session_token());
|
||||
|
||||
$this->elementStart('ul', 'form_data');
|
||||
$this->elementStart('li');
|
||||
$this->input('nickname', _('User nickname'), $this->nickname,
|
||||
_('Nickname of the user you want to follow'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->input('acct', _('Profile Account'), $this->acct,
|
||||
_('Your account id (i.e. user@identi.ca)'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
$this->submit('submit', _('Subscribe'));
|
||||
$this->elementEnd('fieldset');
|
||||
$this->elementEnd('form');
|
||||
}
|
||||
|
||||
function ostatusConnect()
|
||||
{
|
||||
$w = new Webfinger;
|
||||
|
||||
$result = $w->lookup($this->acct);
|
||||
foreach ($result->links as $link) {
|
||||
if ($link['rel'] == 'http://ostatus.org/schema/1.0/subscribe') {
|
||||
// We found a URL - let's redirect!
|
||||
|
||||
$user = User::staticGet('nickname', $this->nickname);
|
||||
|
||||
$feed_url = common_local_url('ApiTimelineUser',
|
||||
array('id' => $user->id,
|
||||
'format' => 'atom'));
|
||||
$url = $w->applyTemplate($link['template'], $feed_url);
|
||||
|
||||
common_redirect($url, 303);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function title()
|
||||
{
|
||||
return _('OStatus Connect');
|
||||
}
|
||||
|
||||
}
|
226
plugins/OStatus/actions/ostatussub.php
Normal file
226
plugins/OStatus/actions/ostatussub.php
Normal file
@ -0,0 +1,226 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class OStatusSubAction extends Action
|
||||
{
|
||||
|
||||
protected $feedurl;
|
||||
|
||||
function title()
|
||||
{
|
||||
return _m("OStatus Subscribe");
|
||||
}
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
if ($this->validateFeed()) {
|
||||
$this->showForm();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
function showForm($err = null)
|
||||
{
|
||||
$this->err = $err;
|
||||
$this->showPage();
|
||||
}
|
||||
|
||||
|
||||
function showContent()
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
$profile = $user->getProfile();
|
||||
|
||||
$fuser = null;
|
||||
|
||||
$flink = Foreign_link::getByUserID($user->id, FEEDSUB_SERVICE);
|
||||
|
||||
if (!empty($flink)) {
|
||||
$fuser = $flink->getForeignUser();
|
||||
}
|
||||
|
||||
$this->elementStart('form', array('method' => 'post',
|
||||
'id' => 'form_settings_feedsub',
|
||||
'class' => 'form_settings',
|
||||
'action' =>
|
||||
common_local_url('feedsubsettings')));
|
||||
|
||||
$this->hidden('token', common_session_token());
|
||||
|
||||
$this->elementStart('fieldset', array('id' => 'settings_feeds'));
|
||||
|
||||
$this->elementStart('ul', 'form_data');
|
||||
$this->elementStart('li', array('id' => 'settings_twitter_login_button'));
|
||||
$this->input('feedurl', _('Feed URL'), $this->feedurl, _('Enter the URL of a PubSubHubbub-enabled feed'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
|
||||
$this->submit('subscribe', _m('Subscribe'));
|
||||
|
||||
$this->elementEnd('fieldset');
|
||||
|
||||
$this->elementEnd('form');
|
||||
|
||||
$this->previewFeed();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle posts to this form
|
||||
*
|
||||
* Based on the button that was pressed, muxes out to other functions
|
||||
* to do the actual task requested.
|
||||
*
|
||||
* All sub-functions reload the form with a message -- success or failure.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function handlePost()
|
||||
{
|
||||
// CSRF protection
|
||||
$token = $this->trimmed('token');
|
||||
if (!$token || $token != common_session_token()) {
|
||||
$this->showForm(_('There was a problem with your session token. '.
|
||||
'Try again, please.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($this->arg('subscribe')) {
|
||||
$this->saveFeed();
|
||||
} else {
|
||||
$this->showForm(_('Unexpected form submission.'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set up and add a feed
|
||||
*
|
||||
* @return boolean true if feed successfully read
|
||||
* Sends you back to input form if not.
|
||||
*/
|
||||
function validateFeed()
|
||||
{
|
||||
$feedurl = $this->trimmed('feed');
|
||||
|
||||
if ($feedurl == '') {
|
||||
$this->showForm(_m('Empty feed URL!'));
|
||||
return;
|
||||
}
|
||||
$this->feedurl = $feedurl;
|
||||
|
||||
// Get the canonical feed URI and check it
|
||||
try {
|
||||
$discover = new FeedDiscovery();
|
||||
$uri = $discover->discoverFromURL($feedurl);
|
||||
} catch (FeedSubBadURLException $e) {
|
||||
$this->showForm(_m('Invalid URL or could not reach server.'));
|
||||
return false;
|
||||
} catch (FeedSubBadResponseException $e) {
|
||||
$this->showForm(_m('Cannot read feed; server returned error.'));
|
||||
return false;
|
||||
} catch (FeedSubEmptyException $e) {
|
||||
$this->showForm(_m('Cannot read feed; server returned an empty page.'));
|
||||
return false;
|
||||
} catch (FeedSubBadHTMLException $e) {
|
||||
$this->showForm(_m('Bad HTML, could not find feed link.'));
|
||||
return false;
|
||||
} catch (FeedSubNoFeedException $e) {
|
||||
$this->showForm(_m('Could not find a feed linked from this URL.'));
|
||||
return false;
|
||||
} catch (FeedSubUnrecognizedTypeException $e) {
|
||||
$this->showForm(_m('Not a recognized feed type.'));
|
||||
return false;
|
||||
} catch (FeedSubException $e) {
|
||||
// Any new ones we forgot about
|
||||
$this->showForm(_m('Bad feed URL.'));
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->munger = $discover->feedMunger();
|
||||
$this->profile = $this->munger->ostatusProfile();
|
||||
|
||||
if ($this->profile->huburi == '') {
|
||||
$this->showForm(_m('Feed is not PuSH-enabled; cannot subscribe.'));
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function saveFeed()
|
||||
{
|
||||
if ($this->validateFeed()) {
|
||||
$this->preview = true;
|
||||
$this->profile = Ostatus_profile::ensureProfile($this->munger);
|
||||
|
||||
// If not already in use, subscribe to updates via the hub
|
||||
if ($this->profile->sub_start) {
|
||||
common_log(LOG_INFO, __METHOD__ . ": double the fun! new sub for {$this->profile->feeduri} last subbed {$this->profile->sub_start}");
|
||||
} else {
|
||||
$ok = $this->profile->subscribe();
|
||||
common_log(LOG_INFO, __METHOD__ . ": sub was $ok");
|
||||
if (!$ok) {
|
||||
$this->showForm(_m('Feed subscription failed! Bad response from hub.'));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// And subscribe the current user to the local profile
|
||||
$user = common_current_user();
|
||||
$profile = $this->profile->getProfile();
|
||||
|
||||
if ($user->isSubscribed($profile)) {
|
||||
$this->showForm(_m('Already subscribed!'));
|
||||
} elseif ($user->subscribeTo($profile)) {
|
||||
$this->showForm(_m('Feed subscribed!'));
|
||||
} else {
|
||||
$this->showForm(_m('Feed subscription failed!'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function previewFeed()
|
||||
{
|
||||
$profile = $this->munger->ostatusProfile();
|
||||
$notice = $this->munger->notice(0, true); // preview
|
||||
|
||||
if ($notice) {
|
||||
$this->element('b', null, 'Preview of latest post from this feed:');
|
||||
|
||||
$item = new NoticeList($notice, $this);
|
||||
$item->show();
|
||||
} else {
|
||||
$this->element('b', null, 'No posts in this feed yet.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -25,7 +25,7 @@
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
|
||||
class FeedSubCallbackAction extends Action
|
||||
class PushCallbackAction extends Action
|
||||
{
|
||||
function handle()
|
||||
{
|
||||
@ -48,13 +48,18 @@ class FeedSubCallbackAction extends Action
|
||||
throw new ServerException('Empty or invalid feed id', 400);
|
||||
}
|
||||
|
||||
$feedinfo = Feedinfo::staticGet('id', $feedid);
|
||||
if (!$feedinfo) {
|
||||
throw new ServerException('Unknown feed id ' . $feedid, 400);
|
||||
$profile = Ostatus_profile::staticGet('id', $feedid);
|
||||
if (!$profile) {
|
||||
throw new ServerException('Unknown OStatus/PuSH feed id ' . $feedid, 400);
|
||||
}
|
||||
|
||||
|
||||
$hmac = '';
|
||||
if (isset($_SERVER['HTTP_X_HUB_SIGNATURE'])) {
|
||||
$hmac = $_SERVER['HTTP_X_HUB_SIGNATURE'];
|
||||
}
|
||||
|
||||
$post = file_get_contents('php://input');
|
||||
$feedinfo->postUpdates($post);
|
||||
$profile->postUpdates($post, $hmac);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -73,28 +78,30 @@ class FeedSubCallbackAction extends Action
|
||||
throw new ServerException("Bogus hub callback: bad mode", 404);
|
||||
}
|
||||
|
||||
$feedinfo = Feedinfo::staticGet('feeduri', $topic);
|
||||
if (!$feedinfo) {
|
||||
$profile = Ostatus_profile::staticGet('feeduri', $topic);
|
||||
if (!$profile) {
|
||||
common_log(LOG_WARNING, __METHOD__ . ": bogus hub callback for unknown feed $topic");
|
||||
throw new ServerException("Bogus hub callback: unknown feed", 404);
|
||||
}
|
||||
|
||||
# Can't currently set the token in our sub api
|
||||
#if ($feedinfo->verify_token !== $verify_token) {
|
||||
# common_log(LOG_WARNING, __METHOD__ . ": bogus hub callback with bad token \"$verify_token\" for feed $topic");
|
||||
# throw new ServerError("Bogus hub callback: bad token", 404);
|
||||
#}
|
||||
|
||||
// OK!
|
||||
common_log(LOG_INFO, __METHOD__ . ': sub confirmed');
|
||||
$feedinfo->sub_start = common_sql_date(time());
|
||||
if ($lease_seconds > 0) {
|
||||
$feedinfo->sub_end = common_sql_date(time() + $lease_seconds);
|
||||
} else {
|
||||
$feedinfo->sub_end = null;
|
||||
if ($profile->verify_token !== $verify_token) {
|
||||
common_log(LOG_WARNING, __METHOD__ . ": bogus hub callback with bad token \"$verify_token\" for feed $topic");
|
||||
throw new ServerError("Bogus hub callback: bad token", 404);
|
||||
}
|
||||
|
||||
if ($mode != $profile->sub_state) {
|
||||
common_log(LOG_WARNING, __METHOD__ . ": bogus hub callback with bad mode \"$mode\" for feed $topic in state \"{$profile->sub_state}\"");
|
||||
throw new ServerException("Bogus hub callback: mode doesn't match subscription state.", 404);
|
||||
}
|
||||
|
||||
// OK!
|
||||
if ($mode == 'subscribe') {
|
||||
common_log(LOG_INFO, __METHOD__ . ': sub confirmed');
|
||||
$profile->confirmSubscribe($lease_seconds);
|
||||
} else {
|
||||
common_log(LOG_INFO, __METHOD__ . ": unsub confirmed; deleting sub record for $topic");
|
||||
$profile->confirmUnsubscribe();
|
||||
}
|
||||
$feedinfo->update();
|
||||
|
||||
print $challenge;
|
||||
}
|
||||
}
|
176
plugins/OStatus/actions/pushhub.php
Normal file
176
plugins/OStatus/actions/pushhub.php
Normal file
@ -0,0 +1,176 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Integrated PuSH hub; lets us only ping them what need it.
|
||||
* @package Hub
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
|
||||
Things to consider...
|
||||
* should we purge incomplete subscriptions that never get a verification pingback?
|
||||
* when can we send subscription renewal checks?
|
||||
- at next send time probably ok
|
||||
* when can we handle trimming of subscriptions?
|
||||
- at next send time probably ok
|
||||
* should we keep a fail count?
|
||||
|
||||
*/
|
||||
|
||||
|
||||
class PushHubAction extends Action
|
||||
{
|
||||
function arg($arg, $def=null)
|
||||
{
|
||||
// PHP converts '.'s in incoming var names to '_'s.
|
||||
// It also merges multiple values, which'll break hub.verify and hub.topic for publishing
|
||||
// @fixme handle multiple args
|
||||
$arg = str_replace('.', '_', $arg);
|
||||
return parent::arg($arg, $def);
|
||||
}
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
StatusNet::setApi(true); // reduce exception reports to aid in debugging
|
||||
return parent::prepare($args);
|
||||
}
|
||||
|
||||
function handle()
|
||||
{
|
||||
$mode = $this->trimmed('hub.mode');
|
||||
switch ($mode) {
|
||||
case "subscribe":
|
||||
$this->subscribe();
|
||||
break;
|
||||
case "unsubscribe":
|
||||
$this->unsubscribe();
|
||||
break;
|
||||
case "publish":
|
||||
throw new ServerException("Publishing outside feeds not supported.", 400);
|
||||
default:
|
||||
throw new ServerException("Unrecognized mode '$mode'.", 400);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a PuSH feed subscription request.
|
||||
*
|
||||
* HTTP return codes:
|
||||
* 202 Accepted - request saved and awaiting verification
|
||||
* 204 No Content - already subscribed
|
||||
* 403 Forbidden - rejecting this (not specifically spec'd)
|
||||
*/
|
||||
function subscribe()
|
||||
{
|
||||
$feed = $this->argUrl('hub.topic');
|
||||
$callback = $this->argUrl('hub.callback');
|
||||
|
||||
common_log(LOG_DEBUG, __METHOD__ . ": checking sub'd to $feed $callback");
|
||||
if ($this->getSub($feed, $callback)) {
|
||||
// Already subscribed; return 204 per spec.
|
||||
header('HTTP/1.1 204 No Content');
|
||||
common_log(LOG_DEBUG, __METHOD__ . ': already subscribed');
|
||||
return;
|
||||
}
|
||||
|
||||
common_log(LOG_DEBUG, __METHOD__ . ': setting up');
|
||||
$sub = new HubSub();
|
||||
$sub->topic = $feed;
|
||||
$sub->callback = $callback;
|
||||
$sub->secret = $this->arg('hub.secret', null);
|
||||
$sub->setLease(intval($this->arg('hub.lease_seconds')));
|
||||
|
||||
// @fixme check for feeds we don't manage
|
||||
// @fixme check the verification mode, might want a return immediately?
|
||||
|
||||
common_log(LOG_DEBUG, __METHOD__ . ': inserting');
|
||||
$ok = $sub->insert();
|
||||
|
||||
if (!$ok) {
|
||||
throw new ServerException("Failed to save subscription record", 500);
|
||||
}
|
||||
|
||||
// @fixme check errors ;)
|
||||
|
||||
$data = array('sub' => $sub, 'mode' => 'subscribe');
|
||||
$qm = QueueManager::get();
|
||||
$qm->enqueue($data, 'hubverify');
|
||||
|
||||
header('HTTP/1.1 202 Accepted');
|
||||
common_log(LOG_DEBUG, __METHOD__ . ': done');
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a PuSH feed unsubscription request.
|
||||
*
|
||||
* HTTP return codes:
|
||||
* 202 Accepted - request saved and awaiting verification
|
||||
* 204 No Content - already subscribed
|
||||
* 400 Bad Request - invalid params or rejected feed
|
||||
*/
|
||||
function unsubscribe()
|
||||
{
|
||||
$feed = $this->argUrl('hub.topic');
|
||||
$callback = $this->argUrl('hub.callback');
|
||||
$sub = $this->getSub($feed, $callback);
|
||||
|
||||
if ($sub) {
|
||||
if ($sub->verify('unsubscribe')) {
|
||||
$sub->delete();
|
||||
common_log(LOG_INFO, "PuSH unsubscribed $feed for $callback");
|
||||
} else {
|
||||
throw new ServerException("Failed PuSH unsubscription: verification failed! $feed for $callback");
|
||||
}
|
||||
} else {
|
||||
throw new ServerException("Failed PuSH unsubscription: not subscribed! $feed for $callback");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Grab and validate a URL from POST parameters.
|
||||
* @throws ServerException for malformed or non-http/https URLs
|
||||
*/
|
||||
protected function argUrl($arg)
|
||||
{
|
||||
$url = $this->arg($arg);
|
||||
$params = array('domain_check' => false, // otherwise breaks my local tests :P
|
||||
'allowed_schemes' => array('http', 'https'));
|
||||
if (Validate::uri($url, $params)) {
|
||||
return $url;
|
||||
} else {
|
||||
throw new ServerException("Invalid URL passed for $arg: '$url'", 400);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get HubSub subscription record for a given feed & subscriber.
|
||||
*
|
||||
* @param string $feed
|
||||
* @param string $callback
|
||||
* @return mixed HubSub or false
|
||||
*/
|
||||
protected function getSub($feed, $callback)
|
||||
{
|
||||
return HubSub::staticGet($feed, $callback);
|
||||
}
|
||||
}
|
||||
|
81
plugins/OStatus/actions/salmon.php
Normal file
81
plugins/OStatus/actions/salmon.php
Normal file
@ -0,0 +1,81 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @author James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET')) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
class SalmonAction extends Action
|
||||
{
|
||||
var $user = null;
|
||||
var $xml = null;
|
||||
var $activity = null;
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
|
||||
$this->clientError(_('This method requires a POST.'));
|
||||
}
|
||||
|
||||
if ($_SERVER['CONTENT_TYPE'] != 'application/atom+xml') {
|
||||
$this->clientError(_('Salmon requires application/atom+xml'));
|
||||
}
|
||||
|
||||
$id = $this->trimmed('id');
|
||||
|
||||
if (!$id) {
|
||||
$this->clientError(_('No ID.'));
|
||||
}
|
||||
|
||||
$this->user = User::staticGet($id);
|
||||
|
||||
if (empty($this->user)) {
|
||||
$this->clientError(_('No such user.'));
|
||||
}
|
||||
|
||||
$xml = file_get_contents('php://input');
|
||||
|
||||
$dom = DOMDocument::loadXML($xml);
|
||||
|
||||
// XXX: check that document element is Atom entry
|
||||
// XXX: check the signature
|
||||
|
||||
$this->act = Activity::fromAtomEntry($dom->documentElement);
|
||||
}
|
||||
|
||||
function handle($args)
|
||||
{
|
||||
common_log(LOG_DEBUG, 'Salmon: incoming post for user: '. $user_id);
|
||||
|
||||
// TODO : Insert new $xml -> notice code
|
||||
|
||||
switch ($this->act->verb)
|
||||
{
|
||||
case Activity::POST:
|
||||
case Activity::SHARE:
|
||||
case Activity::FAVORITE:
|
||||
case Activity::FOLLOW:
|
||||
}
|
||||
}
|
||||
}
|
77
plugins/OStatus/actions/webfinger.php
Normal file
77
plugins/OStatus/actions/webfinger.php
Normal file
@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package OStatusPlugin
|
||||
* @maintainer James Walker <james@status.net>
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
|
||||
|
||||
class WebfingerAction extends Action
|
||||
{
|
||||
|
||||
public $uri;
|
||||
|
||||
function prepare($args)
|
||||
{
|
||||
parent::prepare($args);
|
||||
|
||||
$this->uri = $this->trimmed('uri');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function handle()
|
||||
{
|
||||
$acct = Webfinger::normalize($this->uri);
|
||||
|
||||
$xrd = new XRD();
|
||||
|
||||
list($nick, $domain) = explode('@', urldecode($acct));
|
||||
$nick = common_canonical_nickname($nick);
|
||||
|
||||
$this->user = User::staticGet('nickname', $nick);
|
||||
if (!$this->user) {
|
||||
$this->clientError(_('No such user.'), 404);
|
||||
return false;
|
||||
}
|
||||
|
||||
$xrd->subject = $this->uri;
|
||||
$xrd->alias[] = common_profile_url($nick);
|
||||
$xrd->links[] = array('rel' => 'http://webfinger.net/rel/profile-page',
|
||||
'type' => 'text/html',
|
||||
'href' => common_profile_url($nick));
|
||||
|
||||
$salmon_url = common_local_url('salmon',
|
||||
array('id' => $this->user->id));
|
||||
|
||||
$xrd->links[] = array('rel' => 'salmon',
|
||||
'href' => $salmon_url);
|
||||
|
||||
// TODO - finalize where the redirect should go on the publisher
|
||||
$url = common_local_url('ostatussub') . '?feed={uri}';
|
||||
$xrd->links[] = array('rel' => 'http://ostatus.org/schema/1.0/subscribe',
|
||||
'template' => $url );
|
||||
|
||||
header('Content-type: text/xml');
|
||||
print $xrd->toXML();
|
||||
}
|
||||
|
||||
}
|
272
plugins/OStatus/classes/HubSub.php
Normal file
272
plugins/OStatus/classes/HubSub.php
Normal file
@ -0,0 +1,272 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* PuSH feed subscription record
|
||||
* @package Hub
|
||||
* @author Brion Vibber <brion@status.net>
|
||||
*/
|
||||
class HubSub extends Memcached_DataObject
|
||||
{
|
||||
public $__table = 'hubsub';
|
||||
|
||||
public $hashkey; // sha1(topic . '|' . $callback); (topic, callback) key is too long for myisam in utf8
|
||||
public $topic;
|
||||
public $callback;
|
||||
public $secret;
|
||||
public $verify_token;
|
||||
public $challenge;
|
||||
public $lease;
|
||||
public $sub_start;
|
||||
public $sub_end;
|
||||
public $created;
|
||||
|
||||
public /*static*/ function staticGet($topic, $callback)
|
||||
{
|
||||
return parent::staticGet(__CLASS__, 'hashkey', self::hashkey($topic, $callback));
|
||||
}
|
||||
|
||||
protected static function hashkey($topic, $callback)
|
||||
{
|
||||
return sha1($topic . '|' . $callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* return table definition for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know something about the table to manipulate
|
||||
* instances. This method provides all the DB_DataObject needs to know.
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('hashkey' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'topic' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'callback' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'secret' => DB_DATAOBJECT_STR,
|
||||
'verify_token' => DB_DATAOBJECT_STR,
|
||||
'challenge' => DB_DATAOBJECT_STR,
|
||||
'lease' => DB_DATAOBJECT_INT,
|
||||
'sub_start' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
|
||||
'sub_end' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
|
||||
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
|
||||
}
|
||||
|
||||
static function schemaDef()
|
||||
{
|
||||
return array(new ColumnDef('hashkey', 'char',
|
||||
/*size*/40,
|
||||
/*nullable*/false,
|
||||
/*key*/'PRI'),
|
||||
new ColumnDef('topic', 'varchar',
|
||||
/*size*/255,
|
||||
/*nullable*/false,
|
||||
/*key*/'KEY'),
|
||||
new ColumnDef('callback', 'varchar',
|
||||
255, false),
|
||||
new ColumnDef('secret', 'text',
|
||||
null, true),
|
||||
new ColumnDef('verify_token', 'text',
|
||||
null, true),
|
||||
new ColumnDef('challenge', 'varchar',
|
||||
32, true),
|
||||
new ColumnDef('lease', 'int',
|
||||
null, true),
|
||||
new ColumnDef('sub_start', 'datetime',
|
||||
null, true),
|
||||
new ColumnDef('sub_end', 'datetime',
|
||||
null, true),
|
||||
new ColumnDef('created', 'datetime',
|
||||
null, false));
|
||||
}
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array_keys($this->keyTypes());
|
||||
}
|
||||
|
||||
function sequenceKeys()
|
||||
{
|
||||
return array(false, false, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know about keys that the table has; this function
|
||||
* defines them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return array('hashkey' => 'K');
|
||||
}
|
||||
|
||||
/**
|
||||
* Validates a requested lease length, sets length plus
|
||||
* subscription start & end dates.
|
||||
*
|
||||
* Does not save to database -- use before insert() or update().
|
||||
*
|
||||
* @param int $length in seconds
|
||||
*/
|
||||
function setLease($length)
|
||||
{
|
||||
assert(is_int($length));
|
||||
|
||||
$min = 86400;
|
||||
$max = 86400 * 30;
|
||||
|
||||
if ($length == 0) {
|
||||
// We want to garbage collect dead subscriptions!
|
||||
$length = $max;
|
||||
} elseif( $length < $min) {
|
||||
$length = $min;
|
||||
} else if ($length > $max) {
|
||||
$length = $max;
|
||||
}
|
||||
|
||||
$this->lease = $length;
|
||||
$this->start_sub = common_sql_now();
|
||||
$this->end_sub = common_sql_date(time() + $length);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a verification ping to subscriber
|
||||
* @param string $mode 'subscribe' or 'unsubscribe'
|
||||
*/
|
||||
function verify($mode)
|
||||
{
|
||||
assert($mode == 'subscribe' || $mode == 'unsubscribe');
|
||||
|
||||
// Is this needed? data object fun...
|
||||
$clone = clone($this);
|
||||
$clone->challenge = common_good_rand(16);
|
||||
$clone->update($this);
|
||||
$this->challenge = $clone->challenge;
|
||||
unset($clone);
|
||||
|
||||
$params = array('hub.mode' => $mode,
|
||||
'hub.topic' => $this->topic,
|
||||
'hub.challenge' => $this->challenge);
|
||||
if ($mode == 'subscribe') {
|
||||
$params['hub.lease_seconds'] = $this->lease;
|
||||
}
|
||||
if ($this->verify_token) {
|
||||
$params['hub.verify_token'] = $this->verify_token;
|
||||
}
|
||||
$url = $this->callback . '?' . http_build_query($params, '', '&'); // @fixme ugly urls
|
||||
|
||||
try {
|
||||
$request = new HTTPClient();
|
||||
$response = $request->get($url);
|
||||
$status = $response->getStatus();
|
||||
|
||||
if ($status >= 200 && $status < 300) {
|
||||
$fail = false;
|
||||
} else {
|
||||
// @fixme how can we schedule a second attempt?
|
||||
// Or should we?
|
||||
$fail = "Returned HTTP $status";
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$fail = $e->getMessage();
|
||||
}
|
||||
if ($fail) {
|
||||
// @fixme how can we schedule a second attempt?
|
||||
// or save a fail count?
|
||||
// Or should we?
|
||||
common_log(LOG_ERR, "Failed to verify $mode for $this->topic at $this->callback: $fail");
|
||||
return false;
|
||||
} else {
|
||||
if ($mode == 'subscribe') {
|
||||
// Establish or renew the subscription!
|
||||
// This seems unnecessary... dataobject fun!
|
||||
$clone = clone($this);
|
||||
$clone->challenge = null;
|
||||
$clone->setLease($this->lease);
|
||||
$clone->update($this);
|
||||
unset($clone);
|
||||
|
||||
$this->challenge = null;
|
||||
$this->setLease($this->lease);
|
||||
common_log(LOG_ERR, "Verified $mode of $this->callback:$this->topic for $this->lease seconds");
|
||||
} else if ($mode == 'unsubscribe') {
|
||||
common_log(LOG_ERR, "Verified $mode of $this->callback:$this->topic");
|
||||
$this->delete();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Insert wrapper; transparently set the hash key from topic and callback columns.
|
||||
* @return boolean success
|
||||
*/
|
||||
function insert()
|
||||
{
|
||||
$this->hashkey = self::hashkey($this->topic, $this->callback);
|
||||
return parent::insert();
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a 'fat ping' to the subscriber's callback endpoint
|
||||
* containing the given Atom feed chunk.
|
||||
*
|
||||
* Determination of which items to send should be done at
|
||||
* a higher level; don't just shove in a complete feed!
|
||||
*
|
||||
* @param string $atom well-formed Atom feed
|
||||
*/
|
||||
function push($atom)
|
||||
{
|
||||
$headers = array('Content-Type: application/atom+xml');
|
||||
if ($this->secret) {
|
||||
$hmac = hash_hmac('sha1', $atom, $this->secret);
|
||||
$headers[] = "X-Hub-Signature: sha1=$hmac";
|
||||
} else {
|
||||
$hmac = '(none)';
|
||||
}
|
||||
common_log(LOG_INFO, "About to push feed to $this->callback for $this->topic, HMAC $hmac");
|
||||
try {
|
||||
$request = new HTTPClient();
|
||||
$request->setBody($atom);
|
||||
$response = $request->post($this->callback, $headers);
|
||||
|
||||
if ($response->isOk()) {
|
||||
return true;
|
||||
}
|
||||
common_log(LOG_ERR, "Error sending PuSH content " .
|
||||
"to $this->callback for $this->topic: " .
|
||||
$response->getStatus());
|
||||
return false;
|
||||
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_ERR, "Error sending PuSH content " .
|
||||
"to $this->callback for $this->topic: " .
|
||||
$e->getMessage());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
644
plugins/OStatus/classes/Ostatus_profile.php
Normal file
644
plugins/OStatus/classes/Ostatus_profile.php
Normal file
@ -0,0 +1,644 @@
|
||||
<?php
|
||||
/*
|
||||
* StatusNet - the distributed open-source microblogging tool
|
||||
* Copyright (C) 2009-2010, StatusNet, 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
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package FeedSubPlugin
|
||||
* @maintainer Brion Vibber <brion@status.net>
|
||||
*/
|
||||
|
||||
/*
|
||||
PuSH subscription flow:
|
||||
|
||||
$profile->subscribe()
|
||||
generate random verification token
|
||||
save to verify_token
|
||||
sends a sub request to the hub...
|
||||
|
||||
main/push/callback
|
||||
hub sends confirmation back to us via GET
|
||||
We verify the request, then echo back the challenge.
|
||||
On our end, we save the time we subscribed and the lease expiration
|
||||
|
||||
main/push/callback
|
||||
hub sends us updates via POST
|
||||
|
||||
*/
|
||||
|
||||
class FeedDBException extends FeedSubException
|
||||
{
|
||||
public $obj;
|
||||
|
||||
function __construct($obj)
|
||||
{
|
||||
parent::__construct('Database insert failure');
|
||||
$this->obj = $obj;
|
||||
}
|
||||
}
|
||||
|
||||
class Ostatus_profile extends Memcached_DataObject
|
||||
{
|
||||
public $__table = 'ostatus_profile';
|
||||
|
||||
public $id;
|
||||
public $profile_id;
|
||||
public $group_id;
|
||||
|
||||
public $feeduri;
|
||||
public $homeuri;
|
||||
|
||||
// PuSH subscription data
|
||||
public $huburi;
|
||||
public $secret;
|
||||
public $verify_token;
|
||||
public $sub_state; // subscribe, active, unsubscribe
|
||||
public $sub_start;
|
||||
public $sub_end;
|
||||
|
||||
public $salmonuri;
|
||||
|
||||
public $created;
|
||||
public $lastupdate;
|
||||
|
||||
|
||||
public /*static*/ function staticGet($k, $v=null)
|
||||
{
|
||||
return parent::staticGet(__CLASS__, $k, $v);
|
||||
}
|
||||
|
||||
/**
|
||||
* return table definition for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know something about the table to manipulate
|
||||
* instances. This method provides all the DB_DataObject needs to know.
|
||||
*
|
||||
* @return array array of column definitions
|
||||
*/
|
||||
|
||||
function table()
|
||||
{
|
||||
return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
|
||||
'profile_id' => DB_DATAOBJECT_INT,
|
||||
'group_id' => DB_DATAOBJECT_INT,
|
||||
'feeduri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'homeuri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
|
||||
'huburi' => DB_DATAOBJECT_STR,
|
||||
'secret' => DB_DATAOBJECT_STR,
|
||||
'verify_token' => DB_DATAOBJECT_STR,
|
||||
'sub_state' => DB_DATAOBJECT_STR,
|
||||
'sub_start' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
|
||||
'sub_end' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME,
|
||||
'salmonuri' => DB_DATAOBJECT_STR,
|
||||
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
|
||||
'lastupdate' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
|
||||
}
|
||||
|
||||
static function schemaDef()
|
||||
{
|
||||
return array(new ColumnDef('id', 'integer',
|
||||
/*size*/ null,
|
||||
/*nullable*/ false,
|
||||
/*key*/ 'PRI',
|
||||
/*default*/ '0',
|
||||
/*extra*/ null,
|
||||
/*auto_increment*/ true),
|
||||
new ColumnDef('profile_id', 'integer',
|
||||
null, true, 'UNI'),
|
||||
new ColumnDef('group_id', 'integer',
|
||||
null, true, 'UNI'),
|
||||
new ColumnDef('feeduri', 'varchar',
|
||||
255, false, 'UNI'),
|
||||
new ColumnDef('homeuri', 'varchar',
|
||||
255, false),
|
||||
new ColumnDef('huburi', 'text',
|
||||
null, true),
|
||||
new ColumnDef('verify_token', 'varchar',
|
||||
32, true),
|
||||
new ColumnDef('secret', 'varchar',
|
||||
64, true),
|
||||
new ColumnDef('sub_state', "enum('subscribe','active','unsubscribe')",
|
||||
null, true),
|
||||
new ColumnDef('sub_start', 'datetime',
|
||||
null, true),
|
||||
new ColumnDef('sub_end', 'datetime',
|
||||
null, true),
|
||||
new ColumnDef('salmonuri', 'text',
|
||||
null, true),
|
||||
new ColumnDef('created', 'datetime',
|
||||
null, false),
|
||||
new ColumnDef('lastupdate', 'datetime',
|
||||
null, false));
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for DB_DataObject
|
||||
*
|
||||
* DB_DataObject needs to know about keys that the table has; this function
|
||||
* defines them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keys()
|
||||
{
|
||||
return array_keys($this->keyTypes());
|
||||
}
|
||||
|
||||
/**
|
||||
* return key definitions for Memcached_DataObject
|
||||
*
|
||||
* Our caching system uses the same key definitions, but uses a different
|
||||
* method to get them.
|
||||
*
|
||||
* @return array key definitions
|
||||
*/
|
||||
|
||||
function keyTypes()
|
||||
{
|
||||
return array('id' => 'K', 'profile_id' => 'U', 'group_id' => 'U', 'feeduri' => 'U');
|
||||
}
|
||||
|
||||
function sequenceKey()
|
||||
{
|
||||
return array('id', true, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the StatusNet-side profile for this feed
|
||||
* @return Profile
|
||||
*/
|
||||
public function localProfile()
|
||||
{
|
||||
if ($this->profile_id) {
|
||||
return Profile::staticGet('id', $this->profile_id);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the StatusNet-side profile for this feed
|
||||
* @return Profile
|
||||
*/
|
||||
public function localGroup()
|
||||
{
|
||||
if ($this->group_id) {
|
||||
return User_group::staticGet('id', $this->group_id);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FeedMunger $munger
|
||||
* @param boolean $isGroup is this a group record?
|
||||
* @return Ostatus_profile
|
||||
*/
|
||||
public static function ensureProfile($munger)
|
||||
{
|
||||
$profile = $munger->ostatusProfile();
|
||||
|
||||
$current = self::staticGet('feeduri', $profile->feeduri);
|
||||
if ($current) {
|
||||
// @fixme we should probably update info as necessary
|
||||
return $current;
|
||||
}
|
||||
|
||||
$profile->query('BEGIN');
|
||||
|
||||
// Awful hack! Awful hack!
|
||||
$profile->verify = common_good_rand(16);
|
||||
$profile->secret = common_good_rand(32);
|
||||
|
||||
try {
|
||||
$local = $munger->profile();
|
||||
|
||||
if ($entity->isGroup()) {
|
||||
$group = new User_group();
|
||||
$group->nickname = $local->nickname . '@remote'; // @fixme
|
||||
$group->fullname = $local->fullname;
|
||||
$group->homepage = $local->homepage;
|
||||
$group->location = $local->location;
|
||||
$group->created = $local->created;
|
||||
$group->insert();
|
||||
if (empty($result)) {
|
||||
throw new FeedDBException($group);
|
||||
}
|
||||
$profile->group_id = $group->id;
|
||||
} else {
|
||||
$result = $local->insert();
|
||||
if (empty($result)) {
|
||||
throw new FeedDBException($local);
|
||||
}
|
||||
$profile->profile_id = $local->id;
|
||||
}
|
||||
|
||||
$profile->created = sql_common_date();
|
||||
$profile->lastupdate = sql_common_date();
|
||||
$result = $profile->insert();
|
||||
if (empty($result)) {
|
||||
throw new FeedDBException($profile);
|
||||
}
|
||||
|
||||
$entity->query('COMMIT');
|
||||
} catch (FeedDBException $e) {
|
||||
common_log_db_error($e->obj, 'INSERT', __FILE__);
|
||||
$entity->query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
|
||||
$avatar = $munger->getAvatar();
|
||||
if ($avatar) {
|
||||
try {
|
||||
$this->updateAvatar($avatar);
|
||||
} catch (Exception $e) {
|
||||
common_log(LOG_ERR, "Exception setting OStatus avatar: " .
|
||||
$e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
return $entity;
|
||||
}
|
||||
|
||||
/**
|
||||
* Download and update given avatar image
|
||||
* @param string $url
|
||||
* @throws Exception in various failure cases
|
||||
*/
|
||||
public function updateAvatar($url)
|
||||
{
|
||||
// @fixme this should be better encapsulated
|
||||
// ripped from oauthstore.php (for old OMB client)
|
||||
$temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
|
||||
copy($url, $temp_filename);
|
||||
$imagefile = new ImageFile($profile->id, $temp_filename);
|
||||
$filename = Avatar::filename($profile->id,
|
||||
image_type_to_extension($imagefile->type),
|
||||
null,
|
||||
common_timestamp());
|
||||
rename($temp_filename, Avatar::path($filename));
|
||||
if ($this->isGroup()) {
|
||||
$group = $this->localGroup();
|
||||
$group->setOriginal($filename);
|
||||
} else {
|
||||
$profile = $this->localProfile();
|
||||
$profile->setOriginal($filename);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an XML string fragment with profile information as an
|
||||
* Activity Streams noun object with the given element type.
|
||||
*
|
||||
* Assumes that 'activity' namespace has been previously defined.
|
||||
*
|
||||
* @param string $element one of 'actor', 'subject', 'object', 'target'
|
||||
* @return string
|
||||
*/
|
||||
function asActivityNoun($element)
|
||||
{
|
||||
$xs = new XMLStringer(true);
|
||||
|
||||
$avatarHref = Avatar::defaultImage(AVATAR_PROFILE_SIZE);
|
||||
$avatarType = 'image/png';
|
||||
if ($this->isGroup()) {
|
||||
$type = 'http://activitystrea.ms/schema/1.0/group';
|
||||
$self = $this->localGroup();
|
||||
|
||||
// @fixme put a standard getAvatar() interface on groups too
|
||||
if ($self->homepage_logo) {
|
||||
$avatarHref = $self->homepage_logo;
|
||||
$map = array('png' => 'image/png',
|
||||
'jpg' => 'image/jpeg',
|
||||
'jpeg' => 'image/jpeg',
|
||||
'gif' => 'image/gif');
|
||||
$extension = pathinfo(parse_url($avatarHref, PHP_URL_PATH), PATHINFO_EXTENSION);
|
||||
if (isset($map[$extension])) {
|
||||
$avatarType = $map[$extension];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$type = 'http://activitystrea.ms/schema/1.0/person';
|
||||
$self = $this->localProfile();
|
||||
$avatar = $self->getAvatar(AVATAR_PROFILE_SIZE);
|
||||
if ($avatar) {
|
||||
$avatarHref = $avatar->
|
||||
$avatarType = $avatar->mediatype;
|
||||
}
|
||||
}
|
||||
$xs->elementStart('activity:' . $element);
|
||||
$xs->element(
|
||||
'activity:object-type',
|
||||
null,
|
||||
$type
|
||||
);
|
||||
$xs->element(
|
||||
'id',
|
||||
null,
|
||||
$this->homeuri); // ?
|
||||
$xs->element('title', null, $self->getBestName());
|
||||
|
||||
$xs->element(
|
||||
'link', array(
|
||||
'type' => $avatarType,
|
||||
'href' => $avatarHref
|
||||
),
|
||||
''
|
||||
);
|
||||
|
||||
$xs->elementEnd('activity:' . $element);
|
||||
|
||||
return $xs->getString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Damn dirty hack!
|
||||
*/
|
||||
function isGroup()
|
||||
{
|
||||
return (strpos($this->feeduri, '/groups/') !== false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a subscription request to the hub for this feed.
|
||||
* The hub will later send us a confirmation POST to /main/push/callback.
|
||||
*
|
||||
* @return bool true on success, false on failure
|
||||
*/
|
||||
public function subscribe($mode='subscribe')
|
||||
{
|
||||
if (common_config('feedsub', 'nohub')) {
|
||||
// Fake it! We're just testing remote feeds w/o hubs.
|
||||
return true;
|
||||
}
|
||||
// @fixme use the verification token
|
||||
#$token = md5(mt_rand() . ':' . $this->feeduri);
|
||||
#$this->verify_token = $token;
|
||||
#$this->update(); // @fixme
|
||||
try {
|
||||
$callback = common_local_url('pushcallback', array('feed' => $this->id));
|
||||
$headers = array('Content-Type: application/x-www-form-urlencoded');
|
||||
$post = array('hub.mode' => $mode,
|
||||
'hub.callback' => $callback,
|
||||
'hub.verify' => 'async',
|
||||
'hub.verify_token' => $this->verify_token,
|
||||
'hub.secret' => $this->secret,
|
||||
//'hub.lease_seconds' => 0,
|
||||
'hub.topic' => $this->feeduri);
|
||||
$client = new HTTPClient();
|
||||
$response = $client->post($this->huburi, $headers, $post);
|
||||
$status = $response->getStatus();
|
||||
if ($status == 202) {
|
||||
common_log(LOG_INFO, __METHOD__ . ': sub req ok, awaiting verification callback');
|
||||
return true;
|
||||
} else if ($status == 204) {
|
||||
common_log(LOG_INFO, __METHOD__ . ': sub req ok and verified');
|
||||
return true;
|
||||
} else if ($status >= 200 && $status < 300) {
|
||||
common_log(LOG_ERR, __METHOD__ . ": sub req returned unexpected HTTP $status: " . $response->getBody());
|
||||
return false;
|
||||
} else {
|
||||
common_log(LOG_ERR, __METHOD__ . ": sub req failed with HTTP $status: " . $response->getBody());
|
||||
return false;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
// wtf!
|
||||
common_log(LOG_ERR, __METHOD__ . ": error \"{$e->getMessage()}\" hitting hub $this->huburi subscribing to $this->feeduri");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save PuSH subscription confirmation.
|
||||
* Sets approximate lease start and end times and finalizes state.
|
||||
*
|
||||
* @param int $lease_seconds provided hub.lease_seconds parameter, if given
|
||||
*/
|
||||
public function confirmSubscribe($lease_seconds=0)
|
||||
{
|
||||
$original = clone($this);
|
||||
|
||||
$this->sub_state = 'active';
|
||||
$this->sub_start = common_sql_date(time());
|
||||
if ($lease_seconds > 0) {
|
||||
$this->sub_end = common_sql_date(time() + $lease_seconds);
|
||||
} else {
|
||||
$this->sub_end = null;
|
||||
}
|
||||
$this->lastupdate = common_sql_date();
|
||||
|
||||
return $this->update($original);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save PuSH unsubscription confirmation.
|
||||
* Wipes active PuSH sub info and resets state.
|
||||
*/
|
||||
public function confirmUnsubscribe()
|
||||
{
|
||||
$original = clone($this);
|
||||
|
||||
$this->verify_token = null;
|
||||
$this->secret = null;
|
||||
$this->sub_state = null;
|
||||
$this->sub_start = null;
|
||||
$this->sub_end = null;
|
||||
$this->lastupdate = common_sql_date();
|
||||
|
||||
return $this->update($original);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a PuSH unsubscription request to the hub for this feed.
|
||||
* The hub will later send us a confirmation POST to /main/push/callback.
|
||||
*
|
||||
* @return bool true on success, false on failure
|
||||
*/
|
||||
public function unsubscribe() {
|
||||
return $this->subscribe('unsubscribe');
|
||||
}
|
||||
|
||||
/**
|
||||
* Send an Activity Streams notification to the remote Salmon endpoint,
|
||||
* if so configured.
|
||||
*
|
||||
* @param Profile $actor
|
||||
* @param $verb eg Activity::SUBSCRIBE or Activity::JOIN
|
||||
* @param $object object of the action; if null, the remote entity itself is assumed
|
||||
*/
|
||||
public function notify(Profile $actor, $verb, $object=null)
|
||||
{
|
||||
if ($object == null) {
|
||||
$object = $this;
|
||||
}
|
||||
if ($this->salmonuri) {
|
||||
$text = 'update'; // @fixme
|
||||
$id = 'tag:' . common_config('site', 'server') .
|
||||
':' . $verb .
|
||||
':' . $actor->id .
|
||||
':' . time(); // @fixme
|
||||
|
||||
$entry = new Atom10Entry();
|
||||
$entry->elementStart('entry');
|
||||
$entry->element('id', null, $id);
|
||||
$entry->element('title', null, $text);
|
||||
$entry->element('summary', null, $text);
|
||||
$entry->element('published', null, common_date_w3dtf());
|
||||
|
||||
$entry->element('activity:verb', null, $verb);
|
||||
$entry->raw($profile->asAtomAuthor());
|
||||
$entry->raw($profile->asActivityActor());
|
||||
$entry->raw($object->asActivityNoun('object'));
|
||||
$entry->elmentEnd('entry');
|
||||
|
||||
$feed = $this->atomFeed($actor);
|
||||
$feed->initFeed();
|
||||
$feed->addEntry($entry);
|
||||
$feed->renderEntries();
|
||||
$feed->endFeed();
|
||||
|
||||
$xml = $feed->getString();
|
||||
common_log(LOG_INFO, "Posting to Salmon endpoint $salmon: $xml");
|
||||
|
||||
$salmon = new Salmon(); // ?
|
||||
$salmon->post($this->salmonuri, $xml);
|
||||
}
|
||||
}
|
||||
|
||||
function getBestName()
|
||||
{
|
||||
if ($this->isGroup()) {
|
||||
return $this->localGroup()->getBestName();
|
||||
} else {
|
||||
return $this->localProfile()->getBestName();
|
||||
}
|
||||
}
|
||||
|
||||
function atomFeed($actor)
|
||||
{
|
||||
$feed = new Atom10Feed();
|
||||
// @fixme should these be set up somewhere else?
|
||||
$feed->addNamespace('activity', 'http://activitystrea.ms/spec/1.0/');
|
||||
$feed->addNamesapce('thr', 'http://purl.org/syndication/thread/1.0');
|
||||
$feed->addNamespace('georss', 'http://www.georss.org/georss');
|
||||
$feed->addNamespace('ostatus', 'http://ostatus.org/schema/1.0');
|
||||
|
||||
$taguribase = common_config('integration', 'taguri');
|
||||
$feed->setId("tag:{$taguribase}:UserTimeline:{$actor->id}"); // ???
|
||||
|
||||
$feed->setTitle($actor->getBestName() . ' timeline'); // @fixme
|
||||
$feed->setUpdated(time());
|
||||
$feed->setPublished(time());
|
||||
|
||||
$feed->addLink(common_url('ApiTimelineUser',
|
||||
array('id' => $actor->id,
|
||||
'type' => 'atom')),
|
||||
array('rel' => 'self',
|
||||
'type' => 'application/atom+xml'));
|
||||
|
||||
$feed->addLink(common_url('userbyid',
|
||||
array('id' => $actor->id)),
|
||||
array('rel' => 'alternate',
|
||||
'type' => 'text/html'));
|
||||
|
||||
return $feed;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read and post notices for updates from the feed.
|
||||
* Currently assumes that all items in the feed are new,
|
||||
* coming from a PuSH hub.
|
||||
*
|
||||
* @param string $xml source of Atom or RSS feed
|
||||
* @param string $hmac X-Hub-Signature header, if present
|
||||
*/
|
||||
public function postUpdates($xml, $hmac)
|
||||
{
|
||||
common_log(LOG_INFO, __METHOD__ . ": packet for \"$this->feeduri\"! $hmac $xml");
|
||||
|
||||
if ($this->secret) {
|
||||
if (preg_match('/^sha1=([0-9a-fA-F]{40})$/', $hmac, $matches)) {
|
||||
$their_hmac = strtolower($matches[1]);
|
||||
$our_hmac = hash_hmac('sha1', $xml, $this->secret);
|
||||
if ($their_hmac !== $our_hmac) {
|
||||
common_log(LOG_ERR, __METHOD__ . ": ignoring PuSH with bad SHA-1 HMAC: got $their_hmac, expected $our_hmac");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
common_log(LOG_ERR, __METHOD__ . ": ignoring PuSH with bogus HMAC '$hmac'");
|
||||
return;
|
||||
}
|
||||
} else if ($hmac) {
|
||||
common_log(LOG_ERR, __METHOD__ . ": ignoring PuSH with unexpected HMAC '$hmac'");
|
||||
return;
|
||||
}
|
||||
|
||||
require_once "XML/Feed/Parser.php";
|
||||
$feed = new XML_Feed_Parser($xml, false, false, true);
|
||||
$munger = new FeedMunger($feed);
|
||||
|
||||
$hits = 0;
|
||||
foreach ($feed as $index => $entry) {
|
||||
// @fixme this might sort in wrong order if we get multiple updates
|
||||
|
||||
$notice = $munger->notice($index);
|
||||
|
||||
// Double-check for oldies
|
||||
// @fixme this could explode horribly for multiple feeds on a blog. sigh
|
||||
$dupe = new Notice();
|
||||
$dupe->uri = $notice->uri;
|
||||
if ($dupe->find(true)) {
|
||||
common_log(LOG_WARNING, __METHOD__ . ": tried to save dupe notice for entry {$notice->uri} of feed {$this->feeduri}");
|
||||
continue;
|
||||
}
|
||||
|
||||
// @fixme need to ensure that groups get handled correctly
|
||||
$saved = Notice::saveNew($notice->profile_id,
|
||||
$notice->content,
|
||||
'ostatus',
|
||||
array('is_local' => Notice::REMOTE_OMB,
|
||||
'uri' => $notice->uri,
|
||||
'lat' => $notice->lat,
|
||||
'lon' => $notice->lon,
|
||||
'location_ns' => $notice->location_ns,
|
||||
'location_id' => $notice->location_id));
|
||||
|
||||
/*
|
||||
common_log(LOG_DEBUG, "going to check group delivery...");
|
||||
if ($this->group_id) {
|
||||
$group = User_group::staticGet($this->group_id);
|
||||
if ($group) {
|
||||
common_log(LOG_INFO, __METHOD__ . ": saving to local shadow group $group->id $group->nickname");
|
||||
$groups = array($group);
|
||||
} else {
|
||||
common_log(LOG_INFO, __METHOD__ . ": lost the local shadow group?");
|
||||
}
|
||||
} else {
|
||||
common_log(LOG_INFO, __METHOD__ . ": no local shadow groups");
|
||||
$groups = array();
|
||||
}
|
||||
common_log(LOG_DEBUG, "going to add to inboxes...");
|
||||
$notice->addToInboxes($groups, array());
|
||||
common_log(LOG_DEBUG, "added to inboxes.");
|
||||
*/
|
||||
|
||||
$hits++;
|
||||
}
|
||||
if ($hits == 0) {
|
||||
common_log(LOG_INFO, __METHOD__ . ": no updates in packet for \"$this->feeduri\"! $xml");
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user