Merge branch '0.9.x' into TwitterBridgePlugin

This commit is contained in:
Zach Copley 2009-10-16 23:42:02 +00:00
commit 0bbc05c1d5
38 changed files with 8932 additions and 1865 deletions

View File

@ -291,3 +291,102 @@ EndShowHeadElements: Right before the </head> tag; put <script>s here if you nee
- $action: the current action
CheckSchema: chance to check the schema
StartProfilePageProfileSection: Starting to show the section of the
profile page with the actual profile data;
hook to prevent showing the profile (e.g.)
- $action: the current action
- &$profile: the profile being shown
StartProfilePageProfileElements: inside the section, before the first
element; prepend elements here
- $action: the current action
- &$profile: the profile being shown
EndProfilePageProfileElements: inside the section, after the last element;
append elements here
- $action: the current action
- &$profile: the profile being shown
EndProfilePageProfileSection: After showing the section of the profile
page with the profile elements
- $action: the current action
- &$profile: the profile being shown
StartProfilePageActionsSection: Starting to show the section of the
profile page with action links; hook
to hide them (for example)
- $action: the current action
- &$profile: the profile being shown
StartProfilePageActionsElements: inside the list, before the first
element; prepend elements here
- $action: the current action
- &$profile: the profile being shown
EndProfilePageActionsElements: inside the list, after the last element;
append elements here
- $action: the current action
- &$profile: the profile being shown
EndProfilePageActionsSection: After showing the section of the profile
page with the entity actions
- $action: the current action
- &$profile: the profile being shown
StartProfilePageAvatar: before showing the avatar on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageAvatar: after showing the avatar on the profile page
- $action: the current action
- &$profile: the profile being shown
StartProfilePageNickname: before showing the nickname on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageNickname: after showing the nickname on the profile page
- $action: the current action
- &$profile: the profile being shown
StartProfilePageFullName: before showing the fullname on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageFullName: after showing the fullname on the profile page
- $action: the current action
- &$profile: the profile being shown
StartProfilePageLocation: before showing the location on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageLocation: after showing the location on the profile page
- $action: the current action
- &$profile: the profile being shown
StartProfilePageHomepage: before showing the homepage link on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageHomepage: after showing the homepage on the profile page
- $action: the current action
- &$profile: the profile being shown
StartProfilePageBio: before showing the bio on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageBio: after showing the bio on the profile page
- $action: the current action
- &$profile: the profile being shown
StartProfilePageProfileTags: before showing the tags on the profile page
- $action: the current action
- &$profile: the profile being shown
EndProfilePageProfileTags: after showing the tags on the profile page
- $action: the current action
- &$profile: the profile being shown

41
README
View File

@ -839,40 +839,8 @@ to update it.
Notice inboxes
--------------
Before version 0.6.2, the page showing all notices from people the
user is subscribed to ("so-and-so with friends") was calculated at run
time. Starting with 0.6.2, we have a new data structure for holding a
user's "notice inbox". (Note: distinct from the "message inbox", which
is the "inbox" tab in the UI. The notice inbox appears under the
"Personal" tab.)
Notices are added to the inbox when they're created. This speeds up
the query considerably, and also allows us the opportunity, in the
future, to add different kind of notices to an inbox -- like @-replies
or subscriptions to search terms or hashtags.
Notice inboxes are enabled by default for new installations. If you
are upgrading an existing site, this means that your users will see
empty "Personal" pages. The following steps will help you fix the
problem.
0. $config['inboxes']['enabled'] can be set to one of three values. If
you set it to 'false', the site will work as before. Support for this
will probably be dropped in future versions.
1. Setting the flag to 'transitional' means that you're in transition.
In this mode, the code will run the "new query" or the "old query"
based on whether the user's inbox has been updated.
2. After setting the flag to "transitional", you can run the
fixup_inboxes.php script to create the inboxes. You may want to set
the memory limit high. You can re-run it without ill effect.
3. When fixup_inboxes is finished, you can set the enabled flag to
'true'.
NOTE: As of version 0.8.1 notice inboxes are automatically trimmed back
to ~1000 notices every once in a while.
NOTE: we will drop support for non-inboxed sites in the 0.9.x version
of StatusNet. It's time to switch now!
Notice inboxes are now required. If you don't have inboxes enabled,
StatusNet will no longer run.
UTF-8 Database
--------------
@ -1308,9 +1276,8 @@ inboxes
For notice inboxes.
enabled: A three-valued flag for whether to use notice inboxes (see
upgrading info above for notes about this change). Can be
'false', 'true', or '"transitional"'.
enabled: No longer used. If you set this to something other than true,
StatusNet will no longer run.
throttle
--------

View File

@ -157,7 +157,7 @@ class ApiDirectMessageNewAction extends ApiAuthAction
// Note: sending msgs to yourself is allowed by Twitter
$errmsg = 'Don\'t send a message to yourself; ' .
'just say it to yourself quietly instead.'
'just say it to yourself quietly instead.';
$this->clientError(_($errmsg), 403, $this->format);
return;

View File

@ -127,7 +127,7 @@ class ApiFavoriteCreateAction extends ApiAuthAction
if (empty($fave)) {
$this->clientError(
_('Could not create favorite.')
_('Could not create favorite.'),
403,
$this->format
);

View File

@ -99,15 +99,6 @@ class ApiGroupCreateAction extends ApiAuthAction
{
parent::handle($args);
if (!common_config('inboxes', 'enabled')) {
$this->serverError(
_('Inboxes must be enabled for groups to work'),
400,
$this->format
);
return false;
}
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
$this->clientError(
_('This method requires a POST.'),

View File

@ -64,11 +64,6 @@ class EditgroupAction extends GroupDesignAction
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
if (!common_logged_in()) {
$this->clientError(_('You must be logged in to create a group.'));
return false;

View File

@ -58,8 +58,15 @@ class FacebooksettingsAction extends FacebookAction
$this->flink->set_flags($noticesync, $replysync, false, false);
$result = $this->flink->update($original);
if ($prefix == '' || $prefix == '0') {
// Facebook bug: saving empty strings to prefs now fails
// http://bugs.developers.facebook.com/show_bug.cgi?id=7110
$trimmed = $prefix . ' ';
} else {
$trimmed = substr($prefix, 0, 128);
}
$this->facebook->api_client->data_setUserPreference(FACEBOOK_NOTICE_PREFIX,
substr($prefix, 0, 128));
$trimmed);
if ($result === false) {
$this->showForm(_('There was a problem saving your sync preferences!'));
@ -101,7 +108,7 @@ class FacebooksettingsAction extends FacebookAction
$this->elementStart('li');
$prefix = $this->facebook->api_client->data_getUserPreference(FACEBOOK_NOTICE_PREFIX);
$prefix = trim($this->facebook->api_client->data_getUserPreference(FACEBOOK_NOTICE_PREFIX));
$this->input('prefix', _('Prefix'),
($prefix) ? $prefix : null,

View File

@ -68,11 +68,6 @@ class GroupbyidAction extends Action
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
$id = $this->arg('id');
if (!$id) {

View File

@ -64,11 +64,6 @@ class GroupDesignSettingsAction extends DesignSettingsAction
{
parent::prepare($args);
if (!common_config('inboxes', 'enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
if (!common_logged_in()) {
$this->clientError(_('You must be logged in to edit a group.'));
return false;

View File

@ -66,11 +66,6 @@ class GrouplogoAction extends GroupDesignAction
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
if (!common_logged_in()) {
$this->clientError(_('You must be logged in to create a group.'));
return false;

View File

@ -76,11 +76,6 @@ class groupRssAction extends Rss10Action
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
$nickname_arg = $this->arg('nickname');
$nickname = common_canonical_nickname($nickname_arg);

View File

@ -56,11 +56,6 @@ class JoingroupAction extends Action
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
if (!common_logged_in()) {
$this->clientError(_('You must be logged in to join a group.'));
return false;

View File

@ -56,11 +56,6 @@ class LeavegroupAction extends Action
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work.'));
return false;
}
if (!common_logged_in()) {
$this->clientError(_('You must be logged in to leave a group.'));
return false;

View File

@ -61,11 +61,6 @@ class NewgroupAction extends Action
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
if (!common_logged_in()) {
$this->clientError(_('You must be logged in to create a group.'));
return false;

View File

@ -101,11 +101,6 @@ class ShowgroupAction extends GroupDesignAction
{
parent::prepare($args);
if (!common_config('inboxes','enabled')) {
$this->serverError(_('Inboxes must be enabled for groups to work'));
return false;
}
$this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
$nickname_arg = $this->arg('nickname');

View File

@ -115,11 +115,11 @@ class ShowstreamAction extends ProfileAction
{
if (!empty($this->tag)) {
return array(new Feed(Feed::RSS1,
common_local_url('userrss',
array('nickname' => $this->user->nickname,
'tag' => $this->tag)),
sprintf(_('Notice feed for %s tagged %s (RSS 1.0)'),
$this->user->nickname, $this->tag)));
common_local_url('userrss',
array('nickname' => $this->user->nickname,
'tag' => $this->tag)),
sprintf(_('Notice feed for %s tagged %s (RSS 1.0)'),
$this->user->nickname, $this->tag)));
}
return array(new Feed(Feed::RSS1,
@ -181,159 +181,251 @@ class ShowstreamAction extends ProfileAction
function showProfile()
{
$this->elementStart('div', 'entity_profile vcard author');
$this->element('h2', null, _('User profile'));
$this->showProfileData();
$this->showEntityActions();
}
$avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
$this->elementStart('dl', 'entity_depiction');
$this->element('dt', null, _('Photo'));
$this->elementStart('dd');
$this->element('img', array('src' => ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE),
'class' => 'photo avatar',
'width' => AVATAR_PROFILE_SIZE,
'height' => AVATAR_PROFILE_SIZE,
'alt' => $this->profile->nickname));
$this->elementEnd('dd');
function showProfileData()
{
if (Event::handle('StartProfilePageProfileSection', array(&$this, $this->profile))) {
$user = User::staticGet('id', $this->profile->id);
$cur = common_current_user();
if ($cur && $cur->id == $user->id) {
$this->elementStart('dd');
$this->element('a', array('href' => common_local_url('avatarsettings')), _('Edit Avatar'));
$this->elementEnd('dd');
$this->elementStart('div', 'entity_profile vcard author');
$this->element('h2', null, _('User profile'));
if (Event::handle('StartProfilePageProfileElements', array(&$this, $this->profile))) {
$this->showAvatar();
$this->showNickname();
$this->showFullName();
$this->showLocation();
$this->showHomepage();
$this->showBio();
$this->showProfileTags();
Event::handle('EndProfilePageProfileElements', array(&$this, $this->profile));
}
$this->elementEnd('div');
Event::handle('EndProfilePageProfileSection', array(&$this, $this->profile));
}
}
$this->elementEnd('dl');
function showAvatar()
{
if (Event::handle('StartProfilePageAvatar', array($this, $this->profile))) {
$this->elementStart('dl', 'entity_nickname');
$this->element('dt', null, _('Nickname'));
$this->elementStart('dd');
$hasFN = ($this->profile->fullname) ? 'nickname url uid' : 'fn nickname url uid';
$this->element('a', array('href' => $this->profile->profileurl,
'rel' => 'me', 'class' => $hasFN),
$this->profile->nickname);
$this->elementEnd('dd');
$this->elementEnd('dl');
$avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
if ($this->profile->fullname) {
$this->elementStart('dl', 'entity_fn');
$this->element('dt', null, _('Full name'));
$this->elementStart('dl', 'entity_depiction');
$this->element('dt', null, _('Photo'));
$this->elementStart('dd');
$this->element('span', 'fn', $this->profile->fullname);
$this->element('img', array('src' => ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE),
'class' => 'photo avatar',
'width' => AVATAR_PROFILE_SIZE,
'height' => AVATAR_PROFILE_SIZE,
'alt' => $this->profile->nickname));
$this->elementEnd('dd');
$user = User::staticGet('id', $this->profile->id);
$cur = common_current_user();
if ($cur && $cur->id == $user->id) {
$this->elementStart('dd');
$this->element('a', array('href' => common_local_url('avatarsettings')), _('Edit Avatar'));
$this->elementEnd('dd');
}
$this->elementEnd('dl');
Event::handle('EndProfilePageAvatar', array($this, $this->profile));
}
}
function showNickname()
{
if (Event::handle('StartProfilePageNickname', array($this, $this->profile))) {
$this->elementStart('dl', 'entity_nickname');
$this->element('dt', null, _('Nickname'));
$this->elementStart('dd');
$hasFN = ($this->profile->fullname) ? 'nickname url uid' : 'fn nickname url uid';
$this->element('a', array('href' => $this->profile->profileurl,
'rel' => 'me', 'class' => $hasFN),
$this->profile->nickname);
$this->elementEnd('dd');
$this->elementEnd('dl');
}
if ($this->profile->location) {
$this->elementStart('dl', 'entity_location');
$this->element('dt', null, _('Location'));
$this->element('dd', 'label', $this->profile->location);
$this->elementEnd('dl');
Event::handle('EndProfilePageNickname', array($this, $this->profile));
}
}
if ($this->profile->homepage) {
$this->elementStart('dl', 'entity_url');
$this->element('dt', null, _('URL'));
$this->elementStart('dd');
$this->element('a', array('href' => $this->profile->homepage,
'rel' => 'me', 'class' => 'url'),
$this->profile->homepage);
$this->elementEnd('dd');
$this->elementEnd('dl');
function showFullName()
{
if (Event::handle('StartProfilePageFullName', array($this, $this->profile))) {
if ($this->profile->fullname) {
$this->elementStart('dl', 'entity_fn');
$this->element('dt', null, _('Full name'));
$this->elementStart('dd');
$this->element('span', 'fn', $this->profile->fullname);
$this->elementEnd('dd');
$this->elementEnd('dl');
}
Event::handle('EndProfilePageFullName', array($this, $this->profile));
}
}
if ($this->profile->bio) {
$this->elementStart('dl', 'entity_note');
$this->element('dt', null, _('Note'));
$this->element('dd', 'note', $this->profile->bio);
$this->elementEnd('dl');
function showLocation()
{
if (Event::handle('StartProfilePageLocation', array($this, $this->profile))) {
if ($this->profile->location) {
$this->elementStart('dl', 'entity_location');
$this->element('dt', null, _('Location'));
$this->element('dd', 'label', $this->profile->location);
$this->elementEnd('dl');
}
Event::handle('EndProfilePageLocation', array($this, $this->profile));
}
}
$tags = Profile_tag::getTags($this->profile->id, $this->profile->id);
if (count($tags) > 0) {
$this->elementStart('dl', 'entity_tags');
$this->element('dt', null, _('Tags'));
$this->elementStart('dd');
$this->elementStart('ul', 'tags xoxo');
foreach ($tags as $tag) {
$this->elementStart('li');
// Avoid space by using raw output.
$pt = '<span class="mark_hash">#</span><a rel="tag" href="' .
function showHomepage()
{
if (Event::handle('StartProfilePageHomepage', array($this, $this->profile))) {
if ($this->profile->homepage) {
$this->elementStart('dl', 'entity_url');
$this->element('dt', null, _('URL'));
$this->elementStart('dd');
$this->element('a', array('href' => $this->profile->homepage,
'rel' => 'me', 'class' => 'url'),
$this->profile->homepage);
$this->elementEnd('dd');
$this->elementEnd('dl');
}
Event::handle('EndProfilePageHomepage', array($this, $this->profile));
}
}
function showBio()
{
if (Event::handle('StartProfilePageBio', array($this, $this->profile))) {
if ($this->profile->bio) {
$this->elementStart('dl', 'entity_note');
$this->element('dt', null, _('Note'));
$this->element('dd', 'note', $this->profile->bio);
$this->elementEnd('dl');
}
Event::handle('EndProfilePageBio', array($this, $this->profile));
}
}
function showProfileTags()
{
if (Event::handle('StartProfilePageProfileTags', array($this, $this->profile))) {
$tags = Profile_tag::getTags($this->profile->id, $this->profile->id);
if (count($tags) > 0) {
$this->elementStart('dl', 'entity_tags');
$this->element('dt', null, _('Tags'));
$this->elementStart('dd');
$this->elementStart('ul', 'tags xoxo');
foreach ($tags as $tag) {
$this->elementStart('li');
// Avoid space by using raw output.
$pt = '<span class="mark_hash">#</span><a rel="tag" href="' .
common_local_url('peopletag', array('tag' => $tag)) .
'">' . $tag . '</a>';
$this->raw($pt);
$this->elementEnd('li');
}
$this->elementEnd('ul');
$this->elementEnd('dd');
$this->elementEnd('dl');
}
$this->elementEnd('div');
$this->elementStart('div', 'entity_actions');
$this->element('h2', null, _('User actions'));
$this->elementStart('ul');
$cur = common_current_user();
if ($cur && $cur->id == $this->profile->id) {
$this->elementStart('li', 'entity_edit');
$this->element('a', array('href' => common_local_url('profilesettings'),
'title' => _('Edit profile settings')),
_('Edit'));
$this->elementEnd('li');
}
if ($cur) {
if ($cur->id != $this->profile->id) {
$this->elementStart('li', 'entity_subscribe');
if ($cur->isSubscribed($this->profile)) {
$usf = new UnsubscribeForm($this, $this->profile);
$usf->show();
} else {
$sf = new SubscribeForm($this, $this->profile);
$sf->show();
$this->raw($pt);
$this->elementEnd('li');
}
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('dd');
$this->elementEnd('dl');
}
} else {
$this->elementStart('li', 'entity_subscribe');
$this->showRemoteSubscribeLink();
$this->elementEnd('li');
Event::handle('EndProfilePageProfileTags', array($this, $this->profile));
}
}
if ($cur && $cur->id != $user->id && $cur->mutuallySubscribed($user)) {
$this->elementStart('li', 'entity_send-a-message');
$this->element('a', array('href' => common_local_url('newmessage', array('to' => $user->id)),
'title' => _('Send a direct message to this user')),
_('Message'));
$this->elementEnd('li');
function showEntityActions()
{
if (Event::handle('StartProfilePageActionsSection', array(&$this, $this->profile))) {
if ($user->email && $user->emailnotifynudge) {
$this->elementStart('li', 'entity_nudge');
$nf = new NudgeForm($this, $user);
$nf->show();
$this->elementEnd('li');
$this->elementStart('div', 'entity_actions');
$this->element('h2', null, _('User actions'));
$this->elementStart('ul');
if (Event::handle('StartProfilePageActionsElements', array(&$this, $this->profile))) {
if (empty($cur)) { // not logged in
$this->elementStart('li', 'entity_subscribe');
$this->showRemoteSubscribeLink();
$this->elementEnd('li');
} else {
if ($cur->id == $this->profile->id) { // your own page
$this->elementStart('li', 'entity_edit');
$this->element('a', array('href' => common_local_url('profilesettings'),
'title' => _('Edit profile settings')),
_('Edit'));
$this->elementEnd('li');
} else { // someone else's page
// subscribe/unsubscribe button
$this->elementStart('li', 'entity_subscribe');
if ($cur->isSubscribed($this->profile)) {
$usf = new UnsubscribeForm($this, $this->profile);
$usf->show();
} else {
$sf = new SubscribeForm($this, $this->profile);
$sf->show();
}
$this->elementEnd('li');
if ($cur->mutuallySubscribed($user)) {
// message
$this->elementStart('li', 'entity_send-a-message');
$this->element('a', array('href' => common_local_url('newmessage', array('to' => $user->id)),
'title' => _('Send a direct message to this user')),
_('Message'));
$this->elementEnd('li');
// nudge
if ($user->email && $user->emailnotifynudge) {
$this->elementStart('li', 'entity_nudge');
$nf = new NudgeForm($this, $user);
$nf->show();
$this->elementEnd('li');
}
}
// block/unblock
$blocked = $cur->hasBlocked($this->profile);
$this->elementStart('li', 'entity_block');
if ($blocked) {
$ubf = new UnblockForm($this, $this->profile,
array('action' => 'showstream',
'nickname' => $this->profile->nickname));
$ubf->show();
} else {
$bf = new BlockForm($this, $this->profile,
array('action' => 'showstream',
'nickname' => $this->profile->nickname));
$bf->show();
}
$this->elementEnd('li');
}
}
Event::handle('EndProfilePageActionsElements', array(&$this, $this->profile));
}
}
if ($cur && $cur->id != $this->profile->id) {
$blocked = $cur->hasBlocked($this->profile);
$this->elementStart('li', 'entity_block');
if ($blocked) {
$ubf = new UnblockForm($this, $this->profile,
array('action' => 'showstream',
'nickname' => $this->profile->nickname));
$ubf->show();
} else {
$bf = new BlockForm($this, $this->profile,
array('action' => 'showstream',
'nickname' => $this->profile->nickname));
$bf->show();
}
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('div');
Event::handle('EndProfilePageActionsSection', array(&$this, $this->profile));
}
$this->elementEnd('ul');
$this->elementEnd('div');
}
function showRemoteSubscribeLink()
@ -369,7 +461,7 @@ class ShowstreamAction extends ProfileAction
function showNotices()
{
$notice = empty($this->tag)
? $this->user->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1)
? $this->user->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1)
: $this->user->getTaggedNotices($this->tag, ($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1, 0, 0, null);
$pnl = new ProfileNoticeList($notice, $this);
@ -391,14 +483,14 @@ class ShowstreamAction extends ProfileAction
{
if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [StatusNet](http://status.net/) tool. ' .
'[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
$this->user->nickname, $this->user->nickname);
'based on the Free Software [StatusNet](http://status.net/) tool. ' .
'[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
$this->user->nickname, $this->user->nickname);
} else {
$m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
'based on the Free Software [StatusNet](http://status.net/) tool. '),
$this->user->nickname, $this->user->nickname);
}
'based on the Free Software [StatusNet](http://status.net/) tool. '),
$this->user->nickname, $this->user->nickname);
}
$this->elementStart('div', array('id' => 'anon_notice'));
$this->raw(common_markup_to_html($m));
$this->elementEnd('div');

View File

@ -111,10 +111,9 @@ class Notice extends Memcached_DataObject
'Fave',
'Notice_tag',
'Group_inbox',
'Queue_item');
if (common_config('inboxes', 'enabled')) {
$related[] = 'Notice_inbox';
}
'Queue_item',
'Notice_inbox');
foreach ($related as $cls) {
$inst = new $cls();
$inst->notice_id = $this->id;
@ -883,66 +882,61 @@ class Notice extends Memcached_DataObject
function addToInboxes()
{
$enabled = common_config('inboxes', 'enabled');
// XXX: loads constants
if ($enabled === true || $enabled === 'transitional') {
$inbox = new Notice_inbox();
// XXX: loads constants
$users = $this->getSubscribedUsers();
$inbox = new Notice_inbox();
// FIXME: kind of ignoring 'transitional'...
// we'll probably stop supporting inboxless mode
// in 0.9.x
$users = $this->getSubscribedUsers();
$ni = array();
// FIXME: kind of ignoring 'transitional'...
// we'll probably stop supporting inboxless mode
// in 0.9.x
foreach ($users as $id) {
$ni[$id] = NOTICE_INBOX_SOURCE_SUB;
}
$ni = array();
$groups = $this->saveGroups();
foreach ($groups as $group) {
$users = $group->getUserMembers();
foreach ($users as $id) {
$ni[$id] = NOTICE_INBOX_SOURCE_SUB;
}
$groups = $this->saveGroups();
foreach ($groups as $group) {
$users = $group->getUserMembers();
foreach ($users as $id) {
if (!array_key_exists($id, $ni)) {
$ni[$id] = NOTICE_INBOX_SOURCE_GROUP;
}
if (!array_key_exists($id, $ni)) {
$ni[$id] = NOTICE_INBOX_SOURCE_GROUP;
}
}
}
$cnt = 0;
$cnt = 0;
$qryhdr = 'INSERT INTO notice_inbox (user_id, notice_id, source, created) VALUES ';
$qry = $qryhdr;
foreach ($ni as $id => $source) {
if ($cnt > 0) {
$qry .= ', ';
}
$qry .= '('.$id.', '.$this->id.', '.$source.", '".$this->created. "') ";
$cnt++;
if (rand() % NOTICE_INBOX_SOFT_LIMIT == 0) {
// FIXME: Causes lag in replicated servers
// Notice_inbox::gc($id);
}
if ($cnt >= MAX_BOXCARS) {
$inbox = new Notice_inbox();
$inbox->query($qry);
$qry = $qryhdr;
$cnt = 0;
}
}
$qryhdr = 'INSERT INTO notice_inbox (user_id, notice_id, source, created) VALUES ';
$qry = $qryhdr;
foreach ($ni as $id => $source) {
if ($cnt > 0) {
$qry .= ', ';
}
$qry .= '('.$id.', '.$this->id.', '.$source.", '".$this->created. "') ";
$cnt++;
if (rand() % NOTICE_INBOX_SOFT_LIMIT == 0) {
// FIXME: Causes lag in replicated servers
// Notice_inbox::gc($id);
}
if ($cnt >= MAX_BOXCARS) {
$inbox = new Notice_inbox();
$inbox->query($qry);
$qry = $qryhdr;
$cnt = 0;
}
}
if ($cnt > 0) {
$inbox = new Notice_inbox();
$inbox->query($qry);
}
return;
}
@ -977,11 +971,6 @@ class Notice extends Memcached_DataObject
{
$groups = array();
$enabled = common_config('inboxes', 'enabled');
if ($enabled !== true && $enabled !== 'transitional') {
return $groups;
}
/* extract all !group */
$count = preg_match_all('/(?:^|\s)!([A-Za-z0-9]{1,64})/',
strtolower($this->content),

View File

@ -227,11 +227,9 @@ class User extends Memcached_DataObject
}
}
$inboxes = common_config('inboxes', 'enabled');
// This flag is ignored but still set to 1
if ($inboxes === true || $inboxes == 'transitional') {
$user->inboxed = 1;
}
$user->inboxed = 1;
$user->created = common_sql_now();
$user->uri = common_user_uri($user);
@ -433,55 +431,16 @@ class User extends Memcached_DataObject
function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
{
$enabled = common_config('inboxes', 'enabled');
$ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, false);
// Complicated code, depending on whether we support inboxes yet
// XXX: make this go away when inboxes become mandatory
if ($enabled === false ||
($enabled == 'transitional' && $this->inboxed == 0)) {
$qry =
'SELECT notice.* ' .
'FROM notice JOIN subscription ON notice.profile_id = subscription.subscribed ' .
'WHERE subscription.subscriber = %d ' .
'AND notice.is_local != ' . Notice::GATEWAY;
return Notice::getStream(sprintf($qry, $this->id),
'user:notices_with_friends:' . $this->id,
$offset, $limit, $since_id, $before_id,
$order, $since);
} else if ($enabled === true ||
($enabled == 'transitional' && $this->inboxed == 1)) {
$ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, false);
return Notice::getStreamByIds($ids);
}
return Notice::getStreamByIds($ids);
}
function noticeInbox($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
{
$enabled = common_config('inboxes', 'enabled');
$ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, true);
// Complicated code, depending on whether we support inboxes yet
// XXX: make this go away when inboxes become mandatory
if ($enabled === false ||
($enabled == 'transitional' && $this->inboxed == 0)) {
$qry =
'SELECT notice.* ' .
'FROM notice JOIN subscription ON notice.profile_id = subscription.subscribed ' .
'WHERE subscription.subscriber = %d ';
return Notice::getStream(sprintf($qry, $this->id),
'user:notices_with_friends:' . $this->id,
$offset, $limit, $since_id, $before_id,
$order, $since);
} else if ($enabled === true ||
($enabled == 'transitional' && $this->inboxed == 1)) {
$ids = Notice_inbox::stream($this->id, $offset, $limit, $since_id, $before_id, $since, true);
return Notice::getStreamByIds($ids);
}
return Notice::getStreamByIds($ids);
}
function blowFavesCache()
@ -752,12 +711,9 @@ class User extends Memcached_DataObject
'Remember_me',
'Foreign_link',
'Invitation',
'Notice_inbox',
);
if (common_config('inboxes', 'enabled')) {
$related[] = 'Notice_inbox';
}
foreach ($related as $cls) {
$inst = new $cls();
$inst->user_id = $this->id;

View File

@ -1,3 +1,19 @@
2006-02-28 Danilo Šegan <danilo@gnome.org>
* gettext.php: Added some comments about these workarounds for
different PHP versions and architectures.
2006-02-28 Danilo Šegan <danilo@gnome.org>
Fixes bug #15923.
* gettext.php (gettext_reader): make magic check work on 64-bit
platforms as well (by Steffen Pingel).
2006-02-20 Danilo Šegan <danilo@gnome.org>
* gettext.inc (_bindtextdomain): Use php_uname to detect Windows.
2006-02-07 Danilo Šegan <danilo@gnome.org>
* examples/pigs_dropin.php: comment-out bind_textdomain_codeset

View File

@ -148,9 +148,9 @@ function _setlocale($category, $locale) {
*/
function _bindtextdomain($domain, $path) {
global $text_domains;
// ensure $path ends with a slash
if ($path[strlen($path) - 1] != '/') $path .= '/';
elseif ($path[strlen($path) - 1] != '\\') $path .= '\\';
// ensure $path ends with a slash
if ($path[strlen($path) - 1] != '/') $path .= '/';
elseif ($path[strlen($path) - 1] != '\\') $path .= '\\';
$text_domains[$domain]->path = $path;
}

View File

@ -102,16 +102,16 @@ class gettext_reader {
// Caching can be turned off
$this->enable_cache = $enable_cache;
// $MAGIC1 = (int)0x950412de; //bug in PHP 5
// $MAGIC1 = (int)0x950412de; //bug in PHP 5.0.2, see https://savannah.nongnu.org/bugs/?func=detailitem&item_id=10565
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;
$this->STREAM = $Reader;
$magic = $this->readint();
if ($magic == $MAGIC1) {
if ($magic == ($MAGIC1 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {
$this->BYTEORDER = 1;
} else {
$this->error = 1; // not MO file

View File

@ -372,7 +372,7 @@ function showLibs()
}
echo<<<E_O_T
<div class="instructions">
<p>Laconica comes bundled with a number of libraries required for the application to work. However, it is best that you use PEAR or you distribution to manage
<p>StatusNet comes bundled with a number of libraries required for the application to work. However, it is best that you use PEAR or you distribution to manage
libraries instead, as they tend to provide security updates faster, and may offer improved performance.</p>
<p>On Debian based distributions, such as Ubuntu, use a package manager (such as &quot;aptitude&quot;, &quot;apt-get&quot;, and &quot;synaptic&quot;) to install the package listed.</p>
<p>On RPM based distributions, such as Red Hat, Fedora, CentOS, Scientific Linux, Yellow Dog Linux and Oracle Enterprise Linux, use a package manager (such as &quot;yum&quot;, &quot;apt-rpm&quot;, and &quot;up2date&quot;) to install the package listed.</p>
@ -384,7 +384,7 @@ E_O_T;
foreach ($absent_libraries as $library) {
echo '<li>';
if (isset($library['url'])) {
echo '<a href=">'.$library['url'].'">'.htmlentities($library['name']).'</a>';
echo '<a href="'.$library['url'].'">'.htmlentities($library['name']).'</a>';
} else {
echo htmlentities($library['name']);
}
@ -408,7 +408,7 @@ E_O_T;
foreach ($present_libraries as $library) {
echo '<li>';
if (isset($library['url'])) {
echo '<a href=">'.$library['url'].'">'.htmlentities($library['name']).'</a>';
echo '<a href="'.$library['url'].'">'.htmlentities($library['name']).'</a>';
} else {
echo htmlentities($library['name']);
}
@ -439,7 +439,7 @@ function showForm()
<dd>
<div class="instructions">
<p>Enter your database connection information below to initialize the database.</p>
<p>Laconica bundles a number of libraries for ease of installation. <a href="?checklibs=true">You can see what bundled libraries you are using, versus what libraries are installed on your server.</a>
<p>StatusNet bundles a number of libraries for ease of installation. <a href="?checklibs=true">You can see what bundled libraries you are using, versus what libraries are installed on your server.</a>
</div>
</dd>
</dl>

View File

@ -157,7 +157,7 @@ $default =
'ping' =>
array('notify' => array()),
'inboxes' =>
array('enabled' => true), # on by default for new sites
array('enabled' => true), # ignored after 0.9.x
'newuser' =>
array('default' => null,
'welcome' => null),

View File

@ -99,8 +99,8 @@ function facebookBroadcastNotice($notice)
// XXX: Does this call count against our per user FB request limit?
// If so we should consider storing verb elsewhere or not storing
$prefix = $facebook->api_client->data_getUserPreference(FACEBOOK_NOTICE_PREFIX,
$fbuid);
$prefix = trim($facebook->api_client->data_getUserPreference(FACEBOOK_NOTICE_PREFIX,
$fbuid));
$status = "$prefix $notice->content";

View File

@ -3,24 +3,24 @@
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2009-09-08 20:21+0000\n"
"Last-Translator: Giannis Pappas <papasj@mailinator.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Pootle 1.1.0\n"
#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
#: actions/noticesearchrss.php:88
#, php-format
msgid " Search Stream for \"%s\""
msgstr ""
msgstr "Αναζήτηση ροής για \"%s\""
#: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
#: actions/finishopenidlogin.php:88 actions/register.php:205
@ -28,11 +28,13 @@ msgstr ""
msgid ""
" except this private data: password, email address, IM address, phone number."
msgstr ""
"εκτός από τα εξής προσωπικά δεδομένα: κωδικός πρόσβασης, διεύθυνση email, "
"διεύθυνση IM, τηλεφωνικό νούμερο."
#: ../actions/showstream.php:400 ../lib/stream.php:109
#: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
msgid " from "
msgstr ""
msgstr "από"
#: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
#: actions/twitapistatuses.php:347
@ -108,7 +110,7 @@ msgstr ""
#: actions/invite.php:99 actions/invite.php:123 actions/invite.php:131
#, php-format
msgid "%s (%s)"
msgstr ""
msgstr "%s (%s)"
#: ../actions/publicrss.php:62 actions/publicrss.php:48
#: actions/publicrss.php:90
@ -134,13 +136,14 @@ msgstr ""
#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
#, php-format
msgid "%s status"
msgstr ""
msgstr "Κατάσταση του/της %s"
#: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
#: actions/twitapistatuses.php:199
#, php-format
#, fuzzy
msgid "%s timeline"
msgstr ""
msgstr "Χρονοδιάγραμμα του χρήστη %s"
#: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
#: actions/twitapistatuses.php:36
@ -153,18 +156,25 @@ msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
msgstr ""
"(Σύντομα θα λάβετε μέσω ηλεκτρονικού ταχυδρομείου ένα μήνυμα με οδηγίες για "
"την επιβεβαίωση της ηλεκτρονικής σας διεύθυνσης.)"
#: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
#, php-format
#, fuzzy
msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
msgstr ""
"To **%%site.name%%** είναι μία υπηρεσία microblogging (μικρο-ιστολογίου) που "
"έφερε κοντά σας το [%%site.broughtby%%](%%site.broughtbyurl%%). "
#: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
#, php-format
#, fuzzy
msgid "**%%site.name%%** is a microblogging service. "
msgstr ""
"Το **%%site.name%%** είναι μία υπηρεσία microblogging (μικρο-ιστολογίου). "
#: ../lib/util.php:274 lib/util.php:290
msgid ". Contributors should be attributed by full name or nickname."
@ -175,11 +185,11 @@ msgstr ""
#: actions/finishopenidlogin.php:101 actions/profilesettings.php:100
#: lib/groupeditform.php:139
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
msgstr "1-64 μικρά γράμματα ή αριθμοί, χωρίς σημεία στίξης ή κενά"
#: ../actions/register.php:152 actions/register.php:166
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
msgstr "1-64 μικρά γράμματα ή αριθμοί, χωρίς σημεία στίξης ή κενά. Απαραίτητο."
#: ../actions/password.php:42 actions/profilesettings.php:181
#: actions/passwordsettings.php:102
@ -194,7 +204,7 @@ msgstr "6 ή περισσότεροι χαρακτήρες και μην το ξ
#: ../actions/register.php:154 actions/register.php:168
#: actions/register.php:373
msgid "6 or more characters. Required."
msgstr ""
msgstr "6 ή περισσότεροι χαρακτήρες. Απαραίτητο."
#: ../actions/imsettings.php:197 actions/imsettings.php:205
#, php-format
@ -202,18 +212,26 @@ msgid ""
"A confirmation code was sent to the IM address you added. You must approve %"
"s for sending messages to you."
msgstr ""
"Έχει αποσταλεί ένας κωδικός επιβεβαίωσης στην διεύθυνση IM που προσθέσατε. "
"Πρέπει να αποδεχτείτε τον/την %s για αποστολή μηνυμάτων προς εσας. "
#: ../actions/emailsettings.php:213 actions/emailsettings.php:231
msgid ""
"A confirmation code was sent to the email address you added. Check your "
"inbox (and spam box!) for the code and instructions on how to use it."
msgstr ""
"Έχει αποσταλεί ένας κωδικός επιβεβαίωσης στην διεύθυνση email που "
"προσθέσατε. Ελέγξτε τα εισερχόμενα (και τον φάκελο ανεπιθύμητης "
"αλληλογραφίας) για τον κωδικό και για το πως να τον χρησιμοποιήσετε."
#: ../actions/smssettings.php:216 actions/smssettings.php:224
msgid ""
"A confirmation code was sent to the phone number you added. Check your inbox "
"(and spam box!) for the code and instructions on how to use it."
msgstr ""
"Έχει αποσταλεί ένας κωδικός επιβεβαίωσης στο τηλεφωνικό νούμερο που "
"προσθέσατε. Ελέγξτε τα εισερχόμενα (και τον φάκελο ανεπιθύμητης "
"αλληλογραφίας) για τον κωδικό και για το πως να τον χρησιμοποιήσετε."
#: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
#: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@ -235,7 +253,7 @@ msgstr ""
#: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
#: actions/twitapiusers.php:32
msgid "API method not found!"
msgstr ""
msgstr "Η μέθοδος του ΑΡΙ δε βρέθηκε!"
#: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
#: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
@ -258,7 +276,7 @@ msgstr ""
#: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
#: actions/twitapistatuses.php:562
msgid "API method under construction."
msgstr ""
msgstr "Η μέθοδος του ΑΡΙ είναι υπό κατασκευή."
#: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
msgid "About"
@ -287,7 +305,7 @@ msgstr "Προσθήκη OpenID"
#: ../lib/settingsaction.php:97 lib/settingsaction.php:91
#: lib/accountsettingsaction.php:117
msgid "Add or remove OpenIDs"
msgstr ""
msgstr "Προσθήκη ή διαγραφή OpenIDs"
#: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
#: ../actions/smssettings.php:39 actions/emailsettings.php:39
@ -299,24 +317,24 @@ msgstr "Διεύθυνση"
#: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
msgid "Addresses of friends to invite (one per line)"
msgstr ""
msgstr "Διευθύνσεις φίλων σου που θες να προσκαλέσεις (μία ανά γραμμή)"
#: ../actions/showstream.php:273 actions/showstream.php:288
#: actions/showstream.php:422
msgid "All subscriptions"
msgstr ""
msgstr "Όλες οι συνδρομές"
#: ../actions/publicrss.php:64 actions/publicrss.php:50
#: actions/publicrss.php:92
#, php-format
msgid "All updates for %s"
msgstr ""
msgstr "Όλες οι ενημερώσεις για %s"
#: ../actions/noticesearchrss.php:66 actions/noticesearchrss.php:70
#: actions/noticesearchrss.php:90
#, php-format
msgid "All updates matching search term \"%s\""
msgstr ""
msgstr "Όλες οι ενημερώσεις που ταιριάζουν με τον όρο αναζήτησης \"%s\""
#: ../actions/finishopenidlogin.php:29 ../actions/login.php:31
#: ../actions/openidlogin.php:29 ../actions/register.php:30
@ -325,31 +343,34 @@ msgstr ""
#: actions/finishopenidlogin.php:34 actions/login.php:77
#: actions/openidlogin.php:30 actions/register.php:92
msgid "Already logged in."
msgstr ""
msgstr "Ήδη συνδεδεμένος."
#: ../lib/subs.php:42 lib/subs.php:42 lib/subs.php:49
msgid "Already subscribed!."
msgstr ""
msgstr "Είσαι ήδη συνδρομητής!."
#: ../actions/deletenotice.php:54 actions/deletenotice.php:55
#: actions/deletenotice.php:113
msgid "Are you sure you want to delete this notice?"
msgstr ""
msgstr "Είσαι σίγουρος ότι θες να διαγράψεις αυτό το μήνυμα;"
#: ../actions/userauthorization.php:77 actions/userauthorization.php:83
#: actions/userauthorization.php:81
msgid "Authorize subscription"
msgstr ""
msgstr "Εξουσιοδοτημένη συνδρομή"
#: ../actions/login.php:104 ../actions/register.php:178
#: actions/register.php:192
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
msgstr "Αυτόματη σύνδεση στο μέλλον. ΟΧΙ για κοινόχρηστους υπολογιστές!"
#: ../actions/profilesettings.php:65 actions/profilesettings.php:98
#, fuzzy
msgid ""
"Automatically subscribe to whoever subscribes to me (best for non-humans)"
msgstr ""
"Αυτόματα γίνε συνδρομητής σε όσους γίνονται συνδρομητές σε μένα (χρήση "
"κυρίως από λογισμικό και όχι ανθρώπους)"
#: ../actions/avatar.php:32 ../lib/settingsaction.php:90
#: actions/profilesettings.php:34 actions/avatarsettings.php:65
@ -364,25 +385,33 @@ msgstr ""
#: ../actions/imsettings.php:55 actions/imsettings.php:56
#, php-format
#, fuzzy
msgid ""
"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
"message with further instructions. (Did you add %s to your buddy list?)"
msgstr ""
"Αναμένωντας επιβεβαίωση σε αυτή τη διεύθυνση. Έλεγξε το Jabber/GTalk "
"λογαριασμό σου για μήνυμα με περαιτέρω οδηγίες. (Πρόσθεσες το χρήστη %s στη "
"λίστα φίλων?)"
#: ../actions/emailsettings.php:54 actions/emailsettings.php:55
#, fuzzy
msgid ""
"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
"a message with further instructions."
msgstr ""
"Αναμένωντας επιβεβαίωση σε αυτή τη διεύθυνση. Έλεγξε το mail σου (και το "
"φάκελο spam!) για μήνυμα με περαιτέρω οδηγίες. "
#: ../actions/smssettings.php:58 actions/smssettings.php:58
#: actions/smssettings.php:111
msgid "Awaiting confirmation on this phone number."
msgstr ""
msgstr "Αναμένωντας επιβεβαίωση σ' αυτό το νούμερο τηλεφώνου."
#: ../lib/util.php:1318 lib/util.php:1452
#, fuzzy
msgid "Before »"
msgstr ""
msgstr "Προηγούμενο »"
#: ../actions/profilesettings.php:49 ../actions/register.php:170
#: actions/profilesettings.php:82 actions/register.php:184
@ -399,8 +428,9 @@ msgid "Bio is too long (max 140 chars)."
msgstr "Το βιογραφικό είναι πολύ μεγάλο (μέγιστο 140 χαρακτ.)."
#: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
#, fuzzy
msgid "Can't delete this notice."
msgstr ""
msgstr "Αδυναμία διαγραφής αυτού του μηνύματος."
#: ../actions/updateprofile.php:119 actions/updateprofile.php:120
#: actions/updateprofile.php:123
@ -424,17 +454,17 @@ msgstr "Ακύρωση"
#: ../lib/openid.php:121 lib/openid.php:121 lib/openid.php:130
msgid "Cannot instantiate OpenID consumer object."
msgstr ""
msgstr "Απέτυχη η χρήση αντικειμένου OpenID consumer."
#: ../actions/imsettings.php:163 actions/imsettings.php:171
#: actions/imsettings.php:286
msgid "Cannot normalize that Jabber ID"
msgstr ""
msgstr "Αδυναμία κανονικοποίησης του Jabber ID"
#: ../actions/emailsettings.php:181 actions/emailsettings.php:199
#: actions/emailsettings.php:311
msgid "Cannot normalize that email address"
msgstr ""
msgstr "Αδυναμία κανονικοποίησης αυτής της email διεύθυνσης"
#: ../actions/password.php:45 actions/profilesettings.php:184
#: actions/passwordsettings.php:110
@ -453,12 +483,12 @@ msgstr "Αλλαγή κωδικού"
#: ../lib/settingsaction.php:94 lib/accountsettingsaction.php:111
msgid "Change your password"
msgstr ""
msgstr "Αλλάξτε τον κωδικό σας"
#: ../lib/settingsaction.php:85 lib/settingsaction.php:85
#: lib/accountsettingsaction.php:105
msgid "Change your profile settings"
msgstr ""
msgstr "Αλλάξτε τις ρυθμίσεις του προφίλ σας"
#: ../actions/password.php:43 ../actions/recoverpassword.php:181
#: ../actions/register.php:155 ../actions/smssettings.php:65
@ -494,6 +524,7 @@ msgstr "Ο κωδικός επιβεβαίωσης δεν βρέθηκε."
#: ../actions/register.php:202
#, php-format
#, fuzzy
msgid ""
"Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
"want to...\n"
@ -510,6 +541,22 @@ msgid ""
"\n"
"Thanks for signing up and we hope you enjoy using this service."
msgstr ""
"Συγχαρητήρια, %s! και καλωσήρθες στο %%%%site.name%%%%. Από εδώ μπορείς "
"να...\n"
"\n"
"* Πας στο [your profile](%s) και να στείλεις το πρώτο σου μήνυμα.\n"
"* Προσθέσεις ένα [Jabber/GTalk address](%%%%action.imsettings%%%%) ώστε να "
"δέχεσε μηνύματα στο instant messager σου.\n"
"* [Search for people](%%%%action.peoplesearch%%%%) που μπορεί να ξέρεις ή "
"που έχουν τα ίδια ενδιαφέροντα με σένα. \n"
"* Ενημερώσεις το προφίλ σου [profile "
"settings](%%%%action.profilesettings%%%%) για να μάθουν οι άλλοι περισσότερα "
"για σένα. \n"
"* Διαβάσεις τα [online docs](%%%%doc.help%%%%) για λειτουργίες που μπορεί να "
"μην έχεις μάθει ακόμα. \n"
"\n"
"Ευχαριστούμε που εγγράφηκες και ευχόμαστε να περάσεις καλά με την υπηρεσία "
"μας."
#: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
#: actions/finishopenidlogin.php:119 lib/action.php:330
@ -528,29 +575,29 @@ msgstr "Επικοινωνία"
#: ../lib/openid.php:178 lib/openid.php:178 lib/openid.php:187
#, php-format
msgid "Could not create OpenID form: %s"
msgstr ""
msgstr "Αδυναμία δημιουργίας φόρμας OpenID: %s "
#: ../actions/twitapifriendships.php:60 ../actions/twitapifriendships.php:76
#: actions/twitapifriendships.php:60 actions/twitapifriendships.php:76
#: actions/twitapifriendships.php:48 actions/twitapifriendships.php:64
#, php-format
msgid "Could not follow user: %s is already on your list."
msgstr ""
msgstr "Δε μπορώ να ακολουθήσω το χρήστη: ο χρήστης %s είναι ήδη στη λίστα σου."
#: ../actions/twitapifriendships.php:53 actions/twitapifriendships.php:53
#: actions/twitapifriendships.php:41
msgid "Could not follow user: User not found."
msgstr ""
msgstr "Δε μπορώ να ακολουθήσω το χρήστη: ο χρήστης δε βρέθηκε."
#: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
#, php-format
msgid "Could not redirect to server: %s"
msgstr ""
msgstr "Αδυναμία ανακατεύθηνσης στο διακομιστή: %s"
#: ../actions/updateprofile.php:162 actions/updateprofile.php:163
#: actions/updateprofile.php:166
msgid "Could not save avatar info"
msgstr ""
msgstr "Δε μπόρεσα να σώσω την πληροφορία του avatar"
#: ../actions/updateprofile.php:155 actions/updateprofile.php:156
#: actions/updateprofile.php:159
@ -559,21 +606,21 @@ msgstr "Αδύνατη η αποθήκευση των νέων πληροφορ
#: ../lib/subs.php:54 lib/subs.php:61 lib/subs.php:72
msgid "Could not subscribe other to you."
msgstr ""
msgstr "Δεν επιτρέπεται να κάνεις συνδρομητές του λογαριασμού σου άλλους."
#: ../lib/subs.php:46 lib/subs.php:46 lib/subs.php:57
msgid "Could not subscribe."
msgstr ""
msgstr "Απέτυχε η συνδρομή."
#: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
#: actions/recoverpassword.php:111
msgid "Could not update user with confirmed email address."
msgstr ""
msgstr "Απέτυχε η ενημέρωση χρήστη μέσω επιβεβαιωμένης email διεύθυνσης."
#: ../actions/finishremotesubscribe.php:99
#: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
msgid "Couldn't convert request tokens to access tokens."
msgstr ""
msgstr "Απέτυχε η μετατροπή αιτούμενων tokens σε tokens πρόσβασης."
#: ../actions/confirmaddress.php:84 ../actions/emailsettings.php:234
#: ../actions/imsettings.php:218 ../actions/smssettings.php:241
@ -582,16 +629,16 @@ msgstr ""
#: actions/confirmaddress.php:126 actions/emailsettings.php:375
#: actions/imsettings.php:357 actions/smssettings.php:370
msgid "Couldn't delete email confirmation."
msgstr ""
msgstr "Απέτυχε η διαγραφή email επιβεβαίωσης."
#: ../lib/subs.php:103 lib/subs.php:116 lib/subs.php:134
msgid "Couldn't delete subscription."
msgstr ""
msgstr "Απέτυχε η διαγραφή συνδρομής."
#: ../actions/twitapistatuses.php:93 actions/twitapistatuses.php:98
#: actions/twitapistatuses.php:84
msgid "Couldn't find any statuses."
msgstr ""
msgstr "Απέτυχε η εύρεση οποιασδήποτε κατάστασης."
#: ../actions/remotesubscribe.php:127 actions/remotesubscribe.php:136
#: actions/remotesubscribe.php:178
@ -604,29 +651,29 @@ msgstr ""
#: actions/emailsettings.php:337 actions/imsettings.php:311
#: actions/smssettings.php:325
msgid "Couldn't insert confirmation code."
msgstr ""
msgstr "Απέτυχε η εισαγωγή κωδικού επιβεβαίωσης."
#: ../actions/finishremotesubscribe.php:180
#: actions/finishremotesubscribe.php:182 actions/finishremotesubscribe.php:218
msgid "Couldn't insert new subscription."
msgstr ""
msgstr "Απέτυχε η εισαγωγή νέας συνδρομής."
#: ../actions/profilesettings.php:184 ../actions/twitapiaccount.php:96
#: actions/profilesettings.php:299 actions/twitapiaccount.php:94
#: actions/profilesettings.php:302 actions/twitapiaccount.php:81
msgid "Couldn't save profile."
msgstr "Αδύνατη η αποθήκευση του προφίλ."
msgstr "Απέτυχε η αποθήκευση του προφίλ."
#: ../actions/profilesettings.php:161 actions/profilesettings.php:276
#: actions/profilesettings.php:279
msgid "Couldn't update user for autosubscribe."
msgstr ""
msgstr "Απέτυχε η ενημέρωση του χρήστη για την αυτόματη συνδρομή."
#: ../actions/emailsettings.php:280 ../actions/emailsettings.php:294
#: actions/emailsettings.php:298 actions/emailsettings.php:312
#: actions/emailsettings.php:440 actions/emailsettings.php:462
msgid "Couldn't update user record."
msgstr ""
msgstr "Απέτυχε η ενημέρωση εγγραφής του χρήστη."
#: ../actions/confirmaddress.php:72 ../actions/emailsettings.php:156
#: ../actions/emailsettings.php:259 ../actions/imsettings.php:138
@ -642,7 +689,7 @@ msgstr ""
#: actions/profilesettings.php:259 actions/smssettings.php:266
#: actions/smssettings.php:408
msgid "Couldn't update user."
msgstr ""
msgstr "Απέτυχε η ενημέρωση του χρήστη."
#: ../actions/finishopenidlogin.php:84 actions/finishopenidlogin.php:90
#: actions/finishopenidlogin.php:112
@ -661,23 +708,24 @@ msgstr "Δημιουργία νέου λογαριασμού"
#: ../actions/finishopenidlogin.php:191 actions/finishopenidlogin.php:197
#: actions/finishopenidlogin.php:231
#, fuzzy
msgid "Creating new account for OpenID that already has a user."
msgstr ""
msgstr "Μετατροπή υπάρχοντος λογαριασμού σε λογαριασμό OpenID."
#: ../actions/imsettings.php:45 actions/imsettings.php:46
#: actions/imsettings.php:100
msgid "Current confirmed Jabber/GTalk address."
msgstr ""
msgstr "Τρέχουσα επιβεβαιωμένη Jabber/GTalk διεύθυνση."
#: ../actions/smssettings.php:46 actions/smssettings.php:46
#: actions/smssettings.php:100
msgid "Current confirmed SMS-enabled phone number."
msgstr ""
msgstr "Τρέχων επιβεβαιωμένο, μέσω SMS, νούμερο κινητού τηλεφώνου."
#: ../actions/emailsettings.php:44 actions/emailsettings.php:45
#: actions/emailsettings.php:99
msgid "Current confirmed email address."
msgstr ""
msgstr "Τρέχουσα επιβεβαιωμένη email διεύθυνση."
#: ../actions/showstream.php:356 actions/showstream.php:367
msgid "Currently"
@ -686,40 +734,40 @@ msgstr ""
#: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
#, php-format
msgid "DB error inserting hashtag: %s"
msgstr ""
msgstr "Σφάλμα στη βάση δεδομένων κατά την εισαγωγή hashtag: %s"
#: ../lib/util.php:1061 lib/util.php:1110 classes/Notice.php:698
#, php-format
msgid "DB error inserting reply: %s"
msgstr ""
msgstr "Σφάλμα βάσης δεδομένων κατά την εισαγωγή απάντησης: %s"
#: ../actions/deletenotice.php:41 actions/deletenotice.php:41
#: actions/deletenotice.php:79
msgid "Delete notice"
msgstr ""
msgstr "Διαγραφή μηνύματος"
#: ../actions/profilesettings.php:51 ../actions/register.php:172
#: actions/profilesettings.php:84 actions/register.php:186
#: actions/profilesettings.php:114
msgid "Describe yourself and your interests in 140 chars"
msgstr ""
msgstr "Περιέγραψε τον εαυτό σου και τα ενδιαφέροντά σου σε 140 χαρακτήρες"
#: ../actions/register.php:158 ../actions/register.php:161
#: ../lib/settingsaction.php:87 actions/register.php:172
#: actions/register.php:175 lib/settingsaction.php:87 actions/register.php:381
#: actions/register.php:385 lib/accountsettingsaction.php:113
msgid "Email"
msgstr ""
msgstr "Email"
#: ../actions/emailsettings.php:59 actions/emailsettings.php:60
#: actions/emailsettings.php:115
msgid "Email Address"
msgstr ""
msgstr "Διεύθυνση Email"
#: ../actions/emailsettings.php:32 actions/emailsettings.php:32
#: actions/emailsettings.php:60
msgid "Email Settings"
msgstr ""
msgstr "Ρυθμίσεις Email"
#: ../actions/register.php:73 actions/register.php:80 actions/register.php:163
msgid "Email address already exists."
@ -732,11 +780,11 @@ msgstr "Επιβεβαίωση διεύθυνσης email"
#: ../actions/emailsettings.php:61 actions/emailsettings.php:62
#: actions/emailsettings.php:117
msgid "Email address, like \"UserName@example.org\""
msgstr ""
msgstr "Διεύθυνση email, π.χ: \"UserName@example.org\""
#: ../actions/invite.php:129 actions/invite.php:137 actions/invite.php:174
msgid "Email addresses"
msgstr ""
msgstr "Διευθύνσεις email"
#: ../actions/recoverpassword.php:191 actions/recoverpassword.php:197
#: actions/recoverpassword.php:231
@ -917,22 +965,22 @@ msgstr "Η αρχική σελίδα δεν είναι έγκυρο URL."
#: ../actions/emailsettings.php:91 actions/emailsettings.php:98
#: actions/emailsettings.php:173
msgid "I want to post notices by email."
msgstr ""
msgstr "Θέλω να δημοσιεύω ενημερώσεις μέσω email"
#: ../lib/settingsaction.php:102 lib/settingsaction.php:96
#: lib/connectsettingsaction.php:104
msgid "IM"
msgstr ""
msgstr "ΙΜ"
#: ../actions/imsettings.php:60 actions/imsettings.php:61
#: actions/imsettings.php:118
msgid "IM Address"
msgstr ""
msgstr "Διεύθυνση ΙΜ"
#: ../actions/imsettings.php:33 actions/imsettings.php:33
#: actions/imsettings.php:59
msgid "IM Settings"
msgstr ""
msgstr "Ρυθμίσεις ΙΜ"
#: ../actions/finishopenidlogin.php:88 actions/finishopenidlogin.php:94
#: actions/finishopenidlogin.php:116
@ -940,29 +988,35 @@ msgid ""
"If you already have an account, login with your username and password to "
"connect it to your OpenID."
msgstr ""
"Εάν έχετε ήδη λογαριασμό, συνδεθείτε με το όνομα χρήστη και τον κωδικό για "
"να τον συνδέσετε στο OpenID σας."
#: ../actions/openidsettings.php:45
msgid ""
"If you want to add an OpenID to your account, enter it in the box below and "
"click \"Add\"."
msgstr ""
"Εάν θέλετε να προσθέσετε ένα OpenID στον λογαριασμό σας, πληκτρολογήστε τον "
"από κάτω και πατήστε \"Προσθήκη\"."
#: ../actions/recoverpassword.php:137
msgid ""
"If you've forgotten or lost your password, you can get a new one sent to the "
"email address you have stored in your account."
msgstr ""
"Εάν έχετε ξεχάσει ή χάσει τον κωδικό σας, μπορεί να σας αποσταλλεί "
"καινούριος στην διεύθυνση email που έχετε καταχωρήσει στον λογαριασμό σας."
#: ../actions/emailsettings.php:67 ../actions/smssettings.php:76
#: actions/emailsettings.php:68 actions/smssettings.php:76
#: actions/emailsettings.php:127 actions/smssettings.php:140
msgid "Incoming email"
msgstr ""
msgstr "Εισερχόμενο email"
#: ../actions/emailsettings.php:283 actions/emailsettings.php:301
#: actions/emailsettings.php:443
msgid "Incoming email address removed."
msgstr ""
msgstr "Η διεύθυνση του εισερχόμενου email αφαιρέθηκε."
#: ../actions/password.php:69 actions/profilesettings.php:388
#: actions/passwordsettings.php:153
@ -4225,20 +4279,19 @@ msgstr ""
#: actions/twittersettings.php:119
msgid "Twitter user name"
msgstr ""
msgstr "Όνομα χρήστη στο Twitter"
#: actions/twittersettings.php:126
#, fuzzy
msgid "Twitter password"
msgstr "Νέος κωδικός"
msgstr "Κωδικός στο Twitter"
#: actions/twittersettings.php:228
msgid "Twitter Friends"
msgstr ""
msgstr "Φίλοι στο Twitter"
#: actions/twittersettings.php:327
msgid "Username must have only numbers, "
msgstr ""
msgstr "Το όνομα χρήστη πρέπει να έχει μόνο νούμερα,"
#: actions/twittersettings.php:341
#, php-format
@ -4440,47 +4493,46 @@ msgstr ""
#: lib/groupeditform.php:151
msgid "Description"
msgstr ""
msgstr "Περιγραφή"
#: lib/groupeditform.php:153
msgid "Describe the group or topic in 140 chars"
msgstr ""
msgstr "Περιγράψτε την ομάδα ή το θέμα μέχρι 140 χαρακτήρες"
#: lib/groupeditform.php:158
msgid ""
"Location for the group, if any, like \"City, State (or Region), Country\""
msgstr ""
msgstr "Τοποθεσία της ομάδας (εάν υπάρχει), πχ: \"Πόλη, Περιοχή, Χώρα)"
#: lib/groupnav.php:84 lib/searchgroupnav.php:84
msgid "Group"
msgstr ""
msgstr "Ομάδα"
#: lib/groupnav.php:100
msgid "Admin"
msgstr ""
msgstr "Διαχειριστής"
#: lib/groupnav.php:101
#, php-format
msgid "Edit %s group properties"
msgstr ""
msgstr "Επεξεργασία ιδιοτήτων της ομάδας %s"
#: lib/groupnav.php:106
#, fuzzy
msgid "Logo"
msgstr "Αποσύνδεση"
msgstr "Λογότυπο"
#: lib/groupnav.php:107
#, php-format
msgid "Add or edit %s logo"
msgstr ""
msgstr "Προσθήκη ή επεξεργασία λογότυπου για την ομάδα %s"
#: lib/groupsbymemberssection.php:71
msgid "Groups with most members"
msgstr ""
msgstr "Ομάδες με τα περισσότερα μέλη"
#: lib/groupsbypostssection.php:71
msgid "Groups with most posts"
msgstr ""
msgstr "Ομάδες με τις περισσότερες δημοσιεύσεις"
#: lib/grouptagcloudsection.php:56
#, php-format
@ -4495,16 +4547,15 @@ msgstr "Η αρχική σελίδα δεν είναι έγκυρο URL."
#: lib/joinform.php:114
#, fuzzy
msgid "Join"
msgstr "Σύνδεση"
msgstr "Συμμετοχή"
#: lib/leaveform.php:114
msgid "Leave"
msgstr ""
msgstr "Αποχώρηση"
#: lib/logingroupnav.php:76
#, fuzzy
msgid "Login with a username and password"
msgstr "Λάθος όνομα χρήστη ή κωδικός"
msgstr "Σύνδεση με όνομα χρήστη και κωδικό"
#: lib/logingroupnav.php:79
#, fuzzy
@ -4513,7 +4564,7 @@ msgstr "Δημιουργία νέου λογαριασμού"
#: lib/logingroupnav.php:82
msgid "Login or register with OpenID"
msgstr ""
msgstr "Σύνδεση ή δημιουργία λογαριασμού με OpenID"
#: lib/mail.php:175
#, php-format
@ -4521,6 +4572,8 @@ msgid ""
"Hey, %s.\n"
"\n"
msgstr ""
"Γεια σου, %s.\n"
"\n"
#: lib/mail.php:236
#, php-format
@ -4530,12 +4583,12 @@ msgstr ""
#: lib/mail.php:254
#, fuzzy, php-format
msgid "Location: %s\n"
msgstr "Τοποθεσία"
msgstr "Τοποθεσία: %s\n"
#: lib/mail.php:256
#, fuzzy, php-format
msgid "Homepage: %s\n"
msgstr "Αρχική σελίδα"
msgstr "Αρχική σελίδα: %s\n"
#: lib/mail.php:258
#, php-format
@ -4543,6 +4596,8 @@ msgid ""
"Bio: %s\n"
"\n"
msgstr ""
"Βιογραφικό: %s\n"
"\n"
#: lib/mail.php:461
#, php-format
@ -4561,7 +4616,7 @@ msgstr ""
#: lib/mailbox.php:229 lib/noticelist.php:380
msgid "From"
msgstr ""
msgstr "Από"
#: lib/messageform.php:110
msgid "Send a direct notice"
@ -4614,40 +4669,41 @@ msgid "Tags in %s's notices"
msgstr ""
#: lib/profilelist.php:182
#, fuzzy
msgid "(none)"
msgstr ""
msgstr "(κανένα)"
#: lib/publicgroupnav.php:76
msgid "Public"
msgstr ""
msgstr "Δημόσια"
#: lib/publicgroupnav.php:80
msgid "User groups"
msgstr ""
msgstr "Ομάδες χρηστών"
#: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
msgid "Recent tags"
msgstr ""
msgstr "Πρόσφατες ετικέτες "
#: lib/publicgroupnav.php:86
msgid "Featured"
msgstr ""
msgstr "Προτεινόμενα"
#: lib/publicgroupnav.php:90
msgid "Popular"
msgstr ""
msgstr "Δημοφιλή"
#: lib/searchgroupnav.php:82
msgid "Notice"
msgstr ""
msgstr "Μήνυμα"
#: lib/searchgroupnav.php:85
msgid "Find groups on this site"
msgstr ""
msgstr "Βρες ομάδες στο site"
#: lib/section.php:89
msgid "Untitled section"
msgstr ""
msgstr "Ενότητα χωρίς τίτλο"
#: lib/subgroupnav.php:81
#, php-format
@ -4667,7 +4723,7 @@ msgstr ""
#: lib/subgroupnav.php:104
#, php-format
msgid "Invite friends and colleagues to join you on %s"
msgstr ""
msgstr "Προσκάλεσε φίλους και συναδέλφους σου να γίνουν μέλη στο %s"
#: lib/subs.php:53
msgid "User has blocked you."
@ -4675,15 +4731,15 @@ msgstr ""
#: lib/subscribeform.php:115 lib/subscribeform.php:139
msgid "Subscribe to this user"
msgstr ""
msgstr "Γίνε συνδρομητής αυτού του χρήστη"
#: lib/tagcloudsection.php:56
msgid "None"
msgstr ""
msgstr "Κανένα"
#: lib/topposterssection.php:74
msgid "Top posters"
msgstr ""
msgstr "Κορυφαίοι δημοσιευτές"
#: lib/unblockform.php:120 lib/unblockform.php:150
msgid "Unblock this user"

View File

@ -3705,7 +3705,7 @@ msgstr ""
#: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
#: lib/subgroupnav.php:96
msgid "Groups"
msgstr ""
msgstr "קבוצות"
#: actions/groups.php:64
#, php-format
@ -4645,12 +4645,12 @@ msgstr "%1$s כעת מאזין להודעות שלך ב-%2$s"
#: lib/mail.php:254
#, fuzzy, php-format
msgid "Location: %s\n"
msgstr "מיקום"
msgstr ""
#: lib/mail.php:256
#, fuzzy, php-format
msgid "Homepage: %s\n"
msgstr "אתר בית"
msgstr ""
#: lib/mail.php:258
#, php-format

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-04-09 22:44+0000\n"
"Last-Translator: Charlie Ball <staselig@gmail.com>\n"
"PO-Revision-Date: 2009-09-26 22:45+0000\n"
"Last-Translator: Eivind Uggedal <eivind@uggedal.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -23,7 +23,7 @@ msgstr ""
#: actions/noticesearchrss.php:88
#, php-format
msgid " Search Stream for \"%s\""
msgstr ""
msgstr "Søkestrøm for «%s»"
#: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
#: actions/finishopenidlogin.php:88 actions/register.php:205
@ -31,22 +31,24 @@ msgstr ""
msgid ""
" except this private data: password, email address, IM address, phone number."
msgstr ""
"utenom disse private dataene: passord, epost, adresse, lynmeldingsadresse og "
"telefonnummer."
#: ../actions/showstream.php:400 ../lib/stream.php:109
#: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
msgid " from "
msgstr ""
msgstr "fra"
#: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
#: actions/twitapistatuses.php:347
#, php-format
msgid "%1$s / Updates replying to %2$s"
msgstr ""
msgstr "%1$s / Oppdateringer som svarer til %2$s"
#: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
#, php-format
msgid "%1$s has invited you to join them on %2$s"
msgstr ""
msgstr "%1$s har invitert deg til %2$s"
#: ../actions/invite.php:170
#, php-format
@ -78,6 +80,27 @@ msgid ""
"\n"
"Sincerely, %2$s\n"
msgstr ""
"%$1s har invitert deg til %2$s (%3$s).\n"
"\n"
"%$2s er en mikrobloggingteneste som lar deg holde deg oppdatert på folk du "
"kjenner og/eller som interesserer deg.\n"
"\n"
"Du kan også dele nyheter om deg sjelv, dine tanker eller livet ditt på "
"nettet med folk som kjenner til deg. Det er supert for å møte nye folk med "
"like interesser.\n"
"\n"
"%1$s sa:\n"
"\n"
"%4$s\n"
"\n"
"Du kan se profilsiden til %1$s på %2$s her:\n"
"\n"
"%5$s\n"
"\n"
"Hvis du vil prøva tjenesten, klikk på lenken nedenfor for å akseptere "
"invitasjonen.\n"
"\n"
"Vennlig hilsen, %2$s\n"
#: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
#, php-format
@ -98,14 +121,14 @@ msgstr ""
"\n"
"\t%3$s\n"
"\n"
"Mvh,\n"
"Vennlig hilsen,\n"
"%4$s.\n"
#: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
#: actions/twitapistatuses.php:350
#, php-format
msgid "%1$s updates that reply to updates from %2$s / %3$s."
msgstr ""
msgstr "%1$s oppdateringer som svarer på oppdateringer fra %2$s / %3$s."
#: ../actions/shownotice.php:45 actions/shownotice.php:45
#: actions/shownotice.php:161
@ -123,7 +146,7 @@ msgstr "%s (%s)"
#: actions/publicrss.php:90
#, php-format
msgid "%s Public Stream"
msgstr "%s Offentlig Strøm"
msgstr "%s offentlig strøm"
#: ../actions/all.php:47 ../actions/allrss.php:60
#: ../actions/twitapistatuses.php:238 ../lib/stream.php:51 actions/all.php:47
@ -138,7 +161,7 @@ msgstr "%s og venner"
#: actions/twitapistatuses.php:33
#, php-format
msgid "%s public timeline"
msgstr "%s sin offentlige tidslinje"
msgstr "%s offentlig tidslinje"
#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
#, php-format
@ -155,15 +178,15 @@ msgstr "%s tidslinje"
#: actions/twitapistatuses.php:36
#, php-format
msgid "%s updates from everyone!"
msgstr "%s oppdateringer fra alle!"
msgstr "%s oppdateringer fra alle sammen!"
#: ../actions/register.php:213
msgid ""
"(You should receive a message by email momentarily, with instructions on how "
"to confirm your email address.)"
msgstr ""
"(Du vil straks motta en e-post med instruksjoner om hvordan du kan bekrefte "
"din e-postadresse.)"
"(Du vil straks motta en epost med instruksjoner om hvordan du kan bekrefte "
"din epostadresse)"
#: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
#, php-format
@ -171,32 +194,29 @@ msgid ""
"**%%site.name%%** is a microblogging service brought to you by [%%site."
"broughtby%%](%%site.broughtbyurl%%). "
msgstr ""
"**%%site.name%%** er en mikroblogging-tjeneste av "
"**%%site.name%%** er en mikrobloggingtjeneste av "
"[%%site.broughtby%%](%%site.broughtbyurl%%). "
#: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
#, php-format
msgid "**%%site.name%%** is a microblogging service. "
msgstr "**%%site.name%%** er en mikroblogging-tjeneste. "
msgstr "**%%site.name%%** er en mikrobloggingtjeneste. "
#: ../lib/util.php:274 lib/util.php:290
msgid ". Contributors should be attributed by full name or nickname."
msgstr ". Bidragsytere burde være etterfulgt av fullt navn eller brukernavn."
msgstr ". Bidragsytere burde være etterfulgt av fullt navn eller kallenavn."
#: ../actions/finishopenidlogin.php:73 ../actions/profilesettings.php:43
#: actions/finishopenidlogin.php:79 actions/profilesettings.php:76
#: actions/finishopenidlogin.php:101 actions/profilesettings.php:100
#: lib/groupeditform.php:139
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
"1-64 småbokstaver eller nummer, ingen punktum eller mellomrom (ei heller æøå "
"og lign.)"
msgstr "1-64 små bokstaver eller nummer, ingen punktum eller mellomrom"
#: ../actions/register.php:152 actions/register.php:166
msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
msgstr ""
"1-64 småbokstaver eller nummer, ingen punktum eller mellomrom (ei heller æøå "
"og lign.) Påkrevd."
"1-64 små bokstaver eller nummer, ingen punktum eller mellomrom. Påkrevd."
#: ../actions/password.php:42 actions/profilesettings.php:181
#: actions/passwordsettings.php:102
@ -227,14 +247,16 @@ msgid ""
"A confirmation code was sent to the email address you added. Check your "
"inbox (and spam box!) for the code and instructions on how to use it."
msgstr ""
"En bekreftelseskode ble sendt til lynmeldingsadressen du la til. Sjekk "
"innboksen din (og søppel-posten!) for koden, og hvordan du skal bruke den."
"En bekreftelseskode ble sendt til epostadressen du la til. Sjekk innboksen "
"din (og søppelboksen) for koden, og hvordan du skal bruke den."
#: ../actions/smssettings.php:216 actions/smssettings.php:224
msgid ""
"A confirmation code was sent to the phone number you added. Check your inbox "
"(and spam box!) for the code and instructions on how to use it."
msgstr ""
"En bekreftelseskode ble sendt til telefonnummeret du la til. Sjekk innboksen "
"din for koden, og hvordan du skal bruke den."
#: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
#: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@ -288,7 +310,7 @@ msgstr "Om"
#: ../actions/userauthorization.php:119 actions/userauthorization.php:126
#: actions/userauthorization.php:143
msgid "Accept"
msgstr "Aksepter"
msgstr "Godta"
#: ../actions/emailsettings.php:62 ../actions/imsettings.php:63
#: ../actions/openidsettings.php:57 ../actions/smssettings.php:71
@ -308,7 +330,7 @@ msgstr "Legg til OpenID"
#: ../lib/settingsaction.php:97 lib/settingsaction.php:91
#: lib/accountsettingsaction.php:117
msgid "Add or remove OpenIDs"
msgstr "Legg til eller slett OpenID"
msgstr "Legg til eller fjern OpenID-er"
#: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
#: ../actions/smssettings.php:39 actions/emailsettings.php:39
@ -337,7 +359,7 @@ msgstr "Alle oppdateringer for %s"
#: actions/noticesearchrss.php:90
#, php-format
msgid "All updates matching search term \"%s\""
msgstr "Alle oppdateringer som passer søket: \"%s\""
msgstr "Alle oppdateringer for søket: «%s»"
#: ../actions/finishopenidlogin.php:29 ../actions/login.php:31
#: ../actions/openidlogin.php:29 ../actions/register.php:30
@ -390,19 +412,21 @@ msgid ""
"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
"message with further instructions. (Did you add %s to your buddy list?)"
msgstr ""
"Venter på godkjenning. Sjekk din Jabber/GTalk-konto for en melding med "
"instruksjoner (la du %s til vennelisten din?)"
#: ../actions/emailsettings.php:54 actions/emailsettings.php:55
msgid ""
"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
"a message with further instructions."
msgstr ""
"Venter på bekreftelse av adressen. Sjekk innboksen din (og søppel-post!) for "
"Venter på bekreftelse av adressen. Sjekk innboksen din (og søppelboksen) for "
"melding med videre veiledning."
#: ../actions/smssettings.php:58 actions/smssettings.php:58
#: actions/smssettings.php:111
msgid "Awaiting confirmation on this phone number."
msgstr "Venter på bekreftelse på dette telefonnummeret"
msgstr "Venter på bekreftelse for dette telefonnummeret."
#: ../lib/util.php:1318 lib/util.php:1452
#, fuzzy
@ -413,7 +437,7 @@ msgstr "Tidligere »"
#: actions/profilesettings.php:82 actions/register.php:184
#: actions/profilesettings.php:112 actions/register.php:402
msgid "Bio"
msgstr "Bio"
msgstr "Om meg"
#: ../actions/profilesettings.php:101 ../actions/register.php:82
#: ../actions/updateprofile.php:103 actions/profilesettings.php:216
@ -421,7 +445,7 @@ msgstr "Bio"
#: actions/profilesettings.php:205 actions/register.php:174
#: actions/updateprofile.php:107
msgid "Bio is too long (max 140 chars)."
msgstr "Bioen er for lang (maks 140 tegn)."
msgstr "«Om meg» er for lang (maks 140 tegn)."
#: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
msgid "Can't delete this notice."
@ -431,13 +455,13 @@ msgstr "Kan ikke slette notisen."
#: actions/updateprofile.php:123
#, php-format
msgid "Can't read avatar URL '%s'"
msgstr "Kan ikke lese brukerbilde URL '%s'"
msgstr "Kan ikke lese brukerbilde-URL «%s»"
#: ../actions/password.php:85 ../actions/recoverpassword.php:300
#: actions/profilesettings.php:404 actions/recoverpassword.php:313
#: actions/passwordsettings.php:169 actions/recoverpassword.php:347
msgid "Can't save new password."
msgstr "Klarer ikke å lagre det nye passordet"
msgstr "Klarer ikke å lagre nytt passord."
#: ../actions/emailsettings.php:57 ../actions/imsettings.php:58
#: ../actions/smssettings.php:62 actions/emailsettings.php:58
@ -449,17 +473,17 @@ msgstr "Avbryt"
#: ../lib/openid.php:121 lib/openid.php:121 lib/openid.php:130
msgid "Cannot instantiate OpenID consumer object."
msgstr ""
msgstr "Klarer ikke instansiere OpenID-objekt."
#: ../actions/imsettings.php:163 actions/imsettings.php:171
#: actions/imsettings.php:286
msgid "Cannot normalize that Jabber ID"
msgstr ""
msgstr "Klarer ikke normalisere Jabber-IDen"
#: ../actions/emailsettings.php:181 actions/emailsettings.php:199
#: actions/emailsettings.php:311
msgid "Cannot normalize that email address"
msgstr "Kan ikke normalisere den e-postadressen"
msgstr "Klarer ikke normalisere epostadressen"
#: ../actions/password.php:45 actions/profilesettings.php:184
#: actions/passwordsettings.php:110
@ -469,7 +493,7 @@ msgstr "Endre"
#: ../lib/settingsaction.php:88 lib/settingsaction.php:88
#: lib/accountsettingsaction.php:114
msgid "Change email handling"
msgstr "Endre e-post håndtering"
msgstr "Endre eposthåndtering"
#: ../actions/password.php:32 actions/profilesettings.php:36
#: actions/passwordsettings.php:58
@ -483,7 +507,7 @@ msgstr "Endre passordet ditt"
#: ../lib/settingsaction.php:85 lib/settingsaction.php:85
#: lib/accountsettingsaction.php:105
msgid "Change your profile settings"
msgstr "Endre profil instillingene dine"
msgstr "Endre profilinnstillingene dine"
#: ../actions/password.php:43 ../actions/recoverpassword.php:181
#: ../actions/register.php:155 ../actions/smssettings.php:65
@ -497,7 +521,7 @@ msgstr "Bekreft"
#: ../actions/confirmaddress.php:90 actions/confirmaddress.php:90
#: actions/confirmaddress.php:144
msgid "Confirm Address"
msgstr "Bekreft Adresse"
msgstr "Bekreft adresse"
#: ../actions/emailsettings.php:238 ../actions/imsettings.php:222
#: ../actions/smssettings.php:245 actions/emailsettings.php:256
@ -515,7 +539,7 @@ msgstr "Bekreftelseskode"
#: ../actions/confirmaddress.php:38 actions/confirmaddress.php:38
#: actions/confirmaddress.php:80
msgid "Confirmation code not found."
msgstr "Bekreftelseskode ikke funnet."
msgstr "Fant ikke bekreftelseskode."
#: ../actions/register.php:202
#, php-format

File diff suppressed because it is too large Load Diff

View File

@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: identi.ca\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-25 16:24+0000\n"
"PO-Revision-Date: 2009-04-28 22:31+0000\n"
"Last-Translator: doubliu <doubliu@gmail.com>\n"
"PO-Revision-Date: 2009-07-28 14:03+0000\n"
"Last-Translator: offacer <offacer@gmail.com>\n"
"Language-Team: i18n-zh <i18n-zh@googlegroups.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -20,7 +20,7 @@ msgstr ""
#: actions/noticesearchrss.php:88
#, php-format
msgid " Search Stream for \"%s\""
msgstr "搜索有关\"%s\"的聚合"
msgstr "搜索有关\"%s\"的消息"
#: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
#: actions/finishopenidlogin.php:88 actions/register.php:205
@ -364,7 +364,7 @@ msgstr "已订阅!"
#: ../actions/deletenotice.php:54 actions/deletenotice.php:55
#: actions/deletenotice.php:113
msgid "Are you sure you want to delete this notice?"
msgstr "确定要删除这条通告吗?"
msgstr "确定要删除这条消息吗?"
#: ../actions/userauthorization.php:77 actions/userauthorization.php:83
#: actions/userauthorization.php:81
@ -415,13 +415,13 @@ msgstr "等待确认此电话号码。"
#: ../lib/util.php:1318 lib/util.php:1452
#, fuzzy
msgid "Before »"
msgstr "之前 »"
msgstr "下一页 »"
#: ../actions/profilesettings.php:49 ../actions/register.php:170
#: actions/profilesettings.php:82 actions/register.php:184
#: actions/profilesettings.php:112 actions/register.php:402
msgid "Bio"
msgstr "个人小传"
msgstr "自述"
#: ../actions/profilesettings.php:101 ../actions/register.php:82
#: ../actions/updateprofile.php:103 actions/profilesettings.php:216
@ -429,7 +429,7 @@ msgstr "个人小传"
#: actions/profilesettings.php:205 actions/register.php:174
#: actions/updateprofile.php:107
msgid "Bio is too long (max 140 chars)."
msgstr "个人小传过长(不能超过140字符)。"
msgstr "自述过长(不能超过140字符)。"
#: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
msgid "Can't delete this notice."
@ -3367,15 +3367,13 @@ msgid "%s and friends, page %d"
msgstr "%s 及好友"
#: actions/avatarsettings.php:76
#, fuzzy
msgid "You can upload your personal avatar."
msgstr "您可以在这里更新个人信息。"
msgstr "您可以在这里上传个人头像。"
#: actions/avatarsettings.php:117 actions/avatarsettings.php:191
#: actions/grouplogo.php:250
#, fuzzy
msgid "Avatar settings"
msgstr "Twitter 设置"
msgstr "头像设置"
#: actions/avatarsettings.php:124 actions/avatarsettings.php:199
#: actions/grouplogo.php:198 actions/grouplogo.php:258
@ -3421,9 +3419,8 @@ msgstr "没有这份通告。"
#: actions/avatarsettings.php:349 actions/avatarsettings.php:383
#: actions/grouplogo.php:406 actions/grouplogo.php:440
#: classes/User_group.php:129 classes/User_group.php:161
#, fuzzy
msgid "Unknown file type"
msgstr "不支持这种类型的文件"
msgstr "未知文件类型"
#: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
#, fuzzy
@ -3481,9 +3478,8 @@ msgstr "使用组功能前必须使能邮箱"
# before login, the user don't even see any Chinese translation. Anyway. This may be good for the future.
#: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
#, fuzzy
msgid "You must be logged in to create a group."
msgstr "您必须登录才能创建组 %s"
msgstr "您必须登录才能创建小组。"
#: actions/editgroup.php:87 actions/grouplogo.php:87
#: actions/groupmembers.php:76 actions/joingroup.php:81

View File

@ -102,7 +102,7 @@ class FBConnectPlugin extends Plugin
// Note: this script needs to appear in the <body>
function onStartShowHeader($action)
function onEndShowScripts($action)
{
if ($this->reqFbScripts($action)) {

View File

@ -27,6 +27,7 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
}
define('STATUSNET', true);
define('LACONICA', true); // compatibility
// Set various flags so we don't time out on long-running processes

View File

@ -24,17 +24,17 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
common_log(LOG_INFO, 'Fixing up conversations.');
$nid = new Notice();
$nid->query('select id, reply_to from notice where conversation is null');
$notice = new Notice();
$notice->query('select id, reply_to from notice where conversation is null');
while ($nid->fetch()) {
while ($notice->fetch()) {
$cid = null;
$notice = new Notice();
$orig = clone($notice);
if (empty($nid->reply_to)) {
$cid = $nid->id;
if (empty($notice->reply_to)) {
$notice->conversation = $notice->id;
} else {
$reply = Notice::staticGet('id', $notice->reply_to);
@ -61,9 +61,7 @@ while ($nid->fetch()) {
continue;
}
$notice = null;
$orig = null;
unset($notice);
unset($orig);
print ".\n";