Merge branch '1.0.x' into testing

This commit is contained in:
Evan Prodromou 2011-04-15 14:57:41 -04:00
commit 6d5b6d98b5
25 changed files with 136 additions and 119 deletions

View File

@ -47,12 +47,12 @@ class EditpeopletagAction extends OwnerDesignAction
function title()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $this->boolean('delete')) {
// TRANS: Title for edit people tag page after deleting a tag.
// TRANS: %s is a tag.
// TRANS: Title for edit list page after deleting a tag.
// TRANS: %s is a list.
return sprintf(_('Delete %s list'), $this->peopletag->tag);
}
// TRANS: Title for edit people tag page.
// TRANS: %s is a tag.
// TRANS: Title for edit list page.
// TRANS: %s is a list.
return sprintf(_('Edit list %s'), $this->peopletag->tag);
}
@ -105,7 +105,7 @@ class EditpeopletagAction extends OwnerDesignAction
}
if (!$this->peopletag) {
// TRANS: Client error displayed when referring to a non-exsting people tag.
// TRANS: Client error displayed when referring to a non-exsting list.
$this->clientError(_('No such list.'), 404);
return false;
}
@ -215,7 +215,7 @@ class EditpeopletagAction extends OwnerDesignAction
$this->element('p', 'instructions', $this->confirm);
} else {
$this->element('p', 'instructions',
// TRANS: Form instruction for edit people tag form.
// TRANS: Form instruction for edit list form.
_('Use this form to edit the list.'));
}
}
@ -293,7 +293,7 @@ class EditpeopletagAction extends OwnerDesignAction
if (!$result) {
common_log_db_error($this->group, 'UPDATE', __FILE__);
// TRANS: TRANS: Server error displayed when updating a people tag fails.
// TRANS: TRANS: Server error displayed when updating a list fails.
$this->serverError(_('Could not update list.'));
}

View File

@ -92,7 +92,7 @@ class PeopletaggedAction extends OwnerDesignAction
$this->peopletag = Profile_list::pkeyGet(array('tagger' => $user->id, 'tag' => $tag));
if (!$this->peopletag) {
// TRANS: Client error displayed when referring to non-existing people tag.
// TRANS: Client error displayed when referring to a non-existing list.
$this->clientError(_('No such list.'), 404);
return false;
}
@ -103,13 +103,13 @@ class PeopletaggedAction extends OwnerDesignAction
function title()
{
if ($this->page == 1) {
// TRANS: Title for list of people tagged by the user with a tag.
// TRANS: %1$s is a tag, %2$s is a username.
// TRANS: Title for list of people listed by the user.
// TRANS: %1$s is a list, %2$s is a username.
return sprintf(_('People listed in %1$s by %2$s'),
$this->peopletag->tag, $this->tagger->nickname);
} else {
// TRANS: Title for list of people tagged by the user with a tag.
// TRANS: %1$s is a tag, %2$s is a username, %2$s is a page number.
// TRANS: Title for list of people listed by the user.
// TRANS: %1$s is a list, %2$s is a username, %2$s is a page number.
return sprintf(_('People listed in %1$s by %2$s, page %3$d'),
$this->peopletag->tag, $this->user->nickname,
$this->page);

View File

@ -102,7 +102,7 @@ class PeopletagsforuserAction extends OwnerDesignAction
function showAnonymousMessage()
{
$notice =
// TRANS: Message displayed for anonymous users on page that displays people tags for a user.
// TRANS: Message displayed for anonymous users on page that displays lists for a user.
// TRANS: This message contains Markdown links in the form [description](links).
// TRANS: %s is a tagger nickname.
sprintf(_('These are lists for **%s**. ' .
@ -138,7 +138,7 @@ class PeopletagsforuserAction extends OwnerDesignAction
function showEmptyListMessage()
{
// TRANS: Message displayed on page that displays people tags for a user when there are none.
// TRANS: Message displayed on page that displays lists for a user when there are none.
// TRANS: This message contains Markdown links in the form [description](links).
// TRANS: %s is a tagger nickname.
$message = sprintf(_('%s has not been [listed](%%%%doc.lists%%%%) by anyone yet.'), $this->tagged->nickname);

View File

@ -46,11 +46,11 @@ class PeopletagsubscriptionsAction extends OwnerDesignAction
function title()
{
if ($this->page == 1) {
// TRANS: Title for page that displays people tags subscribed to by a user.
// TRANS: Title for page that displays lists subscribed to by a user.
// TRANS: %s is a profile nickname.
return sprintf(_('Lists subscribed to by %s'), $this->profile->nickname);
} else {
// TRANS: Title for page that displays people tags subscribed to by a user.
// TRANS: Title for page that displays lists subscribed to by a user.
// TRANS: %1$s is a profile nickname, %2$d is a page number.
return sprintf(_('Lists subscribed to by %1$s, page %2$d'), $this->profile->nickname, $this->page);
}
@ -104,7 +104,7 @@ class PeopletagsubscriptionsAction extends OwnerDesignAction
function showAnonymousMessage()
{
$notice =
// TRANS: Message displayed for anonymous users on page that displays people tags subscribed to by a user.
// TRANS: Message displayed for anonymous users on page that displays lists subscribed to by a user.
// TRANS: This message contains Markdown links in the form [description](links).
// TRANS: %s is a profile nickname.
sprintf(_('These are lists subscribed to by **%s**. ' .

View File

@ -606,7 +606,6 @@ class RegisterAction extends Action
function showSuccessContent()
{
if (Event::handle('onStartRegisterSuccess', array($this))) {
$nickname = $this->arg('nickname');
$profileurl = common_local_url('showstream',

View File

@ -120,7 +120,7 @@ class ShowprofiletagAction extends Action
{
if ($this->page > 1) {
if($this->peopletag->private) {
// TRANS: Title for private people tag timeline.
// TRANS: Title for private list timeline.
// TRANS: %1$s is a people tag, %2$s is a page number.
return sprintf(_('Private timeline for %1$s list by you, page %2$d'),
$this->peopletag->tag, $this->page);
@ -128,13 +128,13 @@ class ShowprofiletagAction extends Action
$current = common_current_user();
if (!empty($current) && $current->id == $this->peopletag->tagger) {
// TRANS: Title for public people tag timeline where the viewer is the tagger.
// TRANS: Title for public list timeline where the viewer is the tagger.
// TRANS: %1$s is a people tag, %2$s is a page number.
return sprintf(_('Timeline for %1$s list by you, page %2$d'),
$this->peopletag->tag, $this->page);
}
// TRANS: Title for private people tag timeline.
// TRANS: Title for private list timeline.
// TRANS: %1$s is a people tag, %2$s is the tagger's nickname, %3$d is a page number.
return sprintf(_('Timeline for %1$s list by %2$s, page %3$d'),
$this->peopletag->tag,
@ -143,22 +143,22 @@ class ShowprofiletagAction extends Action
);
} else {
if($this->peopletag->private) {
// TRANS: Title for private people tag timeline.
// TRANS: %s is a people tag.
// TRANS: Title for private list timeline.
// TRANS: %s is a list.
return sprintf(_('Private timeline of %s list by you'),
$this->peopletag->tag);
}
$current = common_current_user();
if (!empty($current) && $current->id == $this->peopletag->tagger) {
// TRANS: Title for public people tag timeline where the viewer is the tagger.
// TRANS: %s is a people tag.
// TRANS: Title for public list timeline where the viewer is the tagger.
// TRANS: %s is a list.
return sprintf(_('Timeline for %s list by you'),
$this->peopletag->tag);
}
// TRANS: Title for private people tag timeline.
// TRANS: %1$s is a people tag, %2$s is the tagger's nickname.
// TRANS: Title for private list timeline.
// TRANS: %1$s is a list, %2$s is the tagger's nickname.
return sprintf(_('Timeline for %1$s list by %2$s'),
$this->peopletag->tag,
$this->tagger->nickname
@ -189,7 +189,7 @@ class ShowprofiletagAction extends Action
)
),
// TRANS: Feed title.
// TRANS: %1$s is a people tag, %2$s is tagger's nickname.
// TRANS: %1$s is a list, %2$s is tagger's nickname.
sprintf(_('Feed for %1$s list by %2$s (Atom)'),
$this->peopletag->tag, $this->tagger->nickname
)
@ -205,8 +205,8 @@ class ShowprofiletagAction extends Action
function showEmptyListMessage()
{
// TRANS: Empty list message for people tag timeline.
// TRANS: %1$s is a people tag, %2$s is a tagger's nickname.
// TRANS: Empty list message for list timeline.
// TRANS: %1$s is a list, %2$s is a tagger's nickname.
$message = sprintf(_('This is the timeline for %1$s list by %2$s but no one has posted anything yet.'),
$this->peopletag->tag,
$this->tagger->nickname) . ' ';
@ -287,20 +287,8 @@ class ShowprofiletagAction extends Action
if (Event::handle('StartShowTaggedProfilesMiniList', array($this))) {
$title = '';
$current = common_current_user();
if(!empty($current) && $this->peopletag->tagger == $current->id) {
// TRANS: Header on show profile tag page.
// TRANS: %s is a people tag.
$title = sprintf(_('Listed'), $this->peopletag->tag);
} else {
// TRANS: Header on show profile tag page.
// TRANS: %1$s is a people tag, %2$s is a tagger's nickname.
$title = sprintf(_('Listed'),
$this->peopletag->tag,
$this->tagger->nickname);
}
$this->element('h2', null, $title);
// TRANS: Header on show list page.
$this->element('h2', null, _('Listed'));
$cnt = 0;
@ -308,7 +296,7 @@ class ShowprofiletagAction extends Action
$pml = new ProfileMiniList($profile, $this);
$cnt = $pml->show();
if ($cnt == 0) {
// TRANS: Content of "People tagged x by a user" if there are no tagged users.
// TRANS: Content of "Listed" page if there are no listed users.
$this->element('p', null, _('(None)'));
}
}

View File

@ -227,8 +227,8 @@ class SubscriptionsListItem extends SubscriptionListItem
}
$this->out->element('input', $attrs);
// TRANS: Checkbox label for enabling Jabber messages for a profile in a subscriptions list.
$this->out->element('label', array('for' => 'jabber-'.$this->profile->id), _('IM'));
// TRANS: Checkbox label for enabling IM messages for a profile in a subscriptions list.
$this->out->element('label', array('for' => 'jabber-'.$this->profile->id), _m('LABEL','IM'));
} else {
$this->out->hidden('jabber', $sub->jabber);
}

View File

@ -44,7 +44,6 @@ define('GROUPS_PER_MINILIST', 8);
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
class GroupMiniList extends GroupList
{
function show()

View File

@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
class InviteButtonSection extends Section
{
function showTitle()
@ -57,7 +56,8 @@ class InviteButtonSection extends Section
$this->out->element('a',
array('href' => common_local_url('invite'),
'class' => 'invite_button'),
_('Invite more colleagues'));
// TRANS: Button text for inviting more users to the StatusNet instance.
_m('BUTTON','Invite more colleagues'));
return false;
}
}

View File

@ -105,8 +105,8 @@ class PeopletagEditForm extends Form
*/
function formLegend()
{
// TRANS: Form legend for people tag edit form.
// TRANS: %s is a people tag.
// TRANS: Form legend for list edit form.
// TRANS: %s is a list.
$this->out->element('legend', null, sprintf(_('Edit list %s'), $this->peopletag->tag));
}
@ -137,21 +137,21 @@ class PeopletagEditForm extends Form
$this->out->elementStart('li');
$desclimit = Profile_list::maxDescription();
if ($desclimit == 0) {
// TRANS: Field title for description of people tag.
// TRANS: Field title for description of list.
$descinstr = _('Describe the list or topic.');
} else {
// TRANS: Field title for description of people tag.
// TRANS: Field title for description of list.
// TRANS: %d is the maximum number of characters for the description.
$descinstr = sprintf(_m('Describe the list or topic in %d character.',
'Describe the list or topic in %d characters.',
$desclimit),
$desclimit);
}
// TRANS: Field label for description of people tag.
// TRANS: Field label for description of list.
$this->out->textarea('description', _('Description'),
($this->out->arg('description')) ? $this->out->arg('description') : $description,
$descinstr);
// TRANS: Checkbox label to mark a people tag private.
// TRANS: Checkbox label to mark a list private.
$this->out->checkbox('private', _('Private'), $private);
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
@ -167,11 +167,11 @@ class PeopletagEditForm extends Form
// TRANS: Button text to save a people tag.
$this->out->submit('submit', _('Save'));
$this->out->submit('form_action-yes',
// TRANS: Button text to delete a people tag.
// TRANS: Button text to delete a list.
_m('BUTTON','Delete'),
'submit',
'delete',
// TRANS: Button title to delete a people tag.
// TRANS: Button title to delete a list.
_('Delete this list.'));
}

View File

@ -103,10 +103,10 @@ class PeopletagGroupNav extends Widget
// People tag timeline
$this->out->menuItem(common_local_url('showprofiletag', array('tagger' => $user_profile->nickname,
'tag' => $tag->tag)),
// TRANS: Menu item in people tag navigation panel.
// TRANS: Menu item in list navigation panel.
_m('MENU','List'),
// TRANS: Menu item title in people tag navigation panel.
// TRANS: %1$s is a tag, %2$s is a nickname.
// TRANS: Menu item title in list navigation panel.
// TRANS: %1$s is a list, %2$s is a nickname.
sprintf(_('%1$s list by %2$s.'), $tag->tag,
(($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)),
$action == 'showprofiletag', 'nav_timeline_peopletag');
@ -114,10 +114,10 @@ class PeopletagGroupNav extends Widget
// Tagged
$this->out->menuItem(common_local_url('peopletagged', array('tagger' => $user->nickname,
'tag' => $tag->tag)),
// TRANS: Menu item in people tag navigation panel.
// TRANS: Menu item in list navigation panel.
_m('MENU','Listed'),
// TRANS: Menu item title in people tag navigation panel.
// TRANS: %1$s is a tag, %2$s is a nickname.
// TRANS: Menu item title in list navigation panel.
// TRANS: %1$s is a list, %2$s is a nickname.
sprintf(_('%1$s list by %2$s.'), $tag->tag,
(($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)),
$action == 'peopletagged', 'nav_peopletag_tagged');
@ -125,10 +125,10 @@ class PeopletagGroupNav extends Widget
// Subscribers
$this->out->menuItem(common_local_url('peopletagsubscribers', array('tagger' => $user->nickname,
'tag' => $tag->tag)),
// TRANS: Menu item in people tag navigation panel.
// TRANS: Menu item in list navigation panel.
_m('MENU','Subscribers'),
// TRANS: Menu item title in people tag navigation panel.
// TRANS: %1$s is a tag, %2$s is a nickname.
// TRANS: Menu item title in list navigation panel.
// TRANS: %1$s is a list, %2$s is a nickname.
sprintf(_('Subscribers to %1$s list by %2$s.'), $tag->tag,
(($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)),
$action == 'peopletagsubscribers', 'nav_peopletag_subscribers');
@ -140,8 +140,8 @@ class PeopletagGroupNav extends Widget
'tag' => $tag->tag)),
// TRANS: Menu item in people tag navigation panel.
_m('MENU','Edit'),
// TRANS: Menu item title in people tag navigation panel.
// TRANS: %s is a tag.
// TRANS: Menu item title in list navigation panel.
// TRANS: %s is a list.
sprintf(_('Edit %s list by you.'), $tag->tag,
(($user_profile && $user_profile->fullname) ? $user_profile->fullname : $nickname)),
$action == 'editpeopletag', 'nav_peopletag_edit');

View File

@ -192,9 +192,9 @@ class PeopletagListItem extends Widget
$this->out->element('a', array('href' =>
common_local_url('editpeopletag', array('tagger' => $this->profile->nickname,
'tag' => $this->peopletag->tag)),
// TRANS: Title for link to edit people tag settings.
// TRANS: Title for link to edit list settings.
'title' => _('Edit list settings.')),
// TRANS: Text for link to edit people tag settings.
// TRANS: Text for link to edit list settings.
_('Edit'));
$this->out->elementEnd('li');
}

View File

@ -78,7 +78,7 @@ class PeopletagNav extends Menu
_m('MENU','List Subscriptions'),
// TRANS: Tooltip for menu item in the group navigation page.
// TRANS: %s is the nickname of the group.
sprintf(_m('TOOLTIP','Lists subscribed to by %s'), $nickname),
sprintf(_m('TOOLTIP','Lists subscribed to by %s.'), $nickname),
$action_name == 'peopletagsubscriptions',
'nav_list_group');
$this->out->menuItem(common_local_url('peopletagsforuser', array('nickname' =>
@ -87,7 +87,7 @@ class PeopletagNav extends Menu
sprintf(_m('MENU','Lists with %s'), $nickname),
// TRANS: Tooltip for menu item in the group navigation page.
// TRANS: %s is the nickname of the group.
sprintf(_m('TOOLTIP','Lists with %s'), $nickname),
sprintf(_m('TOOLTIP','Lists with %s.'), $nickname),
$action_name == 'peopletagsforuser',
'nav_lists_with');
$this->out->menuItem(common_local_url('peopletagsbyuser', array('nickname' =>
@ -96,7 +96,7 @@ class PeopletagNav extends Menu
sprintf(_m('MENU','Lists by %s'), $nickname),
// TRANS: Tooltip for menu item in the group navigation page.
// TRANS: %s is the nickname of the group.
sprintf(_m('TOOLTIP','Lists by %s'), $nickname),
sprintf(_m('TOOLTIP','Lists by %s.'), $nickname),
$action_name == 'peopletagsbyuser',
'nav_lists_by');
Event::handle('EndGroupGroupNav', array($this));

View File

@ -65,8 +65,8 @@ class PeopletagsBySubsSection extends PeopletagSection
function title()
{
// TRANS: Title for section contaning people tags with the most subscribers.
return _('Lists with most subscribers');
// TRANS: Title for section contaning lists with the most subscribers.
return _('Popular lists');
}
function divId()

View File

@ -83,7 +83,6 @@ class PeopletagSection extends Section
class PeopletagSectionItem extends PeopletagListItem
{
function showStart()
{
}
@ -121,8 +120,8 @@ class PeopletagSectionItem extends PeopletagListItem
function showTag()
{
// TRANS: Tag summary. %1$d is the number of users tagged with the tag,
// TRANS: %2$d is the number of subscribers to the tag.
// TRANS: List summary. %1$d is the number of users in the list,
// TRANS: %2$d is the number of subscribers to the list.
$title = sprintf(_('Listed: %1$d Subscribers: %2$d'),
$this->peopletag->taggedCount(),
$this->peopletag->subscriberCount());

View File

@ -67,8 +67,7 @@ class PeopletagsForUserSection extends PeopletagSection
if (!empty($user) && $this->profile->id == $user->id) {
return sprintf(_('Lists with you'));
}
// TRANS: Title for page that displays
// which people tags a user has been tagged with.
// TRANS: Title for page that displays which people tags a user has been tagged with.
// TRANS: %s is a profile name.
return sprintf(_('Lists with %s'), $this->profile->getBestName());
}

View File

@ -62,7 +62,7 @@ class PeopletagSubscriptionsSection extends PeopletagSection
function title()
{
// TRANS: Title for page that displays people tags a user has subscribed to.
// TRANS: Title for page that displays lists a user has subscribed to.
return _('List subscriptions');
}

View File

@ -52,8 +52,8 @@ class PersonalTagCloudSection extends TagCloudSection
function title()
{
// TRANS: Title for personal tag cloud section. %s is a user nickname.
return sprintf(_('Tags'), $this->user->nickname);
// TRANS: Title for personal tag cloud section.
return _m('TITLE','Tags');
}
function getTags()

View File

@ -293,9 +293,9 @@ class ProfileAction extends OwnerDesignAction
array('nickname' => $this->profile->nickname));
$this->elementStart('h2');
// TRANS: H2 text for user list membership statistics.
$this->element('a',
array('href' => $url),
// TRANS: H2 text for user list membership statistics.
_('Lists'));
$this->text(' ');
$this->text($lists->N);

View File

@ -145,7 +145,7 @@ class SubGroupNav extends Menu
// TRANS: Menu item in local navigation menu.
_m('MENU','Invite'),
// TRANS: Menu item title in local navigation menu.
// TRANS: %s is a user nickname.
// TRANS: %s is the StatusNet sitename.
sprintf(_('Invite friends and colleagues to join you on %s.'),
common_config('site', 'name')),
$action == 'invite',

View File

@ -91,17 +91,23 @@ class GroupdirectoryAction extends Action
if ($this->filter == 'all') {
if ($this->page != 1) {
// TRANS: Title for group directory page. %d is a page number.
return(sprintf(_m('Group Directory, page %d'), $this->page));
}
// TRANS: Title for group directory page.
return _m('Group directory');
} else if ($this->page == 1) {
return sprintf(
// TRANS: Title for group directory page when it is filtered.
// TRANS: %s is the filter string.
_m('Group directory - %s'),
strtoupper($this->filter)
);
} else {
return sprintf(
_m('Group directory - %s, page %d'),
// TRANS: Title for group directory page when it is filtered.
// TRANS: %1$s is the filter string, %2$d is a page number.
_m('Group directory - %1$s, page %2$d'),
strtoupper($this->filter),
$this->page
);
@ -115,19 +121,11 @@ class GroupdirectoryAction extends Action
*/
function getInstructions()
{
// TRANS: Page notice for groups directory.
// TRANS: %%site.name%% is the name of the StatusNet site.
// TRANS: %%action.newgroup%% is a URL. Do not change it.
// TRANS: This message contains Markdown links in the form [link text](link).
$instructions = <<< END_OF_INSTRUCTIONS
After you join a group you can send messages to all other members
using the syntax "!groupname".
Browse groups, or search for groups on by their name, location or topic.
Separate the terms by spaces; they must be three characters or more.
END_OF_INSTRUCTIONS;
return _m($instructions);
// TRANS: Page instructions.
return _m("After you join a group you can send messages to all other members\n".
"using the syntax \"!groupname\".\n\n".
"Browse groups, or search for groups on by their name, location or topic.\n".
"Separate the terms by spaces; they must be three characters or more.\n");
}
/**
@ -217,7 +215,7 @@ END_OF_INSTRUCTIONS;
'href' => common_local_url('newgroup'),
'class' => 'more'),
// TRANS: Link to create a new group on the group list page.
_('Create a new group')
_m('Create a new group')
);
$this->elementEnd('p');
}
@ -226,6 +224,7 @@ END_OF_INSTRUCTIONS;
$this->elementStart('div', array('id' => 'profile_directory'));
// @todo FIXME: Does "All" need i18n here?
$alphaNav = new AlphaNav($this, false, false, array('0-9', 'All'));
$alphaNav->show();
@ -280,12 +279,15 @@ END_OF_INSTRUCTIONS;
$this->elementStart('fieldset');
// TRANS: Fieldset legend.
$this->element('legend', null, _m('Search groups'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
// TRANS: Field label for input of one or more keywords.
$this->input('q', _m('Keyword(s)'), $this->q);
// TRANS: Button text for searching group directory.
$this->submit('search', _m('BUTTON','Search'));
$this->elementEnd('li');
$this->elementEnd('ul');
@ -401,19 +403,20 @@ GROUP_QUERY_END;
'p',
'error',
sprintf(
_m('No groups starting with %s'),
// TRANS: Empty list message for searching group directory.
// TRANS: %s is the search string.
_m('No groups starting with %s.'),
$this->filter
)
);
} else {
// TRANS: Empty list message for searching group directory.
$this->element('p', 'error', _m('No results.'));
$message = _m(<<<E_O_T
* Make sure all words are spelled correctly.
* Try different keywords.
* Try more general keywords.
* Try fewer keywords.
E_O_T
);
// TRANS: Help text for searching group directory.
$message = _m("* Make sure all words are spelled correctly.\n".
"* Try different keywords.\n".
"* Try more general keywords.\n".
"* Try fewer keywords.");
$this->elementStart('div', 'help instructions');
$this->raw(common_markup_to_html($message));
$this->elementEnd('div');
@ -427,5 +430,4 @@ E_O_T
$gbm = new GroupsByMembersSection($this);
$gbm->show();
}
}

View File

@ -1,5 +1,4 @@
<?php
/**
* StatusNet, the distributed open-source microblogging tool
*
@ -43,7 +42,6 @@ require_once INSTALLDIR . '/lib/subscriptionlist.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
class SortableGroupList extends SortableSubscriptionList
{
/** Owner of this list */
@ -63,12 +61,13 @@ class SortableGroupList extends SortableSubscriptionList
$this->out->elementStart('tr');
$tableHeaders = array(
// TRANS: Column header in table for user nickname.
'nickname' => _m('Nickname'),
// TRANS: Column header in table for timestamp when user was created.
'created' => _m('Created')
);
foreach ($tableHeaders as $id => $label) {
$attrs = array('id' => $id);
$current = (!empty($this->action->sort) && $this->action->sort == $id);
@ -110,6 +109,7 @@ class SortableGroupList extends SortableSubscriptionList
$this->out->elementEnd('th');
}
// TRANS: Column header in table for members of a group.
$this->out->element('th', array('id' => 'Members'), _m('Members'));
$this->out->element('th', array('id' => 'controls'), null);
@ -245,6 +245,7 @@ class SortableGroupListItem extends SortableSubscriptionListItem
function showCreatedDate()
{
$this->out->elementStart('td', 'entry_created');
// @todo FIXME: Should we provide i18n for timestamps in core?
$this->out->raw(date('j M Y', strtotime($this->profile->created)));
$this->out->elementEnd('td');
}
@ -267,5 +268,4 @@ class SortableGroupListItem extends SortableSubscriptionListItem
}
}
}

View File

@ -854,7 +854,7 @@ class OStatusPlugin extends Plugin
$oprofile = Ostatus_profile::staticGet('peopletag_id', $peopletag->id);
if ($oprofile) {
if (!$oprofile->subscribe()) {
// TRANS: Exception thrown when setup of remote people tag subscription fails.
// TRANS: Exception thrown when setup of remote list subscription fails.
throw new Exception(_m('Could not set up remote list subscription.'));
}
@ -875,7 +875,7 @@ class OStatusPlugin extends Plugin
// TRANS: Title for remote follow list.
$act->title = _m('TITLE','Follow list');
// TRANS: Success message for remote list follow through OStatus.
// TRANS: %1$s is the subscriber name, %2$s the prople tag, %3$s is the tagger's name.
// TRANS: %1$s is the subscriber name, %2$s is the list, %3$s is the tagger's name.
$act->content = sprintf(_m("%1$s is now following people listed in %2$s by %3$s."),
$sub->getBestName(),
$oprofile->getBestName(),

View File

@ -169,6 +169,7 @@ class OStatusPeopletagAction extends OStatusSubAction
function getInstructions()
{
// TRANS: Instructions for OStatus list subscription form.
return _m('You can subscribe to lists from other supported sites. Paste the lists\'s URI below:');
}

View File

@ -588,6 +588,36 @@ address {
-webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}
.invite_button {
height: 2.1em;
line-height: 2.1em;
display: block;
text-align: center;
color:#fff;
font-weight: bold;
text-transform: uppercase;
font-size: 1.2em;
text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2);
border: 1px solid #d7621c;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
background: #FB6104;
background: -moz-linear-gradient(top, #ff9d63 , #FB6104);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff9d63), color-stop(100%,#FB6104));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9d63', endColorstr='#FB6104',GradientType=0 );
}
.invite_button:hover {
color: #fff;
text-decoration: none;
text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.6);
background: #ff9d63;
background: -moz-linear-gradient(top, #FB6104 , #fc8035);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FB6104), color-stop(100%,#fc8035));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FB6104', endColorstr='#fc8035',GradientType=0 );
}
#content h1 {
border-bottom: 3px solid #A6ADBF;
color: #A6ADBF;