From 088081675fb7d5250a9b9dfe5015de0822cb5ac2 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 9 Nov 2009 20:01:46 +0100 Subject: Revert "Remove more contractions" This reverts commit 5ab709b73977131813884558bf56d97172a7aa26. Missed this one yesterday... --- lib/api.php | 14 +++++++------- lib/apiauth.php | 2 +- lib/dberroraction.php | 6 +++--- lib/error.php | 4 ++-- lib/htmloutputter.php | 2 +- lib/imagefile.php | 2 +- lib/jabber.php | 2 +- lib/mail.php | 6 +++--- lib/noticelist.php | 4 ++-- lib/queuehandler.php | 12 ++++++------ lib/rssaction.php | 2 +- lib/search_engines.php | 2 +- lib/util.php | 12 ++++++------ lib/xmloutputter.php | 2 +- lib/xmppqueuehandler.php | 2 +- 15 files changed, 37 insertions(+), 37 deletions(-) (limited to 'lib') diff --git a/lib/api.php b/lib/api.php index fb4c4289b..a1236ab7e 100644 --- a/lib/api.php +++ b/lib/api.php @@ -66,7 +66,7 @@ class ApiAction extends Action * * @param array $args Web and URL arguments * - * @return boolean false if user does not exist + * @return boolean false if user doesn't exist */ function prepare($args) @@ -138,7 +138,7 @@ class ApiAction extends Action $design = null; $user = $profile->getUser(); - // Note: some profiles do not have an associated user + // Note: some profiles don't have an associated user if (!empty($user)) { $design = $user->getDesign(); @@ -203,7 +203,7 @@ class ApiAction extends Action if ($get_notice) { $notice = $profile->getCurrentNotice(); if ($notice) { - # do not get user! + # don't get user! $twitter_user['status'] = $this->twitterStatusArray($notice, false); } } @@ -263,7 +263,7 @@ class ApiAction extends Action } if ($include_user) { - # Do not get notice (recursive!) + # Don't get notice (recursive!) $twitter_user = $this->twitterUserArray($profile, false); $twitter_status['user'] = $twitter_user; } @@ -1074,7 +1074,7 @@ class ApiAction extends Action function initTwitterAtom() { $this->startXML(); - // FIXME: do not hardcode the language here! + // FIXME: don't hardcode the language here! $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en-US', 'xmlns:thr' => 'http://purl.org/syndication/thread/1.0')); @@ -1116,7 +1116,7 @@ class ApiAction extends Action return User::staticGet('nickname', $nickname); } else if ($this->arg('user_id')) { // This is to ensure that a non-numeric user_id still - // overrides screen_name even if it does not get used + // overrides screen_name even if it doesn't get used if (is_numeric($this->arg('user_id'))) { return User::staticGet('id', $this->arg('user_id')); } @@ -1146,7 +1146,7 @@ class ApiAction extends Action return User_group::staticGet('nickname', $nickname); } else if ($this->arg('group_id')) { // This is to ensure that a non-numeric user_id still - // overrides screen_name even if it does not get used + // overrides screen_name even if it doesn't get used if (is_numeric($this->arg('group_id'))) { return User_group::staticGet('id', $this->arg('group_id')); } diff --git a/lib/apiauth.php b/lib/apiauth.php index b8189f15d..2f2e44a26 100644 --- a/lib/apiauth.php +++ b/lib/apiauth.php @@ -87,7 +87,7 @@ class ApiAuthAction extends ApiAction } /** - * Check for a user specified via HTTP basic auth. If there is not + * Check for a user specified via HTTP basic auth. If there isn't * one, try to get one by outputting the basic auth header. * * @return boolean true or false diff --git a/lib/dberroraction.php b/lib/dberroraction.php index 893797b70..2cb66a022 100644 --- a/lib/dberroraction.php +++ b/lib/dberroraction.php @@ -39,7 +39,7 @@ require_once INSTALLDIR.'/lib/servererroraction.php'; * * This only occurs if there's been a DB_DataObject_Error that's * reported through PEAR, so we try to avoid doing anything that connects - * to the DB, so we do not trigger it again. + * to the DB, so we don't trigger it again. * * @category Action * @package StatusNet @@ -62,12 +62,12 @@ class DBErrorAction extends ServerErrorAction function getLanguage() { - // Do not try to figure out user's language; just show the page + // Don't try to figure out user's language; just show the page return common_config('site', 'language'); } function showPrimaryNav() { - // do not show primary nav + // don't show primary nav } } diff --git a/lib/error.php b/lib/error.php index 5ed5dec1b..3162cfe65 100644 --- a/lib/error.php +++ b/lib/error.php @@ -104,11 +104,11 @@ class ErrorAction extends Action { parent::showPage(); - // We do not want to have any more output after this + // We don't want to have any more output after this exit(); } - // Overload a bunch of stuff so the page is not too bloated + // Overload a bunch of stuff so the page isn't too bloated function showBody() { diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index 73bd9ce81..c2ec83c28 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -76,7 +76,7 @@ class HTMLOutputter extends XMLOutputter /** * Start an HTML document * - * If $type is not specified, will attempt to do content negotiation. + * If $type isn't specified, will attempt to do content negotiation. * * Attempts to do content negotiation for language, also. * diff --git a/lib/imagefile.php b/lib/imagefile.php index edc7218d0..cf1668f20 100644 --- a/lib/imagefile.php +++ b/lib/imagefile.php @@ -119,7 +119,7 @@ class ImageFile return; } - // Do not crop/scale if it is not necessary + // Don't crop/scale if it isn't necessary if ($size === $this->width && $size === $this->height && $x === 0 diff --git a/lib/jabber.php b/lib/jabber.php index d666fcbb3..73f2ec660 100644 --- a/lib/jabber.php +++ b/lib/jabber.php @@ -437,7 +437,7 @@ function jabber_public_notice($notice) $public = common_config('xmpp', 'public'); - // FIXME PRIV do not send out private messages here + // FIXME PRIV don't send out private messages here // XXX: should we send out non-local messages if public,localonly // = false? I think not diff --git a/lib/mail.php b/lib/mail.php index 79630b721..5218059e9 100644 --- a/lib/mail.php +++ b/lib/mail.php @@ -467,7 +467,7 @@ function mail_notify_nudge($from, $to) "these days and is inviting you to post some news.\n\n". "So let's hear from you :)\n\n". "%3\$s\n\n". - "Do not reply to this email. It will not get to them.\n\n". + "Don't reply to this email; it won't get to them.\n\n". "With kind regards,\n". "%4\$s\n"), $from_profile->getBestName(), @@ -516,7 +516,7 @@ function mail_notify_message($message, $from=null, $to=null) "------------------------------------------------------\n\n". "You can reply to their message here:\n\n". "%4\$s\n\n". - "Do not reply to this email. It will not get to them.\n\n". + "Don't reply to this email; it won't get to them.\n\n". "With kind regards,\n". "%5\$s\n"), $from_profile->getBestName(), @@ -532,7 +532,7 @@ function mail_notify_message($message, $from=null, $to=null) /** * notify a user that one of their notices has been chosen as a 'fave' * - * Does not check that the user has an email address nor if they + * Doesn't check that the user has an email address nor if they * want to receive notification of faves. Maybe this happens higher * up the stack...? * diff --git a/lib/noticelist.php b/lib/noticelist.php index 4e5623ded..bf12bb73c 100644 --- a/lib/noticelist.php +++ b/lib/noticelist.php @@ -347,7 +347,7 @@ class NoticeListItem extends Widget * show the link to the main page for the notice * * Displays a link to the page for a notice, with "relative" time. Tries to - * get remote notice URLs correct, but does not always succeed. + * get remote notice URLs correct, but doesn't always succeed. * * @return void */ @@ -483,7 +483,7 @@ class NoticeListItem extends Widget * show a link to reply to the current notice * * Should either do the reply in the current notice form (if available), or - * link out to the notice-posting form. A little flakey, does not always work. + * link out to the notice-posting form. A little flakey, doesn't always work. * * @return void */ diff --git a/lib/queuehandler.php b/lib/queuehandler.php index 7c07ca4f9..cd43b1e09 100644 --- a/lib/queuehandler.php +++ b/lib/queuehandler.php @@ -96,8 +96,8 @@ class QueueHandler extends Daemon * Initialization, run when the queue handler starts. * If this function indicates failure, the handler run will be aborted. * - * @fixme run() will abort if this does not return true, - * but some subclasses do not bother. + * @fixme run() will abort if this doesn't return true, + * but some subclasses don't bother. * @return boolean true on success, false on failure */ function start() @@ -108,8 +108,8 @@ class QueueHandler extends Daemon * Cleanup, run when the queue handler ends. * If this function indicates failure, a warning will be logged. * - * @fixme run() will throw warnings if this does not return true, - * but many subclasses do not bother. + * @fixme run() will throw warnings if this doesn't return true, + * but many subclasses don't bother. * @return boolean true on success, false on failure */ function finish() @@ -137,7 +137,7 @@ class QueueHandler extends Daemon * method, which passes control back to our handle_notice() method for * each notice that comes in on the queue. * - * Most of the time this will not need to be overridden in a subclass. + * Most of the time this won't need to be overridden in a subclass. * * @return boolean true on success, false on failure */ @@ -173,7 +173,7 @@ class QueueHandler extends Daemon * Called by QueueHandler after each handled item or empty polling cycle. * This is a good time to e.g. service your XMPP connection. * - * Does not need to be overridden if there's no maintenance to do. + * Doesn't need to be overridden if there's no maintenance to do. * * @param int $timeout seconds to sleep if there's nothing to do */ diff --git a/lib/rssaction.php b/lib/rssaction.php index 0e84a65e9..faf6bec7d 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -386,7 +386,7 @@ class Rss10Action extends Action return null; } - // FIXME: does not handle modified profiles, avatars, deleted notices + // FIXME: doesn't handle modified profiles, avatars, deleted notices return strtotime($this->notices[0]->created); } diff --git a/lib/search_engines.php b/lib/search_engines.php index 82713235c..69f6ff468 100644 --- a/lib/search_engines.php +++ b/lib/search_engines.php @@ -119,7 +119,7 @@ class MySQLSearch extends SearchEngine return true; } else if ('identica_notices' === $this->table) { - // Do not show imported notices + // Don't show imported notices $this->target->whereAdd('notice.is_local != ' . Notice::GATEWAY); if (strtolower($q) != $q) { diff --git a/lib/util.php b/lib/util.php index b4f5af1af..a4865c46c 100644 --- a/lib/util.php +++ b/lib/util.php @@ -62,7 +62,7 @@ function common_init_language() $locale_set = common_init_locale($language); setlocale(LC_CTYPE, 'C'); - // So we do not have to make people install the gettext locales + // So we don't have to make people install the gettext locales $path = common_config('site','locale_path'); bindtextdomain("statusnet", $path); bind_textdomain_codeset("statusnet", "UTF-8"); @@ -139,7 +139,7 @@ function common_check_user($nickname, $password) } } }else{ - //no handler indicated the credentials were valid, and we know their not valid because the user is not in the database + //no handler indicated the credentials were valid, and we know their not valid because the user isn't in the database return false; } } else { @@ -396,7 +396,7 @@ function common_current_user() } // Logins that are 'remembered' aren't 'real' -- they're subject to -// cookie-stealing. So, we do not let them do certain things. New reg, +// cookie-stealing. So, we don't let them do certain things. New reg, // OpenID, and password logins _are_ real. function common_real_login($real=true) @@ -1147,7 +1147,7 @@ function common_accept_to_prefs($accept, $def = '*/*') $parts = explode(',', $accept); foreach($parts as $part) { - // FIXME: does not deal with params like 'text/html; level=1' + // FIXME: doesn't deal with params like 'text/html; level=1' @list($value, $qpart) = explode(';', trim($part)); $match = array(); if(!isset($qpart)) { @@ -1346,7 +1346,7 @@ function common_error_handler($errno, $errstr, $errfile, $errline, $errcontext) } // FIXME: show error page if we're on the Web - /* Do not execute PHP internal error handler */ + /* Don't execute PHP internal error handler */ return true; } @@ -1448,7 +1448,7 @@ function common_shorten_url($long_url) } global $_shorteners; if (!isset($_shorteners[$svc])) { - //the user selected service does not exist, so default to ur1.ca + //the user selected service doesn't exist, so default to ur1.ca $svc = 'ur1.ca'; } if (!isset($_shorteners[$svc])) { diff --git a/lib/xmloutputter.php b/lib/xmloutputter.php index 9d862b2d0..5f06e491d 100644 --- a/lib/xmloutputter.php +++ b/lib/xmloutputter.php @@ -112,7 +112,7 @@ class XMLOutputter * * Utility for outputting an XML element. A convenient wrapper * for a bunch of longer XMLWriter calls. This is best for - * when an element does not have any sub-elements; if that's the + * when an element doesn't have any sub-elements; if that's the * case, use elementStart() and elementEnd() instead. * * The $content element will be escaped for XML. If you need diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php index 7caa078ae..f28fc9088 100644 --- a/lib/xmppqueuehandler.php +++ b/lib/xmppqueuehandler.php @@ -37,7 +37,7 @@ class XmppQueueHandler extends QueueHandler function start() { - # Low priority; we do not want to receive messages + # Low priority; we don't want to receive messages $this->log(LOG_INFO, "INITIALIZE"); $this->conn = jabber_connect($this->_id.$this->transport()); -- cgit v1.2.3-54-g00ecf From 3be120571446880cb71a57845204b3213e6df67e Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Mon, 9 Nov 2009 17:43:37 -0500 Subject: Add a new event: CanUserChangeField --- EVENTS.txt | 4 ++++ actions/passwordsettings.php | 14 ++++++++++++++ lib/accountsettingsaction.php | 35 ++++++++++++++++++++--------------- plugins/Ldap/LdapPlugin.php | 11 +++++++++++ 4 files changed, 49 insertions(+), 15 deletions(-) (limited to 'lib') diff --git a/EVENTS.txt b/EVENTS.txt index 25a51516b..c3fe73134 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -489,6 +489,10 @@ ChangePassword: Handle a password change request - $newpassword: the desired new password - &$errormsg: set this to an error message if the password could not be changed. If the password was changed, leave this as false +CanUserChangeField: Determines if a user is allowed to change a specific profile field +- $nickname: nickname of the user who would like to know which of their profile fields are mutable +- $field: name of the field the user wants to change (nickname, fullname, password, avatar, etc) + UserDeleteRelated: Specify additional tables to delete entries from when deleting users - $user: User object - &$related: array of DB_DataObject class names to delete entries on matching user_id. diff --git a/actions/passwordsettings.php b/actions/passwordsettings.php index 6658d279f..15539d4a0 100644 --- a/actions/passwordsettings.php +++ b/actions/passwordsettings.php @@ -58,6 +58,19 @@ class PasswordsettingsAction extends AccountSettingsAction return _('Change password'); } + function prepare($args){ + parent::prepare($args); + + $user = common_current_user(); + + Event::handle('CanUserChangeField', array($user->nickname, 'password')); + + if(! $fields['password']){ + //user is not allowed to change his password + $this->clientError(_('You are not allowed to change your password')); + } + } + /** * Instructions for use * @@ -86,6 +99,7 @@ class PasswordsettingsAction extends AccountSettingsAction function showContent() { $user = common_current_user(); + $this->elementStart('form', array('method' => 'POST', 'id' => 'form_password', 'class' => 'form_settings', diff --git a/lib/accountsettingsaction.php b/lib/accountsettingsaction.php index a004a3ed9..9865e1748 100644 --- a/lib/accountsettingsaction.php +++ b/lib/accountsettingsaction.php @@ -102,26 +102,31 @@ class AccountSettingsNav extends Widget $this->action->elementStart('ul', array('class' => 'nav')); if (Event::handle('StartAccountSettingsNav', array(&$this->action))) { + $user = common_current_user(); - $menu = - array('profilesettings' => + $menu = array(); + $menu['profilesettings'] = array(_('Profile'), - _('Change your profile settings')), - 'avatarsettings' => - array(_('Avatar'), - _('Upload an avatar')), - 'passwordsettings' => - array(_('Password'), - _('Change your password')), - 'emailsettings' => + _('Change your profile settings')); + if(Event::handle('CanUserChangeField', array($user->nickname, 'avatar'))){ + $menu['avatarsettings'] = + array(_('Avatar'), + _('Upload an avatar')); + } + if(Event::handle('CanUserChangeField', array($user->nickname, 'password'))){ + $menu['passwordsettings'] = + array(_('Password'), + _('Change your password')); + } + $menu['emailsettings'] = array(_('Email'), - _('Change email handling')), - 'userdesignsettings' => + _('Change email handling')); + $menu['userdesignsettings'] = array(_('Design'), - _('Design your profile')), - 'othersettings' => + _('Design your profile')); + $menu['othersettings'] = array(_('Other'), - _('Other options'))); + _('Other options')); foreach ($menu as $menuaction => $menudesc) { $this->action->menuItem(common_local_url($menuaction), diff --git a/plugins/Ldap/LdapPlugin.php b/plugins/Ldap/LdapPlugin.php index 755562f54..3795ffd7f 100644 --- a/plugins/Ldap/LdapPlugin.php +++ b/plugins/Ldap/LdapPlugin.php @@ -102,4 +102,15 @@ class LdapPlugin extends Plugin //return false, indicating that the event has been handled return false; } + + function onCanUserChangeField($nickname, $field) + { + switch($field) + { + case 'password': + case 'nickname': + case 'email': + return false; + } + } } -- cgit v1.2.3-54-g00ecf From 223fee2ad1430e827830265c9fe97f4d025bb060 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Tue, 10 Nov 2009 15:53:07 +1300 Subject: just sent a http 200 for the check-fancy from install.php --- lib/common.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib') diff --git a/lib/common.php b/lib/common.php index 6aac46807..c473d9cdb 100644 --- a/lib/common.php +++ b/lib/common.php @@ -38,6 +38,8 @@ define('FOREIGN_NOTICE_SEND_REPLY', 4); define('FOREIGN_FRIEND_SEND', 1); define('FOREIGN_FRIEND_RECV', 2); +if ( $_REQUEST['p'] == 'check-fancy') { exit; } //exit with 200 response, if this is checking fancy from the installer + define_syslog_variables(); # append our extlib dir as the last-resort place to find libs -- cgit v1.2.3-54-g00ecf From 069d3f2b2f912f2e7d2289bc58270341c9b1ecc5 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 10 Nov 2009 13:52:47 +0000 Subject: Added hook for the Group navigation items --- EVENTS.txt | 6 +++++ lib/groupnav.php | 79 +++++++++++++++++++++++++++++--------------------------- 2 files changed, 47 insertions(+), 38 deletions(-) (limited to 'lib') diff --git a/EVENTS.txt b/EVENTS.txt index c3fe73134..af686b9cd 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -191,6 +191,12 @@ StartPersonalGroupNav: beginning of personal group nav menu EndPersonalGroupNav: end of personal group nav menu (good place to add a menu item) - $action: action object being shown +StartGroupGroupNav: Showing the group nav menu +- $action: the current action + +EndGroupGroupNav: At the end of the group nav menu +- $action: the current action + StartEndHTML: just before the tag - $action: action object being shown diff --git a/lib/groupnav.php b/lib/groupnav.php index 31cf378c8..131b38fa2 100644 --- a/lib/groupnav.php +++ b/lib/groupnav.php @@ -79,46 +79,49 @@ class GroupNav extends Widget $nickname = $this->group->nickname; $this->out->elementStart('ul', array('class' => 'nav')); - $this->out->menuItem(common_local_url('showgroup', array('nickname' => - $nickname)), - _('Group'), - sprintf(_('%s group'), $nickname), - $action_name == 'showgroup', - 'nav_group_group'); - $this->out->menuItem(common_local_url('groupmembers', array('nickname' => - $nickname)), - _('Members'), - sprintf(_('%s group members'), $nickname), - $action_name == 'groupmembers', - 'nav_group_members'); + if (Event::handle('StartGroupGroupNav', array($this))) { + $this->out->menuItem(common_local_url('showgroup', array('nickname' => + $nickname)), + _('Group'), + sprintf(_('%s group'), $nickname), + $action_name == 'showgroup', + 'nav_group_group'); + $this->out->menuItem(common_local_url('groupmembers', array('nickname' => + $nickname)), + _('Members'), + sprintf(_('%s group members'), $nickname), + $action_name == 'groupmembers', + 'nav_group_members'); - $cur = common_current_user(); + $cur = common_current_user(); - if ($cur && $cur->isAdmin($this->group)) { - $this->out->menuItem(common_local_url('blockedfromgroup', array('nickname' => - $nickname)), - _('Blocked'), - sprintf(_('%s blocked users'), $nickname), - $action_name == 'blockedfromgroup', - 'nav_group_blocked'); - $this->out->menuItem(common_local_url('editgroup', array('nickname' => - $nickname)), - _('Admin'), - sprintf(_('Edit %s group properties'), $nickname), - $action_name == 'editgroup', - 'nav_group_admin'); - $this->out->menuItem(common_local_url('grouplogo', array('nickname' => - $nickname)), - _('Logo'), - sprintf(_('Add or edit %s logo'), $nickname), - $action_name == 'grouplogo', - 'nav_group_logo'); - $this->out->menuItem(common_local_url('groupdesignsettings', array('nickname' => - $nickname)), - _('Design'), - sprintf(_('Add or edit %s design'), $nickname), - $action_name == 'groupdesignsettings', - 'nav_group_design'); + if ($cur && $cur->isAdmin($this->group)) { + $this->out->menuItem(common_local_url('blockedfromgroup', array('nickname' => + $nickname)), + _('Blocked'), + sprintf(_('%s blocked users'), $nickname), + $action_name == 'blockedfromgroup', + 'nav_group_blocked'); + $this->out->menuItem(common_local_url('editgroup', array('nickname' => + $nickname)), + _('Admin'), + sprintf(_('Edit %s group properties'), $nickname), + $action_name == 'editgroup', + 'nav_group_admin'); + $this->out->menuItem(common_local_url('grouplogo', array('nickname' => + $nickname)), + _('Logo'), + sprintf(_('Add or edit %s logo'), $nickname), + $action_name == 'grouplogo', + 'nav_group_logo'); + $this->out->menuItem(common_local_url('groupdesignsettings', array('nickname' => + $nickname)), + _('Design'), + sprintf(_('Add or edit %s design'), $nickname), + $action_name == 'groupdesignsettings', + 'nav_group_design'); + } + Event::handle('EndGroupGroupNav', array($this)); } $this->out->elementEnd('ul'); } -- cgit v1.2.3-54-g00ecf From 486dbe6aef380a9057c5ac609cd1c6086a5e34fc Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 10 Nov 2009 07:57:58 -0800 Subject: Revert untested code; spews PHP notice warnings on every page view: "just sent a http 200 for the check-fancy from install.php" Notice: Undefined index: p in /Library/WebServer/Documents/mublog/lib/common.php on line 41 This reverts commit 223fee2ad1430e827830265c9fe97f4d025bb060. --- lib/common.php | 2 -- 1 file changed, 2 deletions(-) (limited to 'lib') diff --git a/lib/common.php b/lib/common.php index c473d9cdb..6aac46807 100644 --- a/lib/common.php +++ b/lib/common.php @@ -38,8 +38,6 @@ define('FOREIGN_NOTICE_SEND_REPLY', 4); define('FOREIGN_FRIEND_SEND', 1); define('FOREIGN_FRIEND_RECV', 2); -if ( $_REQUEST['p'] == 'check-fancy') { exit; } //exit with 200 response, if this is checking fancy from the installer - define_syslog_variables(); # append our extlib dir as the last-resort place to find libs -- cgit v1.2.3-54-g00ecf From 8d5c2b3129a1d7cefd78e311d5cbbe9ab426bb72 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 10 Nov 2009 14:06:30 -0500 Subject: fixup output of object attributes in db error code --- lib/util.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/util.php b/lib/util.php index b4f5af1af..0ed0688eb 100644 --- a/lib/util.php +++ b/lib/util.php @@ -57,11 +57,11 @@ function common_init_language() // we can set in another locale that may not be set up // (say, ga_ES for Galego/Galician) it seems to take it. common_init_locale("en_US"); - + $language = common_language(); $locale_set = common_init_locale($language); setlocale(LC_CTYPE, 'C'); - + // So we do not have to make people install the gettext locales $path = common_config('site','locale_path'); bindtextdomain("statusnet", $path); @@ -1112,7 +1112,11 @@ function common_log_objstring(&$object) $arr = $object->toArray(); $fields = array(); foreach ($arr as $k => $v) { - $fields[] = "$k='$v'"; + if (is_object($v)) { + $fields[] = "$k='".get_class($v)."'"; + } else { + $fields[] = "$k='$v'"; + } } $objstring = $object->tableName() . '[' . implode(',', $fields) . ']'; return $objstring; -- cgit v1.2.3-54-g00ecf From 923fa068a684a7e3b712714cda0cb75ffa58bd78 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 10 Nov 2009 14:45:19 -0500 Subject: change credential check to work more like other events --- EVENTS.txt | 10 ++++++---- lib/util.php | 47 +++++++++++------------------------------------ 2 files changed, 17 insertions(+), 40 deletions(-) (limited to 'lib') diff --git a/EVENTS.txt b/EVENTS.txt index af686b9cd..ced130f5f 100644 --- a/EVENTS.txt +++ b/EVENTS.txt @@ -481,13 +481,15 @@ EndPublicXRDS: End XRDS output (right before the closing XRDS tag) - $action: the current action - &$xrdsoutputter - XRDSOutputter object to write to -CheckPassword: Check a username/password +StartCheckPassword: Check a username/password - $nickname: The nickname to check - $password: The password to check -- &$authenticated: set to true to indicate authentication succeeded. +- &$authenticatedUser: set to User object if credentials match a user. -AutoRegister: Register a new user with the given nickname. Should insert a new User and Profile into the database. -- $nickname: The nickname to register +EndCheckPassword: After checking a username/password pair +- $nickname: The nickname that was checked +- $password: The password that was checked +- $authenticatedUser: User object if credentials match a user, else null. ChangePassword: Handle a password change request - $nickname: user's nickname diff --git a/lib/util.php b/lib/util.php index 65bc6544d..81160d052 100644 --- a/lib/util.php +++ b/lib/util.php @@ -116,51 +116,26 @@ function common_munge_password($password, $id) } // check if a username exists and has matching password + function common_check_user($nickname, $password) { - $authenticated = false; - $eventResult = Event::handle('CheckPassword', array($nickname, $password, &$authenticated)); - $user = User::staticGet('nickname', $nickname); - if (is_null($user) || $user === false) { - //user does not exist - if($authenticated){ - //a handler said these are valid credentials, so see if a plugin wants to auto register the user - if(Event::handle('AutoRegister', array($nickname))){ - //no handler registered the user - return false; - }else{ - $user = User::staticGet('nickname', $nickname); - if (is_null($user) || $user === false) { - common_log(LOG_WARNING, "A plugin handled the AutoRegister event, but did not actually register the user, nickname: $nickname"); - return false; - }else{ - return $user; - } - } - }else{ - //no handler indicated the credentials were valid, and we know their not valid because the user isn't in the database - return false; - } - } else { - if($eventResult && ! $authenticated){ - //no handler was authoritative - if (mb_strlen($password) == 0) { - // NEVER allow blank passwords, even if they match the DB - return false; - }else{ + $authenticatedUser = false; + + if (Event::handle('StartCheckPassword', array($nickname, $password, &$authenticatedUser))) { + $user = User::staticGet('nickname', $nickname); + if (!empty($user)) { + if (!empty($password)) { // never allow login with blank password if (0 == strcmp(common_munge_password($password, $user->id), $user->password)) { //internal checking passed - $authenticated = true; + $authenticatedUser =& $user; } } } - if($authenticated){ - return $user; - } else { - return false; - } + Event::handle('EndCheckPassword', array($nickname, $password, $authenticatedUser)); } + + return $authenticatedUser; } // is the current user logged in? -- cgit v1.2.3-54-g00ecf From da372c4d883eb93bcc90d37dac25bbf6273872a8 Mon Sep 17 00:00:00 2001 From: Siebrand Mazeland Date: Tue, 10 Nov 2009 22:03:11 +0100 Subject: Localisation updates from translatewiki.net * adding Arabic localisation --- lib/language.php | 1 + locale/ar/LC_MESSAGES/statusnet.mo | Bin 0 -> 22332 bytes locale/ar/LC_MESSAGES/statusnet.po | 4462 ++++++++++++++++++++++++++++++++++++ 3 files changed, 4463 insertions(+) create mode 100644 locale/ar/LC_MESSAGES/statusnet.mo create mode 100644 locale/ar/LC_MESSAGES/statusnet.po (limited to 'lib') diff --git a/lib/language.php b/lib/language.php index bec5620fd..2570907b7 100644 --- a/lib/language.php +++ b/lib/language.php @@ -101,6 +101,7 @@ function get_nice_language_list() */ function get_all_languages() { return array( + 'ar' => array('q' => 0.8, 'lang' => 'ar', 'name' => 'Arabic', 'direction' => 'rtl'), 'bg' => array('q' => 0.8, 'lang' => 'bg', 'name' => 'Bulgarian', 'direction' => 'ltr'), 'ca' => array('q' => 0.5, 'lang' => 'ca', 'name' => 'Catalan', 'direction' => 'ltr'), 'cs' => array('q' => 0.5, 'lang' => 'cs', 'name' => 'Czech', 'direction' => 'ltr'), diff --git a/locale/ar/LC_MESSAGES/statusnet.mo b/locale/ar/LC_MESSAGES/statusnet.mo new file mode 100644 index 000000000..396f81227 Binary files /dev/null and b/locale/ar/LC_MESSAGES/statusnet.mo differ diff --git a/locale/ar/LC_MESSAGES/statusnet.po b/locale/ar/LC_MESSAGES/statusnet.po new file mode 100644 index 000000000..d5000e633 --- /dev/null +++ b/locale/ar/LC_MESSAGES/statusnet.po @@ -0,0 +1,4462 @@ +# Translation of StatusNet to Arabic +# +# Author@translatewiki.net: OsamaK +# -- +msgid "" +msgstr "" +"Project-Id-Version: StatusNet\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-11-10 20:53+0000\n" +"PO-Revision-Date: 2009-11-10 20:58:39+0000\n" +"Language-Team: Arabic\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: MediaWiki 1.16alpha(r58872); Translate extension (2009-08-03)\n" +"X-Translation-Project: translatewiki.net at http://translatewiki.net\n" +"X-Language-Code: ar\n" +"X-Message-Group: out-statusnet\n" + +#: actions/all.php:63 actions/public.php:97 actions/replies.php:92 +#: actions/showfavorites.php:137 actions/tag.php:51 +msgid "No such page" +msgstr "لا صفحة كهذه" + +#: actions/all.php:74 actions/allrss.php:68 +#: actions/apiaccountupdateprofileimage.php:105 actions/apiblockcreate.php:97 +#: actions/apiblockdestroy.php:96 actions/apidirectmessagenew.php:75 +#: actions/apidirectmessage.php:77 actions/apigroupcreate.php:112 +#: actions/apigroupismember.php:90 actions/apigroupjoin.php:99 +#: actions/apigroupleave.php:99 actions/apigrouplist.php:90 +#: actions/apistatusesupdate.php:139 actions/apisubscriptions.php:87 +#: actions/apitimelinefavorites.php:70 actions/apitimelinefriends.php:79 +#: actions/apitimelinementions.php:79 actions/apitimelineuser.php:81 +#: actions/avatarbynickname.php:75 actions/favoritesrss.php:74 +#: actions/foaf.php:40 actions/foaf.php:58 actions/microsummary.php:62 +#: actions/newmessage.php:116 actions/remotesubscribe.php:145 +#: actions/remotesubscribe.php:154 actions/replies.php:73 +#: actions/repliesrss.php:38 actions/showfavorites.php:105 +#: actions/userbyid.php:74 actions/usergroups.php:91 actions/userrss.php:38 +#: actions/xrds.php:71 lib/command.php:163 lib/command.php:311 +#: lib/command.php:364 lib/command.php:411 lib/command.php:466 +#: lib/galleryaction.php:59 lib/mailbox.php:82 lib/profileaction.php:77 +#: lib/subs.php:34 lib/subs.php:112 +msgid "No such user." +msgstr "لا مستخدم كهذا." + +#: actions/all.php:84 +#, php-format +msgid "%s and friends, page %d" +msgstr "" + +#: actions/all.php:86 actions/all.php:167 actions/allrss.php:115 +#: actions/apitimelinefriends.php:114 lib/personalgroupnav.php:100 +#, php-format +msgid "%s and friends" +msgstr "" + +#: actions/all.php:99 +#, php-format +msgid "Feed for friends of %s (RSS 1.0)" +msgstr "" + +#: actions/all.php:107 +#, php-format +msgid "Feed for friends of %s (RSS 2.0)" +msgstr "" + +#: actions/all.php:115 +#, php-format +msgid "Feed for friends of %s (Atom)" +msgstr "" + +#: actions/all.php:127 +#, php-format +msgid "" +"This is the timeline for %s and friends but no one has posted anything yet." +msgstr "" + +#: actions/all.php:132 +#, php-format +msgid "" +"Try subscribing to more people, [join a group](%%action.groups%%) or post " +"something yourself." +msgstr "" + +#: actions/all.php:134 +#, php-format +msgid "" +"You can try to [nudge %s](../%s) from his profile or [post something to his " +"or her attention](%%%%action.newnotice%%%%?status_textarea=%s)." +msgstr "" + +#: actions/all.php:137 actions/replies.php:209 actions/showstream.php:202 +#, php-format +msgid "" +"Why not [register an account](%%%%action.register%%%%) and then nudge %s or " +"post a notice to his or her attention." +msgstr "" + +#: actions/all.php:165 +msgid "You and friends" +msgstr "أنت والأصدقاء" + +#: actions/allrss.php:119 actions/apitimelinefriends.php:121 +#, php-format +msgid "Updates from %1$s and friends on %2$s!" +msgstr "" + +#: actions/apiaccountratelimitstatus.php:70 actions/apidirectmessage.php:156 +#: actions/apifavoritecreate.php:99 actions/apifavoritedestroy.php:100 +#: actions/apifriendshipscreate.php:100 actions/apifriendshipsdestroy.php:100 +#: actions/apifriendshipsshow.php:129 actions/apigroupcreate.php:184 +#: actions/apigroupismember.php:114 actions/apigroupjoin.php:155 +#: actions/apigroupleave.php:141 actions/apigrouplistall.php:120 +#: actions/apigrouplist.php:132 actions/apigroupmembership.php:101 +#: actions/apigroupshow.php:105 actions/apihelptest.php:88 +#: actions/apistatusesdestroy.php:102 actions/apistatusesshow.php:108 +#: actions/apistatusnetconfig.php:133 actions/apistatusnetversion.php:93 +#: actions/apisubscriptions.php:111 actions/apitimelinefavorites.php:144 +#: actions/apitimelinefriends.php:154 actions/apitimelinegroup.php:141 +#: actions/apitimelinementions.php:149 actions/apitimelinepublic.php:130 +#: actions/apitimelinetag.php:139 actions/apitimelineuser.php:163 +#: actions/apiusershow.php:101 +msgid "API method not found!" +msgstr "" + +#: actions/apiaccountupdateprofileimage.php:84 actions/apiblockcreate.php:89 +#: actions/apiblockdestroy.php:88 actions/apidirectmessagenew.php:117 +#: actions/apifavoritecreate.php:90 actions/apifavoritedestroy.php:91 +#: actions/apifriendshipscreate.php:91 actions/apifriendshipsdestroy.php:91 +#: actions/apigroupcreate.php:104 actions/apigroupjoin.php:91 +#: actions/apigroupleave.php:91 actions/apistatusesupdate.php:109 +msgid "This method requires a POST." +msgstr "" + +#: actions/apiaccountupdateprofileimage.php:97 +#: actions/apistatusesupdate.php:122 actions/avatarsettings.php:254 +#: actions/newnotice.php:94 lib/designsettings.php:283 +#, php-format +msgid "" +"The server was unable to handle that much POST data (%s bytes) due to its " +"current configuration." +msgstr "" + +#: actions/apiaccountupdateprofileimage.php:130 actions/apiusershow.php:108 +#: actions/avatarbynickname.php:80 actions/foaf.php:65 actions/replies.php:80 +#: actions/usergroups.php:98 lib/galleryaction.php:66 lib/profileaction.php:84 +msgid "User has no profile." +msgstr "ليس للمستخدم ملف شخصي." + +#: actions/apiblockcreate.php:108 +msgid "Block user failed." +msgstr "" + +#: actions/apiblockdestroy.php:107 +msgid "Unblock user failed." +msgstr "" + +#: actions/apidirectmessagenew.php:126 +msgid "No message text!" +msgstr "لا نص في الرسالة!" + +#: actions/apidirectmessagenew.php:135 actions/newmessage.php:150 +#, php-format +msgid "That's too long. Max message size is %d chars." +msgstr "" + +#: actions/apidirectmessagenew.php:146 +msgid "Recipient user not found." +msgstr "لم يُعثر على المستخدم المستلم." + +#: actions/apidirectmessagenew.php:150 +msgid "Can't send direct messages to users who aren't your friend." +msgstr "" + +#: actions/apidirectmessage.php:89 +#, php-format +msgid "Direct messages from %s" +msgstr "" + +#: actions/apidirectmessage.php:93 +#, php-format +msgid "All the direct messages sent from %s" +msgstr "" + +#: actions/apidirectmessage.php:101 +#, php-format +msgid "Direct messages to %s" +msgstr "" + +#: actions/apidirectmessage.php:105 +#, php-format +msgid "All the direct messages sent to %s" +msgstr "" + +#: actions/apifavoritecreate.php:108 actions/apifavoritedestroy.php:109 +#: actions/apistatusesdestroy.php:113 +msgid "No status found with that ID." +msgstr "" + +#: actions/apifavoritecreate.php:119 +msgid "This status is already a favorite!" +msgstr "" + +#: actions/apifavoritecreate.php:130 actions/favor.php:84 lib/command.php:176 +msgid "Could not create favorite." +msgstr "تعذّر إنشاء مفضلة." + +#: actions/apifavoritedestroy.php:122 +msgid "That status is not a favorite!" +msgstr "" + +#: actions/apifavoritedestroy.php:134 actions/disfavor.php:87 +msgid "Could not delete favorite." +msgstr "تعذّر حذف المفضلة." + +#: actions/apifriendshipscreate.php:109 +msgid "Could not follow user: User not found." +msgstr "" + +#: actions/apifriendshipscreate.php:118 +#, php-format +msgid "Could not follow user: %s is already on your list." +msgstr "" + +#: actions/apifriendshipsdestroy.php:109 +msgid "Could not unfollow user: User not found." +msgstr "" + +#: actions/apifriendshipsdestroy.php:120 +msgid "You cannot unfollow yourself!" +msgstr "" + +#: actions/apifriendshipsexists.php:94 +msgid "Two user ids or screen_names must be supplied." +msgstr "" + +#: actions/apifriendshipsshow.php:135 +msgid "Could not determine source user." +msgstr "" + +#: actions/apifriendshipsshow.php:143 +msgid "Could not find target user." +msgstr "تعذّر إيجاد المستخدم الهدف." + +#: actions/apigroupcreate.php:136 actions/newgroup.php:204 +msgid "Could not create group." +msgstr "" + +#: actions/apigroupcreate.php:147 actions/editgroup.php:259 +#: actions/newgroup.php:210 +msgid "Could not create aliases." +msgstr "تعذّر إنشاء الكنى." + +#: actions/apigroupcreate.php:166 actions/newgroup.php:224 +msgid "Could not set group membership." +msgstr "تعذّر ضبط عضوية المجموعة." + +#: actions/apigroupcreate.php:212 actions/editgroup.php:182 +#: actions/newgroup.php:126 actions/profilesettings.php:208 +#: actions/register.php:205 +msgid "Nickname must have only lowercase letters and numbers and no spaces." +msgstr "" + +#: actions/apigroupcreate.php:221 actions/editgroup.php:186 +#: actions/newgroup.php:130 actions/profilesettings.php:231 +#: actions/register.php:208 +msgid "Nickname already in use. Try another one." +msgstr "" + +#: actions/apigroupcreate.php:228 actions/editgroup.php:189 +#: actions/newgroup.php:133 actions/profilesettings.php:211 +#: actions/register.php:210 +msgid "Not a valid nickname." +msgstr "ليس اسمًا مستعارًا صحيحًا." + +#: actions/apigroupcreate.php:244 actions/editgroup.php:195 +#: actions/newgroup.php:139 actions/profilesettings.php:215 +#: actions/register.php:217 +msgid "Homepage is not a valid URL." +msgstr "الصفحة الرئيسية ليست عنونًا صالحًا." + +#: actions/apigroupcreate.php:253 actions/editgroup.php:198 +#: actions/newgroup.php:142 actions/profilesettings.php:218 +#: actions/register.php:220 +msgid "Full name is too long (max 255 chars)." +msgstr "الاسم الكامل طويل جدا (الأقصى 255 حرفًا)" + +#: actions/apigroupcreate.php:261 +#, php-format +msgid "Description is too long (max %d chars)." +msgstr "" + +#: actions/apigroupcreate.php:272 actions/editgroup.php:204 +#: actions/newgroup.php:148 actions/profilesettings.php:225 +#: actions/register.php:227 +msgid "Location is too long (max 255 chars)." +msgstr "" + +#: actions/apigroupcreate.php:291 actions/editgroup.php:215 +#: actions/newgroup.php:159 +#, php-format +msgid "Too many aliases! Maximum %d." +msgstr "" + +#: actions/apigroupcreate.php:312 actions/editgroup.php:224 +#: actions/newgroup.php:168 +#, php-format +msgid "Invalid alias: \"%s\"" +msgstr "" + +#: actions/apigroupcreate.php:321 actions/editgroup.php:228 +#: actions/newgroup.php:172 +#, php-format +msgid "Alias \"%s\" already in use. Try another one." +msgstr "" + +#: actions/apigroupcreate.php:334 actions/editgroup.php:234 +#: actions/newgroup.php:178 +msgid "Alias can't be the same as nickname." +msgstr "" + +#: actions/apigroupjoin.php:110 +msgid "You are already a member of that group." +msgstr "" + +#: actions/apigroupjoin.php:119 actions/joingroup.php:95 lib/command.php:221 +msgid "You have been blocked from that group by the admin." +msgstr "" + +#: actions/apigroupjoin.php:138 +#, php-format +msgid "Could not join user %s to group %s." +msgstr "" + +#: actions/apigroupleave.php:114 +msgid "You are not a member of this group." +msgstr "" + +#: actions/apigroupleave.php:124 +#, php-format +msgid "Could not remove user %s to group %s." +msgstr "" + +#: actions/apigrouplistall.php:90 actions/usergroups.php:62 +#, php-format +msgid "%s groups" +msgstr "مجموعات %s" + +#: actions/apigrouplistall.php:94 +#, php-format +msgid "groups on %s" +msgstr "" + +#: actions/apigrouplist.php:95 +#, php-format +msgid "%s's groups" +msgstr "مجموعات %s" + +#: actions/apigrouplist.php:103 +#, php-format +msgid "Groups %s is a member of on %s." +msgstr "" + +#: actions/apistatusesdestroy.php:107 +msgid "This method requires a POST or DELETE." +msgstr "" + +#: actions/apistatusesdestroy.php:130 +msgid "You may not delete another user's status." +msgstr "" + +#: actions/apistatusesshow.php:138 +msgid "Status deleted." +msgstr "حُذِفت الحالة." + +#: actions/apistatusesshow.php:144 +msgid "No status with that ID found." +msgstr "" + +#: actions/apistatusesupdate.php:152 actions/newnotice.php:155 +#: scripts/maildaemon.php:71 +#, php-format +msgid "That's too long. Max notice size is %d chars." +msgstr "" + +#: actions/apistatusesupdate.php:193 +msgid "Not found" +msgstr "لم يوجد" + +#: actions/apistatusesupdate.php:216 actions/newnotice.php:178 +#, php-format +msgid "Max notice size is %d chars, including attachment URL." +msgstr "" + +#: actions/apisubscriptions.php:231 actions/apisubscriptions.php:261 +msgid "Unsupported format." +msgstr "نسق غير مدعوم." + +#: actions/apitimelinefavorites.php:107 +#, php-format +msgid "%s / Favorites from %s" +msgstr "" + +#: actions/apitimelinefavorites.php:119 +#, php-format +msgid "%s updates favorited by %s / %s." +msgstr "" + +#: actions/apitimelinegroup.php:102 actions/apitimelineuser.php:117 +#: actions/grouprss.php:131 actions/userrss.php:90 +#, php-format +msgid "%s timeline" +msgstr "" + +#: actions/apitimelinegroup.php:110 actions/apitimelineuser.php:125 +#: actions/userrss.php:92 +#, php-format +msgid "Updates from %1$s on %2$s!" +msgstr "" + +#: actions/apitimelinementions.php:116 +#, php-format +msgid "%1$s / Updates mentioning %2$s" +msgstr "" + +#: actions/apitimelinementions.php:126 +#, php-format +msgid "%1$s updates that reply to updates from %2$s / %3$s." +msgstr "" + +#: actions/apitimelinepublic.php:106 actions/publicrss.php:103 +#, php-format +msgid "%s public timeline" +msgstr "" + +#: actions/apitimelinepublic.php:110 actions/publicrss.php:105 +#, php-format +msgid "%s updates from everyone!" +msgstr "" + +#: actions/apitimelinetag.php:101 actions/tag.php:66 +#, php-format +msgid "Notices tagged with %s" +msgstr "" + +#: actions/apitimelinetag.php:107 actions/tagrss.php:64 +#, php-format +msgid "Updates tagged with %1$s on %2$s!" +msgstr "" + +#: actions/apiusershow.php:96 +msgid "Not found." +msgstr "" + +#: actions/attachment.php:73 +msgid "No such attachment." +msgstr "لا مرفق كهذا." + +#: actions/avatarbynickname.php:59 actions/leavegroup.php:76 +msgid "No nickname." +msgstr "لا اسم مستعار." + +#: actions/avatarbynickname.php:64 +msgid "No size." +msgstr "لا حجم." + +#: actions/avatarbynickname.php:69 +msgid "Invalid size." +msgstr "حجم غير صالح." + +#: actions/avatarsettings.php:67 actions/showgroup.php:221 +#: lib/accountsettingsaction.php:113 +msgid "Avatar" +msgstr "أفتار" + +#: actions/avatarsettings.php:78 +#, php-format +msgid "You can upload your personal avatar. The maximum file size is %s." +msgstr "" + +#: actions/avatarsettings.php:106 actions/avatarsettings.php:182 +#: actions/grouplogo.php:178 actions/remotesubscribe.php:191 +#: actions/userauthorization.php:72 actions/userrss.php:103 +msgid "User without matching profile" +msgstr "" + +#: actions/avatarsettings.php:119 actions/avatarsettings.php:194 +#: actions/grouplogo.php:251 +msgid "Avatar settings" +msgstr "إعدادات الأفتار" + +#: actions/avatarsettings.php:126 actions/avatarsettings.php:202 +#: actions/grouplogo.php:199 actions/grouplogo.php:259 +msgid "Original" +msgstr "" + +#: actions/avatarsettings.php:141 actions/avatarsettings.php:214 +#: actions/grouplogo.php:210 actions/grouplogo.php:271 +msgid "Preview" +msgstr "عاين" + +#: actions/avatarsettings.php:148 lib/noticelist.php:522 +msgid "Delete" +msgstr "احذف" + +#: actions/avatarsettings.php:165 actions/grouplogo.php:233 +msgid "Upload" +msgstr "ارفع" + +#: actions/avatarsettings.php:228 actions/grouplogo.php:286 +msgid "Crop" +msgstr "" + +#: actions/avatarsettings.php:265 actions/block.php:64 actions/disfavor.php:74 +#: actions/emailsettings.php:237 actions/favor.php:75 +#: actions/groupblock.php:66 actions/grouplogo.php:309 +#: actions/groupunblock.php:66 actions/imsettings.php:206 +#: actions/invite.php:56 actions/login.php:131 actions/makeadmin.php:66 +#: actions/newmessage.php:135 actions/newnotice.php:103 actions/nudge.php:80 +#: actions/othersettings.php:145 actions/passwordsettings.php:151 +#: actions/profilesettings.php:187 actions/recoverpassword.php:337 +#: actions/register.php:165 actions/remotesubscribe.php:77 +#: actions/smssettings.php:228 actions/subedit.php:38 actions/subscribe.php:46 +#: actions/tagother.php:166 actions/unblock.php:65 actions/unsubscribe.php:69 +#: actions/userauthorization.php:52 lib/designsettings.php:294 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: actions/avatarsettings.php:277 actions/emailsettings.php:255 +#: actions/grouplogo.php:319 actions/imsettings.php:220 +#: actions/recoverpassword.php:44 actions/smssettings.php:248 +#: lib/designsettings.php:304 +msgid "Unexpected form submission." +msgstr "" + +#: actions/avatarsettings.php:322 +msgid "Pick a square area of the image to be your avatar" +msgstr "" + +#: actions/avatarsettings.php:337 actions/grouplogo.php:377 +msgid "Lost our file data." +msgstr "" + +#: actions/avatarsettings.php:360 +msgid "Avatar updated." +msgstr "رُفع الأفتار." + +#: actions/avatarsettings.php:363 +msgid "Failed updating avatar." +msgstr "" + +#: actions/avatarsettings.php:387 +msgid "Avatar deleted." +msgstr "حُذف الأفتار." + +#: actions/blockedfromgroup.php:73 actions/editgroup.php:84 +#: actions/groupdesignsettings.php:84 actions/grouplogo.php:86 +#: actions/groupmembers.php:76 actions/grouprss.php:91 +#: actions/joingroup.php:76 actions/showgroup.php:121 +msgid "No nickname" +msgstr "لا اسم مستعار" + +#: actions/blockedfromgroup.php:80 actions/editgroup.php:96 +#: actions/groupbyid.php:83 actions/groupdesignsettings.php:97 +#: actions/grouplogo.php:99 actions/groupmembers.php:83 +#: actions/grouprss.php:98 actions/joingroup.php:83 actions/showgroup.php:137 +msgid "No such group" +msgstr "لا مجموعة كهذه" + +#: actions/blockedfromgroup.php:90 +#, php-format +msgid "%s blocked profiles" +msgstr "" + +#: actions/blockedfromgroup.php:93 +#, php-format +msgid "%s blocked profiles, page %d" +msgstr "" + +#: actions/blockedfromgroup.php:108 +msgid "A list of the users blocked from joining this group." +msgstr "" + +#: actions/blockedfromgroup.php:281 +msgid "Unblock user from group" +msgstr "" + +#: actions/blockedfromgroup.php:313 lib/unblockform.php:150 +msgid "Unblock" +msgstr "ألغِ المنع" + +#: actions/blockedfromgroup.php:313 lib/unblockform.php:120 +#: lib/unblockform.php:150 +msgid "Unblock this user" +msgstr "ألغِ منع هذا المستخدم" + +#: actions/block.php:59 actions/deletenotice.php:67 actions/disfavor.php:61 +#: actions/favor.php:62 actions/groupblock.php:61 actions/groupunblock.php:61 +#: actions/logout.php:69 actions/makeadmin.php:61 actions/newmessage.php:87 +#: actions/newnotice.php:89 actions/nudge.php:63 actions/subedit.php:31 +#: actions/subscribe.php:30 actions/unblock.php:60 actions/unsubscribe.php:52 +#: lib/settingsaction.php:72 +msgid "Not logged in." +msgstr "لست والجًا." + +#: actions/block.php:69 actions/groupblock.php:71 actions/groupunblock.php:71 +#: actions/makeadmin.php:71 actions/subedit.php:46 actions/unblock.php:70 +msgid "No profile specified." +msgstr "لا ملف شخصي مُحدّد." + +#: actions/block.php:74 actions/groupblock.php:76 actions/groupunblock.php:76 +#: actions/makeadmin.php:76 actions/subedit.php:53 actions/tagother.php:46 +#: actions/unblock.php:75 +msgid "No profile with that ID." +msgstr "لا ملف شخصي بهذه الهوية." + +#: actions/block.php:111 actions/block.php:134 actions/groupblock.php:160 +msgid "Block user" +msgstr "امنع المستخدم" + +#: actions/block.php:136 +msgid "" +"Are you sure you want to block this user? Afterwards, they will be " +"unsubscribed from you, unable to subscribe to you in the future, and you " +"will not be notified of any @-replies from them." +msgstr "" + +#: actions/block.php:149 actions/deletenotice.php:145 +#: actions/groupblock.php:178 +msgid "No" +msgstr "لا" + +#: actions/block.php:149 +#, fuzzy +msgid "Do not block this user" +msgstr "ألغِ منع هذا المستخدم" + +#: actions/block.php:150 actions/deletenotice.php:146 +#: actions/groupblock.php:179 +msgid "Yes" +msgstr "نعم" + +#: actions/block.php:150 actions/groupmembers.php:346 lib/blockform.php:123 +#: lib/blockform.php:153 +msgid "Block this user" +msgstr "" + +#: actions/block.php:165 +msgid "You have already blocked this user." +msgstr "" + +#: actions/block.php:170 +msgid "Failed to save block information." +msgstr "" + +#: actions/bookmarklet.php:50 +msgid "Post to " +msgstr "" + +#: actions/confirmaddress.php:75 +msgid "No confirmation code." +msgstr "لا رمز تأكيد." + +#: actions/confirmaddress.php:80 +msgid "Confirmation code not found." +msgstr "لم يوجد رمز التأكيد." + +#: actions/confirmaddress.php:85 +msgid "That confirmation code is not for you!" +msgstr "" + +#: actions/confirmaddress.php:90 +#, php-format +msgid "Unrecognized address type %s" +msgstr "" + +#: actions/confirmaddress.php:94 +msgid "That address has already been confirmed." +msgstr "" + +#: actions/confirmaddress.php:114 actions/emailsettings.php:295 +#: actions/emailsettings.php:426 actions/imsettings.php:258 +#: actions/imsettings.php:401 actions/othersettings.php:174 +#: actions/profilesettings.php:276 actions/smssettings.php:278 +#: actions/smssettings.php:420 +msgid "Couldn't update user." +msgstr "تعذّر تحديث المستخدم." + +#: actions/confirmaddress.php:126 actions/emailsettings.php:390 +#: actions/imsettings.php:363 actions/smssettings.php:382 +msgid "Couldn't delete email confirmation." +msgstr "تعذّر حذف تأكيد البريد الإلكتروني." + +#: actions/confirmaddress.php:144 +msgid "Confirm Address" +msgstr "عنوان التأكيد" + +#: actions/confirmaddress.php:159 +#, php-format +msgid "The address \"%s\" has been confirmed for your account." +msgstr "" + +#: actions/conversation.php:99 +msgid "Conversation" +msgstr "محادثة" + +#: actions/conversation.php:154 lib/mailbox.php:116 lib/noticelist.php:87 +#: lib/profileaction.php:206 +msgid "Notices" +msgstr "الإشعارات" + +#: actions/deletenotice.php:52 actions/shownotice.php:92 +msgid "No such notice." +msgstr "لا إشعار كهذا." + +#: actions/deletenotice.php:71 +msgid "Can't delete this notice." +msgstr "تعذّر حذف هذا الإشعار." + +#: actions/deletenotice.php:103 +msgid "" +"You are about to permanently delete a notice. Once this is done, it cannot " +"be undone." +msgstr "" + +#: actions/deletenotice.php:109 actions/deletenotice.php:141 +msgid "Delete notice" +msgstr "احذف الملاحظة" + +#: actions/deletenotice.php:144 +msgid "Are you sure you want to delete this notice?" +msgstr "أمتأكد من أنك تريد حذف هذه الملاحظة؟" + +#: actions/deletenotice.php:145 +msgid "Do not delete this notice" +msgstr "لا تحذف هذا الإشعار" + +#: actions/deletenotice.php:146 lib/noticelist.php:522 +msgid "Delete this notice" +msgstr "" + +#: actions/deletenotice.php:157 +msgid "There was a problem with your session token. Try again, please." +msgstr "" + +#: actions/disfavor.php:81 +msgid "This notice is not a favorite!" +msgstr "" + +#: actions/disfavor.php:94 +msgid "Add to favorites" +msgstr "أضف إلى المفضلات" + +#: actions/doc.php:69 +msgid "No such document." +msgstr "" + +#: actions/editgroup.php:56 +#, php-format +msgid "Edit %s group" +msgstr "" + +#: actions/editgroup.php:68 actions/grouplogo.php:70 actions/newgroup.php:65 +msgid "You must be logged in to create a group." +msgstr "" + +#: actions/editgroup.php:103 actions/editgroup.php:168 +#: actions/groupdesignsettings.php:104 actions/grouplogo.php:106 +msgid "You must be an admin to edit the group" +msgstr "" + +#: actions/editgroup.php:154 +msgid "Use this form to edit the group." +msgstr "" + +#: actions/editgroup.php:201 actions/newgroup.php:145 +#, php-format +msgid "description is too long (max %d chars)." +msgstr "" + +#: actions/editgroup.php:253 +msgid "Could not update group." +msgstr "تعذر تحديث المجموعة." + +#: actions/editgroup.php:269 +msgid "Options saved." +msgstr "حُفظت الخيارات." + +#: actions/emailsettings.php:60 +msgid "Email Settings" +msgstr "إعدادات البريد الإلكتروني" + +#: actions/emailsettings.php:71 +#, php-format +msgid "Manage how you get email from %%site.name%%." +msgstr "" + +#: actions/emailsettings.php:100 actions/imsettings.php:100 +#: actions/smssettings.php:104 +msgid "Address" +msgstr "العنوان" + +#: actions/emailsettings.php:105 +msgid "Current confirmed email address." +msgstr "" + +#: actions/emailsettings.php:107 actions/emailsettings.php:140 +#: actions/imsettings.php:108 actions/smssettings.php:115 +#: actions/smssettings.php:158 +msgid "Remove" +msgstr "أزل" + +#: actions/emailsettings.php:113 +msgid "" +"Awaiting confirmation on this address. Check your inbox (and spam box!) for " +"a message with further instructions." +msgstr "" + +#: actions/emailsettings.php:117 actions/imsettings.php:120 +#: actions/smssettings.php:126 +msgid "Cancel" +msgstr "ألغِ" + +#: actions/emailsettings.php:121 +msgid "Email Address" +msgstr "عنوان البريد الإلكتروني" + +#: actions/emailsettings.php:123 +msgid "Email address, like \"UserName@example.org\"" +msgstr "عنوان البريد الإلكتروني، مثل \"UserName@example.org\"" + +#: actions/emailsettings.php:126 actions/imsettings.php:133 +#: actions/smssettings.php:145 +msgid "Add" +msgstr "أضف" + +#: actions/emailsettings.php:133 actions/smssettings.php:152 +msgid "Incoming email" +msgstr "البريد الإلكتروني الوارد" + +#: actions/emailsettings.php:138 actions/smssettings.php:157 +msgid "Send email to this address to post new notices." +msgstr "" + +#: actions/emailsettings.php:145 actions/smssettings.php:162 +msgid "Make a new email address for posting to; cancels the old one." +msgstr "" + +#: actions/emailsettings.php:148 actions/smssettings.php:164 +msgid "New" +msgstr "جديد" + +#: actions/emailsettings.php:153 actions/imsettings.php:139 +#: actions/smssettings.php:169 +msgid "Preferences" +msgstr "التفضيلات" + +#: actions/emailsettings.php:158 +msgid "Send me notices of new subscriptions through email." +msgstr "" + +#: actions/emailsettings.php:163 +msgid "Send me email when someone adds my notice as a favorite." +msgstr "" + +#: actions/emailsettings.php:169 +msgid "Send me email when someone sends me a private message." +msgstr "" + +#: actions/emailsettings.php:174 +msgid "Send me email when someone sends me an \"@-reply\"." +msgstr "" + +#: actions/emailsettings.php:179 +msgid "Allow friends to nudge me and send me an email." +msgstr "" + +#: actions/emailsettings.php:185 +msgid "I want to post notices by email." +msgstr "أريد أن أرسل الملاحظات عبر البريد الإلكتروني." + +#: actions/emailsettings.php:191 +msgid "Publish a MicroID for my email address." +msgstr "" + +#: actions/emailsettings.php:195 actions/imsettings.php:163 +#: actions/othersettings.php:126 actions/profilesettings.php:167 +#: actions/smssettings.php:181 actions/subscriptions.php:203 +#: actions/tagother.php:154 lib/designsettings.php:256 +#: lib/groupeditform.php:202 +msgid "Save" +msgstr "أرسل" + +#: actions/emailsettings.php:301 actions/imsettings.php:264 +#: actions/othersettings.php:180 actions/smssettings.php:284 +msgid "Preferences saved." +msgstr "حُفِظت التفضيلات." + +#: actions/emailsettings.php:319 +msgid "No email address." +msgstr "لا عنوان بريد إلكتروني." + +#: actions/emailsettings.php:326 +msgid "Cannot normalize that email address" +msgstr "" + +#: actions/emailsettings.php:330 +msgid "Not a valid email address" +msgstr "ليس عنوان بريد صالح" + +#: actions/emailsettings.php:333 +msgid "That is already your email address." +msgstr "" + +#: actions/emailsettings.php:336 +msgid "That email address already belongs to another user." +msgstr "" + +#: actions/emailsettings.php:352 actions/imsettings.php:317 +#: actions/smssettings.php:337 +msgid "Couldn't insert confirmation code." +msgstr "" + +#: actions/emailsettings.php:358 +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 "" + +#: actions/emailsettings.php:378 actions/imsettings.php:351 +#: actions/smssettings.php:370 +msgid "No pending confirmation to cancel." +msgstr "" + +#: actions/emailsettings.php:382 actions/imsettings.php:355 +msgid "That is the wrong IM address." +msgstr "" + +#: actions/emailsettings.php:394 actions/imsettings.php:367 +#: actions/smssettings.php:386 +msgid "Confirmation cancelled." +msgstr "أُلغي التأكيد." + +#: actions/emailsettings.php:412 +msgid "That is not your email address." +msgstr "هذا ليس عنوان بريدك الإلكتروني." + +#: actions/emailsettings.php:431 actions/imsettings.php:408 +#: actions/smssettings.php:425 +msgid "The address was removed." +msgstr "" + +#: actions/emailsettings.php:445 actions/smssettings.php:518 +msgid "No incoming email address." +msgstr "" + +#: actions/emailsettings.php:455 actions/emailsettings.php:477 +#: actions/smssettings.php:528 actions/smssettings.php:552 +msgid "Couldn't update user record." +msgstr "" + +#: actions/emailsettings.php:458 actions/smssettings.php:531 +msgid "Incoming email address removed." +msgstr "" + +#: actions/emailsettings.php:480 actions/smssettings.php:555 +msgid "New incoming email address added." +msgstr "" + +#: actions/favorited.php:65 lib/popularnoticesection.php:87 +#: lib/publicgroupnav.php:93 +msgid "Popular notices" +msgstr "" + +#: actions/favorited.php:67 +#, php-format +msgid "Popular notices, page %d" +msgstr "" + +#: actions/favorited.php:79 +msgid "The most popular notices on the site right now." +msgstr "" + +#: actions/favorited.php:150 +msgid "Favorite notices appear on this page but no one has favorited one yet." +msgstr "" + +#: actions/favorited.php:153 +msgid "" +"Be the first to add a notice to your favorites by clicking the fave button " +"next to any notice you like." +msgstr "" + +#: actions/favorited.php:156 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and be the first to add a " +"notice to your favorites!" +msgstr "" + +#: actions/favoritesrss.php:111 actions/showfavorites.php:77 +#: lib/personalgroupnav.php:115 +#, php-format +msgid "%s's favorite notices" +msgstr "" + +#: actions/favoritesrss.php:115 +#, php-format +msgid "Updates favored by %1$s on %2$s!" +msgstr "" + +#: actions/favor.php:79 +msgid "This notice is already a favorite!" +msgstr "" + +#: actions/favor.php:92 lib/disfavorform.php:140 +msgid "Disfavor favorite" +msgstr "" + +#: actions/featured.php:69 lib/featureduserssection.php:87 +#: lib/publicgroupnav.php:89 +msgid "Featured users" +msgstr "مستخدمون مختارون" + +#: actions/featured.php:71 +#, php-format +msgid "Featured users, page %d" +msgstr "" + +#: actions/featured.php:99 +#, php-format +msgid "A selection of some of the great users on %s" +msgstr "" + +#: actions/file.php:34 +msgid "No notice id" +msgstr "لا هوية إشعار" + +#: actions/file.php:38 +msgid "No notice" +msgstr "لا إشعار" + +#: actions/file.php:42 +msgid "No attachments" +msgstr "لا مرفقات" + +#: actions/file.php:51 +msgid "No uploaded attachments" +msgstr "لا مرفقات مرفوعة" + +#: actions/finishremotesubscribe.php:69 +msgid "Not expecting this response!" +msgstr "" + +#: actions/finishremotesubscribe.php:80 +msgid "User being listened to does not exist." +msgstr "" + +#: actions/finishremotesubscribe.php:87 actions/remotesubscribe.php:59 +msgid "You can use the local subscription!" +msgstr "" + +#: actions/finishremotesubscribe.php:96 +msgid "That user has blocked you from subscribing." +msgstr "" + +#: actions/finishremotesubscribe.php:106 +msgid "You are not authorized." +msgstr "" + +#: actions/finishremotesubscribe.php:109 +msgid "Could not convert request token to access token." +msgstr "" + +#: actions/finishremotesubscribe.php:114 +msgid "Remote service uses unknown version of OMB protocol." +msgstr "" + +#: actions/finishremotesubscribe.php:133 lib/oauthstore.php:306 +msgid "Error updating remote profile" +msgstr "خطأ أثناء تحديث الملف الشخصي البعيد" + +#: actions/foafgroup.php:44 actions/foafgroup.php:62 actions/groupblock.php:86 +#: actions/groupunblock.php:86 actions/leavegroup.php:83 +#: actions/makeadmin.php:86 lib/command.php:212 lib/command.php:263 +msgid "No such group." +msgstr "لا مجموعة كهذه." + +#: actions/getfile.php:75 +msgid "No such file." +msgstr "لا ملف كهذا." + +#: actions/getfile.php:79 +msgid "Cannot read file." +msgstr "تعذّرت قراءة الملف." + +#: actions/groupblock.php:81 actions/groupunblock.php:81 +#: actions/makeadmin.php:81 +msgid "No group specified." +msgstr "لا مجموعة مُحدّدة." + +#: actions/groupblock.php:91 +msgid "Only an admin can block group members." +msgstr "" + +#: actions/groupblock.php:95 +msgid "User is already blocked from group." +msgstr "" + +#: actions/groupblock.php:100 +msgid "User is not a member of group." +msgstr "" + +#: actions/groupblock.php:136 actions/groupmembers.php:314 +msgid "Block user from group" +msgstr "امنع المستخدم من المجموعة" + +#: actions/groupblock.php:162 +#, php-format +msgid "" +"Are you sure you want to block user \"%s\" from the group \"%s\"? They will " +"be removed from the group, unable to post, and unable to subscribe to the " +"group in the future." +msgstr "" + +#: actions/groupblock.php:178 +msgid "Do not block this user from this group" +msgstr "" + +#: actions/groupblock.php:179 +msgid "Block this user from this group" +msgstr "" + +#: actions/groupblock.php:196 +msgid "Database error blocking user from group." +msgstr "" + +#: actions/groupbyid.php:74 +msgid "No ID" +msgstr "لا هوية" + +#: actions/groupdesignsettings.php:68 +msgid "You must be logged in to edit a group." +msgstr "" + +#: actions/groupdesignsettings.php:141 +msgid "Group design" +msgstr "تصميم المجموعة" + +#: actions/groupdesignsettings.php:152 +msgid "" +"Customize the way your group looks with a background image and a colour " +"palette of your choice." +msgstr "" + +#: actions/groupdesignsettings.php:262 actions/userdesignsettings.php:186 +#: lib/designsettings.php:434 lib/designsettings.php:464 +msgid "Couldn't update your design." +msgstr "" + +#: actions/groupdesignsettings.php:286 actions/groupdesignsettings.php:296 +#: actions/userdesignsettings.php:210 actions/userdesignsettings.php:220 +#: actions/userdesignsettings.php:263 actions/userdesignsettings.php:273 +msgid "Unable to save your design settings!" +msgstr "" + +#: actions/groupdesignsettings.php:307 actions/userdesignsettings.php:231 +msgid "Design preferences saved." +msgstr "" + +#: actions/grouplogo.php:139 actions/grouplogo.php:192 +msgid "Group logo" +msgstr "شعار المجموعة" + +#: actions/grouplogo.php:150 +#, php-format +msgid "" +"You can upload a logo image for your group. The maximum file size is %s." +msgstr "" + +#: actions/grouplogo.php:362 +msgid "Pick a square area of the image to be the logo." +msgstr "" + +#: actions/grouplogo.php:396 +msgid "Logo updated." +msgstr "" + +#: actions/grouplogo.php:398 +msgid "Failed updating logo." +msgstr "" + +#: actions/groupmembers.php:93 lib/groupnav.php:92 +#, php-format +msgid "%s group members" +msgstr "" + +#: actions/groupmembers.php:96 +#, php-format +msgid "%s group members, page %d" +msgstr "" + +#: actions/groupmembers.php:111 +msgid "A list of the users in this group." +msgstr "قائمة بمستخدمي هذه المجموعة." + +#: actions/groupmembers.php:175 lib/groupnav.php:107 +msgid "Admin" +msgstr "إداري" + +#: actions/groupmembers.php:346 lib/blockform.php:153 +msgid "Block" +msgstr "امنع" + +#: actions/groupmembers.php:441 +msgid "Make user an admin of the group" +msgstr "" + +#: actions/groupmembers.php:473 +msgid "Make Admin" +msgstr "" + +#: actions/groupmembers.php:473 +msgid "Make this user an admin" +msgstr "اجعل هذا المستخدم إداريًا" + +#: actions/grouprss.php:133 +#, php-format +msgid "Updates from members of %1$s on %2$s!" +msgstr "" + +#: actions/groupsearch.php:52 +#, php-format +msgid "" +"Search for groups on %%site.name%% by their name, location, or description. " +"Separate the terms by spaces; they must be 3 characters or more." +msgstr "" + +#: actions/groupsearch.php:58 +msgid "Group search" +msgstr "بحث في المجموعات" + +#: actions/groupsearch.php:79 actions/noticesearch.php:117 +#: actions/peoplesearch.php:83 +msgid "No results." +msgstr "لا نتائج." + +#: actions/groupsearch.php:82 +#, php-format +msgid "" +"If you can't find the group you're looking for, you can [create it](%%action." +"newgroup%%) yourself." +msgstr "" + +#: actions/groupsearch.php:85 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and [create the group](%%" +"action.newgroup%%) yourself!" +msgstr "" + +#: actions/groups.php:62 lib/profileaction.php:220 lib/publicgroupnav.php:81 +#: lib/subgroupnav.php:98 +msgid "Groups" +msgstr "مجموعات" + +#: actions/groups.php:64 +#, php-format +msgid "Groups, page %d" +msgstr "" + +#: actions/groups.php:90 +#, php-format +msgid "" +"%%%%site.name%%%% groups let you find and talk with people of similar " +"interests. After you join a group you can send messages to all other members " +"using the syntax \"!groupname\". Don't see a group you like? Try [searching " +"for one](%%%%action.groupsearch%%%%) or [start your own!](%%%%action.newgroup" +"%%%%)" +msgstr "" + +#: actions/groups.php:107 actions/usergroups.php:124 lib/groupeditform.php:122 +msgid "Create a new group" +msgstr "أنشئ مجموعة جديدة" + +#: actions/groupunblock.php:91 +msgid "Only an admin can unblock group members." +msgstr "" + +#: actions/groupunblock.php:95 +msgid "User is not blocked from group." +msgstr "" + +#: actions/groupunblock.php:128 actions/unblock.php:108 +msgid "Error removing the block." +msgstr "" + +#: actions/imsettings.php:59 +msgid "IM Settings" +msgstr "إعدادات المراسلة الفورية" + +#: actions/imsettings.php:70 +#, php-format +msgid "" +"You can send and receive notices through Jabber/GTalk [instant messages](%%" +"doc.im%%). Configure your address and settings below." +msgstr "" + +#: actions/imsettings.php:89 +msgid "IM is not available." +msgstr "المراسلة الفورية غير متوفرة." + +#: actions/imsettings.php:106 +msgid "Current confirmed Jabber/GTalk address." +msgstr "" + +#: actions/imsettings.php:114 +#, php-format +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 "" + +#: actions/imsettings.php:124 +msgid "IM Address" +msgstr "عنوان المراسلة الفورية" + +#: actions/imsettings.php:126 +#, php-format +msgid "" +"Jabber or GTalk address, like \"UserName@example.org\". First, make sure to " +"add %s to your buddy list in your IM client or on GTalk." +msgstr "" + +#: actions/imsettings.php:143 +msgid "Send me notices through Jabber/GTalk." +msgstr "" + +#: actions/imsettings.php:148 +msgid "Post a notice when my Jabber/GTalk status changes." +msgstr "" + +#: actions/imsettings.php:153 +msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to." +msgstr "" + +#: actions/imsettings.php:159 +msgid "Publish a MicroID for my Jabber/GTalk address." +msgstr "" + +#: actions/imsettings.php:285 +msgid "No Jabber ID." +msgstr "لا هوية جابر." + +#: actions/imsettings.php:292 +msgid "Cannot normalize that Jabber ID" +msgstr "" + +#: actions/imsettings.php:296 +msgid "Not a valid Jabber ID" +msgstr "" + +#: actions/imsettings.php:299 +msgid "That is already your Jabber ID." +msgstr "" + +#: actions/imsettings.php:302 +msgid "Jabber ID already belongs to another user." +msgstr "" + +#: actions/imsettings.php:327 +#, php-format +msgid "" +"A confirmation code was sent to the IM address you added. You must approve %" +"s for sending messages to you." +msgstr "" + +#: actions/imsettings.php:387 +msgid "That is not your Jabber ID." +msgstr "هذه ليست هويتك في جابر." + +#: actions/inbox.php:59 +#, php-format +msgid "Inbox for %s - page %d" +msgstr "" + +#: actions/inbox.php:62 +#, php-format +msgid "Inbox for %s" +msgstr "" + +#: actions/inbox.php:115 +msgid "This is your inbox, which lists your incoming private messages." +msgstr "" + +#: actions/invite.php:39 +msgid "Invites have been disabled." +msgstr "" + +#: actions/invite.php:41 +#, php-format +msgid "You must be logged in to invite other users to use %s" +msgstr "" + +#: actions/invite.php:72 +#, php-format +msgid "Invalid email address: %s" +msgstr "عنوان بريد إلكتروني غير صالح: %s" + +#: actions/invite.php:110 +msgid "Invitation(s) sent" +msgstr "" + +#: actions/invite.php:112 +msgid "Invite new users" +msgstr "" + +#: actions/invite.php:128 +msgid "You are already subscribed to these users:" +msgstr "" + +#: actions/invite.php:131 actions/invite.php:139 +#, php-format +msgid "%s (%s)" +msgstr "" + +#: actions/invite.php:136 +msgid "" +"These people are already users and you were automatically subscribed to them:" +msgstr "" + +#: actions/invite.php:144 +msgid "Invitation(s) sent to the following people:" +msgstr "" + +#: actions/invite.php:150 +msgid "" +"You will be notified when your invitees accept the invitation and register " +"on the site. Thanks for growing the community!" +msgstr "" + +#: actions/invite.php:162 +msgid "" +"Use this form to invite your friends and colleagues to use this service." +msgstr "" + +#: actions/invite.php:187 +msgid "Email addresses" +msgstr "عناوين البريد الإلكتروني" + +#: actions/invite.php:189 +msgid "Addresses of friends to invite (one per line)" +msgstr "" + +#: actions/invite.php:192 +msgid "Personal message" +msgstr "رسالة شخصية" + +#: actions/invite.php:194 +msgid "Optionally add a personal message to the invitation." +msgstr "" + +#: actions/invite.php:197 lib/messageform.php:181 lib/noticeform.php:208 +msgid "Send" +msgstr "أرسل" + +#: actions/invite.php:226 +#, php-format +msgid "%1$s has invited you to join them on %2$s" +msgstr "" + +#: actions/invite.php:228 +#, php-format +msgid "" +"%1$s has invited you to join them on %2$s (%3$s).\n" +"\n" +"%2$s is a micro-blogging service that lets you keep up-to-date with people " +"you know and people who interest you.\n" +"\n" +"You can also share news about yourself, your thoughts, or your life online " +"with people who know about you. It's also great for meeting new people who " +"share your interests.\n" +"\n" +"%1$s said:\n" +"\n" +"%4$s\n" +"\n" +"You can see %1$s's profile page on %2$s here:\n" +"\n" +"%5$s\n" +"\n" +"If you'd like to try the service, click on the link below to accept the " +"invitation.\n" +"\n" +"%6$s\n" +"\n" +"If not, you can ignore this message. Thanks for your patience and your " +"time.\n" +"\n" +"Sincerely, %2$s\n" +msgstr "" + +#: actions/joingroup.php:60 +msgid "You must be logged in to join a group." +msgstr "" + +#: actions/joingroup.php:90 lib/command.php:217 +msgid "You are already a member of that group" +msgstr "" + +#: actions/joingroup.php:128 lib/command.php:234 +#, php-format +msgid "Could not join user %s to group %s" +msgstr "" + +#: actions/joingroup.php:135 lib/command.php:239 +#, php-format +msgid "%s joined group %s" +msgstr "" + +#: actions/leavegroup.php:60 +msgid "You must be logged in to leave a group." +msgstr "" + +#: actions/leavegroup.php:90 lib/command.php:268 +msgid "You are not a member of that group." +msgstr "لست عضوا في تلك المجموعة." + +#: actions/leavegroup.php:119 lib/command.php:278 +msgid "Could not find membership record." +msgstr "" + +#: actions/leavegroup.php:127 lib/command.php:284 +#, php-format +msgid "Could not remove user %s to group %s" +msgstr "" + +#: actions/leavegroup.php:134 lib/command.php:289 +#, php-format +msgid "%s left group %s" +msgstr "" + +#: actions/login.php:79 actions/register.php:137 +msgid "Already logged in." +msgstr "والج بالفعل." + +#: actions/login.php:110 actions/login.php:120 +msgid "Invalid or expired token." +msgstr "" + +#: actions/login.php:143 +msgid "Incorrect username or password." +msgstr "اسم المستخدم أو كلمة السر غير صحيحان." + +#: actions/login.php:149 actions/recoverpassword.php:375 +#: actions/register.php:248 +msgid "Error setting user." +msgstr "خطأ أثناء ضبط المستخدم." + +#: actions/login.php:204 actions/login.php:257 lib/action.php:453 +#: lib/logingroupnav.php:79 +msgid "Login" +msgstr "لُج" + +#: actions/login.php:243 +msgid "Login to site" +msgstr "لُج إلى الموقع" + +#: actions/login.php:246 actions/profilesettings.php:106 +#: actions/register.php:423 actions/showgroup.php:236 actions/tagother.php:94 +#: lib/groupeditform.php:152 lib/userprofile.php:131 +msgid "Nickname" +msgstr "الاسم المستعار" + +#: actions/login.php:249 actions/register.php:428 +#: lib/accountsettingsaction.php:118 +msgid "Password" +msgstr "كلمة السر" + +#: actions/login.php:252 actions/register.php:477 +msgid "Remember me" +msgstr "تذكّرني" + +#: actions/login.php:253 actions/register.php:479 +msgid "Automatically login in the future; not for shared computers!" +msgstr "" + +#: actions/login.php:263 +msgid "Lost or forgotten password?" +msgstr "أنسيت كلمة السر؟" + +#: actions/login.php:282 +msgid "" +"For security reasons, please re-enter your user name and password before " +"changing your settings." +msgstr "" + +#: actions/login.php:286 +#, php-format +msgid "" +"Login with your username and password. Don't have a username yet? [Register]" +"(%%action.register%%) a new account." +msgstr "" + +#: actions/makeadmin.php:91 +msgid "Only an admin can make another user an admin." +msgstr "" + +#: actions/makeadmin.php:95 +#, php-format +msgid "%s is already an admin for group \"%s\"." +msgstr "" + +#: actions/makeadmin.php:132 +#, php-format +msgid "Can't get membership record for %s in group %s" +msgstr "" + +#: actions/makeadmin.php:145 +#, php-format +msgid "Can't make %s an admin for group %s" +msgstr "" + +#: actions/microsummary.php:69 +msgid "No current status" +msgstr "" + +#: actions/newgroup.php:53 +msgid "New group" +msgstr "مجموعة جديدة" + +#: actions/newgroup.php:110 +msgid "Use this form to create a new group." +msgstr "" + +#: actions/newmessage.php:71 actions/newmessage.php:231 +msgid "New message" +msgstr "رسالة جديدة" + +#: actions/newmessage.php:121 actions/newmessage.php:161 lib/command.php:367 +msgid "You can't send a message to this user." +msgstr "" + +#: actions/newmessage.php:144 actions/newnotice.php:136 lib/command.php:351 +#: lib/command.php:424 +msgid "No content!" +msgstr "لا محتوى!" + +#: actions/newmessage.php:158 +msgid "No recipient specified." +msgstr "" + +#: actions/newmessage.php:164 lib/command.php:370 +msgid "" +"Don't send a message to yourself; just say it to yourself quietly instead." +msgstr "" + +#: actions/newmessage.php:181 +msgid "Message sent" +msgstr "أُرسلت الرسالة" + +#: actions/newmessage.php:185 lib/command.php:375 +#, php-format +msgid "Direct message to %s sent" +msgstr "" + +#: actions/newmessage.php:210 actions/newnotice.php:233 lib/channel.php:170 +msgid "Ajax Error" +msgstr "" + +#: actions/newnotice.php:69 +msgid "New notice" +msgstr "إشعار جديد" + +#: actions/newnotice.php:199 +msgid "Notice posted" +msgstr "" + +#: actions/noticesearch.php:68 +#, php-format +msgid "" +"Search for notices on %%site.name%% by their contents. Separate search terms " +"by spaces; they must be 3 characters or more." +msgstr "" + +#: actions/noticesearch.php:78 +msgid "Text search" +msgstr "بحث النص" + +#: actions/noticesearch.php:91 +#, php-format +msgid "Search results for \"%s\" on %s" +msgstr "" + +#: actions/noticesearch.php:121 +#, php-format +msgid "" +"Be the first to [post on this topic](%%%%action.newnotice%%%%?" +"status_textarea=%s)!" +msgstr "" + +#: actions/noticesearch.php:124 +#, php-format +msgid "" +"Why not [register an account](%%%%action.register%%%%) and be the first to " +"[post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!" +msgstr "" + +#: actions/noticesearchrss.php:89 +#, php-format +msgid "Updates with \"%s\"" +msgstr "" + +#: actions/noticesearchrss.php:91 +#, php-format +msgid "Updates matching search term \"%1$s\" on %2$s!" +msgstr "" + +#: actions/nudge.php:85 +msgid "" +"This user doesn't allow nudges or hasn't confirmed or set his email yet." +msgstr "" + +#: actions/nudge.php:94 +msgid "Nudge sent" +msgstr "" + +#: actions/nudge.php:97 +msgid "Nudge sent!" +msgstr "" + +#: actions/oembed.php:79 actions/shownotice.php:100 +msgid "Notice has no profile" +msgstr "" + +#: actions/oembed.php:86 actions/shownotice.php:180 +#, php-format +msgid "%1$s's status on %2$s" +msgstr "" + +#: actions/oembed.php:157 +msgid "content type " +msgstr "نوع المحتوى " + +#: actions/oembed.php:160 +msgid "Only " +msgstr "" + +#: actions/oembed.php:181 actions/oembed.php:200 lib/api.php:963 +#: lib/api.php:991 lib/api.php:1101 +msgid "Not a supported data format." +msgstr "" + +#: actions/opensearch.php:64 +msgid "People Search" +msgstr "" + +#: actions/opensearch.php:67 +msgid "Notice Search" +msgstr "" + +#: actions/othersettings.php:60 +msgid "Other Settings" +msgstr "إعدادات أخرى" + +#: actions/othersettings.php:71 +msgid "Manage various other options." +msgstr "" + +#: actions/othersettings.php:117 +msgid "Shorten URLs with" +msgstr "قصّر المسارات بـ" + +#: actions/othersettings.php:118 +msgid "Automatic shortening service to use." +msgstr "" + +#: actions/othersettings.php:122 +msgid "View profile designs" +msgstr "" + +#: actions/othersettings.php:123 +msgid "Show or hide profile designs." +msgstr "" + +#: actions/othersettings.php:153 +msgid "URL shortening service is too long (max 50 chars)." +msgstr "" + +#: actions/outbox.php:58 +#, php-format +msgid "Outbox for %s - page %d" +msgstr "" + +#: actions/outbox.php:61 +#, php-format +msgid "Outbox for %s" +msgstr "" + +#: actions/outbox.php:116 +msgid "This is your outbox, which lists private messages you have sent." +msgstr "" + +#: actions/passwordsettings.php:58 +msgid "Change password" +msgstr "غيّر كلمة السر" + +#: actions/passwordsettings.php:70 +#, fuzzy +msgid "You are not allowed to change your password" +msgstr "غير كلمة سرّك" + +#: actions/passwordsettings.php:82 +msgid "Change your password." +msgstr "غيّر كلمة سرك." + +#: actions/passwordsettings.php:109 actions/recoverpassword.php:231 +msgid "Password change" +msgstr "تغيير كلمة السر" + +#: actions/passwordsettings.php:117 +msgid "Old password" +msgstr "كلمة السر القديمة" + +#: actions/passwordsettings.php:121 actions/recoverpassword.php:235 +msgid "New password" +msgstr "كلمة سر جديدة" + +#: actions/passwordsettings.php:122 +msgid "6 or more characters" +msgstr "" + +#: actions/passwordsettings.php:125 actions/recoverpassword.php:239 +#: actions/register.php:432 actions/smssettings.php:134 +msgid "Confirm" +msgstr "أكد" + +#: actions/passwordsettings.php:126 +msgid "same as password above" +msgstr "" + +#: actions/passwordsettings.php:130 +msgid "Change" +msgstr "غيّر" + +#: actions/passwordsettings.php:167 actions/register.php:230 +msgid "Password must be 6 or more characters." +msgstr "" + +#: actions/passwordsettings.php:170 actions/register.php:233 +msgid "Passwords don't match." +msgstr "كلمتا السر غير متطابقتين." + +#: actions/passwordsettings.php:178 +msgid "Incorrect old password" +msgstr "كلمة السر القديمة غير صحيحة" + +#: actions/passwordsettings.php:194 +msgid "Error saving user; invalid." +msgstr "خطأ أثناء حفظ المستخدم؛ غير صالح." + +#: actions/passwordsettings.php:199 actions/recoverpassword.php:368 +msgid "Can't save new password." +msgstr "" + +#: actions/passwordsettings.php:205 actions/recoverpassword.php:211 +msgid "Password saved." +msgstr "حُفظت كلمة السر." + +#: actions/peoplesearch.php:52 +#, php-format +msgid "" +"Search for people on %%site.name%% by their name, location, or interests. " +"Separate the terms by spaces; they must be 3 characters or more." +msgstr "" + +#: actions/peoplesearch.php:58 +msgid "People search" +msgstr "" + +#: actions/peopletag.php:70 +#, php-format +msgid "Not a valid people tag: %s" +msgstr "" + +#: actions/peopletag.php:144 +#, php-format +msgid "Users self-tagged with %s - page %d" +msgstr "" + +#: actions/postnotice.php:84 +msgid "Invalid notice content" +msgstr "محتوى إشعار غير صالح" + +#: actions/postnotice.php:90 +#, php-format +msgid "Notice license ‘%s’ is not compatible with site license ‘%s’." +msgstr "" + +#: actions/profilesettings.php:60 +msgid "Profile settings" +msgstr "" + +#: actions/profilesettings.php:71 +msgid "" +"You can update your personal profile info here so people know more about you." +msgstr "" + +#: actions/profilesettings.php:99 +msgid "Profile information" +msgstr "معلومات الملف الشخصي" + +#: actions/profilesettings.php:108 lib/groupeditform.php:154 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces" +msgstr "" + +#: actions/profilesettings.php:111 actions/register.php:447 +#: actions/showgroup.php:247 actions/tagother.php:104 +#: lib/groupeditform.php:157 lib/userprofile.php:149 +msgid "Full name" +msgstr "الاسم الكامل" + +#: actions/profilesettings.php:115 actions/register.php:452 +#: lib/groupeditform.php:161 +msgid "Homepage" +msgstr "الصفحة الرئيسية" + +#: actions/profilesettings.php:117 actions/register.php:454 +msgid "URL of your homepage, blog, or profile on another site" +msgstr "" + +#: actions/profilesettings.php:122 actions/register.php:460 +#, php-format +msgid "Describe yourself and your interests in %d chars" +msgstr "" + +#: actions/profilesettings.php:125 actions/register.php:463 +msgid "Describe yourself and your interests" +msgstr "" + +#: actions/profilesettings.php:127 actions/register.php:465 +msgid "Bio" +msgstr "السيرة" + +#: actions/profilesettings.php:132 actions/register.php:470 +#: actions/showgroup.php:256 actions/tagother.php:112 +#: actions/userauthorization.php:158 lib/groupeditform.php:177 +#: lib/userprofile.php:164 +msgid "Location" +msgstr "الموقع" + +#: actions/profilesettings.php:134 actions/register.php:472 +msgid "Where you are, like \"City, State (or Region), Country\"" +msgstr "" + +#: actions/profilesettings.php:138 actions/tagother.php:149 +#: actions/tagother.php:209 lib/subscriptionlist.php:106 +#: lib/subscriptionlist.php:108 lib/userprofile.php:209 +msgid "Tags" +msgstr "الوسوم" + +#: actions/profilesettings.php:140 +msgid "" +"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated" +msgstr "" + +#: actions/profilesettings.php:144 +msgid "Language" +msgstr "اللغة" + +#: actions/profilesettings.php:145 +msgid "Preferred language" +msgstr "اللغة المفضلة" + +#: actions/profilesettings.php:154 +msgid "Timezone" +msgstr "المنطقة الزمنية" + +#: actions/profilesettings.php:155 +msgid "What timezone are you normally in?" +msgstr "ما المنطقة الزمنية التي تتواجد فيها عادة؟" + +#: actions/profilesettings.php:160 +msgid "" +"Automatically subscribe to whoever subscribes to me (best for non-humans)" +msgstr "" + +#: actions/profilesettings.php:221 actions/register.php:223 +#, php-format +msgid "Bio is too long (max %d chars)." +msgstr "" + +#: actions/profilesettings.php:228 +msgid "Timezone not selected." +msgstr "لم تُختر المنطقة الزمنية." + +#: actions/profilesettings.php:234 +msgid "Language is too long (max 50 chars)." +msgstr "" + +#: actions/profilesettings.php:246 actions/tagother.php:178 +#, php-format +msgid "Invalid tag: \"%s\"" +msgstr "وسم غير صالح: \"%s\"" + +#: actions/profilesettings.php:295 +msgid "Couldn't update user for autosubscribe." +msgstr "" + +#: actions/profilesettings.php:328 +msgid "Couldn't save profile." +msgstr "تعذّر حفظ الملف الشخصي." + +#: actions/profilesettings.php:336 +msgid "Couldn't save tags." +msgstr "" + +#: actions/profilesettings.php:344 +msgid "Settings saved." +msgstr "حُفظت الإعدادات." + +#: actions/public.php:83 +#, php-format +msgid "Beyond the page limit (%s)" +msgstr "" + +#: actions/public.php:92 +msgid "Could not retrieve public stream." +msgstr "" + +#: actions/public.php:129 +#, php-format +msgid "Public timeline, page %d" +msgstr "" + +#: actions/public.php:131 lib/publicgroupnav.php:79 +msgid "Public timeline" +msgstr "المسار الزمني العام" + +#: actions/public.php:151 +msgid "Public Stream Feed (RSS 1.0)" +msgstr "" + +#: actions/public.php:155 +msgid "Public Stream Feed (RSS 2.0)" +msgstr "" + +#: actions/public.php:159 +msgid "Public Stream Feed (Atom)" +msgstr "" + +#: actions/public.php:179 +#, php-format +msgid "" +"This is the public timeline for %%site.name%% but no one has posted anything " +"yet." +msgstr "" + +#: actions/public.php:182 +msgid "Be the first to post!" +msgstr "كن أول من يُرسل!" + +#: actions/public.php:186 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and be the first to post!" +msgstr "" + +#: actions/public.php:233 +#, php-format +msgid "" +"This is %%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 share notices about yourself with " +"friends, family, and colleagues! ([Read more](%%doc.help%%))" +msgstr "" + +#: actions/public.php:238 +#, php-format +msgid "" +"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-" +"blogging) service based on the Free Software [StatusNet](http://status.net/) " +"tool." +msgstr "" + +#: actions/publictagcloud.php:57 +msgid "Public tag cloud" +msgstr "" + +#: actions/publictagcloud.php:63 +#, php-format +msgid "These are most popular recent tags on %s " +msgstr "" + +#: actions/publictagcloud.php:69 +#, php-format +msgid "No one has posted a notice with a [hashtag](%%doc.tags%%) yet." +msgstr "" + +#: actions/publictagcloud.php:72 +msgid "Be the first to post one!" +msgstr "" + +#: actions/publictagcloud.php:75 +#, php-format +msgid "" +"Why not [register an account](%%action.register%%) and be the first to post " +"one!" +msgstr "" + +#: actions/publictagcloud.php:135 +msgid "Tag cloud" +msgstr "سحابة الوسوم" + +#: actions/recoverpassword.php:36 +msgid "You are already logged in!" +msgstr "" + +#: actions/recoverpassword.php:62 +msgid "No such recovery code." +msgstr "لا رمز استعادة كهذا." + +#: actions/recoverpassword.php:66 +msgid "Not a recovery code." +msgstr "ليس رمز استعادة." + +#: actions/recoverpassword.php:73 +msgid "Recovery code for unknown user." +msgstr "رمز استعادة لمستخدم غير معروف." + +#: actions/recoverpassword.php:86 +msgid "Error with confirmation code." +msgstr "خطأ في رمز التأكيد." + +#: actions/recoverpassword.php:97 +msgid "This confirmation code is too old. Please start again." +msgstr "" + +#: actions/recoverpassword.php:111 +msgid "Could not update user with confirmed email address." +msgstr "" + +#: actions/recoverpassword.php:152 +msgid "" +"If you have forgotten or lost your password, you can get a new one sent to " +"the email address you have stored in your account." +msgstr "" + +#: actions/recoverpassword.php:158 +msgid "You have been identified. Enter a new password below. " +msgstr "" + +#: actions/recoverpassword.php:188 +msgid "Password recovery" +msgstr "" + +#: actions/recoverpassword.php:191 +msgid "Nickname or email address" +msgstr "الاسم المستعار أو البريد الإلكتروني" + +#: actions/recoverpassword.php:193 +msgid "Your nickname on this server, or your registered email address." +msgstr "" + +#: actions/recoverpassword.php:199 actions/recoverpassword.php:200 +msgid "Recover" +msgstr "" + +#: actions/recoverpassword.php:208 +msgid "Reset password" +msgstr "أعد ضبط كلمة السر" + +#: actions/recoverpassword.php:209 +msgid "Recover password" +msgstr "" + +#: actions/recoverpassword.php:210 actions/recoverpassword.php:322 +msgid "Password recovery requested" +msgstr "" + +#: actions/recoverpassword.php:213 +msgid "Unknown action" +msgstr "إجراء غير معروف" + +#: actions/recoverpassword.php:236 +msgid "6 or more characters, and don't forget it!" +msgstr "" + +#: actions/recoverpassword.php:240 +msgid "Same as password above" +msgstr "" + +#: actions/recoverpassword.php:243 +msgid "Reset" +msgstr "" + +#: actions/recoverpassword.php:252 +msgid "Enter a nickname or email address." +msgstr "" + +#: actions/recoverpassword.php:272 +msgid "No user with that email address or username." +msgstr "" + +#: actions/recoverpassword.php:287 +msgid "No registered email address for that user." +msgstr "" + +#: actions/recoverpassword.php:301 +msgid "Error saving address confirmation." +msgstr "خطأ أثناء حفظ تأكيد العنوان." + +#: actions/recoverpassword.php:325 +msgid "" +"Instructions for recovering your password have been sent to the email " +"address registered to your account." +msgstr "" + +#: actions/recoverpassword.php:344 +msgid "Unexpected password reset." +msgstr "" + +#: actions/recoverpassword.php:352 +msgid "Password must be 6 chars or more." +msgstr "" + +#: actions/recoverpassword.php:356 +msgid "Password and confirmation do not match." +msgstr "" + +#: actions/recoverpassword.php:382 +msgid "New password successfully saved. You are now logged in." +msgstr "" + +#: actions/register.php:85 actions/register.php:189 actions/register.php:404 +msgid "Sorry, only invited people can register." +msgstr "" + +#: actions/register.php:92 +msgid "Sorry, invalid invitation code." +msgstr "عذرا، رمز دعوة غير صالح." + +#: actions/register.php:112 +msgid "Registration successful" +msgstr "نجح التسجيل" + +#: actions/register.php:114 actions/register.php:502 lib/action.php:450 +#: lib/logingroupnav.php:85 +msgid "Register" +msgstr "سجّل" + +#: actions/register.php:135 +msgid "Registration not allowed." +msgstr "" + +#: actions/register.php:198 +msgid "You can't register if you don't agree to the license." +msgstr "" + +#: actions/register.php:201 +msgid "Not a valid email address." +msgstr "ليس عنوان بريد صالح." + +#: actions/register.php:212 +msgid "Email address already exists." +msgstr "عنوان البريد الإلكتروني موجود مسبقًا." + +#: actions/register.php:243 actions/register.php:264 +msgid "Invalid username or password." +msgstr "" + +#: actions/register.php:342 +msgid "" +"With this form you can create a new account. You can then post notices and " +"link up to friends and colleagues. " +msgstr "" + +#: actions/register.php:424 +msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required." +msgstr "" + +#: actions/register.php:429 +msgid "6 or more characters. Required." +msgstr "" + +#: actions/register.php:433 +msgid "Same as password above. Required." +msgstr "" + +#: actions/register.php:437 actions/register.php:441 +#: lib/accountsettingsaction.php:122 +msgid "Email" +msgstr "البريد الإلكتروني" + +#: actions/register.php:438 actions/register.php:442 +msgid "Used only for updates, announcements, and password recovery" +msgstr "" + +#: actions/register.php:449 +msgid "Longer name, preferably your \"real\" name" +msgstr "" + +#: actions/register.php:493 +msgid "My text and files are available under " +msgstr "" + +#: actions/register.php:495 +msgid "Creative Commons Attribution 3.0" +msgstr "" + +#: actions/register.php:496 +msgid "" +" except this private data: password, email address, IM address, and phone " +"number." +msgstr "" + +#: actions/register.php:537 +#, php-format +msgid "" +"Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may " +"want to...\n" +"\n" +"* Go to [your profile](%s) and post your first message.\n" +"* Add a [Jabber/GTalk address](%%%%action.imsettings%%%%) so you can send " +"notices through instant messages.\n" +"* [Search for people](%%%%action.peoplesearch%%%%) that you may know or that " +"share your interests. \n" +"* Update your [profile settings](%%%%action.profilesettings%%%%) to tell " +"others more about you. \n" +"* Read over the [online docs](%%%%doc.help%%%%) for features you may have " +"missed. \n" +"\n" +"Thanks for signing up and we hope you enjoy using this service." +msgstr "" + +#: actions/register.php:561 +msgid "" +"(You should receive a message by email momentarily, with instructions on how " +"to confirm your email address.)" +msgstr "" + +#: actions/remotesubscribe.php:98 +#, php-format +msgid "" +"To subscribe, you can [login](%%action.login%%), or [register](%%action." +"register%%) a new account. If you already have an account on a [compatible " +"microblogging site](%%doc.openmublog%%), enter your profile URL below." +msgstr "" + +#: actions/remotesubscribe.php:112 +msgid "Remote subscribe" +msgstr "اشتراك بعيد" + +#: actions/remotesubscribe.php:124 +msgid "Subscribe to a remote user" +msgstr "" + +#: actions/remotesubscribe.php:129 +msgid "User nickname" +msgstr "اسم المستخدم المستعار" + +#: actions/remotesubscribe.php:130 +msgid "Nickname of the user you want to follow" +msgstr "" + +#: actions/remotesubscribe.php:133 +msgid "Profile URL" +msgstr "مسار الملف الشخصي" + +#: actions/remotesubscribe.php:134 +msgid "URL of your profile on another compatible microblogging service" +msgstr "" + +#: actions/remotesubscribe.php:137 lib/subscribeform.php:139 +#: lib/userprofile.php:321 +msgid "Subscribe" +msgstr "اشترك" + +#: actions/remotesubscribe.php:159 +msgid "Invalid profile URL (bad format)" +msgstr "" + +#: actions/remotesubscribe.php:168 +msgid "" +"Not a valid profile URL (no YADIS document or no or invalid XRDS defined)." +msgstr "" + +#: actions/remotesubscribe.php:176 +msgid "That’s a local profile! Login to subscribe." +msgstr "" + +#: actions/remotesubscribe.php:183 +msgid "Couldn’t get a request token." +msgstr "" + +#: actions/replies.php:125 actions/repliesrss.php:68 +#: lib/personalgroupnav.php:105 +#, php-format +msgid "Replies to %s" +msgstr "" + +#: actions/replies.php:127 +#, php-format +msgid "Replies to %s, page %d" +msgstr "" + +#: actions/replies.php:144 +#, php-format +msgid "Replies feed for %s (RSS 1.0)" +msgstr "" + +#: actions/replies.php:151 +#, php-format +msgid "Replies feed for %s (RSS 2.0)" +msgstr "" + +#: actions/replies.php:158 +#, php-format +msgid "Replies feed for %s (Atom)" +msgstr "" + +#: actions/replies.php:198 +#, php-format +msgid "" +"This is the timeline showing replies to %s but %s hasn't received a notice " +"to his attention yet." +msgstr "" + +#: actions/replies.php:203 +#, php-format +msgid "" +"You can engage other users in a conversation, subscribe to more people or " +"[join groups](%%action.groups%%)." +msgstr "" + +#: actions/replies.php:205 +#, php-format +msgid "" +"You can try to [nudge %s](../%s) or [post something to his or her attention]" +"(%%%%action.newnotice%%%%?status_textarea=%s)." +msgstr "" + +#: actions/repliesrss.php:72 +#, php-format +msgid "Replies to %1$s on %2$s!" +msgstr "" + +#: actions/showfavorites.php:79 +#, php-format +msgid "%s's favorite notices, page %d" +msgstr "" + +#: actions/showfavorites.php:132 +msgid "Could not retrieve favorite notices." +msgstr "" + +#: actions/showfavorites.php:170 +#, php-format +msgid "Feed for favorites of %s (RSS 1.0)" +msgstr "" + +#: actions/showfavorites.php:177 +#, php-format +msgid "Feed for favorites of %s (RSS 2.0)" +msgstr "" + +#: actions/showfavorites.php:184 +#, php-format +msgid "Feed for favorites of %s (Atom)" +msgstr "" + +#: actions/showfavorites.php:205 +msgid "" +"You haven't chosen any favorite notices yet. Click the fave button on " +"notices you like to bookmark them for later or shed a spotlight on them." +msgstr "" + +#: actions/showfavorites.php:207 +#, php-format +msgid "" +"%s hasn't added any notices to his favorites yet. Post something interesting " +"they would add to their favorites :)" +msgstr "" + +#: actions/showfavorites.php:211 +#, php-format +msgid "" +"%s hasn't added any notices to his favorites yet. Why not [register an " +"account](%%%%action.register%%%%) and then post something interesting they " +"would add to their favorites :)" +msgstr "" + +#: actions/showfavorites.php:242 +msgid "This is a way to share what you like." +msgstr "" + +#: actions/showgroup.php:82 lib/groupnav.php:86 +#, php-format +msgid "%s group" +msgstr "مجموعة %s" + +#: actions/showgroup.php:84 +#, php-format +msgid "%s group, page %d" +msgstr "" + +#: actions/showgroup.php:218 +msgid "Group profile" +msgstr "ملف المجموعة الشخصي" + +#: actions/showgroup.php:263 actions/tagother.php:118 +#: actions/userauthorization.php:167 lib/userprofile.php:177 +msgid "URL" +msgstr "مسار" + +#: actions/showgroup.php:274 actions/tagother.php:128 +#: actions/userauthorization.php:179 lib/userprofile.php:194 +msgid "Note" +msgstr "ملاحظة" + +#: actions/showgroup.php:284 lib/groupeditform.php:184 +msgid "Aliases" +msgstr "الكنى" + +#: actions/showgroup.php:293 +msgid "Group actions" +msgstr "" + +#: actions/showgroup.php:328 +#, php-format +msgid "Notice feed for %s group (RSS 1.0)" +msgstr "" + +#: actions/showgroup.php:334 +#, php-format +msgid "Notice feed for %s group (RSS 2.0)" +msgstr "" + +#: actions/showgroup.php:340 +#, php-format +msgid "Notice feed for %s group (Atom)" +msgstr "" + +#: actions/showgroup.php:345 +#, php-format +msgid "FOAF for %s group" +msgstr "" + +#: actions/showgroup.php:381 actions/showgroup.php:438 lib/groupnav.php:91 +msgid "Members" +msgstr "الأعضاء" + +#: actions/showgroup.php:386 lib/profileaction.php:117 +#: lib/profileaction.php:148 lib/profileaction.php:226 lib/section.php:95 +#: lib/tagcloudsection.php:71 +msgid "(None)" +msgstr "(لا شيء)" + +#: actions/showgroup.php:392 +msgid "All members" +msgstr "جميع الأعضاء" + +#: actions/showgroup.php:429 lib/profileaction.php:173 +msgid "Statistics" +msgstr "إحصاءات" + +#: actions/showgroup.php:432 +msgid "Created" +msgstr "أنشئ" + +#: actions/showgroup.php:448 +#, php-format +msgid "" +"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." +"wikipedia.org/wiki/Micro-blogging) service based on the Free Software " +"[StatusNet](http://status.net/) tool. Its members share short messages about " +"their life and interests. [Join now](%%%%action.register%%%%) to become part " +"of this group and many more! ([Read more](%%%%doc.help%%%%))" +msgstr "" + +#: actions/showgroup.php:454 +#, php-format +msgid "" +"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en." +"wikipedia.org/wiki/Micro-blogging) service based on the Free Software " +"[StatusNet](http://status.net/) tool. Its members share short messages about " +"their life and interests. " +msgstr "" + +#: actions/showgroup.php:482 +msgid "Admins" +msgstr "الإداريون" + +#: actions/showmessage.php:81 +msgid "No such message." +msgstr "لا رسالة كهذه." + +#: actions/showmessage.php:98 +msgid "Only the sender and recipient may read this message." +msgstr "" + +#: actions/showmessage.php:108 +#, php-format +msgid "Message to %1$s on %2$s" +msgstr "" + +#: actions/showmessage.php:113 +#, php-format +msgid "Message from %1$s on %2$s" +msgstr "" + +#: actions/shownotice.php:90 +msgid "Notice deleted." +msgstr "حُذف الإشعار." + +#: actions/showstream.php:73 +#, php-format +msgid " tagged %s" +msgstr "" + +#: actions/showstream.php:79 +#, php-format +msgid "%s, page %d" +msgstr "" + +#: actions/showstream.php:122 +#, php-format +msgid "Notice feed for %s tagged %s (RSS 1.0)" +msgstr "" + +#: actions/showstream.php:129 +#, php-format +msgid "Notice feed for %s (RSS 1.0)" +msgstr "" + +#: actions/showstream.php:136 +#, php-format +msgid "Notice feed for %s (RSS 2.0)" +msgstr "" + +#: actions/showstream.php:143 +#, php-format +msgid "Notice feed for %s (Atom)" +msgstr "" + +#: actions/showstream.php:148 +#, php-format +msgid "FOAF for %s" +msgstr "" + +#: actions/showstream.php:191 +#, php-format +msgid "This is the timeline for %s but %s hasn't posted anything yet." +msgstr "" + +#: actions/showstream.php:196 +msgid "" +"Seen anything interesting recently? You haven't posted any notices yet, now " +"would be a good time to start :)" +msgstr "" + +#: actions/showstream.php:198 +#, php-format +msgid "" +"You can try to nudge %s or [post something to his or her attention](%%%%" +"action.newnotice%%%%?status_textarea=%s)." +msgstr "" + +#: actions/showstream.php:234 +#, php-format +msgid "" +"**%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%%%%))" +msgstr "" + +#: actions/showstream.php:239 +#, php-format +msgid "" +"**%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. " +msgstr "" + +#: actions/smssettings.php:58 +msgid "SMS Settings" +msgstr "" + +#: actions/smssettings.php:69 +#, php-format +msgid "You can receive SMS messages through email from %%site.name%%." +msgstr "" + +#: actions/smssettings.php:91 +msgid "SMS is not available." +msgstr "" + +#: actions/smssettings.php:112 +msgid "Current confirmed SMS-enabled phone number." +msgstr "" + +#: actions/smssettings.php:123 +msgid "Awaiting confirmation on this phone number." +msgstr "" + +#: actions/smssettings.php:130 +msgid "Confirmation code" +msgstr "رمز التأكيد" + +#: actions/smssettings.php:131 +msgid "Enter the code you received on your phone." +msgstr "" + +#: actions/smssettings.php:138 +msgid "SMS Phone number" +msgstr "" + +#: actions/smssettings.php:140 +msgid "Phone number, no punctuation or spaces, with area code" +msgstr "" + +#: actions/smssettings.php:174 +msgid "" +"Send me notices through SMS; I understand I may incur exorbitant charges " +"from my carrier." +msgstr "" + +#: actions/smssettings.php:306 +msgid "No phone number." +msgstr "لا رقم هاتف." + +#: actions/smssettings.php:311 +msgid "No carrier selected." +msgstr "" + +#: actions/smssettings.php:318 +msgid "That is already your phone number." +msgstr "" + +#: actions/smssettings.php:321 +msgid "That phone number already belongs to another user." +msgstr "" + +#: actions/smssettings.php:347 +msgid "" +"A confirmation code was sent to the phone number you added. Check your phone " +"for the code and instructions on how to use it." +msgstr "" + +#: actions/smssettings.php:374 +msgid "That is the wrong confirmation number." +msgstr "" + +#: actions/smssettings.php:405 +msgid "That is not your phone number." +msgstr "هذا ليس رقم هاتفك." + +#: actions/smssettings.php:465 +msgid "Mobile carrier" +msgstr "" + +#: actions/smssettings.php:469 +msgid "Select a carrier" +msgstr "" + +#: actions/smssettings.php:476 +#, php-format +msgid "" +"Mobile carrier for your phone. If you know a carrier that accepts SMS over " +"email but isn't listed here, send email to let us know at %s." +msgstr "" + +#: actions/smssettings.php:498 +msgid "No code entered" +msgstr "" + +#: actions/subedit.php:70 +msgid "You are not subscribed to that profile." +msgstr "" + +#: actions/subedit.php:83 +msgid "Could not save subscription." +msgstr "" + +#: actions/subscribe.php:55 +msgid "Not a local user." +msgstr "" + +#: actions/subscribe.php:69 +msgid "Subscribed" +msgstr "مُشترك" + +#: actions/subscribers.php:50 +#, php-format +msgid "%s subscribers" +msgstr "" + +#: actions/subscribers.php:52 +#, php-format +msgid "%s subscribers, page %d" +msgstr "" + +#: actions/subscribers.php:63 +msgid "These are the people who listen to your notices." +msgstr "" + +#: actions/subscribers.php:67 +#, php-format +msgid "These are the people who listen to %s's notices." +msgstr "" + +#: actions/subscribers.php:108 +msgid "" +"You have no subscribers. Try subscribing to people you know and they might " +"return the favor" +msgstr "" + +#: actions/subscribers.php:110 +#, php-format +msgid "%s has no subscribers. Want to be the first?" +msgstr "" + +#: actions/subscribers.php:114 +#, php-format +msgid "" +"%s has no subscribers. Why not [register an account](%%%%action.register%%%" +"%) and be the first?" +msgstr "" + +#: actions/subscriptions.php:52 +#, php-format +msgid "%s subscriptions" +msgstr "" + +#: actions/subscriptions.php:54 +#, php-format +msgid "%s subscriptions, page %d" +msgstr "" + +#: actions/subscriptions.php:65 +msgid "These are the people whose notices you listen to." +msgstr "" + +#: actions/subscriptions.php:69 +#, php-format +msgid "These are the people whose notices %s listens to." +msgstr "" + +#: actions/subscriptions.php:121 +#, php-format +msgid "" +"You're not listening to anyone's notices right now, try subscribing to " +"people you know. Try [people search](%%action.peoplesearch%%), look for " +"members in groups you're interested in and in our [featured users](%%action." +"featured%%). If you're a [Twitter user](%%action.twittersettings%%), you can " +"automatically subscribe to people you already follow there." +msgstr "" + +#: actions/subscriptions.php:123 actions/subscriptions.php:127 +#, php-format +msgid "%s is not listening to anyone." +msgstr "" + +#: actions/subscriptions.php:194 +msgid "Jabber" +msgstr "جابر" + +#: actions/subscriptions.php:199 lib/connectsettingsaction.php:115 +msgid "SMS" +msgstr "" + +#: actions/tagother.php:33 +msgid "Not logged in" +msgstr "لست والجًا" + +#: actions/tagother.php:39 +msgid "No id argument." +msgstr "" + +#: actions/tagother.php:65 +#, php-format +msgid "Tag %s" +msgstr "" + +#: actions/tagother.php:77 lib/userprofile.php:75 +msgid "User profile" +msgstr "ملف المستخدم الشخصي" + +#: actions/tagother.php:81 lib/userprofile.php:102 +msgid "Photo" +msgstr "صورة" + +#: actions/tagother.php:141 +msgid "Tag user" +msgstr "" + +#: actions/tagother.php:151 +msgid "" +"Tags for this user (letters, numbers, -, ., and _), comma- or space- " +"separated" +msgstr "" + +#: actions/tagother.php:193 +msgid "" +"You can only tag people you are subscribed to or who are subscribed to you." +msgstr "" + +#: actions/tagother.php:200 +msgid "Could not save tags." +msgstr "" + +#: actions/tagother.php:236 +msgid "Use this form to add tags to your subscribers or subscriptions." +msgstr "" + +#: actions/tag.php:68 +#, php-format +msgid "Notices tagged with %s, page %d" +msgstr "" + +#: actions/tag.php:86 +#, php-format +msgid "Notice feed for tag %s (RSS 1.0)" +msgstr "" + +#: actions/tag.php:92 +#, php-format +msgid "Notice feed for tag %s (RSS 2.0)" +msgstr "" + +#: actions/tag.php:98 +#, php-format +msgid "Notice feed for tag %s (Atom)" +msgstr "" + +#: actions/tagrss.php:35 +msgid "No such tag." +msgstr "لا وسم كهذا." + +#: actions/twitapitrends.php:87 +msgid "API method under construction." +msgstr "" + +#: actions/unsubscribe.php:77 +msgid "No profile id in request." +msgstr "" + +#: actions/unsubscribe.php:84 +msgid "No profile with that id." +msgstr "" + +#: actions/unsubscribe.php:98 +msgid "Unsubscribed" +msgstr "" + +#: actions/updateprofile.php:62 actions/userauthorization.php:330 +#, php-format +msgid "Listenee stream license ‘%s’ is not compatible with site license ‘%s’." +msgstr "" + +#: actions/userauthorization.php:105 +msgid "Authorize subscription" +msgstr "" + +#: actions/userauthorization.php:110 +msgid "" +"Please check these details to make sure that you want to subscribe to this " +"user’s notices. If you didn’t just ask to subscribe to someone’s notices, " +"click “Reject”." +msgstr "" + +#: actions/userauthorization.php:188 +msgid "License" +msgstr "الرخصة" + +#: actions/userauthorization.php:209 +msgid "Accept" +msgstr "اقبل" + +#: actions/userauthorization.php:210 lib/subscribeform.php:115 +#: lib/subscribeform.php:139 +msgid "Subscribe to this user" +msgstr "اشترك بهذا المستخدم" + +#: actions/userauthorization.php:211 +msgid "Reject" +msgstr "ارفض" + +#: actions/userauthorization.php:212 +msgid "Reject this subscription" +msgstr "ارفض هذا الاشتراك" + +#: actions/userauthorization.php:225 +msgid "No authorization request!" +msgstr "" + +#: actions/userauthorization.php:247 +msgid "Subscription authorized" +msgstr "" + +#: actions/userauthorization.php:249 +msgid "" +"The subscription has been authorized, but no callback URL was passed. Check " +"with the site’s instructions for details on how to authorize the " +"subscription. Your subscription token is:" +msgstr "" + +#: actions/userauthorization.php:259 +msgid "Subscription rejected" +msgstr "" + +#: actions/userauthorization.php:261 +msgid "" +"The subscription has been rejected, but no callback URL was passed. Check " +"with the site’s instructions for details on how to fully reject the " +"subscription." +msgstr "" + +#: actions/userauthorization.php:296 +#, php-format +msgid "Listener URI ‘%s’ not found here" +msgstr "" + +#: actions/userauthorization.php:301 +#, php-format +msgid "Listenee URI ‘%s’ is too long." +msgstr "" + +#: actions/userauthorization.php:307 +#, php-format +msgid "Listenee URI ‘%s’ is a local user." +msgstr "" + +#: actions/userauthorization.php:322 +#, php-format +msgid "Profile URL ‘%s’ is for a local user." +msgstr "" + +#: actions/userauthorization.php:338 +#, php-format +msgid "Avatar URL ‘%s’ is not valid." +msgstr "" + +#: actions/userauthorization.php:343 +#, php-format +msgid "Can’t read avatar URL ‘%s’." +msgstr "" + +#: actions/userauthorization.php:348 +#, php-format +msgid "Wrong image type for avatar URL ‘%s’." +msgstr "" + +#: actions/userbyid.php:70 +msgid "No id." +msgstr "لا هوية." + +#: actions/userdesignsettings.php:76 lib/designsettings.php:65 +msgid "Profile design" +msgstr "تصميم الملف الشخصي" + +#: actions/userdesignsettings.php:87 lib/designsettings.php:76 +msgid "" +"Customize the way your profile looks with a background image and a colour " +"palette of your choice." +msgstr "" + +#: actions/userdesignsettings.php:282 +msgid "Enjoy your hotdog!" +msgstr "استمتع بالنقانق!" + +#: actions/usergroups.php:64 +#, php-format +msgid "%s groups, page %d" +msgstr "" + +#: actions/usergroups.php:130 +msgid "Search for more groups" +msgstr "" + +#: actions/usergroups.php:153 +#, php-format +msgid "%s is not a member of any group." +msgstr "" + +#: actions/usergroups.php:158 +#, php-format +msgid "Try [searching for groups](%%action.groupsearch%%) and joining them." +msgstr "" + +#: classes/File.php:137 +#, php-format +msgid "" +"No file may be larger than %d bytes and the file you sent was %d bytes. Try " +"to upload a smaller version." +msgstr "" + +#: classes/File.php:147 +#, php-format +msgid "A file this large would exceed your user quota of %d bytes." +msgstr "" + +#: classes/File.php:154 +#, php-format +msgid "A file this large would exceed your monthly quota of %d bytes." +msgstr "" + +#: classes/Message.php:55 +msgid "Could not insert message." +msgstr "" + +#: classes/Message.php:65 +msgid "Could not update message with new URI." +msgstr "" + +#: classes/Notice.php:164 +#, php-format +msgid "DB error inserting hashtag: %s" +msgstr "" + +#: classes/Notice.php:179 +msgid "Problem saving notice. Too long." +msgstr "" + +#: classes/Notice.php:183 +msgid "Problem saving notice. Unknown user." +msgstr "" + +#: classes/Notice.php:188 +msgid "" +"Too many notices too fast; take a breather and post again in a few minutes." +msgstr "" + +#: classes/Notice.php:194 +msgid "" +"Too many duplicate messages too quickly; take a breather and post again in a " +"few minutes." +msgstr "" + +#: classes/Notice.php:202 +msgid "You are banned from posting notices on this site." +msgstr "" + +#: classes/Notice.php:268 classes/Notice.php:293 +msgid "Problem saving notice." +msgstr "مشكلة أثناء حفظ الإشعار." + +#: classes/Notice.php:1120 +#, php-format +msgid "DB error inserting reply: %s" +msgstr "" + +#: classes/User.php:333 +#, php-format +msgid "Welcome to %1$s, @%2$s!" +msgstr "" + +#: lib/accountsettingsaction.php:109 lib/personalgroupnav.php:109 +msgid "Profile" +msgstr "الملف الشخصي" + +#: lib/accountsettingsaction.php:110 +msgid "Change your profile settings" +msgstr "غيّر إعدادات ملفك الشخصي" + +#: lib/accountsettingsaction.php:114 +msgid "Upload an avatar" +msgstr "" + +#: lib/accountsettingsaction.php:119 +msgid "Change your password" +msgstr "غير كلمة سرّك" + +#: lib/accountsettingsaction.php:123 +msgid "Change email handling" +msgstr "غير أسلوب التعامل مع البريد الإلكتروني" + +#: lib/accountsettingsaction.php:125 lib/groupnav.php:119 +msgid "Design" +msgstr "التصميم" + +#: lib/accountsettingsaction.php:126 +msgid "Design your profile" +msgstr "صمّم ملفك الشخصي" + +#: lib/accountsettingsaction.php:128 +msgid "Other" +msgstr "أخرى" + +#: lib/accountsettingsaction.php:129 +msgid "Other options" +msgstr "خيارات أخرى" + +#: lib/action.php:144 +#, php-format +msgid "%s - %s" +msgstr "%s - %s" + +#: lib/action.php:159 +msgid "Untitled page" +msgstr "صفحة غير مُعنونة" + +#: lib/action.php:424 +msgid "Primary site navigation" +msgstr "" + +#: lib/action.php:430 +msgid "Home" +msgstr "الرئيسية" + +#: lib/action.php:430 +msgid "Personal profile and friends timeline" +msgstr "" + +#: lib/action.php:432 +msgid "Account" +msgstr "الحساب" + +#: lib/action.php:432 +msgid "Change your email, avatar, password, profile" +msgstr "" + +#: lib/action.php:435 +msgid "Connect" +msgstr "اتصل" + +#: lib/action.php:435 +msgid "Connect to services" +msgstr "" + +#: lib/action.php:439 lib/subgroupnav.php:105 +msgid "Invite" +msgstr "ادعُ" + +#: lib/action.php:440 lib/subgroupnav.php:106 +#, php-format +msgid "Invite friends and colleagues to join you on %s" +msgstr "" + +#: lib/action.php:445 +msgid "Logout" +msgstr "اخرج" + +#: lib/action.php:445 +msgid "Logout from the site" +msgstr "" + +#: lib/action.php:450 +msgid "Create an account" +msgstr "" + +#: lib/action.php:453 +msgid "Login to the site" +msgstr "" + +#: lib/action.php:456 lib/action.php:719 +msgid "Help" +msgstr "مساعدة" + +#: lib/action.php:456 +msgid "Help me!" +msgstr "ساعدني!" + +#: lib/action.php:459 +msgid "Search" +msgstr "ابحث" + +#: lib/action.php:459 +msgid "Search for people or text" +msgstr "" + +#: lib/action.php:480 +msgid "Site notice" +msgstr "إشعار الموقع" + +#: lib/action.php:546 +msgid "Local views" +msgstr "" + +#: lib/action.php:612 +msgid "Page notice" +msgstr "إشعار الصفحة" + +#: lib/action.php:714 +msgid "Secondary site navigation" +msgstr "" + +#: lib/action.php:721 +msgid "About" +msgstr "عن" + +#: lib/action.php:723 +msgid "FAQ" +msgstr "الأسئلة المكررة" + +#: lib/action.php:727 +msgid "TOS" +msgstr "الشروط" + +#: lib/action.php:730 +msgid "Privacy" +msgstr "خصوصية" + +#: lib/action.php:732 +msgid "Source" +msgstr "المصدر" + +#: lib/action.php:734 +msgid "Contact" +msgstr "اتصل" + +#: lib/action.php:736 +msgid "Badge" +msgstr "" + +#: lib/action.php:764 +msgid "StatusNet software license" +msgstr "" + +#: lib/action.php:767 +#, php-format +msgid "" +"**%%site.name%%** is a microblogging service brought to you by [%%site." +"broughtby%%](%%site.broughtbyurl%%). " +msgstr "" + +#: lib/action.php:769 +#, php-format +msgid "**%%site.name%%** is a microblogging service. " +msgstr "" + +#: lib/action.php:771 +#, php-format +msgid "" +"It runs the [StatusNet](http://status.net/) microblogging software, version %" +"s, available under the [GNU Affero General Public License](http://www.fsf." +"org/licensing/licenses/agpl-3.0.html)." +msgstr "" + +#: lib/action.php:785 +msgid "Site content license" +msgstr "رخصة محتوى الموقع" + +#: lib/action.php:794 +msgid "All " +msgstr "" + +#: lib/action.php:799 +msgid "license." +msgstr "الرخصة." + +#: lib/action.php:1053 +msgid "Pagination" +msgstr "" + +#: lib/action.php:1062 +msgid "After" +msgstr "بعد" + +#: lib/action.php:1070 +msgid "Before" +msgstr "قبل" + +#: lib/action.php:1119 +msgid "There was a problem with your session token." +msgstr "" + +#: lib/attachmentlist.php:87 +msgid "Attachments" +msgstr "" + +#: lib/attachmentlist.php:265 +msgid "Author" +msgstr "المؤلف" + +#: lib/attachmentlist.php:278 +msgid "Provider" +msgstr "المزود" + +#: lib/attachmentnoticesection.php:67 +msgid "Notices where this attachment appears" +msgstr "" + +#: lib/attachmenttagcloudsection.php:48 +msgid "Tags for this attachment" +msgstr "وسوم هذا المرفق" + +#: lib/channel.php:138 lib/channel.php:158 +msgid "Command results" +msgstr "نتائج الأمر" + +#: lib/channel.php:210 +msgid "Command complete" +msgstr "اكتمل الأمر" + +#: lib/channel.php:221 +msgid "Command failed" +msgstr "فشل الأمر" + +#: lib/command.php:44 +msgid "Sorry, this command is not yet implemented." +msgstr "" + +#: lib/command.php:88 +#, php-format +msgid "Could not find a user with nickname %s" +msgstr "" + +#: lib/command.php:92 +msgid "It does not make a lot of sense to nudge yourself!" +msgstr "" + +#: lib/command.php:99 +#, php-format +msgid "Nudge sent to %s" +msgstr "" + +#: lib/command.php:126 +#, php-format +msgid "" +"Subscriptions: %1$s\n" +"Subscribers: %2$s\n" +"Notices: %3$s" +msgstr "" +"الاشتراكات: %1$s\n" +"المشتركون: %2$s\n" +"الإشعارات: %3$s" + +#: lib/command.php:152 lib/command.php:400 +msgid "Notice with that id does not exist" +msgstr "" + +#: lib/command.php:168 lib/command.php:416 lib/command.php:471 +msgid "User has no last notice" +msgstr "ليس للمستخدم إشعار أخير" + +#: lib/command.php:190 +msgid "Notice marked as fave." +msgstr "" + +#: lib/command.php:315 +#, php-format +msgid "%1$s (%2$s)" +msgstr "" + +#: lib/command.php:318 +#, php-format +msgid "Fullname: %s" +msgstr "الاسم الكامل: %s" + +#: lib/command.php:321 +#, php-format +msgid "Location: %s" +msgstr "الموقع: %s" + +#: lib/command.php:324 +#, php-format +msgid "Homepage: %s" +msgstr "الصفحة الرئيسية: %s" + +#: lib/command.php:327 +#, php-format +msgid "About: %s" +msgstr "عن: %s" + +#: lib/command.php:358 scripts/xmppdaemon.php:321 +#, php-format +msgid "Message too long - maximum is %d characters, you sent %d" +msgstr "" + +#: lib/command.php:377 +msgid "Error sending direct message." +msgstr "" + +#: lib/command.php:431 +#, php-format +msgid "Notice too long - maximum is %d characters, you sent %d" +msgstr "" + +#: lib/command.php:439 +#, php-format +msgid "Reply to %s sent" +msgstr "رُد على رسالة %s" + +#: lib/command.php:441 +msgid "Error saving notice." +msgstr "خطأ أثناء حفظ الملاحظة." + +#: lib/command.php:495 +msgid "Specify the name of the user to subscribe to" +msgstr "" + +#: lib/command.php:502 +#, php-format +msgid "Subscribed to %s" +msgstr "" + +#: lib/command.php:523 +msgid "Specify the name of the user to unsubscribe from" +msgstr "" + +#: lib/command.php:530 +#, php-format +msgid "Unsubscribed from %s" +msgstr "" + +#: lib/command.php:548 lib/command.php:571 +msgid "Command not yet implemented." +msgstr "" + +#: lib/command.php:551 +msgid "Notification off." +msgstr "" + +#: lib/command.php:553 +msgid "Can't turn off notification." +msgstr "" + +#: lib/command.php:574 +msgid "Notification on." +msgstr "" + +#: lib/command.php:576 +msgid "Can't turn on notification." +msgstr "" + +#: lib/command.php:597 +#, php-format +msgid "Could not create login token for %s" +msgstr "" + +#: lib/command.php:602 +#, php-format +msgid "This link is useable only once, and is good for only 2 minutes: %s" +msgstr "" + +#: lib/command.php:613 +msgid "" +"Commands:\n" +"on - turn on notifications\n" +"off - turn off notifications\n" +"help - show this help\n" +"follow - subscribe to user\n" +"leave - unsubscribe from user\n" +"d - direct message to user\n" +"get - get last notice from user\n" +"whois - get profile info on user\n" +"fav - add user's last notice as a 'fave'\n" +"fav # - add notice with the given id as a 'fave'\n" +"reply # - reply to notice with a given id\n" +"reply - reply to the last notice from user\n" +"join - join group\n" +"login - Get a link to login to the web interface\n" +"drop - leave group\n" +"stats - get your stats\n" +"stop - same as 'off'\n" +"quit - same as 'off'\n" +"sub - same as 'follow'\n" +"unsub - same as 'leave'\n" +"last - same as 'get'\n" +"on - not yet implemented.\n" +"off - not yet implemented.\n" +"nudge - remind a user to update.\n" +"invite - not yet implemented.\n" +"track - not yet implemented.\n" +"untrack - not yet implemented.\n" +"track off - not yet implemented.\n" +"untrack all - not yet implemented.\n" +"tracks - not yet implemented.\n" +"tracking - not yet implemented.\n" +msgstr "" + +#: lib/common.php:191 +msgid "No configuration file found. " +msgstr "" + +#: lib/common.php:192 +msgid "I looked for configuration files in the following places: " +msgstr "" + +#: lib/common.php:193 +msgid "You may wish to run the installer to fix this." +msgstr "" + +#: lib/common.php:194 +msgid "Go to the installer." +msgstr "اذهب إلى المُثبّت." + +#: lib/connectsettingsaction.php:110 +msgid "IM" +msgstr "محادثة فورية" + +#: lib/connectsettingsaction.php:111 +msgid "Updates by instant messenger (IM)" +msgstr "" + +#: lib/connectsettingsaction.php:116 +msgid "Updates by SMS" +msgstr "" + +#: lib/dberroraction.php:60 +msgid "Database error" +msgstr "خطأ قاعدة بيانات" + +#: lib/designsettings.php:101 +msgid "Change background image" +msgstr "غيّر صورة الخلفية" + +#: lib/designsettings.php:105 +msgid "Upload file" +msgstr "ارفع ملفًا" + +#: lib/designsettings.php:109 +msgid "" +"You can upload your personal background image. The maximum file size is 2Mb." +msgstr "" + +#: lib/designsettings.php:139 +msgid "On" +msgstr "" + +#: lib/designsettings.php:155 +msgid "Off" +msgstr "" + +#: lib/designsettings.php:156 +msgid "Turn background image on or off." +msgstr "" + +#: lib/designsettings.php:161 +msgid "Tile background image" +msgstr "" + +#: lib/designsettings.php:170 +msgid "Change colours" +msgstr "غيّر الألوان" + +#: lib/designsettings.php:178 +msgid "Background" +msgstr "الخلفية" + +#: lib/designsettings.php:191 +msgid "Content" +msgstr "المحتوى" + +#: lib/designsettings.php:204 +msgid "Sidebar" +msgstr "الشريط الجانبي" + +#: lib/designsettings.php:217 +msgid "Text" +msgstr "النص" + +#: lib/designsettings.php:230 +msgid "Links" +msgstr "وصلات" + +#: lib/designsettings.php:247 +msgid "Use defaults" +msgstr "استخدم المبدئيات" + +#: lib/designsettings.php:248 +msgid "Restore default designs" +msgstr "استعد التصميمات المبدئية" + +#: lib/designsettings.php:254 +msgid "Reset back to default" +msgstr "ارجع إلى المبدئي" + +#: lib/designsettings.php:257 +msgid "Save design" +msgstr "احفظ التصميم" + +#: lib/designsettings.php:372 +msgid "Bad default color settings: " +msgstr "" + +#: lib/designsettings.php:468 +msgid "Design defaults restored." +msgstr "استعيدت مبدئيات التصميم." + +#: lib/disfavorform.php:114 lib/disfavorform.php:140 +msgid "Disfavor this notice" +msgstr "" + +#: lib/favorform.php:114 lib/favorform.php:140 +msgid "Favor this notice" +msgstr "" + +#: lib/favorform.php:140 +msgid "Favor" +msgstr "" + +#: lib/feedlist.php:64 +msgid "Export data" +msgstr "صدّر البيانات" + +#: lib/feed.php:85 +msgid "RSS 1.0" +msgstr "آرإس​إس 1.0" + +#: lib/feed.php:87 +msgid "RSS 2.0" +msgstr "آرإس​إس 2.0" + +#: lib/feed.php:89 +msgid "Atom" +msgstr "أتوم" + +#: lib/feed.php:91 +msgid "FOAF" +msgstr "" + +#: lib/galleryaction.php:121 +msgid "Filter tags" +msgstr "رشّح الوسوم" + +#: lib/galleryaction.php:131 +msgid "All" +msgstr "الكل" + +#: lib/galleryaction.php:139 +msgid "Select tag to filter" +msgstr "اختر وسمًا لترشيحه" + +#: lib/galleryaction.php:140 +msgid "Tag" +msgstr "الوسم" + +#: lib/galleryaction.php:141 +msgid "Choose a tag to narrow list" +msgstr "" + +#: lib/galleryaction.php:143 +msgid "Go" +msgstr "اذهب" + +#: lib/groupeditform.php:163 +msgid "URL of the homepage or blog of the group or topic" +msgstr "" + +#: lib/groupeditform.php:168 +msgid "Describe the group or topic" +msgstr "" + +#: lib/groupeditform.php:170 +#, php-format +msgid "Describe the group or topic in %d characters" +msgstr "" + +#: lib/groupeditform.php:172 +msgid "Description" +msgstr "الوصف" + +#: lib/groupeditform.php:179 +msgid "" +"Location for the group, if any, like \"City, State (or Region), Country\"" +msgstr "" + +#: lib/groupeditform.php:187 +#, php-format +msgid "Extra nicknames for the group, comma- or space- separated, max %d" +msgstr "" + +#: lib/groupnav.php:85 lib/searchgroupnav.php:84 +msgid "Group" +msgstr "المجموعة" + +#: lib/groupnav.php:101 +msgid "Blocked" +msgstr "ممنوع" + +#: lib/groupnav.php:102 +#, php-format +msgid "%s blocked users" +msgstr "" + +#: lib/groupnav.php:108 +#, php-format +msgid "Edit %s group properties" +msgstr "عدّل خصائص مجموعة %s" + +#: lib/groupnav.php:113 +msgid "Logo" +msgstr "الشعار" + +#: lib/groupnav.php:114 +#, php-format +msgid "Add or edit %s logo" +msgstr "أضف أو عدّل شعار %s" + +#: lib/groupnav.php:120 +#, php-format +msgid "Add or edit %s design" +msgstr "" + +#: lib/groupsbymemberssection.php:71 +msgid "Groups with most members" +msgstr "المجموعات الأكثر أعضاءً" + +#: lib/groupsbypostssection.php:71 +msgid "Groups with most posts" +msgstr "المجموعات الأكثر مرسلات" + +#: lib/grouptagcloudsection.php:56 +#, php-format +msgid "Tags in %s group's notices" +msgstr "" + +#: lib/htmloutputter.php:104 +msgid "This page is not available in a media type you accept" +msgstr "" + +#: lib/imagefile.php:75 +#, php-format +msgid "That file is too big. The maximum file size is %s." +msgstr "" + +#: lib/imagefile.php:80 +msgid "Partial upload." +msgstr "" + +#: lib/imagefile.php:88 lib/mediafile.php:170 +msgid "System error uploading file." +msgstr "" + +#: lib/imagefile.php:96 +msgid "Not an image or corrupt file." +msgstr "" + +#: lib/imagefile.php:105 +msgid "Unsupported image file format." +msgstr "" + +#: lib/imagefile.php:118 +msgid "Lost our file." +msgstr "" + +#: lib/imagefile.php:150 lib/imagefile.php:197 +msgid "Unknown file type" +msgstr "" + +#: lib/jabber.php:192 +#, php-format +msgid "notice id: %s" +msgstr "" + +#: lib/joinform.php:114 +msgid "Join" +msgstr "انضم" + +#: lib/leaveform.php:114 +msgid "Leave" +msgstr "غادر" + +#: lib/logingroupnav.php:80 +msgid "Login with a username and password" +msgstr "" + +#: lib/logingroupnav.php:86 +msgid "Sign up for a new account" +msgstr "" + +#: lib/mailbox.php:89 +msgid "Only the user can read their own mailboxes." +msgstr "" + +#: lib/mailbox.php:139 +msgid "" +"You have no private messages. You can send private message to engage other " +"users in conversation. People can send you messages for your eyes only." +msgstr "" + +#: lib/mailbox.php:227 lib/noticelist.php:424 +msgid "from" +msgstr "من" + +#: lib/mail.php:172 +msgid "Email address confirmation" +msgstr "تأكيد عنوان البريد الإلكتروني" + +#: lib/mail.php:174 +#, php-format +msgid "" +"Hey, %s.\n" +"\n" +"Someone just entered this email address on %s.\n" +"\n" +"If it was you, and you want to confirm your entry, use the URL below:\n" +"\n" +"\t%s\n" +"\n" +"If not, just ignore this message.\n" +"\n" +"Thanks for your time, \n" +"%s\n" +msgstr "" + +#: lib/mail.php:235 +#, php-format +msgid "%1$s is now listening to your notices on %2$s." +msgstr "" + +#: lib/mail.php:240 +#, php-format +msgid "" +"%1$s is now listening to your notices on %2$s.\n" +"\n" +"\t%3$s\n" +"\n" +"%4$s%5$s%6$s\n" +"Faithfully yours,\n" +"%7$s.\n" +"\n" +"----\n" +"Change your email address or notification options at %8$s\n" +msgstr "" + +#: lib/mail.php:253 +#, php-format +msgid "Location: %s\n" +msgstr "الموقع: %s\n" + +#: lib/mail.php:255 +#, php-format +msgid "Homepage: %s\n" +msgstr "الصفحة الرئيسية: %s\n" + +#: lib/mail.php:257 +#, php-format +msgid "" +"Bio: %s\n" +"\n" +msgstr "السيرة: %s\n" + +#: lib/mail.php:285 +#, php-format +msgid "New email address for posting to %s" +msgstr "" + +#: lib/mail.php:288 +#, php-format +msgid "" +"You have a new posting address on %1$s.\n" +"\n" +"Send email to %2$s to post new messages.\n" +"\n" +"More email instructions at %3$s.\n" +"\n" +"Faithfully yours,\n" +"%4$s" +msgstr "" + +#: lib/mail.php:412 +#, php-format +msgid "%s status" +msgstr "" + +#: lib/mail.php:438 +msgid "SMS confirmation" +msgstr "" + +#: lib/mail.php:462 +#, php-format +msgid "You've been nudged by %s" +msgstr "" + +#: lib/mail.php:466 +#, php-format +msgid "" +"%1$s (%2$s) is wondering what you are up to these days and is inviting you " +"to post some news.\n" +"\n" +"So let's hear from you :)\n" +"\n" +"%3$s\n" +"\n" +"Don't reply to this email; it won't get to them.\n" +"\n" +"With kind regards,\n" +"%4$s\n" +msgstr "" + +#: lib/mail.php:509 +#, php-format +msgid "New private message from %s" +msgstr "" + +#: lib/mail.php:513 +#, php-format +msgid "" +"%1$s (%2$s) sent you a private message:\n" +"\n" +"------------------------------------------------------\n" +"%3$s\n" +"------------------------------------------------------\n" +"\n" +"You can reply to their message here:\n" +"\n" +"%4$s\n" +"\n" +"Don't reply to this email; it won't get to them.\n" +"\n" +"With kind regards,\n" +"%5$s\n" +msgstr "" + +#: lib/mail.php:554 +#, php-format +msgid "%s (@%s) added your notice as a favorite" +msgstr "" + +#: lib/mail.php:556 +#, php-format +msgid "" +"%1$s (@%7$s) just added your notice from %2$s as one of their favorites.\n" +"\n" +"The URL of your notice is:\n" +"\n" +"%3$s\n" +"\n" +"The text of your notice is:\n" +"\n" +"%4$s\n" +"\n" +"You can see the list of %1$s's favorites here:\n" +"\n" +"%5$s\n" +"\n" +"Faithfully yours,\n" +"%6$s\n" +msgstr "" + +#: lib/mail.php:611 +#, php-format +msgid "%s (@%s) sent a notice to your attention" +msgstr "" + +#: lib/mail.php:613 +#, php-format +msgid "" +"%1$s (@%9$s) just sent a notice to your attention (an '@-reply') on %2$s.\n" +"\n" +"The notice is here:\n" +"\n" +"\t%3$s\n" +"\n" +"It reads:\n" +"\n" +"\t%4$s\n" +"\n" +msgstr "" + +#: lib/mediafile.php:98 lib/mediafile.php:123 +msgid "There was a database error while saving your file. Please try again." +msgstr "" + +#: lib/mediafile.php:142 +msgid "The uploaded file exceeds the upload_max_filesize directive in php.ini." +msgstr "" + +#: lib/mediafile.php:147 +msgid "" +"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in " +"the HTML form." +msgstr "" + +#: lib/mediafile.php:152 +msgid "The uploaded file was only partially uploaded." +msgstr "" + +#: lib/mediafile.php:159 +msgid "Missing a temporary folder." +msgstr "" + +#: lib/mediafile.php:162 +msgid "Failed to write file to disk." +msgstr "" + +#: lib/mediafile.php:165 +msgid "File upload stopped by extension." +msgstr "" + +#: lib/mediafile.php:179 lib/mediafile.php:216 +msgid "File exceeds user's quota!" +msgstr "" + +#: lib/mediafile.php:196 lib/mediafile.php:233 +msgid "File could not be moved to destination directory." +msgstr "" + +#: lib/mediafile.php:201 lib/mediafile.php:237 +msgid "Could not determine file's mime-type!" +msgstr "" + +#: lib/mediafile.php:270 +#, php-format +msgid " Try using another %s format." +msgstr "" + +#: lib/mediafile.php:275 +#, php-format +msgid "%s is not a supported filetype on this server." +msgstr "" + +#: lib/messageform.php:120 +msgid "Send a direct notice" +msgstr "أرسل ملاحظة مباشرة" + +#: lib/messageform.php:146 +msgid "To" +msgstr "إلى" + +#: lib/messageform.php:162 lib/noticeform.php:173 +msgid "Available characters" +msgstr "المحارف المتوفرة" + +#: lib/noticeform.php:145 +msgid "Send a notice" +msgstr "أرسل إشعارًا" + +#: lib/noticeform.php:158 +#, php-format +msgid "What's up, %s?" +msgstr "ما الأخبار يا %s؟" + +#: lib/noticeform.php:180 +msgid "Attach" +msgstr "أرفق" + +#: lib/noticeform.php:184 +msgid "Attach a file" +msgstr "أرفق ملفًا" + +#: lib/noticelist.php:478 +msgid "in context" +msgstr "في السياق" + +#: lib/noticelist.php:498 +msgid "Reply to this notice" +msgstr "رُد على هذا الإشعار" + +#: lib/noticelist.php:499 +msgid "Reply" +msgstr "رُد" + +#: lib/nudgeform.php:116 +msgid "Nudge this user" +msgstr "" + +#: lib/nudgeform.php:128 +msgid "Nudge" +msgstr "" + +#: lib/nudgeform.php:128 +msgid "Send a nudge to this user" +msgstr "" + +#: lib/oauthstore.php:283 +msgid "Error inserting new profile" +msgstr "خطأ أثناء إدراج الملف الشخصي الجديد" + +#: lib/oauthstore.php:291 +msgid "Error inserting avatar" +msgstr "" + +#: lib/oauthstore.php:311 +msgid "Error inserting remote profile" +msgstr "" + +#: lib/oauthstore.php:345 +msgid "Duplicate notice" +msgstr "" + +#: lib/oauthstore.php:487 +msgid "Couldn't insert new subscription." +msgstr "تعذّر إدراج اشتراك جديد." + +#: lib/personalgroupnav.php:99 +msgid "Personal" +msgstr "شخصية" + +#: lib/personalgroupnav.php:104 +msgid "Replies" +msgstr "الردود" + +#: lib/personalgroupnav.php:114 +msgid "Favorites" +msgstr "مفضلات" + +#: lib/personalgroupnav.php:115 +msgid "User" +msgstr "المستخدم" + +#: lib/personalgroupnav.php:124 +msgid "Inbox" +msgstr "صندوق الوارد" + +#: lib/personalgroupnav.php:125 +msgid "Your incoming messages" +msgstr "رسائلك الواردة" + +#: lib/personalgroupnav.php:129 +msgid "Outbox" +msgstr "صندوق الصادر" + +#: lib/personalgroupnav.php:130 +msgid "Your sent messages" +msgstr "" + +#: lib/personaltagcloudsection.php:56 +#, php-format +msgid "Tags in %s's notices" +msgstr "" + +#: lib/profileaction.php:109 lib/profileaction.php:191 lib/subgroupnav.php:82 +msgid "Subscriptions" +msgstr "الاشتراكات" + +#: lib/profileaction.php:126 +msgid "All subscriptions" +msgstr "جميع الاشتراكات" + +#: lib/profileaction.php:140 lib/profileaction.php:200 lib/subgroupnav.php:90 +msgid "Subscribers" +msgstr "المشتركون" + +#: lib/profileaction.php:157 +msgid "All subscribers" +msgstr "جميع المشتركين" + +#: lib/profileaction.php:177 +msgid "User ID" +msgstr "هوية المستخدم" + +#: lib/profileaction.php:182 +msgid "Member since" +msgstr "عضو منذ" + +#: lib/profileaction.php:235 +msgid "All groups" +msgstr "كل المجموعات" + +#: lib/publicgroupnav.php:78 +msgid "Public" +msgstr "عام" + +#: lib/publicgroupnav.php:82 +msgid "User groups" +msgstr "مجموعات المستخدمين" + +#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85 +msgid "Recent tags" +msgstr "الوسوم الحديثة" + +#: lib/publicgroupnav.php:88 +msgid "Featured" +msgstr "مُختارون" + +#: lib/publicgroupnav.php:92 +msgid "Popular" +msgstr "" + +#: lib/searchaction.php:120 +msgid "Search site" +msgstr "ابحث في الموقع" + +#: lib/searchaction.php:162 +msgid "Search help" +msgstr "ابحث في المساعدة" + +#: lib/searchgroupnav.php:80 +msgid "People" +msgstr "" + +#: lib/searchgroupnav.php:81 +msgid "Find people on this site" +msgstr "" + +#: lib/searchgroupnav.php:82 +msgid "Notice" +msgstr "إشعار" + +#: lib/searchgroupnav.php:83 +msgid "Find content of notices" +msgstr "" + +#: lib/searchgroupnav.php:85 +msgid "Find groups on this site" +msgstr "" + +#: lib/section.php:89 +msgid "Untitled section" +msgstr "قسم غير مُعنون" + +#: lib/section.php:106 +msgid "More..." +msgstr "المزيد..." + +#: lib/subgroupnav.php:83 +#, php-format +msgid "People %s subscribes to" +msgstr "" + +#: lib/subgroupnav.php:91 +#, php-format +msgid "People subscribed to %s" +msgstr "" + +#: lib/subgroupnav.php:99 +#, php-format +msgid "Groups %s is a member of" +msgstr "" + +#: lib/subscriberspeopleselftagcloudsection.php:48 +#: lib/subscriptionspeopleselftagcloudsection.php:48 +msgid "People Tagcloud as self-tagged" +msgstr "" + +#: lib/subscriberspeopletagcloudsection.php:48 +#: lib/subscriptionspeopletagcloudsection.php:48 +msgid "People Tagcloud as tagged" +msgstr "" + +#: lib/subscriptionlist.php:126 +msgid "(none)" +msgstr "(لا شيء)" + +#: lib/subs.php:48 +msgid "Already subscribed!" +msgstr "" + +#: lib/subs.php:52 +msgid "User has blocked you." +msgstr "لقد منعك المستخدم." + +#: lib/subs.php:56 +msgid "Could not subscribe." +msgstr "تعذّر الاشتراك." + +#: lib/subs.php:75 +msgid "Could not subscribe other to you." +msgstr "" + +#: lib/subs.php:124 +msgid "Not subscribed!." +msgstr "" + +#: lib/subs.php:136 +msgid "Couldn't delete subscription." +msgstr "تعذّر حذف الاشتراك." + +#: lib/tagcloudsection.php:56 +msgid "None" +msgstr "لا شيء" + +#: lib/topposterssection.php:74 +msgid "Top posters" +msgstr "أعلى المرسلين" + +#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137 +msgid "Unsubscribe from this user" +msgstr "ألغِ الاشتراك مع هذا المستخدم" + +#: lib/unsubscribeform.php:137 +msgid "Unsubscribe" +msgstr "ألغِ الاشتراك" + +#: lib/userprofile.php:116 +msgid "Edit Avatar" +msgstr "عدّل الأفتار" + +#: lib/userprofile.php:236 +msgid "User actions" +msgstr "تصرفات المستخدم" + +#: lib/userprofile.php:248 +msgid "Edit profile settings" +msgstr "عدّل إعدادات الملف الشخصي" + +#: lib/userprofile.php:249 +msgid "Edit" +msgstr "عدّل" + +#: lib/userprofile.php:272 +msgid "Send a direct message to this user" +msgstr "أرسل رسالة مباشرة إلى هذا المستخدم" + +#: lib/userprofile.php:273 +msgid "Message" +msgstr "رسالة" + +#: lib/util.php:818 +msgid "a few seconds ago" +msgstr "قبل لحظات قليلة" + +#: lib/util.php:820 +msgid "about a minute ago" +msgstr "قبل دقيقة تقريبًا" + +#: lib/util.php:822 +#, php-format +msgid "about %d minutes ago" +msgstr "" + +#: lib/util.php:824 +msgid "about an hour ago" +msgstr "قبل ساعة تقريبًا" + +#: lib/util.php:826 +#, php-format +msgid "about %d hours ago" +msgstr "" + +#: lib/util.php:828 +msgid "about a day ago" +msgstr "قبل يوم تقريبا" + +#: lib/util.php:830 +#, php-format +msgid "about %d days ago" +msgstr "" + +#: lib/util.php:832 +msgid "about a month ago" +msgstr "قبل شهر تقريبًا" + +#: lib/util.php:834 +#, php-format +msgid "about %d months ago" +msgstr "" + +#: lib/util.php:836 +msgid "about a year ago" +msgstr "قبل سنة تقريبًا" + +#: lib/webcolor.php:82 +#, php-format +msgid "%s is not a valid color!" +msgstr "" + +#: lib/webcolor.php:123 +#, php-format +msgid "%s is not a valid color! Use 3 or 6 hex chars." +msgstr "" + +#: scripts/maildaemon.php:48 +msgid "Could not parse message." +msgstr "" + +#: scripts/maildaemon.php:53 +msgid "Not a registered user." +msgstr "" + +#: scripts/maildaemon.php:57 +msgid "Sorry, that is not your incoming email address." +msgstr "" + +#: scripts/maildaemon.php:61 +msgid "Sorry, no incoming email allowed." +msgstr "" -- cgit v1.2.3-54-g00ecf From cb64cfb44c7bf08f113444ccdde4b9a4b7fa6808 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 10 Nov 2009 16:15:05 -0500 Subject: add geo output to statuses in json, xml, atom, rss in API --- classes/Notice.php | 6 ++++++ lib/api.php | 45 ++++++++++++++++++++++++++++++++++++++------- 2 files changed, 44 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/classes/Notice.php b/classes/Notice.php index 9886875cb..291e6202b 100644 --- a/classes/Notice.php +++ b/classes/Notice.php @@ -1254,6 +1254,12 @@ class Notice extends Memcached_DataObject } } + if (!empty($this->lat) && !empty($this->lon)) { + $xs->elementStart('geo', array('xmlns:georss' => 'http://www.georss.org/georss')); + $xs->element('georss:point', null, $this->lat . ' ' . $this->lon); + $xs->elementEnd('geo'); + } + $xs->elementEnd('entry'); return $xs->getString(); diff --git a/lib/api.php b/lib/api.php index a1236ab7e..5e66639c4 100644 --- a/lib/api.php +++ b/lib/api.php @@ -60,7 +60,7 @@ class ApiAction extends Action var $max_id = null; var $since_id = null; var $since = null; - + /** * Initialization. * @@ -72,14 +72,14 @@ class ApiAction extends Action function prepare($args) { parent::prepare($args); - + $this->format = $this->arg('format'); $this->page = (int)$this->arg('page', 1); $this->count = (int)$this->arg('count', 20); $this->max_id = (int)$this->arg('max_id', 0); $this->since_id = (int)$this->arg('since_id', 0); $this->since = $this->arg('since'); - + return true; } @@ -164,7 +164,6 @@ class ApiAction extends Action $twitter_user['favourites_count'] = $profile->faveCount(); // British spelling! - $timezone = 'UTC'; if ($user->timezone) { @@ -238,6 +237,15 @@ class ApiAction extends Action $twitter_status['in_reply_to_screen_name'] = ($replier_profile) ? $replier_profile->nickname : null; + if (isset($notice->lat) && isset($notice->lon)) { + // This is the format that GeoJSON expects stuff to be in + $twitter_status['geo'] = array('type' => 'Point', + 'coordinates' => array((float) $notice->lat, + (float) $notice->lon)); + } else { + $twitter_status['geo'] = null; + } + if (isset($this->auth_user)) { $twitter_status['favorited'] = $this->auth_user->hasFave($notice); } else { @@ -362,10 +370,19 @@ class ApiAction extends Action $entry['pubDate'] = common_date_rfc2822($notice->created); $entry['guid'] = $entry['link']; + if (isset($notice->lat) && isset($notice->lon)) { + // This is the format that GeoJSON expects stuff to be in. + // showGeoRSS() below uses it for XML output, so we reuse it + $entry['geo'] = array('type' => 'Point', + 'coordinates' => array((float) $notice->lat, + (float) $notice->lon)); + } else { + $entry['geo'] = null; + } + return $entry; } - function twitterRelationshipArray($source, $target) { $relationship = array(); @@ -441,6 +458,9 @@ class ApiAction extends Action case 'attachments': $this->showXmlAttachments($twitter_status['attachments']); break; + case 'geo': + $this->showGeoRSS($value); + break; default: $this->element($element, null, $value); } @@ -484,6 +504,18 @@ class ApiAction extends Action } } + function showGeoRSS($geo) + { + if (empty($geo)) { + // empty geo element + $this->element('geo'); + } else { + $this->elementStart('geo', array('xmlns:georss' => 'http://www.georss.org/georss')); + $this->element('georss:point', null, $geo['coordinates'][0] . ' ' . $geo['coordinates'][1]); + $this->elementEnd('geo'); + } + } + function showTwitterRssItem($entry) { $this->elementStart('item'); @@ -505,6 +537,7 @@ class ApiAction extends Action } } + $this->showGeoRSS($entry['geo']); $this->elementEnd('item'); } @@ -529,7 +562,6 @@ class ApiAction extends Action $this->endDocument('json'); } - function showXmlTimeline($notice) { @@ -649,7 +681,6 @@ class ApiAction extends Action $this->endTwitterRss(); } - function showTwitterAtomEntry($entry) { $this->elementStart('entry'); -- cgit v1.2.3-54-g00ecf