]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Merge branch 'adrianlang-827' of git://gitorious.org/laconica/adrianlang-clone into...
authorEvan Prodromou <evan@controlyourself.ca>
Wed, 8 Apr 2009 02:29:48 +0000 (22:29 -0400)
committerEvan Prodromou <evan@controlyourself.ca>
Wed, 8 Apr 2009 02:29:48 +0000 (22:29 -0400)
141 files changed:
README
actions/all.php
actions/block.php
actions/deletenotice.php
actions/disfavor.php
actions/editgroup.php
actions/favor.php
actions/favorited.php
actions/finishaddopenid.php
actions/finishopenidlogin.php
actions/finishremotesubscribe.php
actions/foaf.php
actions/groupsearch.php
actions/joingroup.php
actions/leavegroup.php
actions/login.php
actions/logout.php
actions/newgroup.php
actions/noticesearch.php
actions/noticesearchrss.php
actions/nudge.php
actions/peoplesearch.php
actions/peopletag.php
actions/public.php
actions/publictagcloud.php
actions/recoverpassword.php
actions/remotesubscribe.php
actions/replies.php
actions/showfavorites.php
actions/showgroup.php
actions/shownotice.php
actions/showstream.php
actions/smssettings.php
actions/subedit.php
actions/subscribe.php
actions/subscribers.php
actions/subscriptions.php
actions/sup.php
actions/tag.php
actions/tagother.php
actions/unblock.php
actions/unsubscribe.php
actions/usergroups.php
actions/userrss.php
apple-touch-icon.png [new file with mode: 0644]
bin/flowplayer-3.0.5.swf [deleted file]
bin/flowplayer.audio-3.0.3.swf [deleted file]
bin/flowplayer.controls-3.0.3.swf [deleted file]
classes/Notice.php
classes/User.php
config.php.sample
db/laconica.sql
db/notice_source.sql
doc-src/bookmarklet [new file with mode: 0644]
extlib/PEAR/Exception.php [new file with mode: 0644]
index.php
js/flowplayer-3.0.5.min.js [deleted file]
js/jquery.js
js/jquery.min.js
js/jquery.simplemodal-1.2.2.pack.js [deleted file]
js/util.js
js/video.js [deleted file]
lib/action.php
lib/common.php
lib/galleryaction.php
lib/jabber.php
lib/language.php
lib/logingroupnav.php
lib/mail.php
lib/mailbox.php
lib/messageform.php
lib/noticeform.php
lib/noticelist.php
lib/omb.php
lib/openid.php
lib/ping.php
lib/profileaction.php [new file with mode: 0644]
lib/profilelist.php
lib/router.php
lib/rssaction.php
lib/search_engines.php
lib/searchaction.php
lib/settingsaction.php
lib/subgroupnav.php
lib/twitter.php
lib/twitterapi.php
lib/util.php
locale/de_DE/LC_MESSAGES/laconica.mo
locale/de_DE/LC_MESSAGES/laconica.po
locale/en_GB/LC_MESSAGES/laconica.mo
locale/en_GB/LC_MESSAGES/laconica.po
locale/es/LC_MESSAGES/laconica.mo
locale/es/LC_MESSAGES/laconica.po
locale/fi/LC_MESSAGES/laconica.mo
locale/fi/LC_MESSAGES/laconica.po
locale/fr_FR/LC_MESSAGES/laconica.mo
locale/fr_FR/LC_MESSAGES/laconica.po
locale/he_IL/LC_MESSAGES/laconica.mo
locale/he_IL/LC_MESSAGES/laconica.po
locale/it_IT/LC_MESSAGES/laconica.mo
locale/it_IT/LC_MESSAGES/laconica.po
locale/ko_KR/LC_MESSAGES/laconica.mo
locale/ko_KR/LC_MESSAGES/laconica.po
locale/laconica.po
locale/nb_NO/LC_MESSAGES/laconica.mo
locale/nb_NO/LC_MESSAGES/laconica.po
locale/nn_NO/LC_MESSAGES/laconica.mo
locale/nn_NO/LC_MESSAGES/laconica.po
locale/pl_PL/LC_MESSAGES/laconica.mo
locale/pl_PL/LC_MESSAGES/laconica.po
locale/pt/LC_MESSAGES/laconica.mo
locale/pt/LC_MESSAGES/laconica.po
locale/pt_BR/LC_MESSAGES/laconica.mo
locale/pt_BR/LC_MESSAGES/laconica.po
locale/ru_RU/LC_MESSAGES/laconica.mo
locale/ru_RU/LC_MESSAGES/laconica.po
locale/sv_SE/LC_MESSAGES/laconica.mo
locale/sv_SE/LC_MESSAGES/laconica.po
locale/uk_UA/LC_MESSAGES/laconica.mo
locale/uk_UA/LC_MESSAGES/laconica.po
locale/vi_VN/LC_MESSAGES/laconica.mo
locale/vi_VN/LC_MESSAGES/laconica.po
locale/zh_CN/LC_MESSAGES/laconica.mo
locale/zh_CN/LC_MESSAGES/laconica.po
locale/zh_TW/LC_MESSAGES/laconica.mo
locale/zh_TW/LC_MESSAGES/laconica.po
plugins/LinkbackPlugin.php
plugins/PiwikAnalyticsPlugin.php [new file with mode: 0644]
scripts/laconica.spec
scripts/pingqueuehandler.php
scripts/synctwitterfriends.php
scripts/update_pot.sh
theme/base/css/display.css
theme/base/css/ie.css
theme/base/css/ie6.css
theme/base/css/modal.css [deleted file]
theme/base/css/modal_ie.css [deleted file]
theme/base/images/icons/icon_processing.gif [new file with mode: 0644]
theme/base/images/x.png [deleted file]
theme/default/css/display.css
theme/identica/css/display.css

diff --git a/README b/README
index 07957c09e9ead32658df560065860cfacd3813d2..f080d32bcca763058e0d6e08203ad9afe7af0a76 100644 (file)
--- a/README
+++ b/README
@@ -2,8 +2,8 @@
 README
 ------
 
-Laconica 0.7.1 ("West of the Fields")
-6 February 2009
+Laconica 0.7.2.1 ("Talk about the Passion")
+11 March 2009
 
 This is the README file for Laconica, the Open Source microblogging
 platform. It includes installation instructions, descriptions of
@@ -71,8 +71,47 @@ for additional terms.
 New this version
 ================
 
-This is a minor bug-fix release since version 0.7.0, released Jan 29
-2009. Notable changes this version:
+This is a minor bug-fix and feature release since version 0.7.1,
+released Feb 9 2009. Notable changes this version:
+
+- First version of a web-based installer
+- Use Net_URL_Mapper instead of mod_rewrite to map "fancy URLs",
+  for a much simpler installation and use of PATH_INFO on sites
+  that don't have mod_rewrite.
+- A plugin framework for system events, to make it easier to build
+  server-side plugins.
+- A plugin for Google Analytics
+- A plugin to use blogspam.net to check notices for spam
+- A plugin to send linkbacks for notices about blog posts
+- Configurable check for duplicate notices in a specific time
+  period
+- Better Atom feeds
+- First implementation of Twitter Search API
+- Add streamlined mobile device-friendly styles when enabled in config.
+- A queue server for sending notices to Twitter
+- A queue server for sending notices to Facebook
+- A queue server for sending notices to a ping server
+- Fixed a bug in nonces for OAuth in OpenMicroBlogging
+- Fixed bugs in transfer of avatars in OpenMicroBlogging
+- @-links go to permalinks for local users
+- Better handling of DB errors (instead of dreaded DB_DataObject blank
+  screen)
+- Initial version of an RPM spec file
+- More consistent display of notices in notice search
+- A stylesheet for printed output
+- "Social graph" methods for Twitter API
+- Documentation for the JavaScript badge
+- Debugged a ton of problems that happened with E_NOTICE on
+- Better caching in RSS feeds
+- Optionally send email when an @-message is received
+- Automatically add tags for every group message
+- Add framebusting JavaScript to help avoid clickjacking attacks.
+- Optionally ignore some notice sources for public page.
+- Add default SMS carriers and notice sources to distribution file.
+- Change titles to use mixed case instead of all uppercase.
+- Use exceptions for error handling.
+
+Changes in version 0.7.1:
 
 - Vast improvement in auto-linking to URLs.
 - Link to group search from user's group page
@@ -218,9 +257,9 @@ especially if you've previously installed PHP/MySQL packages.
 1. Unpack the tarball you downloaded on your Web server. Usually a
    command like this will work:
 
-          tar zxf laconica-0.7.1.tar.gz
+          tar zxf laconica-0.7.2.1.tar.gz
 
-   ...which will make a laconica-0.7.1 subdirectory in your current
+   ...which will make a laconica-0.7.2.1 subdirectory in your current
    directory. (If you don't have shell access on your Web server, you
    may have to unpack the tarball on your local computer and FTP the
    files to the server.)
@@ -228,7 +267,7 @@ especially if you've previously installed PHP/MySQL packages.
 2. Move the tarball to a directory of your choosing in your Web root
    directory. Usually something like this will work:
 
-          mv laconica-0.7.1 /var/www/mublog
+          mv laconica-0.7.2.1 /var/www/mublog
 
    This will make your Laconica instance available in the mublog path of
    your server, like "http://example.net/mublog". "microblog" or
@@ -718,7 +757,7 @@ Upgrading
 If you've been using Laconica 0.6, 0.5 or lower, or if you've been
 tracking the "git" version of the software, you will probably want
 to upgrade and keep your existing data. There is no automated upgrade
-procedure in Laconica 0.7.1. Try these step-by-step instructions; read
+procedure in Laconica 0.7.2.1. Try these step-by-step instructions; read
 to the end first before trying them.
 
 0. Download Laconica and set up all the prerequisites as if you were
@@ -838,7 +877,7 @@ This section is a catch-all for site-wide variables.
 
 name: the name of your site, like 'YourCompany Microblog'.
 server: the server part of your site's URLs, like 'example.net'.
-path: The path part of your site's URLs, like 'mublog' or '/'
+path: The path part of your site's URLs, like 'mublog' or ''
       (installed in root).
 fancy: whether or not your site uses fancy URLs (see Fancy URLs
        section above). Default is false.
@@ -884,6 +923,18 @@ notice: A plain string that will appear on every page. A good place
         be escaped.
 dupelimit: Time in which it's not OK for the same person to post the
            same notice; default = 60 seconds.
+logo: URL of an image file to use as the logo for the site. Overrides
+      the logo in the theme, if any.
+ssl: Whether to use SSL and https:// URLs for some or all pages.
+     Possible values are 'always' (use it for all pages), 'never'
+     (don't use it for any pages), or 'sometimes' (use it for
+     sensitive pages that include passwords like login and registration,
+     but not for regular pages). Default to 'never'.
+sslserver: use an alternate server name for SSL URLs, like
+           'secure.example.org'. You should be careful to set cookie
+           parameters correctly so that both the SSL server and the
+           "normal" server can access the session cookie and
+           preferably other cookies as well.
 
 db
 --
@@ -1128,6 +1179,20 @@ banned: an array of usernames and/or profile IDs of 'banned' profiles.
         not be accepted at all. (Compare with blacklisted users above,
         whose posts just won't show up in the public stream.)
 
+newuser
+-------
+
+Options with new users.
+
+default: nickname of a user account to automatically subscribe new
+        users to. Typically this would be system account for e.g.
+         service updates or announcements. Users are able to unsub
+         if they want. Default is null; no auto subscribe.
+welcome: nickname of a user account that sends welcome messages to new
+         users. Can be the same as 'subscribe' account, although on
+         busy servers it may be a good idea to keep that one just for
+         'urgent' messages. Default is null; no message.
+
 Troubleshooting
 ===============
 
@@ -1140,7 +1205,7 @@ repository (see below), and you get a compilation error ("unexpected
 T_STRING") in the browser, check to see that you don't have any
 conflicts in your code.
 
-If you upgraded to Laconica 0.7.1 without reading the "Notice inboxes"
+If you upgraded to Laconica 0.7.2.1 without reading the "Notice inboxes"
 section above, and all your users' 'Personal' tabs are empty, read the
 "Notice inboxes" section above.
 
@@ -1226,6 +1291,9 @@ if anyone's been overlooked in error.
 * Ken Sheppardson (Trac server, man-about-town)
 * Tiago 'gouki' Faria (i18n managerx)
 * Sean Murphy
+* Leslie Michael Orchard
+* Eric Helgeson
+* Ken Sedgwick
 
 Thanks also to the developers of our upstream library code and to the
 thousands of people who have tried out Identi.ca, installed Laconi.ca,
index 8e67ec0f3b49eff9db6b6b7020762b952f9843da..f5bbfe2e395c00138bdc990da56f01a9326a5bb8 100644 (file)
@@ -23,31 +23,13 @@ require_once INSTALLDIR.'/lib/personalgroupnav.php';
 require_once INSTALLDIR.'/lib/noticelist.php';
 require_once INSTALLDIR.'/lib/feedlist.php';
 
-class AllAction extends Action
+class AllAction extends ProfileAction
 {
-    var $user = null;
-    var $page = null;
-
     function isReadOnly()
     {
         return true;
     }
 
-    function prepare($args)
-    {
-        parent::prepare($args);
-        $nickname = common_canonical_nickname($this->arg('nickname'));
-        $this->user = User::staticGet('nickname', $nickname);
-        $this->page = $this->trimmed('page');
-        if (!$this->page) {
-            $this->page = 1;
-        }
-
-        common_set_returnto($this->selfUrl());
-
-        return true;
-    }
-
     function handle($args)
     {
         parent::handle($args);
@@ -93,6 +75,27 @@ class AllAction extends Action
         $nav->show();
     }
 
+    function showEmptyListMessage()
+    {
+        $message = sprintf(_('This is the timeline for %s and friends but no one has posted anything yet.'), $this->user->nickname) . ' ';
+
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message .= _('Try subscribing to more people, [join a group](%%action.groups) or post something yourself.');
+            } else {
+                $message .= sprintf(_('You can try to [nudge %s](../%s) from his profile or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname);
+            }
+        }
+        else {
+            $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
+
     function showContent()
     {
         $notice = $this->user->noticesWithFriends(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
@@ -101,6 +104,10 @@ class AllAction extends Action
 
         $cnt = $nl->show();
 
+        if (0 == $cnt) {
+            $this->showEmptyListMessage();
+        }
+
         $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
                           $this->page, 'all', array('nickname' => $this->user->nickname));
     }
index e77b634c86c962a3b3a92ac629051df1cd288110..34f991dc6126024451004e3115ad45c88106b1eb 100644 (file)
@@ -93,7 +93,8 @@ class BlockAction extends Action
             if ($this->arg('no')) {
                 $cur = common_current_user();
                 $other = Profile::staticGet('id', $this->arg('blockto'));
-                common_redirect(common_local_url('showstream', array('nickname' => $other->nickname)));
+                common_redirect(common_local_url('showstream', array('nickname' => $other->nickname)),
+                                303);
             } elseif ($this->arg('yes')) {
                 $this->blockProfile();
             } elseif ($this->arg('blockto')) {
@@ -102,7 +103,6 @@ class BlockAction extends Action
         }
     }
 
-
     function showContent() {
         $this->areYouSureForm();
     }
@@ -110,7 +110,7 @@ class BlockAction extends Action
     function title() {
         return _('Block user');
     }
-    
+
     function showNoticeForm() {
         // nop
     }
@@ -178,10 +178,11 @@ class BlockAction extends Action
         }
 
         if ($action) {
-            common_redirect(common_local_url($action, $args));
+            common_redirect(common_local_url($action, $args), 303);
         } else {
             common_redirect(common_local_url('subscriptions',
-                                             array('nickname' => $cur->nickname)));
+                                             array('nickname' => $cur->nickname)),
+                            303);
         }
     }
 }
index 16e2df8899ab0338a6dcf94fc626e72c6719fbbe..6c350b33ab36e3c45d278f5009f20d1259ef435c 100644 (file)
@@ -141,6 +141,6 @@ class DeletenoticeAction extends DeleteAction
             $url = common_local_url('public');
         }
 
-        common_redirect($url);
+        common_redirect($url, 303);
     }
 }
index 90bab3ccae86325c5005dcea10f4a89318f7e297..bc13b09da5ea931224a08cc07834034771167fd4 100644 (file)
@@ -49,7 +49,7 @@ class DisfavorAction extends Action
 {
     /**
      * Class handler.
-     * 
+     *
      * @param array $args query arguments
      *
      * @return void
@@ -100,7 +100,8 @@ class DisfavorAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url('showfavorites',
-                                             array('nickname' => $user->nickname)));
+                                             array('nickname' => $user->nickname)),
+                            303);
         }
     }
 }
index e7e79040a4811622473f1296e52da72b90420bcc..39dad0465eb070ced615f205661e1115cb7f3b39 100644 (file)
@@ -166,7 +166,6 @@ class EditgroupAction extends Action
             return;
         }
 
-
         $nickname    = common_canonical_nickname($this->trimmed('nickname'));
         $fullname    = $this->trimmed('fullname');
         $homepage    = $this->trimmed('homepage');
@@ -221,7 +220,7 @@ class EditgroupAction extends Action
         if ($this->group->nickname != $orig->nickname) {
             common_redirect(common_local_url('editgroup',
                                              array('nickname' => $nickname)),
-                            307);
+                            303);
         } else {
             $this->showForm(_('Options saved.'));
         }
index 3940df6888c11a83ba2f26239766c7026b0d280a..3b7d979ebcc8139b67abaafb36904e0244629505 100644 (file)
@@ -52,7 +52,7 @@ class FavorAction extends Action
 {
     /**
      * Class handler.
-     * 
+     *
      * @param array $args query arguments
      *
      * @return void
@@ -100,13 +100,14 @@ class FavorAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url('showfavorites',
-                                             array('nickname' => $user->nickname)));
+                                             array('nickname' => $user->nickname)),
+                            303);
         }
     }
 
     /**
      * Notifies a user when his notice is favorited.
-     * 
+     *
      * @param class $notice favorited notice
      * @param class $user   user declaring a favorite
      *
index 231b97897377b9026b6104fb904bd5f211830d08..27da25435b7921c8dc3972cfa88382838a475a12 100644 (file)
@@ -143,6 +143,25 @@ class FavoritedAction extends Action
         $this->elementStart('div', 'instructions');
         $this->raw($output);
         $this->elementEnd('div');
+
+        $favorite = new Fave;
+
+        if ($favorite->count()) {
+            return;
+        }
+
+        $message = _('Favorite notices appear on this page but no one has favorited one yet.') . ' ';
+
+        if (common_logged_in()) {
+            $message .= _('Be the first to add a notice to your favorites by clicking the fave button next to any notice you like.');
+        }
+        else {
+            $message .= _('Why not [register an account](%%action.register%%) and be the first to add a notice to your favorites!');
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
     }
 
     /**
index 8f10505cffe1b3ac40fc70dbce97385af7bef774..32bceecfd547dac41e2036808d970c6fc3876f9c 100644 (file)
@@ -139,7 +139,7 @@ class FinishaddopenidAction extends Action
 
             oid_set_last($display);
 
-            common_redirect(common_local_url('openidsettings'));
+            common_redirect(common_local_url('openidsettings'), 303);
         }
     }
 
index 52d9be29c1e650d202dbf7d9c2645b6a7358f991..952185742f969656ae6b0de9b7bf36451d9e6fbd 100644 (file)
@@ -271,7 +271,8 @@ class FinishopenidloginAction extends Action
             common_rememberme($user);
         }
         unset($_SESSION['openid_rememberme']);
-        common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)));
+        common_redirect(common_local_url('showstream', array('nickname' => $user->nickname)),
+                        303);
     }
 
     function connectUser()
@@ -324,7 +325,7 @@ class FinishopenidloginAction extends Action
                                     array('nickname' =>
                                           $nickname));
         }
-        common_redirect($url);
+        common_redirect($url, 303);
     }
 
     function bestNewNickname($display, $sreg)
index eaf57c2d8fac59ea5862d22b155de58eb1f45e55..d54c29a60365df22235bc0db9286a79b53becb00 100644 (file)
@@ -230,7 +230,8 @@ class FinishremotesubscribeAction extends Action
         # show up close to the top of the page
 
         common_redirect(common_local_url('subscribers', array('nickname' =>
-                                                             $user->nickname)));
+                                                             $user->nickname)),
+                        303);
     }
 
     function add_avatar($profile, $url)
index 3a99835b4aaef16a9a86c827886635ec09e47a0c..416935b1b724316daefc046172b9f567bedc6754 100644 (file)
@@ -33,7 +33,24 @@ class FoafAction extends Action
     function prepare($args)
     {
         parent::prepare($args);
-        $this->nickname = $this->trimmed('nickname');
+
+        $nickname_arg = $this->arg('nickname');
+
+        if (empty($nickname_arg)) {
+            $this->clientError(_('No such user.'), 404);
+            return false;
+        }
+
+        $this->nickname = common_canonical_nickname($nickname_arg);
+
+        // Permanent redirect on non-canonical nickname
+
+        if ($nickname_arg != $this->nickname) {
+            common_redirect(common_local_url('foaf',
+                                             array('nickname' => $this->nickname)),
+                            301);
+            return false;
+        }
 
         $this->user = User::staticGet('nickname', $this->nickname);
 
@@ -122,20 +139,30 @@ class FoafAction extends Action
 
         if ($sub->find()) {
             while ($sub->fetch()) {
-                if ($sub->token) {
+                if (!empty($sub->token)) {
                     $other = Remote_profile::staticGet('id', $sub->subscribed);
                 } else {
                     $other = User::staticGet('id', $sub->subscribed);
                 }
-                if (!$other) {
+                if (empty($other)) {
                     common_debug('Got a bad subscription: '.print_r($sub,true));
                     continue;
                 }
                 $this->element('knows', array('rdf:resource' => $other->uri));
-                $person[$other->uri] = array(LISTENEE, $other);
+                $person[$other->uri] = array(LISTENEE,
+                                             $other->id,
+                                             $other->nickname,
+                                             (empty($sub->token)) ? 'User' : 'Remote_profile');
+                $other->free();
+                $other = null;
+                unset($other);
             }
         }
 
+        $sub->free();
+        $sub = null;
+        unset($sub);
+
         // Get people who subscribe to user
 
         $sub = new Subscription();
@@ -156,25 +183,36 @@ class FoafAction extends Action
                 if (array_key_exists($other->uri, $person)) {
                     $person[$other->uri][0] = BOTH;
                 } else {
-                    $person[$other->uri] = array(LISTENER, $other);
+                    $person[$other->uri] = array(LISTENER,
+                                                 $other->id,
+                                                 $other->nickname,
+                                                 (empty($sub->token)) ? 'User' : 'Remote_profile');
                 }
+                $other->free();
+                $other = null;
+                unset($other);
             }
         }
 
+        $sub->free();
+        $sub = null;
+        unset($sub);
+
         $this->elementEnd('Person');
 
         foreach ($person as $uri => $p) {
             $foaf_url = null;
-            if ($p[1] instanceof User) {
-                $foaf_url = common_local_url('foaf', array('nickname' => $p[1]->nickname));
+            list($type, $id, $nickname, $cls) = $p;
+            if ($cls == 'User') {
+                $foaf_url = common_local_url('foaf', array('nickname' => $nickname));
             }
-            $this->profile = Profile::staticGet($p[1]->id);
+            $profile = Profile::staticGet($id);
             $this->elementStart('Person', array('rdf:about' => $uri));
-            if ($p[0] == LISTENER || $p[0] == BOTH) {
+            if ($type == LISTENER || $type == BOTH) {
                 $this->element('knows', array('rdf:resource' => $this->user->uri));
             }
-            $this->showMicrobloggingAccount($this->profile, ($p[1] instanceof User) ?
-                                              common_root_url() : null);
+            $this->showMicrobloggingAccount($profile, ($cls == 'User') ?
+                                            common_root_url() : null);
             if ($foaf_url) {
                 $this->element('rdfs:seeAlso', array('rdf:resource' => $foaf_url));
             }
@@ -182,6 +220,9 @@ class FoafAction extends Action
             if ($foaf_url) {
                 $this->showPpd($foaf_url, $uri);
             }
+            $profile->free();
+            $profile = null;
+            unset($profile);
         }
 
         $this->elementEnd('rdf:RDF');
index 9b0026db949c60cb7b77a5964792141e6c97e791..06b4a77550cf33bd672207ace03e135e31754c93 100644 (file)
@@ -1,9 +1,4 @@
 <?php
-
-
-//        define('GROUPS_PER_PAGE', 20);
-
-
 /**
  * Group search action class.
  *
@@ -77,12 +72,23 @@ class GroupsearchAction extends SearchAction
             $terms = preg_split('/[\s,]+/', $q);
             $results = new GroupSearchResults($user_group, $terms, $this);
             $results->show();
+            $user_group->free();
+            $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE,
+                          $page, 'groupsearch', array('q' => $q));
         } else {
-            $this->element('p', 'error', _('No results'));
+            $this->element('p', 'error', _('No results.'));
+            $this->searchSuggestions($q);
+            if (common_logged_in()) {
+                $message = _('If you can\'t find the group you\'re looking for, you can [create it](%%action.newgroup%%) yourself.');
+            }
+            else {
+                $message = _('Why not [register an account](%%action.register%%) and [create the group](%%action.newgroup%%) yourself!');
+            }
+            $this->elementStart('div', 'guide');
+            $this->raw(common_markup_to_html($message));
+            $this->elementEnd('div');
+            $user_group->free();
         }
-        $user_group->free();
-        $this->pagination($page > 1, $cnt > GROUPS_PER_PAGE,
-                          $page, 'groupsearch', array('q' => $q));
     }
 }
 
@@ -90,23 +96,18 @@ class GroupSearchResults extends GroupList
 {
     var $terms = null;
     var $pattern = null;
-    
+
     function __construct($user_group, $terms, $action)
     {
         parent::__construct($user_group, $terms, $action);
-        $this->terms = array_map('preg_quote', 
+        $this->terms = array_map('preg_quote',
                                  array_map('htmlspecialchars', $terms));
         $this->pattern = '/('.implode('|',$terms).')/i';
     }
-    
+
     function highlight($text)
     {
         return preg_replace($this->pattern, '<strong>\\1</strong>', htmlspecialchars($text));
     }
-
-    function isReadOnly()
-    {
-        return true;
-    }
 }
 
index eeea4a37bfb1ed9b0233c8f74f8362aad24d94fe..a5d82ddc7780e3afeda2f38f9c16030773931fd1 100644 (file)
@@ -143,7 +143,8 @@ class JoingroupAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url('groupmembers', array('nickname' =>
-                                                                   $this->group->nickname)));
+                                                                   $this->group->nickname)),
+                            303);
         }
     }
 }
\ No newline at end of file
index eb30d0e505977ca8e226230e171468b6bf714551..215ccd9017516f90a421dd6fe623a414709cf00b 100644 (file)
@@ -147,7 +147,8 @@ class LeavegroupAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url('groupmembers', array('nickname' =>
-                                                                   $this->group->nickname)));
+                                                                   $this->group->nickname)),
+                            303);
         }
     }
 }
index b049791fb1858dac3d79625317efa0ae77bb5bd9..59c6b4874bc24464d6fd9fbc15f05128ad4da8f2 100644 (file)
@@ -138,7 +138,7 @@ class LoginAction extends Action
                                           $nickname));
         }
 
-        common_redirect($url);
+        common_redirect($url, 303);
     }
 
     /**
index 3977f90a032f2b6bd9167e8f5e410ce10e8ea2a3..b7681be3827ed25fe2546f7b83c8f7ea37fe9499 100644 (file)
@@ -46,10 +46,10 @@ require_once INSTALLDIR.'/lib/openid.php';
  */
 class LogoutAction extends Action
 {
-    
+
     /**
      * This is read only.
-     * 
+     *
      * @return boolean true
      */
     function isReadOnly()
@@ -59,7 +59,7 @@ class LogoutAction extends Action
 
     /**
      * Class handler.
-     * 
+     *
      * @param array $args array of arguments
      *
      * @return nothing
@@ -73,7 +73,7 @@ class LogoutAction extends Action
             common_set_user(null);
             common_real_login(false); // not logged in
             common_forgetme(); // don't log back in!
-            common_redirect(common_local_url('public'));
+            common_redirect(common_local_url('public'), 303);
         }
     }
 }
index cbd8dfeec53ff46fc10ceddccbee5a1cc0825418..67cd6b2f18005f3efc3878a71bec65cbe92a5365 100644 (file)
@@ -193,7 +193,7 @@ class NewgroupAction extends Action
 
         $group->query('COMMIT');
 
-        common_redirect($group->homeUrl(), 307);
+        common_redirect($group->homeUrl(), 303);
     }
 
     function nicknameExists($nickname)
index 83e59dd9ae1bd404e550df5dda5388648dd7923a..095d0a454a157ff96ddcc3137dea89ed89557233 100644 (file)
@@ -103,7 +103,7 @@ class NoticesearchAction extends SearchAction
     function showResults($q, $page)
     {
         $notice        = new Notice();
-        $q             = strtolower($q);
+
         $search_engine = $notice->getSearchEngine('identica_notices');
         $search_engine->set_sort_mode('chron');
         // Ask for an extra to see if there's more.
@@ -114,20 +114,26 @@ class NoticesearchAction extends SearchAction
             $cnt = $notice->find();
         }
         if ($cnt === 0) {
-            $this->element('p', 'error', _('No results'));
+            $this->element('p', 'error', _('No results.'));
+
+            $this->searchSuggestions($q);
+            if (common_logged_in()) {
+                $message = sprintf(_('Be the first to [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
+            }
+            else {
+                $message = sprintf(_('Why not [register an account](%%%%action.register%%%%) and be the first to  [post on this topic](%%%%action.newnotice%%%%?status_textarea=%s)!'), urlencode($q));
+            }
+
+            $this->elementStart('div', 'guide');
+            $this->raw(common_markup_to_html($message));
+            $this->elementEnd('div');
             return;
         }
         $terms = preg_split('/[\s,]+/', $q);
         $nl = new SearchNoticeList($notice, $this, $terms);
-
         $cnt = $nl->show();
-
-        $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
-                          $this->page, 'noticesearch', array('q' => $q));
-    }
-    function isReadOnly()
-    {
-        return true;
+        $this->pagination($page > 1, $cnt > NOTICES_PER_PAGE,
+                          $page, 'noticesearch', array('q' => $q));
     }
 }
 
index 0f98ed04bb97e26eebadbd30e116653e5398a5b2..ba5276d06e34647df9661b48c4fe4607f346f8b1 100644 (file)
@@ -62,9 +62,6 @@ class NoticesearchrssAction extends Rss10Action
 
         $notice = new Notice();
 
-        # lcase it for comparison
-        $q = strtolower($q);
-
         $search_engine = $notice->getSearchEngine('identica_notices');
         $search_engine->set_sort_mode('chron');
 
index bc3d484788c433d951f85fb24f18079d4e966d8d..b4e5e01dd88d4ec4d5965ba531d5beca5dab246b 100644 (file)
@@ -50,7 +50,7 @@ class NudgeAction extends Action
 {
      /**
      * Class handler.
-     * 
+     *
      * @param array $args array of arguments
      *
      * @return nothing
@@ -75,7 +75,7 @@ class NudgeAction extends Action
 
         // CSRF protection
         $token = $this->trimmed('token');
-        
+
         if (!$token || $token != common_session_token()) {
             $this->clientError(_('There was a problem with your session token. Try again, please.'));
             return;
@@ -100,7 +100,8 @@ class NudgeAction extends Action
         } else {
             // display a confirmation to the user
             common_redirect(common_local_url('showstream',
-                                             array('nickname' => $other->nickname)));
+                                             array('nickname' => $other->nickname)),
+                            303);
         }
     }
 
index 14177fcf0d48cb996fb77d11f69e65104b9675c4..65d970dd159a7fea183763d9fd8488fdde4cb2ab 100644 (file)
@@ -60,16 +60,10 @@ class PeoplesearchAction extends SearchAction
 
     function showResults($q, $page)
     {
-
         $profile = new Profile();
-
-        # lcase it for comparison
-        $q = strtolower($q);
-
         $search_engine = $profile->getSearchEngine('identica_people');
-
         $search_engine->set_sort_mode('chron');
-        # Ask for an extra to see if there's more.
+        // Ask for an extra to see if there's more.
         $search_engine->limit((($page-1)*PROFILES_PER_PAGE), PROFILES_PER_PAGE + 1);
         if (false === $search_engine->query($q)) {
             $cnt = 0;
@@ -81,14 +75,15 @@ class PeoplesearchAction extends SearchAction
             $terms = preg_split('/[\s,]+/', $q);
             $results = new PeopleSearchResults($profile, $terms, $this);
             $results->show();
+            $profile->free();
+            $this->pagination($page > 1, $cnt > PROFILES_PER_PAGE,
+                          $page, 'peoplesearch', array('q' => $q));
+
         } else {
-            $this->element('p', 'error', _('No results'));
+            $this->element('p', 'error', _('No results.'));
+            $this->searchSuggestions($q);
+            $profile->free();
         }
-
-        $profile->free();
-
-        $this->pagination($page > 1, $cnt > PROFILES_PER_PAGE,
-                          $page, 'peoplesearch', array('q' => $q));
     }
 }
 
index 6b1e34f1ab47db2b1c2aa4d2f273171233ed23a2..5add75485808d08f704fa6dfa73faa34593605d6 100644 (file)
@@ -119,7 +119,7 @@ class PeopletagAction extends Action
                 'FROM profile JOIN profile_tag ' .
                 'ON profile.id = profile_tag.tagger ' .
                 'WHERE profile_tag.tagger = profile_tag.tagged ' .
-                'AND tag = "%s" ' .
+                "AND tag = '%s' " .
                 'ORDER BY profile_tag.modified DESC%s';
 
         $profile->query(sprintf($qry, $this->tag, $lim));
index a20ae40321ca17b36ae28313f4a87eac90d69f92..b7b7fc6b767913e043cf7dea9a8d3e02ea169551 100644 (file)
@@ -166,6 +166,33 @@ class PublicAction extends Action
         $nav->show();
     }
 
+    function showPageNotice()
+    {
+        $notice = new Notice;
+
+        if (!$notice) {
+            $this->serverError(_('Could not retrieve public stream.'));
+            return;
+        }
+
+        if ($notice->count()) {
+            return;
+        }
+
+        $message = _('This is the public timeline for %%site.name%% but no one has posted anything yet.') . ' ';
+
+        if (common_logged_in()) {
+            $message .= _('Be the first to post!');
+        }
+        else {
+            $message .= _('Why not [register an account](%%action.register%%) and be the first to post!');
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
+
     /**
      * Fill the content area
      *
@@ -207,9 +234,14 @@ class PublicAction extends Action
 
     function showAnonymousMessage()
     {
-               $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
-               'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
-               '[Join now](%%action.register%%) to share notices about yourself with friends, family, and colleagues! ([Read more](%%doc.help%%))');
+        if (! (common_config('site','closed') || common_config('site','inviteonly'))) {
+           $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                  'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
+                  '[Join now](%%action.register%%) to share notices about yourself with friends, family, and colleagues! ([Read more](%%doc.help%%))');
+        } else {
+            $m = _('This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                   'based on the Free Software [Laconica](http://laconi.ca/) tool.');
+        }
         $this->elementStart('div', array('id' => 'anon_notice'));
         $this->raw(common_markup_to_html($m));
         $this->elementEnd('div');
index 6f5fc7541392ba2c72ff474cadabf39fd1a6dbb9..0cd8940d4d9346b746db14c4d9222874fa8e49b9 100644 (file)
@@ -62,6 +62,24 @@ class PublictagcloudAction extends Action
         $this->element('p', 'instructions',
                        sprintf(_('These are most popular recent tags on %s '),
                                common_config('site', 'name')));
+
+        $tags = new Notice_tag;
+        if ($tags->count()) {
+            return;
+        }
+
+        $message = _('No one has posted a notice with a [hashtag](%%doc.tags%%) yet.') . ' ';
+
+        if (common_logged_in()) {
+            $message .= _('Be the first to post one!');
+        }
+        else {
+            $message .= _('Why not [register an account](%%action.register%%) and be the first to post one!');
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
     }
 
     function showLocalNav()
index eeb6b2516c83f9cbd7bbb021742f9eff33cdc73a..620fe7eb8e20ed9c5f05f5615fe19356980e6cba 100644 (file)
@@ -181,13 +181,21 @@ class RecoverpasswordAction extends Action
     function showRecoverForm()
     {
         $this->elementStart('form', array('method' => 'post',
-                                           'id' => 'recoverpassword',
+                                           'id' => 'form_password_recover',
+                                           'class' => 'form_settings',
                                            'action' => common_local_url('recoverpassword')));
+        $this->elementStart('fieldset');
+        $this->element('legend', null, _('Password recover'));
+        $this->elementStart('ul', 'form_data');
+        $this->elementStart('li');
         $this->input('nicknameoremail', _('Nickname or email'),
                      $this->trimmed('nicknameoremail'),
                      _('Your nickname on this server, ' .
                         'or your registered email address.'));
+        $this->elementEnd('li');
+        $this->elementEnd('ul');
         $this->submit('recover', _('Recover'));
+        $this->elementEnd('fieldset');
         $this->elementEnd('form');
     }
 
@@ -213,14 +221,24 @@ class RecoverpasswordAction extends Action
     function showResetForm()
     {
         $this->elementStart('form', array('method' => 'post',
-                                           'id' => 'recoverpassword',
+                                           'id' => 'form_password_change',
+                                           'class' => 'form_settings',
                                            'action' => common_local_url('recoverpassword')));
+        $this->elementStart('fieldset');
+        $this->element('legend', null, _('Password change'));
         $this->hidden('token', common_session_token());
+        $this->elementStart('ul', 'form_data');
+        $this->elementStart('li');
         $this->password('newpassword', _('New password'),
                         _('6 or more characters, and don\'t forget it!'));
+        $this->elementEnd('li');
+        $this->elementStart('li');
         $this->password('confirm', _('Confirm'),
                         _('Same as password above'));
+        $this->elementEnd('li');
+        $this->elementEnd('ul');
         $this->submit('reset', _('Reset'));
+        $this->elementEnd('fieldset');
         $this->elementEnd('form');
     }
 
index af130f42588057ba1b2a811352f1ebbef5f9d59c..0b117489621d7307776b5266177e21e7b35be788 100644 (file)
@@ -97,9 +97,9 @@ class RemotesubscribeAction extends Action
                                           'class' => 'form_settings',
                                           'action' => common_local_url('remotesubscribe')));
         $this->elementStart('fieldset');
-        $this->element('legend', 'Subscribe to a remote user');
+        $this->element('legend', _('Subscribe to a remote user'));
         $this->hidden('token', common_session_token());
-        
+
         $this->elementStart('ul', 'form_data');
         $this->elementStart('li');
         $this->input('nickname', _('User nickname'), $this->nickname,
@@ -407,7 +407,7 @@ class RemotesubscribeAction extends Action
 
         # Redirect to authorization service
 
-        common_redirect($req->to_url());
+        common_redirect($req->to_url(), 303);
         return;
     }
 }
index 4ab9b14ed26be98187ee0949c0a2a4b3fac352c6..2769cb4227c05ea2796167a6e61a07913de4a4a0 100644 (file)
@@ -166,12 +166,36 @@ class RepliesAction extends Action
         $nl = new NoticeList($notice, $this);
 
         $cnt = $nl->show();
+        if (0 === $cnt) {
+            $this->showEmptyListMessage();
+        }
 
         $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
                           $this->page, 'replies',
                           array('nickname' => $this->user->nickname));
     }
 
+    function showEmptyListMessage()
+    {
+        $message = sprintf(_('This is the timeline showing replies to %s but %s hasn\'t received a notice to his attention yet.'), $this->user->nickname, $this->user->nickname) . ' ';
+
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message .= _('You can engage other users in a conversation, subscribe to more people or [join groups](%%action.groups%%).');
+            } else {
+                $message .= sprintf(_('You can try to [nudge %s](../%s) or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, $this->user->nickname, '@' . $this->user->nickname);
+            }
+        }
+        else {
+            $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
+
     function isReadOnly()
     {
         return true;
index d1c9283f0f47bff1a6811039a891760898de3f87..4d434950548e14d00a0f0d738f225e90d62fb605 100644 (file)
@@ -162,6 +162,25 @@ class ShowfavoritesAction extends Action
         $nav->show();
     }
 
+    function showEmptyListMessage()
+    {
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message = _('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.');
+            } else {
+                $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Post something interesting they would add to their favorites :)'), $this->user->nickname);
+            }
+        }
+        else {
+            $message = sprintf(_('%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 thier favorites :)'), $this->user->nickname);
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
+
     /**
      * Show the content
      *
@@ -183,9 +202,17 @@ class ShowfavoritesAction extends Action
         $nl = new NoticeList($notice, $this);
 
         $cnt = $nl->show();
+        if (0 == $cnt) {
+            $this->showEmptyListMessage();
+        }
 
         $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
                           $this->page, 'showfavorites',
                           array('nickname' => $this->user->nickname));
     }
+
+    function showPageNotice() {
+        $this->element('p', 'instructions', _('This is a way to share what you like.'));
+    }
 }
+
index b6022840bf47997f89cda54970e56b9779d123b6..79445851f923b1b6f41352a546ca6b3bb0cf47f2 100644 (file)
@@ -73,11 +73,17 @@ class ShowgroupAction extends Action
 
     function title()
     {
+        if (!empty($this->group->fullname)) {
+            $base = $this->group->fullname . ' (' . $this->group->nickname . ')';
+        } else {
+            $base = $this->group->nickname;
+        }
+
         if ($this->page == 1) {
-            return sprintf(_("%s group"), $this->group->nickname);
+            return sprintf(_("%s group"), $base);
         } else {
             return sprintf(_("%s group, page %d"),
-                           $this->group->nickname,
+                           $base,
                            $this->page);
         }
     }
@@ -390,11 +396,18 @@ class ShowgroupAction extends Action
 
     function showAnonymousMessage()
     {
-               $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
-                       'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
-                       'short messages about their life and interests. '.
-                       '[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
+        if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+            $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
+                'short messages about their life and interests. '.
+                '[Join now](%%%%action.register%%%%) to become part of this group and many more! ([Read more](%%%%doc.help%%%%))'),
                      $this->group->nickname);
+        } else {
+            $m = sprintf(_('**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                'based on the Free Software [Laconica](http://laconi.ca/) tool. Its members share ' .
+                'short messages about their life and interests. '),
+                     $this->group->nickname);
+        }
         $this->elementStart('div', array('id' => 'anon_notice'));
         $this->raw(common_markup_to_html($m));
         $this->elementEnd('div');
index d5f35cd84bc9ddc08dee6c590a23e6a8f8855e68..ccae49bb3e4a59e13c526117962ec130cd7ced4b 100644 (file)
@@ -177,10 +177,17 @@ class ShownoticeAction extends Action
     {
         parent::handle($args);
 
-        $this->showPage();
+        if ($this->notice->is_local == 0) {
+            if (!empty($this->notice->url)) {
+                common_redirect($this->notice->url, 301);
+            } else if (!empty($this->notice->uri) && preg_match('/^https?:/', $this->notice->uri)) {
+                common_redirect($this->notice->uri, 301);
+            }
+        } else {
+            $this->showPage();
+        }
     }
 
-
     /**
      * Don't show local navigation
      *
@@ -191,7 +198,6 @@ class ShownoticeAction extends Action
     {
     }
 
-
     /**
      * Fill the content area of the page
      *
@@ -208,8 +214,6 @@ class ShownoticeAction extends Action
         $this->elementEnd('ul');
     }
 
-
-
     /**
      * Don't show page notice
      *
@@ -220,7 +224,6 @@ class ShownoticeAction extends Action
     {
     }
 
-
     /**
      * Don't show aside
      *
@@ -230,7 +233,6 @@ class ShownoticeAction extends Action
     function showAside() {
     }
 
-
     /**
      * Extra <head> content
      *
index 65482167e10d5eda4ce8b40803bff07f845d9156..ce237dae225560dcdbdea879473851bc768b9f23 100644 (file)
@@ -54,12 +54,8 @@ require_once INSTALLDIR.'/lib/feedlist.php';
  * @link     http://laconi.ca/
  */
 
-class ShowstreamAction extends Action
+class ShowstreamAction extends ProfileAction
 {
-    var $user = null;
-    var $page = null;
-    var $profile = null;
-
     function isReadOnly()
     {
         return true;
@@ -67,54 +63,21 @@ class ShowstreamAction extends Action
 
     function title()
     {
+        if (!empty($this->profile->fullname)) {
+            $base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
+        } else {
+            $base = $this->user->nickname;
+        }
+
         if ($this->page == 1) {
-            return $this->user->nickname;
+            return $base;
         } else {
             return sprintf(_("%s, page %d"),
-                           $this->user->nickname,
+                           $base,
                            $this->page);
         }
     }
 
-    function prepare($args)
-    {
-        parent::prepare($args);
-
-        $nickname_arg = $this->arg('nickname');
-        $nickname = common_canonical_nickname($nickname_arg);
-
-        // Permanent redirect on non-canonical nickname
-
-        if ($nickname_arg != $nickname) {
-            $args = array('nickname' => $nickname);
-            if ($this->arg('page') && $this->arg('page') != 1) {
-                $args['page'] = $this->arg['page'];
-            }
-            common_redirect(common_local_url('showstream', $args), 301);
-            return false;
-        }
-
-        $this->user = User::staticGet('nickname', $nickname);
-
-        if (!$this->user) {
-            $this->clientError(_('No such user.'), 404);
-            return false;
-        }
-
-        $this->profile = $this->user->getProfile();
-
-        if (!$this->profile) {
-            $this->serverError(_('User has no profile.'));
-            return false;
-        }
-
-        $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
-
-        common_set_returnto($this->selfUrl());
-
-        return true;
-    }
-
     function handle($args)
     {
 
@@ -140,16 +103,6 @@ class ShowstreamAction extends Action
         $nav->show();
     }
 
-    function showPageTitle()
-    {
-        $user =& common_current_user();
-        if ($user && ($user->id == $this->profile->id)) {
-            $this->element('h1', NULL, _("Your profile"));
-        } else {
-            $this->element('h1', NULL, sprintf(_('%s\'s profile'), $this->profile->nickname));
-        }
-    }
-
     function showPageNoticeBlock()
     {
         return;
@@ -376,178 +329,64 @@ class ShowstreamAction extends Action
                        _('Subscribe'));
     }
 
-    function showNotices()
-    {
-        $notice = $this->user->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
-
-        $pnl = new ProfileNoticeList($notice, $this);
-        $cnt = $pnl->show();
-
-        $this->pagination($this->page>1, $cnt>NOTICES_PER_PAGE, $this->page,
-                          'showstream', array('nickname' => $this->user->nickname));
-    }
-
-    function showSections()
-    {
-        $this->showSubscriptions();
-        $this->showSubscribers();
-        $this->showGroups();
-        $this->showStatistics();
-        $cloud = new PersonalTagCloudSection($this, $this->user);
-        $cloud->show();
-    }
-
-    function showSubscriptions()
+    function showEmptyListMessage()
     {
-        $profile = $this->user->getSubscriptions(0, PROFILES_PER_MINILIST + 1);
-
-        $this->elementStart('div', array('id' => 'entity_subscriptions',
-                                         'class' => 'section'));
+        $message = sprintf(_('This is the timeline for %s but %s hasn\'t posted anything yet.'), $this->user->nickname, $this->user->nickname) . ' ';
 
-        $this->element('h2', null, _('Subscriptions'));
-
-        if ($profile) {
-            $pml = new ProfileMiniList($profile, $this->user, $this);
-            $cnt = $pml->show();
-            if ($cnt == 0) {
-                $this->element('p', null, _('(None)'));
-            }
-        }
-
-        if ($cnt > PROFILES_PER_MINILIST) {
-            $this->elementStart('p');
-            $this->element('a', array('href' => common_local_url('subscriptions',
-                                                                 array('nickname' => $this->profile->nickname)),
-                                      'class' => 'more'),
-                           _('All subscriptions'));
-            $this->elementEnd('p');
-        }
-
-        $this->elementEnd('div');
-    }
-
-    function showSubscribers()
-    {
-        $profile = $this->user->getSubscribers(0, PROFILES_PER_MINILIST + 1);
-
-        $this->elementStart('div', array('id' => 'entity_subscribers',
-                                         'class' => 'section'));
-
-        $this->element('h2', null, _('Subscribers'));
-
-        if ($profile) {
-            $pml = new ProfileMiniList($profile, $this->user, $this);
-            $cnt = $pml->show();
-            if ($cnt == 0) {
-                $this->element('p', null, _('(None)'));
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message .= _('Seen anything interesting recently? You haven\'t posted any notices yet, now would be a good time to start :)');
+            } else {
+                $message .= sprintf(_('You can try to nudge %s or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, '@' . $this->user->nickname);
             }
         }
-
-        if ($cnt > PROFILES_PER_MINILIST) {
-            $this->elementStart('p');
-            $this->element('a', array('href' => common_local_url('subscribers',
-                                                                 array('nickname' => $this->profile->nickname)),
-                                      'class' => 'more'),
-                           _('All subscribers'));
-            $this->elementEnd('p');
+        else {
+            $message .= sprintf(_('Why not [register an account](%%%%action.register%%%%) and then nudge %s or post a notice to his or her attention.'), $this->user->nickname);
         }
 
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
         $this->elementEnd('div');
     }
 
-    function showStatistics()
-    {
-        // XXX: WORM cache this
-        $subs = new Subscription();
-        $subs->subscriber = $this->profile->id;
-        $subs_count = (int) $subs->count() - 1;
-
-        $subbed = new Subscription();
-        $subbed->subscribed = $this->profile->id;
-        $subbed_count = (int) $subbed->count() - 1;
-
-        $notices = new Notice();
-        $notices->profile_id = $this->profile->id;
-        $notice_count = (int) $notices->count();
-
-        $this->elementStart('div', array('id' => 'entity_statistics',
-                                         'class' => 'section'));
-
-        $this->element('h2', null, _('Statistics'));
-
-        // Other stats...?
-        $this->elementStart('dl', 'entity_member-since');
-        $this->element('dt', null, _('Member since'));
-        $this->element('dd', null, date('j M Y',
-                                        strtotime($this->profile->created)));
-        $this->elementEnd('dl');
-
-        $this->elementStart('dl', 'entity_subscriptions');
-        $this->elementStart('dt');
-        $this->element('a', array('href' => common_local_url('subscriptions',
-                                                             array('nickname' => $this->profile->nickname))),
-                       _('Subscriptions'));
-        $this->elementEnd('dt');
-        $this->element('dd', null, (is_int($subs_count)) ? $subs_count : '0');
-        $this->elementEnd('dl');
-
-        $this->elementStart('dl', 'entity_subscribers');
-        $this->elementStart('dt');
-        $this->element('a', array('href' => common_local_url('subscribers',
-                                                             array('nickname' => $this->profile->nickname))),
-                       _('Subscribers'));
-        $this->elementEnd('dt');
-        $this->element('dd', 'subscribers', (is_int($subbed_count)) ? $subbed_count : '0');
-        $this->elementEnd('dl');
-
-        $this->elementStart('dl', 'entity_notices');
-        $this->element('dt', null, _('Notices'));
-        $this->element('dd', null, (is_int($notice_count)) ? $notice_count : '0');
-        $this->elementEnd('dl');
-
-        $this->elementEnd('div');
-    }
-
-    function showGroups()
+    function showNotices()
     {
-        $groups = $this->user->getGroups(0, GROUPS_PER_MINILIST + 1);
-
-        $this->elementStart('div', array('id' => 'entity_groups',
-                                         'class' => 'section'));
-
-        $this->element('h2', null, _('Groups'));
-
-        if ($groups) {
-            $gml = new GroupMiniList($groups, $this->user, $this);
-            $cnt = $gml->show();
-            if ($cnt == 0) {
-                $this->element('p', null, _('(None)'));
-            }
-        }
+        $notice = $this->user->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
 
-        if ($cnt > GROUPS_PER_MINILIST) {
-            $this->elementStart('p');
-            $this->element('a', array('href' => common_local_url('usergroups',
-                                                                 array('nickname' => $this->profile->nickname)),
-                                      'class' => 'more'),
-                           _('All groups'));
-            $this->elementEnd('p');
+        $pnl = new ProfileNoticeList($notice, $this);
+        $cnt = $pnl->show();
+        if (0 == $cnt) {
+            $this->showEmptyListMessage();
         }
 
-        $this->elementEnd('div');
+        $this->pagination($this->page>1, $cnt>NOTICES_PER_PAGE, $this->page,
+                          'showstream', array('nickname' => $this->user->nickname));
     }
 
     function showAnonymousMessage()
     {
-               $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
-                       'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
-                       '[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
-                     $this->user->nickname, $this->user->nickname);
+        if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+            $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                 'based on the Free Software [Laconica](http://laconi.ca/) tool. ' .
+                 '[Join now](%%%%action.register%%%%) to follow **%s**\'s notices and many more! ([Read more](%%%%doc.help%%%%))'),
+                 $this->user->nickname, $this->user->nickname);
+        } else {
+            $m = sprintf(_('**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service ' .
+                 'based on the Free Software [Laconica](http://laconi.ca/) tool. '),
+                 $this->user->nickname, $this->user->nickname);
+       }
         $this->elementStart('div', array('id' => 'anon_notice'));
         $this->raw(common_markup_to_html($m));
         $this->elementEnd('div');
     }
 
+    function showSections()
+    {
+        parent::showSections();
+        $cloud = new PersonalTagCloudSection($this, $this->user);
+        $cloud->show();
+    }
 }
 
 // We don't show the author for a profile, since we already know who it is!
index a5f75d266c38e75577f6eb16df4fff4af13c8d6d..922bab9a4e3bc2ccec5bd15ad9df102d19e376ff 100644 (file)
@@ -488,7 +488,8 @@ class SmssettingsAction extends ConnectSettingsAction
         }
 
         common_redirect(common_local_url('confirmaddress',
-                                         array('code' => $code)));
+                                         array('code' => $code)),
+                        303);
     }
 
     /**
index 89081ffc76984eb7da9a8f51d941ccbc9bfd1b43..8ca2d791465ce34ce9e067051c18df0f1682321f 100644 (file)
@@ -85,7 +85,8 @@ class SubeditAction extends Action
             }
 
             common_redirect(common_local_url('subscriptions',
-                                             array('nickname' => $cur->nickname)));
+                                             array('nickname' => $cur->nickname)),
+                            303);
         }
     }
 }
index f761992de40f6fd7401f77ebae0a5b024642a20d..0bc522867e39ca4a62ffd12a5ebf417a85441ba5 100644 (file)
@@ -75,7 +75,8 @@ class SubscribeAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url('subscriptions', array('nickname' =>
-                                                                $user->nickname)));
+                                                                $user->nickname)),
+                            303);
         }
     }
 }
index 22faafaef945293dbd0279b57f6ff87424028538..7ebb54d33d6b6b00204bf8df7806650afd10f9d1 100644 (file)
@@ -88,6 +88,9 @@ class SubscribersAction extends GalleryAction
         if ($subscribers) {
             $subscribers_list = new SubscribersList($subscribers, $this->user, $this);
             $cnt = $subscribers_list->show();
+            if (0 == $cnt) {
+                $this->showEmptyListMessage();
+            }
         }
 
         $subscribers->free();
@@ -96,6 +99,25 @@ class SubscribersAction extends GalleryAction
                           $this->page, 'subscribers',
                           array('nickname' => $this->user->nickname));
     }
+
+    function showEmptyListMessage()
+    {
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message = _('You have no subscribers. Try subscribing to people you know and they might return the favor');
+            } else {
+                $message = sprintf(_('%s has no subscribers. Want to be the first?'), $this->user->nickname);
+            }
+        }
+        else {
+            $message = sprintf(_('%s has no subscribers. Why not [register an account](%%%%action.register%%%%) and be the first?'), $this->user->nickname);
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
 }
 
 class SubscribersList extends ProfileList
index 3fbea2039d29ec3250acf1b20a2471d99b4288d1..b0c0a9b8dff39ecacaa7da246b4b79128bfb2670 100644 (file)
@@ -95,6 +95,9 @@ class SubscriptionsAction extends GalleryAction
         if ($subscriptions) {
             $subscriptions_list = new SubscriptionsList($subscriptions, $this->user, $this);
             $cnt = $subscriptions_list->show();
+            if (0 == $cnt) {
+                $this->showEmptyListMessage();
+            }
         }
 
         $subscriptions->free();
@@ -103,6 +106,25 @@ class SubscriptionsAction extends GalleryAction
                           $this->page, 'subscriptions',
                           array('nickname' => $this->user->nickname));
     }
+
+    function showEmptyListMessage()
+    {
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message = _('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.');
+            } else {
+                $message = sprintf(_('%s is not listening to anyone.'), $this->user->nickname);
+            }
+        }
+        else {
+            $message = sprintf(_('%s is not listening to anyone.'), $this->user->nickname);
+        }
+
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
 }
 
 class SubscriptionsList extends ProfileList
index f4b1cda230ef3776370aeb09217c548df11b7835..246b3299d32e975db9faa02648a3b18cade8335e 100644 (file)
@@ -45,7 +45,7 @@ class SupAction extends Action
     function availablePeriods()
     {
         static $periods = array(86400, 43200, 21600, 7200,
-                                3600, 1800,    600, 300, 120,
+                                3600, 1800, 600, 300, 120,
                                 60, 30, 15);
         $available = array();
         foreach ($periods as $period) {
@@ -65,7 +65,9 @@ class SupAction extends Action
 
         $notice->query('SELECT profile_id, max(id) AS max_id ' .
                        'FROM notice ' .
-                       'WHERE created > (now() - ' . $seconds . ') ' .
+                        ((common_config('db','type') == 'pgsql') ?
+                       'WHERE extract(epoch from created) > (extract(epoch from now()) - ' . $seconds . ') ' :
+                       'WHERE created > (now() - ' . $seconds . ') ' ) .
                        'GROUP BY profile_id');
 
         $updates = array();
index 231f2c299280580842099f251541fbc9d2619204..d15f64498dc0c76e2fd1f5c47f20889c7e82ec37 100644 (file)
@@ -33,7 +33,9 @@ class TagAction extends Action
         }
 
         if ($this->tag != $taginput) {
-            common_redirect(common_local_url('tag', array('tag' => $this->tag)));
+            common_redirect(common_local_url('tag', array('tag' => $this->tag)),
+                            301);
+            return false;
         }
 
         $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
index 0d18945a09e88b2e8d2cc9b2704584cc93184be1..0c5bb7cf3ecacac93f311a47c401e0715499641b 100644 (file)
@@ -221,7 +221,8 @@ class TagotherAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url($action, array('nickname' =>
-                                                            $user->nickname)));
+                                                            $user->nickname)),
+                            303);
         }
     }
 
index bad4963534e48123352a088a4c006e93042a4bab..8573b2a873e2285492e45ee8fec5e8cbbac9bf6a 100644 (file)
@@ -116,10 +116,11 @@ class UnblockAction extends Action
             }
         }
         if ($action) {
-            common_redirect(common_local_url($action, $args));
+            common_redirect(common_local_url($action, $args), 303);
         } else {
             common_redirect(common_local_url('subscriptions',
-                                             array('nickname' => $cur->nickname)));
+                                             array('nickname' => $cur->nickname)),
+                            303);
         }
     }
 }
index b1e2b642568026cc62df626c9913105819fa3bbd..7dcab04c045d2bd3ba6e3bd2ac152e6571b184c2 100644 (file)
@@ -77,7 +77,8 @@ class UnsubscribeAction extends Action
             $this->elementEnd('html');
         } else {
             common_redirect(common_local_url('subscriptions', array('nickname' =>
-                                                                    $user->nickname)));
+                                                                    $user->nickname)),
+                            303);
         }
     }
 }
index ded4ba76b1bc1bcd7371d33d91cd318008ba6a16..06b2334bf5b636801e99b32f87e7ecfc830eea2e 100644 (file)
@@ -139,10 +139,28 @@ class UsergroupsAction extends Action
         if ($groups) {
             $gl = new GroupList($groups, $this->user, $this);
             $cnt = $gl->show();
+            if (0 == $cnt) {
+                $this->showEmptyListMessage();
+            }
         }
 
         $this->pagination($this->page > 1, $cnt > GROUPS_PER_PAGE,
                           $this->page, 'usergroups',
                           array('nickname' => $this->user->nickname));
     }
+
+    function showEmptyListMessage()
+    {
+        $message = sprintf(_('%s is not a member of any group.'), $this->user->nickname) . ' ';
+
+        if (common_logged_in()) {
+            $current_user = common_current_user();
+            if ($this->user->id === $current_user->id) {
+                $message .= _('Try [searching for groups](%%action.groupsearch%%) and joining them.');
+            }
+        }
+        $this->elementStart('div', 'guide');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('div');
+    }
 }
index a3e5a3aab710a05699ef64eeffb5c6084397d35a..d3bf352d8df3cd71bca218686657be344a2454c9 100644 (file)
@@ -53,6 +53,7 @@ class UserrssAction extends Rss10Action
 
         $notice = $user->getNotices(0, ($limit == 0) ? NOTICES_PER_PAGE : $limit);
 
+        $notices = array();
         while ($notice->fetch()) {
             $notices[] = clone($notice);
         }
diff --git a/apple-touch-icon.png b/apple-touch-icon.png
new file mode 100644 (file)
index 0000000..d129298
Binary files /dev/null and b/apple-touch-icon.png differ
diff --git a/bin/flowplayer-3.0.5.swf b/bin/flowplayer-3.0.5.swf
deleted file mode 100644 (file)
index 05b64a0..0000000
Binary files a/bin/flowplayer-3.0.5.swf and /dev/null differ
diff --git a/bin/flowplayer.audio-3.0.3.swf b/bin/flowplayer.audio-3.0.3.swf
deleted file mode 100644 (file)
index ef85f1b..0000000
Binary files a/bin/flowplayer.audio-3.0.3.swf and /dev/null differ
diff --git a/bin/flowplayer.controls-3.0.3.swf b/bin/flowplayer.controls-3.0.3.swf
deleted file mode 100644 (file)
index 09a27e8..0000000
Binary files a/bin/flowplayer.controls-3.0.3.swf and /dev/null differ
index 1e3b330f26e68217b55776dd286a9022dd82e64a..44a6aeb986914b4ab6c6c8ccc8987d2a67443329 100644 (file)
@@ -232,7 +232,11 @@ class Notice extends Memcached_DataObject
         $notice = new Notice();
         $notice->profile_id = $profile_id;
         $notice->content = $content;
-        $notice->whereAdd('now() - created < ' . common_config('site', 'dupelimit'));
+        if (common_config('db','type') == 'pgsql')
+            $notice->whereAdd('extract(epoch from now() - created) < ' . common_config('site', 'dupelimit'));
+        else
+            $notice->whereAdd('now() - created < ' . common_config('site', 'dupelimit'));
+
         $cnt = $notice->count();
         return ($cnt == 0);
     }
@@ -795,4 +799,98 @@ class Notice extends Memcached_DataObject
             }
         }
     }
+
+    function asAtomEntry($namespace=false, $source=false)
+    {
+        $profile = $this->getProfile();
+
+        $xs = new XMLStringer(true);
+
+        if ($namespace) {
+            $attrs = array('xmlns' => 'http://www.w3.org/2005/Atom',
+                           'xmlns:thr' => 'http://purl.org/syndication/thread/1.0');
+        } else {
+            $attrs = array();
+        }
+
+        $xs->elementStart('entry', $attrs);
+
+        if ($source) {
+            $xs->elementStart('source');
+            $xs->element('title', null, $profile->nickname . " - " . common_config('site', 'name'));
+            $xs->element('link', array('href' => $profile->profileurl));
+            $user = User::staticGet('id', $profile->id);
+            if (!empty($user)) {
+                $atom_feed = common_local_url('api',
+                                              array('apiaction' => 'statuses',
+                                                    'method' => 'user_timeline',
+                                                    'argument' => $profile->nickname.'.atom'));
+                $xs->element('link', array('rel' => 'self',
+                                           'type' => 'application/atom+xml',
+                                           'href' => $profile->profileurl));
+                $xs->element('link', array('rel' => 'license',
+                                           'href' => common_config('license', 'url')));
+            }
+
+            $xs->element('icon', null, $profile->avatarUrl(AVATAR_PROFILE_SIZE));
+        }
+
+        $xs->elementStart('author');
+        $xs->element('name', null, $profile->nickname);
+        $xs->element('uri', null, $profile->profileurl);
+        $xs->elementEnd('author');
+
+        if ($source) {
+            $xs->elementEnd('source');
+        }
+
+        $xs->element('title', null, $this->content);
+        $xs->element('summary', null, $this->content);
+
+        $xs->element('link', array('rel' => 'alternate',
+                                   'href' => $this->bestUrl()));
+
+        $xs->element('id', null, $this->uri);
+
+        $xs->element('published', null, common_date_w3dtf($this->created));
+        $xs->element('updated', null, common_date_w3dtf($this->modified));
+
+        if ($this->reply_to) {
+            $reply_notice = Notice::staticGet('id', $this->reply_to);
+            if (!empty($reply_notice)) {
+                $xs->element('link', array('rel' => 'related',
+                                           'href' => $reply_notice->bestUrl()));
+                $xs->element('thr:in-reply-to',
+                             array('ref' => $reply_notice->uri,
+                                   'href' => $reply_notice->bestUrl()));
+            }
+        }
+
+        $xs->element('content', array('type' => 'html'), $this->rendered);
+
+        $tag = new Notice_tag();
+        $tag->notice_id = $this->id;
+        if ($tag->find()) {
+            while ($tag->fetch()) {
+                $xs->element('category', array('term' => $tag->tag));
+            }
+        }
+        $tag->free();
+
+        $xs->elementEnd('entry');
+
+        return $xs->getString();
+    }
+
+    function bestUrl()
+    {
+        if (!empty($this->url)) {
+            return $this->url;
+        } else if (!empty($this->uri) && preg_match('/^https?:/', $this->uri)) {
+            return $this->uri;
+        } else {
+            return common_local_url('shownotice',
+                                    array('notice' => $this->id));
+        }
+    }
 }
index d9f30bec58cf18181a0e78347b2b1b1b2209a5a7..3b9b5cd839e4b605f985d8cbb280dd50082bcc60 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+ * Copyright (C) 2008, 2009, Control Yourself, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('LACONICA')) { exit(1); }
+if (!defined('LACONICA')) {
+    exit(1);
+}
 
 /**
  * Table Definition for user
  */
+
 require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
 require_once 'Validate.php';
 
@@ -79,13 +82,13 @@ class User extends Memcached_DataObject
     function isSubscribed($other)
     {
         assert(!is_null($other));
-        # XXX: cache results of this query
+        // XXX: cache results of this query
         $sub = Subscription::pkeyGet(array('subscriber' => $this->id,
                                            'subscribed' => $other->id));
         return (is_null($sub)) ? false : true;
     }
 
-    # 'update' won't write key columns, so we have to do it ourselves.
+    // 'update' won't write key columns, so we have to do it ourselves.
 
     function updateKeys(&$orig)
     {
@@ -96,7 +99,7 @@ class User extends Memcached_DataObject
             }
         }
         if (count($parts) == 0) {
-            # No changes
+            // No changes
             return true;
         }
         $toupdate = implode(', ', $parts);
@@ -117,7 +120,7 @@ class User extends Memcached_DataObject
 
     function allowed_nickname($nickname)
     {
-        # XXX: should already be validated for size, content, etc.
+        // XXX: should already be validated for size, content, etc.
         static $blacklist = array('rss', 'xrds', 'doc', 'main',
                                   'settings', 'notice', 'user',
                                   'search', 'avatar', 'tag', 'tags',
@@ -147,7 +150,7 @@ class User extends Memcached_DataObject
         $sub->subscriber = $this->id;
         $sub->subscribed = $other->id;
 
-        $sub->created = common_sql_now(); # current time
+        $sub->created = common_sql_now(); // current time
 
         if (!$sub->insert()) {
             return false;
@@ -173,7 +176,7 @@ class User extends Memcached_DataObject
 
     static function register($fields) {
 
-        # MAGICALLY put fields into current scope
+        // MAGICALLY put fields into current scope
 
         extract($fields);
 
@@ -211,11 +214,11 @@ class User extends Memcached_DataObject
         $user->id = $id;
         $user->nickname = $nickname;
 
-        if (!empty($password)) { # may not have a password for OpenID users
+        if (!empty($password)) { // may not have a password for OpenID users
             $user->password = common_munge_password($password, $id);
         }
 
-        # Users who respond to invite email have proven their ownership of that address
+        // Users who respond to invite email have proven their ownership of that address
 
         if (!empty($code)) {
             $invite = Invitation::staticGet($code);
@@ -240,7 +243,7 @@ class User extends Memcached_DataObject
             return false;
         }
 
-        # Everyone is subscribed to themself
+        // Everyone is subscribed to themself
 
         $subscription = new Subscription();
         $subscription->subscriber = $user->id;
@@ -273,16 +276,58 @@ class User extends Memcached_DataObject
             $user->emailChanged();
         }
 
+        // Default system subscription
+
+        $defnick = common_config('newuser', 'default');
+
+        if (!empty($defnick)) {
+            $defuser = User::staticGet('nickname', $defnick);
+            if (empty($defuser)) {
+                common_log(LOG_WARNING, sprintf("Default user %s does not exist.", $defnick),
+                           __FILE__);
+            } else {
+                $defsub = new Subscription();
+                $defsub->subscriber = $user->id;
+                $defsub->subscribed = $defuser->id;
+                $defsub->created = $user->created;
+
+                $result = $defsub->insert();
+
+                if (!$result) {
+                    common_log_db_error($defsub, 'INSERT', __FILE__);
+                    return false;
+                }
+            }
+        }
+
         $profile->query('COMMIT');
 
         if ($email && !$user->email) {
             mail_confirm_address($user, $confirm->code, $profile->nickname, $email);
         }
 
+        // Welcome message
+
+        $welcome = common_config('newuser', 'welcome');
+
+        if (!empty($welcome)) {
+            $welcomeuser = User::staticGet('nickname', $welcome);
+            if (empty($welcomeuser)) {
+                common_log(LOG_WARNING, sprintf("Welcome user %s does not exist.", $defnick),
+                           __FILE__);
+            } else {
+                $notice = Notice::saveNew($welcomeuser->id,
+                                          sprintf(_('Welcome to %1$s, @%2$s!'),
+                                                  common_config('site', 'name'),
+                                                  $user->nickname),
+                                          'system');
+            }
+        }
+
         return $user;
     }
 
-    # Things we do when the email changes
+    // Things we do when the email changes
 
     function emailChanged()
     {
@@ -303,46 +348,46 @@ class User extends Memcached_DataObject
     {
         $cache = common_memcache();
 
-        # XXX: Kind of a hack.
+        // XXX: Kind of a hack.
         if ($cache) {
-            # This is the stream of favorite notices, in rev chron
-            # order. This forces it into cache.
+            // This is the stream of favorite notices, in rev chron
+            // order. This forces it into cache.
             $faves = $this->favoriteNotices(0, NOTICE_CACHE_WINDOW);
             $cnt = 0;
             while ($faves->fetch()) {
                 if ($faves->id < $notice->id) {
-                    # If we passed it, it's not a fave
+                    // If we passed it, it's not a fave
                     return false;
                 } else if ($faves->id == $notice->id) {
-                    # If it matches a cached notice, then it's a fave
+                    // If it matches a cached notice, then it's a fave
                     return true;
                 }
                 $cnt++;
             }
-            # If we're not past the end of the cache window,
-            # then the cache has all available faves, so this one
-            # is not a fave.
+            // If we're not past the end of the cache window,
+            // then the cache has all available faves, so this one
+            // is not a fave.
             if ($cnt < NOTICE_CACHE_WINDOW) {
                 return false;
             }
-            # Otherwise, cache doesn't have all faves;
-            # fall through to the default
+            // Otherwise, cache doesn't have all faves;
+            // fall through to the default
         }
         $fave = Fave::pkeyGet(array('user_id' => $this->id,
                                     'notice_id' => $notice->id));
         return ((is_null($fave)) ? false : true);
     }
+
     function mutuallySubscribed($other)
     {
         return $this->isSubscribed($other) &&
           $other->isSubscribed($this);
     }
 
-        function mutuallySubscribedUsers()
-        {
-
-        # 3-way join; probably should get cached
-       $UT = common_config('db','type')=='pgsql'?'"user"':'user';
+    function mutuallySubscribedUsers()
+    {
+        // 3-way join; probably should get cached
+        $UT = common_config('db','type')=='pgsql'?'"user"':'user';
         $qry = "SELECT $UT.* " .
           "FROM subscription sub1 JOIN $UT ON sub1.subscribed = $UT.id " .
           "JOIN subscription sub2 ON $UT.id = sub2.subscriber " .
@@ -365,8 +410,8 @@ class User extends Memcached_DataObject
                                  $offset, $limit, $since_id, $before_id, null, $since);
     }
 
-        function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
-        {
+    function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+    {
         $profile = $this->getProfile();
         if (!$profile) {
             return null;
@@ -375,8 +420,8 @@ class User extends Memcached_DataObject
         }
     }
 
-      function favoriteNotices($offset=0, $limit=NOTICES_PER_PAGE)
-      {
+    function favoriteNotices($offset=0, $limit=NOTICES_PER_PAGE)
+    {
         $qry =
           'SELECT notice.* ' .
           'FROM notice JOIN fave ON notice.id = fave.notice_id ' .
@@ -386,12 +431,12 @@ class User extends Memcached_DataObject
                                  $offset, $limit);
     }
 
-        function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
-        {
+    function noticesWithFriends($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0, $since=null)
+    {
         $enabled = common_config('inboxes', 'enabled');
 
-        # Complicated code, depending on whether we support inboxes yet
-        # XXX: make this go away when inboxes become mandatory
+        // Complicated code, depending on whether we support inboxes yet
+        // XXX: make this go away when inboxes become mandatory
 
         if ($enabled === false ||
             ($enabled == 'transitional' && $this->inboxed == 0)) {
@@ -401,13 +446,13 @@ class User extends Memcached_DataObject
               'WHERE subscription.subscriber = %d ';
             $order = null;
         } else if ($enabled === true ||
-               ($enabled == 'transitional' && $this->inboxed == 1)) {
+                   ($enabled == 'transitional' && $this->inboxed == 1)) {
 
             $qry =
               'SELECT notice.* ' .
               'FROM notice JOIN notice_inbox ON notice.id = notice_inbox.notice_id ' .
               'WHERE notice_inbox.user_id = %d ';
-            # NOTE: we override ORDER
+            // NOTE: we override ORDER
             $order = null;
         }
         return Notice::getStream(sprintf($qry, $this->id),
@@ -416,35 +461,34 @@ class User extends Memcached_DataObject
                                  $order, $since);
     }
 
-        function blowFavesCache()
-        {
+    function blowFavesCache()
+    {
         $cache = common_memcache();
         if ($cache) {
-            # Faves don't happen chronologically, so we need to blow
-            # ;last cache, too
+            // Faves don't happen chronologically, so we need to blow
+            // ;last cache, too
             $cache->delete(common_cache_key('user:faves:'.$this->id));
             $cache->delete(common_cache_key('user:faves:'.$this->id).';last');
         }
     }
 
-        function getSelfTags()
-        {
+    function getSelfTags()
+    {
         return Profile_tag::getTags($this->id, $this->id);
     }
 
-        function setSelfTags($newtags)
-        {
+    function setSelfTags($newtags)
+    {
         return Profile_tag::setTags($this->id, $this->id, $newtags);
     }
 
     function block($other)
     {
-
-        # Add a new block record
+        // Add a new block record
 
         $block = new Profile_block();
 
-        # Begin a transaction
+        // Begin a transaction
 
         $block->query('BEGIN');
 
@@ -458,7 +502,7 @@ class User extends Memcached_DataObject
             return false;
         }
 
-        # Cancel their subscription, if it exists
+        // Cancel their subscription, if it exists
 
         $sub = Subscription::pkeyGet(array('subscriber' => $other->id,
                                            'subscribed' => $this->id));
@@ -478,8 +522,7 @@ class User extends Memcached_DataObject
 
     function unblock($other)
     {
-
-        # Get the block record
+        // Get the block record
 
         $block = Profile_block::get($this->id, $other->id);
 
index e9052bbf9ef1667e4221e1e5f16065847ecf6765..d62a54fe74a14ade40f6e11023030816683ce835 100644 (file)
@@ -37,6 +37,9 @@ $config['site']['path'] = 'laconica';
 # Enables extra log information, for example full details of PEAR DB errors
 #$config['site']['logdebug'] = true;
 
+#To set your own logo, overriding the one in the theme
+#$config['site']['logo'] = '/mylogo.png';
+
 # This is a PEAR DB DSN, see http://pear.php.net/manual/en/package.database.db.intro-dsn.php
 # Set it to match your actual database
 
@@ -171,3 +174,13 @@ $config['sphinx']['port'] = 3312;
 #http://taguri.org/ Examples:
 #$config['integration']['taguri'] = 'example.net,2008';
 #$config['integration']['taguri'] = 'admin@example.net,2009-03-09'
+
+#Don't use SSL
+#$config['site']['ssl'] = 'never';
+#Use SSL only for sensitive pages (like login, password change)
+#$config['site']['ssl'] = 'sometimes';
+#Use SSL for all pages
+#$config['site']['ssl'] = 'always';
+
+#Use a different hostname for SSL-encrypted pages
+#$config['site']['sslserver'] = 'secure.example.org';
index 098fa4fd1aa7f09b5cd109e6f0e33ff9c7c86c83..a790a3fd27cca512c8e9d3bc543905f5ef90d8cf 100644 (file)
@@ -13,7 +13,7 @@ create table profile (
 
     index profile_nickname_idx (nickname),
     FULLTEXT(nickname, fullname, location, bio, homepage)
-) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
+) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 create table avatar (
     profile_id integer not null comment 'foreign key to profile table' references profile (id),
@@ -73,7 +73,7 @@ create table user (
     modified timestamp comment 'date this record was modified',
 
     index user_smsemail_idx (smsemail)
-) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 /* remote people */
 
@@ -103,7 +103,6 @@ create table subscription (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table notice (
-
     id integer auto_increment primary key comment 'unique identifier',
     profile_id integer not null comment 'who made the update' references profile (id),
     uri varchar(255) unique key comment 'universally unique identifier, usually a tag URI',
@@ -119,7 +118,7 @@ create table notice (
     index notice_profile_id_idx (profile_id),
     index notice_created_idx (created),
     FULLTEXT(content)
-) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_bin;
+) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 create table notice_source (
      code varchar(32) primary key not null comment 'source code',
@@ -130,7 +129,6 @@ create table notice_source (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table reply (
-
     notice_id integer not null comment 'notice that is the reply' references notice (id),
     profile_id integer not null comment 'profile replied to' references profile (id),
     modified timestamp not null comment 'date this record was modified',
@@ -144,7 +142,6 @@ create table reply (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table fave (
-
     notice_id integer not null comment 'notice that is the favorite' references notice (id),
     user_id integer not null comment 'user who likes this notice' references user (id),
     modified timestamp not null comment 'date this record was modified',
@@ -321,7 +318,6 @@ create table invitation (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table message (
-
     id integer auto_increment primary key comment 'unique identifier',
     uri varchar(255) unique key comment 'universally unique identifier',
     from_profile integer not null comment 'who the message is from' references profile (id),
@@ -336,10 +332,9 @@ create table message (
     index message_from_idx (from_profile),
     index message_to_idx (to_profile),
     index message_created_idx (created)
-) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 create table notice_inbox (
-
     user_id integer not null comment 'user receiving the message' references user (id),
     notice_id integer not null comment 'notice received' references notice (id),
     created datetime not null comment 'date the notice was created',
@@ -362,7 +357,6 @@ create table profile_tag (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table profile_block (
-
    blocker integer not null comment 'user making the block' references user (id),
    blocked integer not null comment 'profile that is blocked' references profile (id),
    modified timestamp comment 'date of blocking',
@@ -372,7 +366,6 @@ create table profile_block (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table user_group (
-
     id integer auto_increment primary key comment 'unique identifier',
 
     nickname varchar(64) unique key comment 'nickname for addressing',
@@ -391,10 +384,9 @@ create table user_group (
 
     index user_group_nickname_idx (nickname)
 
-) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 create table group_member (
-
     group_id integer not null comment 'foreign key to user_group' references user_group (id),
     profile_id integer not null comment 'foreign key to profile table' references profile (id),
     is_admin boolean default false comment 'is this user an admin?',
@@ -409,7 +401,6 @@ create table group_member (
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
 create table related_group (
-
     group_id integer not null comment 'foreign key to user_group' references user_group (id),
     related_group_id integer not null comment 'foreign key to user_group' references user_group (id),
 
index ea04862e085f26c588320226ece6d1b7a959c7c5..52d555dbfe1cdc2f69c35b86fcf9382429d236d2 100644 (file)
@@ -19,7 +19,9 @@ VALUES
     ('identichat','identichat','http://identichat.prosody.im/', now()),
     ('identitwitch','IdentiTwitch','http://richfish.org/identitwitch/', now()),
     ('mbpidgin','mbpidgin','http://code.google.com/p/microblog-purple/', now()),
+    ('Mobidentica', 'Mobidentica', 'http://www.substanceofcode.com/software/mobidentica/', now()),
     ('moconica','Moconica','http://moconica.com/', now()),
+    ('peoplebrowsr', 'PeopleBrowsr', 'http://www.peoplebrowsr.com/', now()),
     ('pocketwit','PockeTwit','http://code.google.com/p/pocketwit/', now()),
     ('posty','Posty','http://spreadingfunkyness.com/posty/', now()),
     ('royalewithcheese','Royale With Cheese','http://p.hellyeah.org/', now()),
@@ -43,4 +45,6 @@ VALUES
     ('twittertools','Twitter Tools','http://wordpress.org/extend/plugins/twitter-tools/', now()),
     ('twitux','Twitux','http://live.gnome.org/DanielMorales/Twitux', now()),
     ('twitvim','TwitVim','http://vim.sourceforge.net/scripts/script.php?script_id=2204', now()),
-    ('urfastr','urfastr','http://urfastr.net/', now());
+    ('urfastr','urfastr','http://urfastr.net/', now()),
+    ('adium', 'Adium', 'http://www.adiumx.com/', now()),
+    ('yatca','Yatca','http://www.yatca.com/', now());
diff --git a/doc-src/bookmarklet b/doc-src/bookmarklet
new file mode 100644 (file)
index 0000000..03c0e97
--- /dev/null
@@ -0,0 +1,8 @@
+A bookmarklet is a small piece of javascript code used as a bookmark. This one will let you post to %%site.name%% simply by selecting some text on a page and pressing the bookmarklet.
+
+Drag-and-drop the following link to your bookmarks bar or right-click it and add it to your browser favorites to keep it handy.
+
+<MTMarkdownOptions output='raw'>
+<a href="javascript:var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://%%site.server%%/%%site.path%%/notice/new',l=d.location,e=encodeURIComponent,g=f+'?status_textarea=%22'+e(s)+'%22 from '+l.href;function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=720,height=570')){l.href=g;}}a();void(0);">Post to %%site.name%%</a>
+</MTMarkdownOptions>
+
diff --git a/extlib/PEAR/Exception.php b/extlib/PEAR/Exception.php
new file mode 100644 (file)
index 0000000..b3d75b2
--- /dev/null
@@ -0,0 +1,397 @@
+<?php
+/* vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker: */
+/**
+ * PEAR_Exception
+ *
+ * PHP versions 4 and 5
+ *
+ * LICENSE: This source file is subject to version 3.0 of the PHP license
+ * that is available through the world-wide-web at the following URI:
+ * http://www.php.net/license/3_0.txt.  If you did not receive a copy of
+ * the PHP License and are unable to obtain it through the web, please
+ * send a note to license@php.net so we can mail you a copy immediately.
+ *
+ * @category   pear
+ * @package    PEAR
+ * @author     Tomas V. V. Cox <cox@idecnet.com>
+ * @author     Hans Lellelid <hans@velum.net>
+ * @author     Bertrand Mansion <bmansion@mamasam.com>
+ * @author     Greg Beaver <cellog@php.net>
+ * @copyright  1997-2008 The PHP Group
+ * @license    http://www.php.net/license/3_0.txt  PHP License 3.0
+ * @version    CVS: $Id: Exception.php,v 1.29 2008/01/03 20:26:35 cellog Exp $
+ * @link       http://pear.php.net/package/PEAR
+ * @since      File available since Release 1.3.3
+ */
+
+
+/**
+ * Base PEAR_Exception Class
+ *
+ * 1) Features:
+ *
+ * - Nestable exceptions (throw new PEAR_Exception($msg, $prev_exception))
+ * - Definable triggers, shot when exceptions occur
+ * - Pretty and informative error messages
+ * - Added more context info available (like class, method or cause)
+ * - cause can be a PEAR_Exception or an array of mixed
+ *   PEAR_Exceptions/PEAR_ErrorStack warnings
+ * - callbacks for specific exception classes and their children
+ *
+ * 2) Ideas:
+ *
+ * - Maybe a way to define a 'template' for the output
+ *
+ * 3) Inherited properties from PHP Exception Class:
+ *
+ * protected $message
+ * protected $code
+ * protected $line
+ * protected $file
+ * private   $trace
+ *
+ * 4) Inherited methods from PHP Exception Class:
+ *
+ * __clone
+ * __construct
+ * getMessage
+ * getCode
+ * getFile
+ * getLine
+ * getTraceSafe
+ * getTraceSafeAsString
+ * __toString
+ *
+ * 5) Usage example
+ *
+ * <code>
+ *  require_once 'PEAR/Exception.php';
+ *
+ *  class Test {
+ *     function foo() {
+ *         throw new PEAR_Exception('Error Message', ERROR_CODE);
+ *     }
+ *  }
+ *
+ *  function myLogger($pear_exception) {
+ *     echo $pear_exception->getMessage();
+ *  }
+ *  // each time a exception is thrown the 'myLogger' will be called
+ *  // (its use is completely optional)
+ *  PEAR_Exception::addObserver('myLogger');
+ *  $test = new Test;
+ *  try {
+ *     $test->foo();
+ *  } catch (PEAR_Exception $e) {
+ *     print $e;
+ *  }
+ * </code>
+ *
+ * @category   pear
+ * @package    PEAR
+ * @author     Tomas V.V.Cox <cox@idecnet.com>
+ * @author     Hans Lellelid <hans@velum.net>
+ * @author     Bertrand Mansion <bmansion@mamasam.com>
+ * @author     Greg Beaver <cellog@php.net>
+ * @copyright  1997-2008 The PHP Group
+ * @license    http://www.php.net/license/3_0.txt  PHP License 3.0
+ * @version    Release: 1.7.2
+ * @link       http://pear.php.net/package/PEAR
+ * @since      Class available since Release 1.3.3
+ *
+ */
+class PEAR_Exception extends Exception
+{
+    const OBSERVER_PRINT = -2;
+    const OBSERVER_TRIGGER = -4;
+    const OBSERVER_DIE = -8;
+    protected $cause;
+    private static $_observers = array();
+    private static $_uniqueid = 0;
+    private $_trace;
+
+    /**
+     * Supported signatures:
+     *  - PEAR_Exception(string $message);
+     *  - PEAR_Exception(string $message, int $code);
+     *  - PEAR_Exception(string $message, Exception $cause);
+     *  - PEAR_Exception(string $message, Exception $cause, int $code);
+     *  - PEAR_Exception(string $message, PEAR_Error $cause);
+     *  - PEAR_Exception(string $message, PEAR_Error $cause, int $code);
+     *  - PEAR_Exception(string $message, array $causes);
+     *  - PEAR_Exception(string $message, array $causes, int $code);
+     * @param string exception message
+     * @param int|Exception|PEAR_Error|array|null exception cause
+     * @param int|null exception code or null
+     */
+    public function __construct($message, $p2 = null, $p3 = null)
+    {
+        if (is_int($p2)) {
+            $code = $p2;
+            $this->cause = null;
+        } elseif (is_object($p2) || is_array($p2)) {
+            // using is_object allows both Exception and PEAR_Error
+            if (is_object($p2) && !($p2 instanceof Exception)) {
+                if (!class_exists('PEAR_Error') || !($p2 instanceof PEAR_Error)) {
+                    throw new PEAR_Exception('exception cause must be Exception, ' .
+                        'array, or PEAR_Error');
+                }
+            }
+            $code = $p3;
+            if (is_array($p2) && isset($p2['message'])) {
+                // fix potential problem of passing in a single warning
+                $p2 = array($p2);
+            }
+            $this->cause = $p2;
+        } else {
+            $code = null;
+            $this->cause = null;
+        }
+        parent::__construct($message, $code);
+        $this->signal();
+    }
+
+    /**
+     * @param mixed $callback  - A valid php callback, see php func is_callable()
+     *                         - A PEAR_Exception::OBSERVER_* constant
+     *                         - An array(const PEAR_Exception::OBSERVER_*,
+     *                           mixed $options)
+     * @param string $label    The name of the observer. Use this if you want
+     *                         to remove it later with removeObserver()
+     */
+    public static function addObserver($callback, $label = 'default')
+    {
+        self::$_observers[$label] = $callback;
+    }
+
+    public static function removeObserver($label = 'default')
+    {
+        unset(self::$_observers[$label]);
+    }
+
+    /**
+     * @return int unique identifier for an observer
+     */
+    public static function getUniqueId()
+    {
+        return self::$_uniqueid++;
+    }
+
+    private function signal()
+    {
+        foreach (self::$_observers as $func) {
+            if (is_callable($func)) {
+                call_user_func($func, $this);
+                continue;
+            }
+            settype($func, 'array');
+            switch ($func[0]) {
+                case self::OBSERVER_PRINT :
+                    $f = (isset($func[1])) ? $func[1] : '%s';
+                    printf($f, $this->getMessage());
+                    break;
+                case self::OBSERVER_TRIGGER :
+                    $f = (isset($func[1])) ? $func[1] : E_USER_NOTICE;
+                    trigger_error($this->getMessage(), $f);
+                    break;
+                case self::OBSERVER_DIE :
+                    $f = (isset($func[1])) ? $func[1] : '%s';
+                    die(printf($f, $this->getMessage()));
+                    break;
+                default:
+                    trigger_error('invalid observer type', E_USER_WARNING);
+            }
+        }
+    }
+
+    /**
+     * Return specific error information that can be used for more detailed
+     * error messages or translation.
+     *
+     * This method may be overridden in child exception classes in order
+     * to add functionality not present in PEAR_Exception and is a placeholder
+     * to define API
+     *
+     * The returned array must be an associative array of parameter => value like so:
+     * <pre>
+     * array('name' => $name, 'context' => array(...))
+     * </pre>
+     * @return array
+     */
+    public function getErrorData()
+    {
+        return array();
+    }
+
+    /**
+     * Returns the exception that caused this exception to be thrown
+     * @access public
+     * @return Exception|array The context of the exception
+     */
+    public function getCause()
+    {
+        return $this->cause;
+    }
+
+    /**
+     * Function must be public to call on caused exceptions
+     * @param array
+     */
+    public function getCauseMessage(&$causes)
+    {
+        $trace = $this->getTraceSafe();
+        $cause = array('class'   => get_class($this),
+                       'message' => $this->message,
+                       'file' => 'unknown',
+                       'line' => 'unknown');
+        if (isset($trace[0])) {
+            if (isset($trace[0]['file'])) {
+                $cause['file'] = $trace[0]['file'];
+                $cause['line'] = $trace[0]['line'];
+            }
+        }
+        $causes[] = $cause;
+        if ($this->cause instanceof PEAR_Exception) {
+            $this->cause->getCauseMessage($causes);
+        } elseif ($this->cause instanceof Exception) {
+            $causes[] = array('class'   => get_class($this->cause),
+                              'message' => $this->cause->getMessage(),
+                              'file' => $this->cause->getFile(),
+                              'line' => $this->cause->getLine());
+        } elseif (class_exists('PEAR_Error') && $this->cause instanceof PEAR_Error) {
+            $causes[] = array('class' => get_class($this->cause),
+                              'message' => $this->cause->getMessage(),
+                              'file' => 'unknown',
+                              'line' => 'unknown');
+        } elseif (is_array($this->cause)) {
+            foreach ($this->cause as $cause) {
+                if ($cause instanceof PEAR_Exception) {
+                    $cause->getCauseMessage($causes);
+                } elseif ($cause instanceof Exception) {
+                    $causes[] = array('class'   => get_class($cause),
+                                   'message' => $cause->getMessage(),
+                                   'file' => $cause->getFile(),
+                                   'line' => $cause->getLine());
+                } elseif (class_exists('PEAR_Error') && $cause instanceof PEAR_Error) {
+                    $causes[] = array('class' => get_class($cause),
+                                      'message' => $cause->getMessage(),
+                                      'file' => 'unknown',
+                                      'line' => 'unknown');
+                } elseif (is_array($cause) && isset($cause['message'])) {
+                    // PEAR_ErrorStack warning
+                    $causes[] = array(
+                        'class' => $cause['package'],
+                        'message' => $cause['message'],
+                        'file' => isset($cause['context']['file']) ?
+                                            $cause['context']['file'] :
+                                            'unknown',
+                        'line' => isset($cause['context']['line']) ?
+                                            $cause['context']['line'] :
+                                            'unknown',
+                    );
+                }
+            }
+        }
+    }
+
+    public function getTraceSafe()
+    {   
+        if (!isset($this->_trace)) {
+            $this->_trace = $this->getTrace();
+            if (empty($this->_trace)) {
+                $backtrace = debug_backtrace();
+                $this->_trace = array($backtrace[count($backtrace)-1]);
+            }
+        }
+        return $this->_trace;
+    }
+
+    public function getErrorClass()
+    {
+        $trace = $this->getTraceSafe();
+        return $trace[0]['class'];
+    }
+
+    public function getErrorMethod()
+    {
+        $trace = $this->getTraceSafe();
+        return $trace[0]['function'];
+    }
+
+    public function __toString()
+    {
+        if (isset($_SERVER['REQUEST_URI'])) {
+            return $this->toHtml();
+        }
+        return $this->toText();
+    }
+
+    public function toHtml()
+    {
+        $trace = $this->getTraceSafe();
+        $causes = array();
+        $this->getCauseMessage($causes);
+        $html =  '<table border="1" cellspacing="0">' . "\n";
+        foreach ($causes as $i => $cause) {
+            $html .= '<tr><td colspan="3" bgcolor="#ff9999">'
+               . str_repeat('-', $i) . ' <b>' . $cause['class'] . '</b>: '
+               . htmlspecialchars($cause['message']) . ' in <b>' . $cause['file'] . '</b> '
+               . 'on line <b>' . $cause['line'] . '</b>'
+               . "</td></tr>\n";
+        }
+        $html .= '<tr><td colspan="3" bgcolor="#aaaaaa" align="center"><b>Exception trace</b></td></tr>' . "\n"
+               . '<tr><td align="center" bgcolor="#cccccc" width="20"><b>#</b></td>'
+               . '<td align="center" bgcolor="#cccccc"><b>Function</b></td>'
+               . '<td align="center" bgcolor="#cccccc"><b>Location</b></td></tr>' . "\n";
+
+        foreach ($trace as $k => $v) {
+            $html .= '<tr><td align="center">' . $k . '</td>'
+                   . '<td>';
+            if (!empty($v['class'])) {
+                $html .= $v['class'] . $v['type'];
+            }
+            $html .= $v['function'];
+            $args = array();
+            if (!empty($v['args'])) {
+                foreach ($v['args'] as $arg) {
+                    if (is_null($arg)) $args[] = 'null';
+                    elseif (is_array($arg)) $args[] = 'Array';
+                    elseif (is_object($arg)) $args[] = 'Object('.get_class($arg).')';
+                    elseif (is_bool($arg)) $args[] = $arg ? 'true' : 'false';
+                    elseif (is_int($arg) || is_double($arg)) $args[] = $arg;
+                    else {
+                        $arg = (string)$arg;
+                        $str = htmlspecialchars(substr($arg, 0, 16));
+                        if (strlen($arg) > 16) $str .= '&hellip;';
+                        $args[] = "'" . $str . "'";
+                    }
+                }
+            }
+            $html .= '(' . implode(', ',$args) . ')'
+                   . '</td>'
+                   . '<td>' . (isset($v['file']) ? $v['file'] : 'unknown')
+                   . ':' . (isset($v['line']) ? $v['line'] : 'unknown')
+                   . '</td></tr>' . "\n";
+        }
+        $html .= '<tr><td align="center">' . ($k+1) . '</td>'
+               . '<td>{main}</td>'
+               . '<td>&nbsp;</td></tr>' . "\n"
+               . '</table>';
+        return $html;
+    }
+
+    public function toText()
+    {
+        $causes = array();
+        $this->getCauseMessage($causes);
+        $causeMsg = '';
+        foreach ($causes as $i => $cause) {
+            $causeMsg .= str_repeat(' ', $i) . $cause['class'] . ': '
+                   . $cause['message'] . ' in ' . $cause['file']
+                   . ' on line ' . $cause['line'] . "\n";
+        }
+        return $causeMsg . $this->getTraceAsString();
+    }
+}
+
+?>
\ No newline at end of file
index dae1ae75145e127a906b64a488f5248ebae05ae8..e83d08c13e9024fe5482aa7b4540b178754dbad4 100644 (file)
--- a/index.php
+++ b/index.php
@@ -63,7 +63,7 @@ function handleError($error)
 
 function main()
 {
-    global $user, $action;
+    global $user, $action, $config;
 
     if (!_have_config()) {
         $msg = sprintf(_("No configuration file found. Try running ".
@@ -131,11 +131,11 @@ function main()
         if (common_config('db', 'mirror') && $action_obj->isReadOnly()) {
             if (is_array(common_config('db', 'mirror'))) {
                 // "load balancing", ha ha
-                $k = array_rand($config['db']['mirror']);
-
-                $mirror = $config['db']['mirror'][$k];
+                $arr = common_config('db', 'mirror');
+                $k = array_rand($arr);
+                $mirror = $arr[$k];
             } else {
-                $mirror = $config['db']['mirror'];
+                $mirror = common_config('db', 'mirror');
             }
             $config['db']['database'] = $mirror;
         }
diff --git a/js/flowplayer-3.0.5.min.js b/js/flowplayer-3.0.5.min.js
deleted file mode 100644 (file)
index b1c3315..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/** 
- * flowplayer.js 3.0.5. The Flowplayer API
- * 
- * Copyright 2009 Flowplayer Oy
- * 
- * This file is part of Flowplayer.
- * 
- * Flowplayer is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * 
- * Flowplayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * 
- * You should have received a copy of the GNU General Public License
- * along with Flowplayer.  If not, see <http://www.gnu.org/licenses/>.
- * 
- * Version: 3.0.5 - Tue Feb 03 2009 13:14:17 GMT-0000 (GMT+00:00)
- */
-(function(){function log(args){console.log("$f.fireEvent",[].slice.call(args));}function clone(obj){if(!obj||typeof obj!='object'){return obj;}var temp=new obj.constructor();for(var key in obj){if(obj.hasOwnProperty(key)){temp[key]=clone(obj[key]);}}return temp;}function each(obj,fn){if(!obj){return;}var name,i=0,length=obj.length;if(length===undefined){for(name in obj){if(fn.call(obj[name],name,obj[name])===false){break;}}}else{for(var value=obj[0];i<length&&fn.call(value,i,value)!==false;value=obj[++i]){}}return obj;}function el(id){return document.getElementById(id);}function extend(to,from,skipFuncs){if(to&&from){each(from,function(name,value){if(!skipFuncs||typeof value!='function'){to[name]=value;}});}}function select(query){var index=query.indexOf(".");if(index!=-1){var tag=query.substring(0,index)||"*";var klass=query.substring(index+1,query.length);var els=[];each(document.getElementsByTagName(tag),function(){if(this.className&&this.className.indexOf(klass)!=-1){els.push(this);}});return els;}}function stopEvent(e){e=e||window.event;if(e.preventDefault){e.stopPropagation();e.preventDefault();}else{e.returnValue=false;e.cancelBubble=true;}return false;}function bind(to,evt,fn){to[evt]=to[evt]||[];to[evt].push(fn);}function makeId(){return"_"+(""+Math.random()).substring(2,10);}var Clip=function(json,index,player){var self=this;var cuepoints={};var listeners={};self.index=index;if(typeof json=='string'){json={url:json};}extend(this,json,true);each(("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop").split(","),function(){var evt="on"+this;if(evt.indexOf("*")!=-1){evt=evt.substring(0,evt.length-1);var before="onBefore"+evt.substring(2);self[before]=function(fn){bind(listeners,before,fn);return self;};}self[evt]=function(fn){bind(listeners,evt,fn);return self;};if(index==-1){if(self[before]){player[before]=self[before];}if(self[evt]){player[evt]=self[evt];}}});extend(this,{onCuepoint:function(points,fn){if(arguments.length==1){cuepoints.embedded=[null,points];return self;}if(typeof points=='number'){points=[points];}var fnId=makeId();cuepoints[fnId]=[points,fn];if(player.isLoaded()){player._api().fp_addCuepoints(points,index,fnId);}return self;},update:function(json){extend(self,json);if(player.isLoaded()){player._api().fp_updateClip(json,index);}var conf=player.getConfig();var clip=(index==-1)?conf.clip:conf.playlist[index];extend(clip,json,true);},_fireEvent:function(evt,arg1,arg2,target){if(evt=='onLoad'){each(cuepoints,function(key,val){if(val[0]){player._api().fp_addCuepoints(val[0],index,key);}});return false;}target=target||self;if(evt=='onCuepoint'){var fn=cuepoints[arg1];if(fn){return fn[1].call(player,target,arg2);}}if(evt=='onStart'||evt=='onUpdate'){extend(target,arg1);if(!target.duration){target.duration=arg1.metaData.duration;}else{target.fullDuration=arg1.metaData.duration;}}var ret=true;each(listeners[evt],function(){ret=this.call(player,target,arg1,arg2);});return ret;}});if(json.onCuepoint){var arg=json.onCuepoint;self.onCuepoint.apply(self,typeof arg=='function'?[arg]:arg);delete json.onCuepoint;}each(json,function(key,val){if(typeof val=='function'){bind(listeners,key,val);delete json[key];}});if(index==-1){player.onCuepoint=this.onCuepoint;}};var Plugin=function(name,json,player,fn){var listeners={};var self=this;var hasMethods=false;if(fn){extend(listeners,fn);}each(json,function(key,val){if(typeof val=='function'){listeners[key]=val;delete json[key];}});extend(this,{animate:function(props,speed,fn){if(!props){return self;}if(typeof speed=='function'){fn=speed;speed=500;}if(typeof props=='string'){var key=props;props={};props[key]=speed;speed=500;}if(fn){var fnId=makeId();listeners[fnId]=fn;}if(speed===undefined){speed=500;}json=player._api().fp_animate(name,props,speed,fnId);return self;},css:function(props,val){if(val!==undefined){var css={};css[props]=val;props=css;}json=player._api().fp_css(name,props);extend(self,json);return self;},show:function(){this.display='block';player._api().fp_showPlugin(name);return self;},hide:function(){this.display='none';player._api().fp_hidePlugin(name);return self;},toggle:function(){this.display=player._api().fp_togglePlugin(name);return self;},fadeTo:function(o,speed,fn){if(typeof speed=='function'){fn=speed;speed=500;}if(fn){var fnId=makeId();listeners[fnId]=fn;}this.display=player._api().fp_fadeTo(name,o,speed,fnId);this.opacity=o;return self;},fadeIn:function(speed,fn){return self.fadeTo(1,speed,fn);},fadeOut:function(speed,fn){return self.fadeTo(0,speed,fn);},getName:function(){return name;},_fireEvent:function(evt,arg){if(evt=='onUpdate'){var json=player._api().fp_getPlugin(name);if(!json){return;}extend(self,json);delete self.methods;if(!hasMethods){each(json.methods,function(){var method=""+this;self[method]=function(){var a=[].slice.call(arguments);var ret=player._api().fp_invoke(name,method,a);return ret=='undefined'?self:ret;};});hasMethods=true;}}var fn=listeners[evt];if(fn){fn.call(self,arg);if(evt.substring(0,1)=="_"){delete listeners[evt];}}}});};function Player(wrapper,params,conf){var
-self=this,api=null,html,commonClip,playlist=[],plugins={},listeners={},playerId,apiId,playerIndex,activeIndex,swfHeight,wrapperHeight;extend(self,{id:function(){return playerId;},isLoaded:function(){return(api!==null);},getParent:function(){return wrapper;},hide:function(all){if(all){wrapper.style.height="0px";}if(api){api.style.height="0px";}return self;},show:function(){wrapper.style.height=wrapperHeight+"px";if(api){api.style.height=swfHeight+"px";}return self;},isHidden:function(){return api&&parseInt(api.style.height,10)===0;},load:function(fn){if(!api&&self._fireEvent("onBeforeLoad")!==false){each(players,function(){this.unload();});html=wrapper.innerHTML;flashembed(wrapper,params,{config:conf});if(fn){fn.cached=true;bind(listeners,"onLoad",fn);}}return self;},unload:function(){try{if(api&&api.fp_isFullscreen()){}}catch(error){return;}if(api&&html.replace(/\s/g,'')!==''&&!api.fp_isFullscreen()&&self._fireEvent("onBeforeUnload")!==false){api.fp_close();wrapper.innerHTML=html;self._fireEvent("onUnload");api=null;}return self;},getClip:function(index){if(index===undefined){index=activeIndex;}return playlist[index];},getCommonClip:function(){return commonClip;},getPlaylist:function(){return playlist;},getPlugin:function(name){var plugin=plugins[name];if(!plugin&&self.isLoaded()){var json=self._api().fp_getPlugin(name);if(json){plugin=new Plugin(name,json,self);plugins[name]=plugin;}}return plugin;},getScreen:function(){return self.getPlugin("screen");},getControls:function(){return self.getPlugin("controls");},getConfig:function(copy){return copy?clone(conf):conf;},getFlashParams:function(){return params;},loadPlugin:function(name,url,props,fn){if(typeof props=='function'){fn=props;props={};}var fnId=fn?makeId():"_";self._api().fp_loadPlugin(name,url,props,fnId);var arg={};arg[fnId]=fn;var p=new Plugin(name,null,self,arg);plugins[name]=p;return p;},getState:function(){return api?api.fp_getState():-1;},play:function(clip){function play(){if(clip!==undefined){self._api().fp_play(clip);}else{self._api().fp_play();}}if(api){play();}else{self.load(function(){play();});}return self;},getVersion:function(){var js="flowplayer.js 3.0.5";if(api){var ver=api.fp_getVersion();ver.push(js);return ver;}return js;},_api:function(){if(!api){throw"Flowplayer "+self.id()+" not loaded. Try moving your call to player's onLoad event";}return api;},_dump:function(){console.log(listeners);},setClip:function(clip){self.setPlaylist([clip]);},getIndex:function(){return playerIndex;}});each(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,Fullscreen*,FullscreenExit,Error").split(","),function(){var name="on"+this;if(name.indexOf("*")!=-1){name=name.substring(0,name.length-1);var name2="onBefore"+name.substring(2);self[name2]=function(fn){bind(listeners,name2,fn);return self;};}self[name]=function(fn){bind(listeners,name,fn);return self;};});each(("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,reset,close,setPlaylist").split(","),function(){var name=this;self[name]=function(arg){if(!api){return self;}var ret=(arg===undefined)?api["fp_"+name]():api["fp_"+name](arg);return ret=='undefined'?self:ret;};});self._fireEvent=function(evt,arg0,arg1,arg2){if(conf.debug){log(arguments);}if(!api&&evt=='onLoad'&&arg0=='player'){api=api||el(apiId);swfHeight=api.clientHeight;each(playlist,function(){this._fireEvent("onLoad");});each(plugins,function(name,p){p._fireEvent("onUpdate");});commonClip._fireEvent("onLoad");}if(evt=='onLoad'&&arg0!='player'){return;}if(evt=='onError'){if(typeof arg0=='string'||(typeof arg0=='number'&&typeof arg1=='number')){arg0=arg1;arg1=arg2;}}if(evt=='onContextMenu'){each(conf.contextMenu[arg0],function(key,fn){fn.call(self);});return;}if(evt=='onPluginEvent'){var name=arg0.name||arg0;var p=plugins[name];if(p){p._fireEvent("onUpdate",arg0);p._fireEvent(arg1);}return;}if(evt=='onPlaylistReplace'){playlist=[];var index=0;each(arg0,function(){playlist.push(new Clip(this,index++,self));});}var ret=true;if(typeof arg0=='number'&&arg0<playlist.length){activeIndex=arg0;var clip=playlist[arg0];if(clip){ret=clip._fireEvent(evt,arg1,arg2);}if(!clip||ret!==false){ret=commonClip._fireEvent(evt,arg1,arg2,clip);}}var i=0;each(listeners[evt],function(){ret=this.call(self,arg0,arg1);if(this.cached){listeners[evt].splice(i,1);}if(ret===false){return false;}i++;});return ret;};function init(){if($f(wrapper)){$f(wrapper).getParent().innerHTML="";playerIndex=$f(wrapper).getIndex();players[playerIndex]=self;}else{players.push(self);playerIndex=players.length-1;}wrapperHeight=parseInt(wrapper.style.height,10)||wrapper.clientHeight;if(typeof params=='string'){params={src:params};}playerId=wrapper.id||"fp"+makeId();apiId=params.id||playerId+"_api";params.id=apiId;conf.playerId=playerId;if(typeof conf=='string'){conf={clip:{url:conf}};}if(typeof conf.clip=='string'){conf.clip={url:conf.clip};}conf.clip=conf.clip||{};if(wrapper.getAttribute("href",2)&&!conf.clip.url){conf.clip.url=wrapper.getAttribute("href",2);}commonClip=new Clip(conf.clip,-1,self);conf.playlist=conf.playlist||[conf.clip];var index=0;each(conf.playlist,function(){var clip=this;if(typeof clip=='object'&&clip.length){clip=""+clip;}if(typeof clip=='string'){clip={url:clip};}each(conf.clip,function(key,val){if(conf.clip[key]!==undefined&&typeof val!='function'){clip[key]=val;}});conf.playlist[index]=clip;clip=new Clip(clip,index,self);playlist.push(clip);index++;});each(conf,function(key,val){if(typeof val=='function'){bind(listeners,key,val);delete conf[key];}});each(conf.plugins,function(name,val){if(val){plugins[name]=new Plugin(name,val,self);}});if(!conf.plugins||conf.plugins.controls===undefined){plugins.controls=new Plugin("controls",null,self);}params.bgcolor=params.bgcolor||"#000000";params.version=params.version||[9,0];params.expressInstall='http://www.flowplayer.org/swf/expressinstall.swf';function doClick(e){if(!self.isLoaded()&&self._fireEvent("onBeforeClick")!==false){self.load();}return stopEvent(e);}html=wrapper.innerHTML;if(html.replace(/\s/g,'')!==''){if(wrapper.addEventListener){wrapper.addEventListener("click",doClick,false);}else if(wrapper.attachEvent){wrapper.attachEvent("onclick",doClick);}}else{if(wrapper.addEventListener){wrapper.addEventListener("click",stopEvent,false);}self.load();}}if(typeof wrapper=='string'){flashembed.domReady(function(){var node=el(wrapper);if(!node){throw"Flowplayer cannot access element: "+wrapper;}else{wrapper=node;init();}});}else{init();}}var players=[];function Iterator(arr){this.length=arr.length;this.each=function(fn){each(arr,fn);};this.size=function(){return arr.length;};}window.flowplayer=window.$f=function(){var instance=null;var arg=arguments[0];if(!arguments.length){each(players,function(){if(this.isLoaded()){instance=this;return false;}});return instance||players[0];}if(arguments.length==1){if(typeof arg=='number'){return players[arg];}else{if(arg=='*'){return new Iterator(players);}each(players,function(){if(this.id()==arg.id||this.id()==arg||this.getParent()==arg){instance=this;return false;}});return instance;}}if(arguments.length>1){var swf=arguments[1];var conf=(arguments.length==3)?arguments[2]:{};if(typeof arg=='string'){if(arg.indexOf(".")!=-1){var instances=[];each(select(arg),function(){instances.push(new Player(this,clone(swf),clone(conf)));});return new Iterator(instances);}else{var node=el(arg);return new Player(node!==null?node:arg,swf,conf);}}else if(arg){return new Player(arg,swf,conf);}}return null;};extend(window.$f,{fireEvent:function(id,evt,a0,a1,a2){var p=$f(id);return p?p._fireEvent(evt,a0,a1,a2):null;},addPlugin:function(name,fn){Player.prototype[name]=fn;return $f;},each:each,extend:extend});if(document.all){window.onbeforeunload=function(){$f("*").each(function(){if(this.isLoaded()){this.close();}});};}if(typeof jQuery=='function'){jQuery.prototype.flowplayer=function(params,conf){if(!arguments.length||typeof arguments[0]=='number'){var arr=[];this.each(function(){var p=$f(this);if(p){arr.push(p);}});return arguments.length?arr[arguments[0]]:new Iterator(arr);}return this.each(function(){$f(this,clone(params),conf?clone(conf):{});});};}})();(function(){var jQ=typeof jQuery=='function';function isDomReady(){if(domReady.done){return false;}var d=document;if(d&&d.getElementsByTagName&&d.getElementById&&d.body){clearInterval(domReady.timer);domReady.timer=null;for(var i=0;i<domReady.ready.length;i++){domReady.ready[i].call();}domReady.ready=null;domReady.done=true;}}var domReady=jQ?jQuery:function(f){if(domReady.done){return f();}if(domReady.timer){domReady.ready.push(f);}else{domReady.ready=[f];domReady.timer=setInterval(isDomReady,13);}};function extend(to,from){if(from){for(key in from){if(from.hasOwnProperty(key)){to[key]=from[key];}}}return to;}function asString(obj){switch(typeOf(obj)){case'string':obj=obj.replace(new RegExp('(["\\\\])','g'),'\\$1');obj=obj.replace(/^\s?(\d+)%/,"$1pct");return'"'+obj+'"';case'array':return'['+map(obj,function(el){return asString(el);}).join(',')+']';case'function':return'"function()"';case'object':var str=[];for(var prop in obj){if(obj.hasOwnProperty(prop)){str.push('"'+prop+'":'+asString(obj[prop]));}}return'{'+str.join(',')+'}';}return String(obj).replace(/\s/g," ").replace(/\'/g,"\"");}function typeOf(obj){if(obj===null||obj===undefined){return false;}var type=typeof obj;return(type=='object'&&obj.push)?'array':type;}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};});}function map(arr,func){var newArr=[];for(var i in arr){if(arr.hasOwnProperty(i)){newArr[i]=func(arr[i]);}}return newArr;}function getHTML(p,c){var ie=document.all;var html='<object width="'+p.width+'" height="'+p.height+'"';if(ie&&!p.id){p.id="_"+(""+Math.random()).substring(9);}if(p.id){html+=' id="'+p.id+'"';}if(p.w3c||!ie){html+=' data="'+p.src+'" type="application/x-shockwave-flash"';}else{html+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';}html+='>';if(p.w3c||ie){html+='<param name="movie" value="'+p.src+'" />';}var e=extend({},p);e.width=e.height=e.id=e.w3c=e.src=null;for(var k in e){if(e[k]!==null){html+='<param name="'+k+'" value="'+e[k]+'" />';}}var vars="";if(c){for(var key in c){if(c[key]!==null){vars+=key+'='+(typeof c[key]=='object'?asString(c[key]):c[key])+'&';}}vars=vars.substring(0,vars.length-1);html+='<param name="flashvars" value=\''+vars+'\' />';}html+="</object>";return html;}function Flash(root,opts,flashvars){var version=flashembed.getVersion();extend(this,{getContainer:function(){return root;},getConf:function(){return conf;},getVersion:function(){return version;},getFlashvars:function(){return flashvars;},getApi:function(){return root.firstChild;},getHTML:function(){return getHTML(opts,flashvars);}});var required=opts.version;var express=opts.expressInstall;var ok=!required||flashembed.isSupported(required);if(ok){opts.onFail=opts.version=opts.expressInstall=null;root.innerHTML=getHTML(opts,flashvars);}else if(required&&express&&flashembed.isSupported([6,65])){extend(opts,{src:express});flashvars={MMredirectURL:location.href,MMplayerType:'PlugIn',MMdoctitle:document.title};root.innerHTML=getHTML(opts,flashvars);}else{if(root.innerHTML.replace(/\s/g,'')!==''){}else{root.innerHTML="<h2>Flash version "+required+" or greater is required</h2>"+"<h3>"+(version[0]>0?"Your version is "+version:"You have no flash plugin installed")+"</h3>"+"<p>Download latest version from <a href='http://www.adobe.com/go/getflashplayer'>here</a></p>";}}if(!ok&&opts.onFail){var ret=opts.onFail.call(this);if(typeof ret=='string'){root.innerHTML=ret;}}}window.flashembed=function(root,conf,flashvars){if(typeof root=='string'){var el=document.getElementById(root);if(el){root=el;}else{domReady(function(){flashembed(root,conf,flashvars);});return;}}if(!root){return;}var opts={width:'100%',height:'100%',allowfullscreen:true,allowscriptaccess:'always',quality:'high',version:null,onFail:null,expressInstall:null,w3c:false};if(typeof conf=='string'){conf={src:conf};}extend(opts,conf);return new Flash(root,opts,flashvars);};extend(window.flashembed,{getVersion:function(){var version=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var _d=navigator.plugins["Shockwave Flash"].description;if(typeof _d!="undefined"){_d=_d.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var _m=parseInt(_d.replace(/^(.*)\..*$/,"$1"),10);var _r=/r/.test(_d)?parseInt(_d.replace(/^.*r(.*)$/,"$1"),10):0;version=[_m,_r];}}else if(window.ActiveXObject){try{var _a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version=[6,0];_a.AllowScriptAccess="always";}catch(ee){if(version[0]==6){return;}}try{_a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(eee){}}if(typeof _a=="object"){_d=_a.GetVariable("$version");if(typeof _d!="undefined"){_d=_d.replace(/^\S+\s+(.*)$/,"$1").split(",");version=[parseInt(_d[0],10),parseInt(_d[2],10)];}}}return version;},isSupported:function(version){var now=flashembed.getVersion();var ret=(now[0]>version[0])||(now[0]==version[0]&&now[1]>=version[1]);return ret;},domReady:domReady,asString:asString,getHTML:getHTML});if(jQ){jQuery.prototype.flashembed=function(conf,flashvars){return this.each(function(){flashembed(this,conf,flashvars);});};}})();
\ No newline at end of file
index 94e9c1755ef6486ebb7d598355157e12c1937eaa..926357433e3e8289757481ee826cee31657982fe 100644 (file)
@@ -1,13 +1,13 @@
 /*!
- * jQuery JavaScript Library v1.3.1
+ * jQuery JavaScript Library v1.3.2
  * http://jquery.com/
  *
  * Copyright (c) 2009 John Resig
  * Dual licensed under the MIT and GPL licenses.
  * http://docs.jquery.com/License
  *
- * Date: 2009-01-21 20:42:16 -0500 (Wed, 21 Jan 2009)
- * Revision: 6158
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
  */
 (function(){
 
@@ -88,14 +88,16 @@ jQuery.fn = jQuery.prototype = {
                        this.context = selector.context;
                }
 
-               return this.setArray(jQuery.makeArray(selector));
+               return this.setArray(jQuery.isArray( selector ) ?
+                       selector :
+                       jQuery.makeArray(selector));
        },
 
        // Start with an empty selector
        selector: "",
 
        // The current version of jQuery being used
-       jquery: "1.3.1",
+       jquery: "1.3.2",
 
        // The number of elements contained in the matched element set
        size: function() {
@@ -108,7 +110,7 @@ jQuery.fn = jQuery.prototype = {
                return num === undefined ?
 
                        // Return a 'clean' array
-                       jQuery.makeArray( this ) :
+                       Array.prototype.slice.call( this ) :
 
                        // Return just the object
                        this[ num ];
@@ -278,23 +280,21 @@ jQuery.fn = jQuery.prototype = {
        },
 
        // For internal use only.
-       // Behaves like an Array's .push method, not like a jQuery method.
+       // Behaves like an Array's method, not like a jQuery method.
        push: [].push,
+       sort: [].sort,
+       splice: [].splice,
 
        find: function( selector ) {
-               if ( this.length === 1 && !/,/.test(selector) ) {
+               if ( this.length === 1 ) {
                        var ret = this.pushStack( [], "find", selector );
                        ret.length = 0;
                        jQuery.find( selector, this[0], ret );
                        return ret;
                } else {
-                       var elems = jQuery.map(this, function(elem){
+                       return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){
                                return jQuery.find( selector, elem );
-                       });
-
-                       return this.pushStack( /[^+>] [^+>]/.test( selector ) ?
-                               jQuery.unique( elems ) :
-                               elems, "find", selector );
+                       })), "find", selector );
                }
        },
 
@@ -310,33 +310,37 @@ jQuery.fn = jQuery.prototype = {
                                // attributes in IE that are actually only stored
                                // as properties will not be copied (such as the
                                // the name attribute on an input).
-                               var clone = this.cloneNode(true),
-                                       container = document.createElement("div");
-                               container.appendChild(clone);
-                               return jQuery.clean([container.innerHTML])[0];
+                               var html = this.outerHTML;
+                               if ( !html ) {
+                                       var div = this.ownerDocument.createElement("div");
+                                       div.appendChild( this.cloneNode(true) );
+                                       html = div.innerHTML;
+                               }
+
+                               return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g, "").replace(/^\s*/, "")])[0];
                        } else
                                return this.cloneNode(true);
                });
 
-               // Need to set the expando to null on the cloned set if it exists
-               // removeData doesn't work here, IE removes it from the original as well
-               // this is primarily for IE but the data expando shouldn't be copied over in any browser
-               var clone = ret.find("*").andSelf().each(function(){
-                       if ( this[ expando ] !== undefined )
-                               this[ expando ] = null;
-               });
-
                // Copy the events from the original to the clone
-               if ( events === true )
-                       this.find("*").andSelf().each(function(i){
-                               if (this.nodeType == 3)
+               if ( events === true ) {
+                       var orig = this.find("*").andSelf(), i = 0;
+
+                       ret.find("*").andSelf().each(function(){
+                               if ( this.nodeName !== orig[i].nodeName )
                                        return;
-                               var events = jQuery.data( this, "events" );
 
-                               for ( var type in events )
-                                       for ( var handler in events[ type ] )
-                                               jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data );
+                               var events = jQuery.data( orig[i], "events" );
+
+                               for ( var type in events ) {
+                                       for ( var handler in events[ type ] ) {
+                                               jQuery.event.add( this, type, events[ type ][ handler ], events[ type ][ handler ].data );
+                                       }
+                               }
+
+                               i++;
                        });
+               }
 
                // Return the cloned set
                return ret;
@@ -355,14 +359,18 @@ jQuery.fn = jQuery.prototype = {
        },
 
        closest: function( selector ) {
-               var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null;
+               var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null,
+                       closer = 0;
 
                return this.map(function(){
                        var cur = this;
                        while ( cur && cur.ownerDocument ) {
-                               if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) )
+                               if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
+                                       jQuery.data(cur, "closest", closer);
                                        return cur;
+                               }
                                cur = cur.parentNode;
+                               closer++;
                        }
                });
        },
@@ -475,7 +483,7 @@ jQuery.fn = jQuery.prototype = {
        html: function( value ) {
                return value === undefined ?
                        (this[0] ?
-                               this[0].innerHTML :
+                               this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g, "") :
                                null) :
                        this.empty().append( value );
        },
@@ -507,13 +515,13 @@ jQuery.fn = jQuery.prototype = {
                if ( this[0] ) {
                        var fragment = (this[0].ownerDocument || this[0]).createDocumentFragment(),
                                scripts = jQuery.clean( args, (this[0].ownerDocument || this[0]), fragment ),
-                               first = fragment.firstChild,
-                               extra = this.length > 1 ? fragment.cloneNode(true) : fragment;
+                               first = fragment.firstChild;
 
                        if ( first )
                                for ( var i = 0, l = this.length; i < l; i++ )
-                                       callback.call( root(this[i], first), i > 0 ? extra.cloneNode(true) : fragment );
-                       
+                                       callback.call( root(this[i], first), this.length > 1 || i > 0 ?
+                                                       fragment.cloneNode(true) : fragment );
+               
                        if ( scripts )
                                jQuery.each( scripts, evalScript );
                }
@@ -636,9 +644,7 @@ jQuery.extend({
 
        // Evalulates a script in a global context
        globalEval: function( data ) {
-               data = jQuery.trim( data );
-
-               if ( data ) {
+               if ( data && /\S/.test(data) ) {
                        // Inspired by code by Andrea Giammarchi
                        // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
                        var head = document.getElementsByTagName("head")[0] || document.documentElement,
@@ -741,26 +747,32 @@ jQuery.extend({
                        elem.style[ name ] = old[ name ];
        },
 
-       css: function( elem, name, force ) {
+       css: function( elem, name, force, extra ) {
                if ( name == "width" || name == "height" ) {
                        var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ];
 
                        function getWH() {
                                val = name == "width" ? elem.offsetWidth : elem.offsetHeight;
-                               var padding = 0, border = 0;
+
+                               if ( extra === "border" )
+                                       return;
+
                                jQuery.each( which, function() {
-                                       padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
-                                       border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
+                                       if ( !extra )
+                                               val -= parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0;
+                                       if ( extra === "margin" )
+                                               val += parseFloat(jQuery.curCSS( elem, "margin" + this, true)) || 0;
+                                       else
+                                               val -= parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0;
                                });
-                               val -= Math.round(padding + border);
                        }
 
-                       if ( jQuery(elem).is(":visible") )
+                       if ( elem.offsetWidth !== 0 )
                                getWH();
                        else
                                jQuery.swap( elem, props, getWH );
 
-                       return Math.max(0, val);
+                       return Math.max(0, Math.round(val));
                }
 
                return jQuery.curCSS( elem, name, force );
@@ -866,7 +878,7 @@ jQuery.extend({
                                });
 
                                // Trim whitespace, otherwise indexOf won't work as expected
-                               var tags = jQuery.trim( elem ).toLowerCase();
+                               var tags = elem.replace(/^\s+/, "").substring(0, 10).toLowerCase();
 
                                var wrap =
                                        // option or optgroup
@@ -906,11 +918,12 @@ jQuery.extend({
                                if ( !jQuery.support.tbody ) {
 
                                        // String was a <table>, *may* have spurious <tbody>
-                                       var tbody = !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 ?
-                                               div.firstChild && div.firstChild.childNodes :
+                                       var hasBody = /<tbody/i.test(elem),
+                                               tbody = !tags.indexOf("<table") && !hasBody ?
+                                                       div.firstChild && div.firstChild.childNodes :
 
                                                // String was a bare <thead> or <tfoot>
-                                               wrap[1] == "<table>" && tags.indexOf("<tbody") < 0 ?
+                                               wrap[1] == "<table>" && !hasBody ?
                                                        div.childNodes :
                                                        [];
 
@@ -1189,13 +1202,16 @@ jQuery.each({
        insertAfter: "after",
        replaceAll: "replaceWith"
 }, function(name, original){
-       jQuery.fn[ name ] = function() {
-               var args = arguments;
+       jQuery.fn[ name ] = function( selector ) {
+               var ret = [], insert = jQuery( selector );
 
-               return this.each(function(){
-                       for ( var i = 0, length = args.length; i < length; i++ )
-                               jQuery( args[ i ] )[ original ]( this );
-               });
+               for ( var i = 0, l = insert.length; i < l; i++ ) {
+                       var elems = (i > 0 ? this.clone(true) : this).get();
+                       jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
+                       ret = ret.concat( elems );
+               }
+
+               return this.pushStack( ret, name, selector );
        };
 });
 
@@ -1234,7 +1250,7 @@ jQuery.each({
 
        empty: function() {
                // Remove element nodes and prevent memory leaks
-               jQuery( ">*", this ).remove();
+               jQuery(this).children().remove();
 
                // Remove any remaining nodes
                while ( this.firstChild )
@@ -1402,7 +1418,7 @@ jQuery.fn.extend({
  */
 (function(){
 
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
        done = 0,
        toString = Object.prototype.toString;
 
@@ -1507,6 +1523,19 @@ var Sizzle = function(selector, context, results, seed) {
 
        if ( extra ) {
                Sizzle( extra, context, results, seed );
+
+               if ( sortOrder ) {
+                       hasDuplicate = false;
+                       results.sort(sortOrder);
+
+                       if ( hasDuplicate ) {
+                               for ( var i = 1; i < results.length; i++ ) {
+                                       if ( results[i] === results[i-1] ) {
+                                               results.splice(i--, 1);
+                                       }
+                               }
+                       }
+               }
        }
 
        return results;
@@ -1548,7 +1577,8 @@ Sizzle.find = function(expr, context, isXML){
 };
 
 Sizzle.filter = function(expr, set, inplace, not){
-       var old = expr, result = [], curLoop = set, match, anyFound;
+       var old = expr, result = [], curLoop = set, match, anyFound,
+               isXMLFilter = set && set[0] && isXML(set[0]);
 
        while ( expr && set.length ) {
                for ( var type in Expr.filter ) {
@@ -1561,7 +1591,7 @@ Sizzle.filter = function(expr, set, inplace, not){
                                }
 
                                if ( Expr.preFilter[ type ] ) {
-                                       match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not );
+                                       match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter );
 
                                        if ( !match ) {
                                                anyFound = found = true;
@@ -1606,8 +1636,6 @@ Sizzle.filter = function(expr, set, inplace, not){
                        }
                }
 
-               expr = expr.replace(/\s*,\s*/, "");
-
                // Improper expression
                if ( expr == old ) {
                        if ( anyFound == null ) {
@@ -1645,26 +1673,33 @@ var Expr = Sizzle.selectors = {
                }
        },
        relative: {
-               "+": function(checkSet, part){
-                       for ( var i = 0, l = checkSet.length; i < l; i++ ) {
-                               var elem = checkSet[i];
-                               if ( elem ) {
-                                       var cur = elem.previousSibling;
-                                       while ( cur && cur.nodeType !== 1 ) {
-                                               cur = cur.previousSibling;
-                                       }
-                                       checkSet[i] = typeof part === "string" ?
-                                               cur || false :
-                                               cur === part;
+               "+": function(checkSet, part, isXML){
+                       var isPartStr = typeof part === "string",
+                               isTag = isPartStr && !/\W/.test(part),
+                               isPartStrNotTag = isPartStr && !isTag;
+
+                       if ( isTag && !isXML ) {
+                               part = part.toUpperCase();
+                       }
+
+                       for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
+                               if ( (elem = checkSet[i]) ) {
+                                       while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
+
+                                       checkSet[i] = isPartStrNotTag || elem && elem.nodeName === part ?
+                                               elem || false :
+                                               elem === part;
                                }
                        }
 
-                       if ( typeof part === "string" ) {
+                       if ( isPartStrNotTag ) {
                                Sizzle.filter( part, checkSet, true );
                        }
                },
                ">": function(checkSet, part, isXML){
-                       if ( typeof part === "string" && !/\W/.test(part) ) {
+                       var isPartStr = typeof part === "string";
+
+                       if ( isPartStr && !/\W/.test(part) ) {
                                part = isXML ? part : part.toUpperCase();
 
                                for ( var i = 0, l = checkSet.length; i < l; i++ ) {
@@ -1678,19 +1713,19 @@ var Expr = Sizzle.selectors = {
                                for ( var i = 0, l = checkSet.length; i < l; i++ ) {
                                        var elem = checkSet[i];
                                        if ( elem ) {
-                                               checkSet[i] = typeof part === "string" ?
+                                               checkSet[i] = isPartStr ?
                                                        elem.parentNode :
                                                        elem.parentNode === part;
                                        }
                                }
 
-                               if ( typeof part === "string" ) {
+                               if ( isPartStr ) {
                                        Sizzle.filter( part, checkSet, true );
                                }
                        }
                },
                "": function(checkSet, part, isXML){
-                       var doneName = "done" + (done++), checkFn = dirCheck;
+                       var doneName = done++, checkFn = dirCheck;
 
                        if ( !part.match(/\W/) ) {
                                var nodeCheck = part = isXML ? part : part.toUpperCase();
@@ -1700,7 +1735,7 @@ var Expr = Sizzle.selectors = {
                        checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
                },
                "~": function(checkSet, part, isXML){
-                       var doneName = "done" + (done++), checkFn = dirCheck;
+                       var doneName = done++, checkFn = dirCheck;
 
                        if ( typeof part === "string" && !part.match(/\W/) ) {
                                var nodeCheck = part = isXML ? part : part.toUpperCase();
@@ -1718,8 +1753,16 @@ var Expr = Sizzle.selectors = {
                        }
                },
                NAME: function(match, context, isXML){
-                       if ( typeof context.getElementsByName !== "undefined" && !isXML ) {
-                               return context.getElementsByName(match[1]);
+                       if ( typeof context.getElementsByName !== "undefined" ) {
+                               var ret = [], results = context.getElementsByName(match[1]);
+
+                               for ( var i = 0, l = results.length; i < l; i++ ) {
+                                       if ( results[i].getAttribute("name") === match[1] ) {
+                                               ret.push( results[i] );
+                                       }
+                               }
+
+                               return ret.length === 0 ? null : ret;
                        }
                },
                TAG: function(match, context){
@@ -1727,13 +1770,16 @@ var Expr = Sizzle.selectors = {
                }
        },
        preFilter: {
-               CLASS: function(match, curLoop, inplace, result, not){
+               CLASS: function(match, curLoop, inplace, result, not, isXML){
                        match = " " + match[1].replace(/\\/g, "") + " ";
 
-                       var elem;
-                       for ( var i = 0; (elem = curLoop[i]) != null; i++ ) {
+                       if ( isXML ) {
+                               return match;
+                       }
+
+                       for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) {
                                if ( elem ) {
-                                       if ( not ^ (" " + elem.className + " ").indexOf(match) >= 0 ) {
+                                       if ( not ^ (elem.className && (" " + elem.className + " ").indexOf(match) >= 0) ) {
                                                if ( !inplace )
                                                        result.push( elem );
                                        } else if ( inplace ) {
@@ -1764,14 +1810,14 @@ var Expr = Sizzle.selectors = {
                        }
 
                        // TODO: Move to normal caching system
-                       match[0] = "done" + (done++);
+                       match[0] = done++;
 
                        return match;
                },
-               ATTR: function(match){
+               ATTR: function(match, curLoop, inplace, result, not, isXML){
                        var name = match[1].replace(/\\/g, "");
                        
-                       if ( Expr.attrMap[name] ) {
+                       if ( !isXML && Expr.attrMap[name] ) {
                                match[1] = Expr.attrMap[name];
                        }
 
@@ -1784,7 +1830,7 @@ var Expr = Sizzle.selectors = {
                PSEUDO: function(match, curLoop, inplace, result, not){
                        if ( match[1] === "not" ) {
                                // If we're dealing with a complex expression, or a simple one
-                               if ( match[3].match(chunker).length > 1 ) {
+                               if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
                                        match[3] = Sizzle(match[3], null, null, curLoop);
                                } else {
                                        var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
@@ -1793,7 +1839,7 @@ var Expr = Sizzle.selectors = {
                                        }
                                        return false;
                                }
-                       } else if ( Expr.match.POS.test( match[0] ) ) {
+                       } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) {
                                return true;
                        }
                        
@@ -1890,47 +1936,6 @@ var Expr = Sizzle.selectors = {
                }
        },
        filter: {
-               CHILD: function(elem, match){
-                       var type = match[1], parent = elem.parentNode;
-
-                       var doneName = match[0];
-                       
-                       if ( parent && (!parent[ doneName ] || !elem.nodeIndex) ) {
-                               var count = 1;
-
-                               for ( var node = parent.firstChild; node; node = node.nextSibling ) {
-                                       if ( node.nodeType == 1 ) {
-                                               node.nodeIndex = count++;
-                                       }
-                               }
-
-                               parent[ doneName ] = count - 1;
-                       }
-
-                       if ( type == "first" ) {
-                               return elem.nodeIndex == 1;
-                       } else if ( type == "last" ) {
-                               return elem.nodeIndex == parent[ doneName ];
-                       } else if ( type == "only" ) {
-                               return parent[ doneName ] == 1;
-                       } else if ( type == "nth" ) {
-                               var add = false, first = match[2], last = match[3];
-
-                               if ( first == 1 && last == 0 ) {
-                                       return true;
-                               }
-
-                               if ( first == 0 ) {
-                                       if ( elem.nodeIndex == last ) {
-                                               add = true;
-                                       }
-                               } else if ( (elem.nodeIndex - last) % first == 0 && (elem.nodeIndex - last) / first >= 0 ) {
-                                       add = true;
-                               }
-
-                               return add;
-                       }
-               },
                PSEUDO: function(elem, match, i, array){
                        var name = match[1], filter = Expr.filters[ name ];
 
@@ -1950,6 +1955,49 @@ var Expr = Sizzle.selectors = {
                                return true;
                        }
                },
+               CHILD: function(elem, match){
+                       var type = match[1], node = elem;
+                       switch (type) {
+                               case 'only':
+                               case 'first':
+                                       while (node = node.previousSibling)  {
+                                               if ( node.nodeType === 1 ) return false;
+                                       }
+                                       if ( type == 'first') return true;
+                                       node = elem;
+                               case 'last':
+                                       while (node = node.nextSibling)  {
+                                               if ( node.nodeType === 1 ) return false;
+                                       }
+                                       return true;
+                               case 'nth':
+                                       var first = match[2], last = match[3];
+
+                                       if ( first == 1 && last == 0 ) {
+                                               return true;
+                                       }
+                                       
+                                       var doneName = match[0],
+                                               parent = elem.parentNode;
+       
+                                       if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) {
+                                               var count = 0;
+                                               for ( node = parent.firstChild; node; node = node.nextSibling ) {
+                                                       if ( node.nodeType === 1 ) {
+                                                               node.nodeIndex = ++count;
+                                                       }
+                                               } 
+                                               parent.sizcache = doneName;
+                                       }
+                                       
+                                       var diff = elem.nodeIndex - last;
+                                       if ( first == 0 ) {
+                                               return diff == 0;
+                                       } else {
+                                               return ( diff % first == 0 && diff / first >= 0 );
+                                       }
+                       }
+               },
                ID: function(elem, match){
                        return elem.nodeType === 1 && elem.getAttribute("id") === match;
                },
@@ -1957,10 +2005,20 @@ var Expr = Sizzle.selectors = {
                        return (match === "*" && elem.nodeType === 1) || elem.nodeName === match;
                },
                CLASS: function(elem, match){
-                       return match.test( elem.className );
+                       return (" " + (elem.className || elem.getAttribute("class")) + " ")
+                               .indexOf( match ) > -1;
                },
                ATTR: function(elem, match){
-                       var result = Expr.attrHandle[ match[1] ] ? Expr.attrHandle[ match[1] ]( elem ) : elem[ match[1] ] || elem.getAttribute( match[1] ), value = result + "", type = match[2], check = match[4];
+                       var name = match[1],
+                               result = Expr.attrHandle[ name ] ?
+                                       Expr.attrHandle[ name ]( elem ) :
+                                       elem[ name ] != null ?
+                                               elem[ name ] :
+                                               elem.getAttribute( name ),
+                               value = result + "",
+                               type = match[2],
+                               check = match[4];
+
                        return result == null ?
                                type === "!=" :
                                type === "=" ?
@@ -1969,8 +2027,8 @@ var Expr = Sizzle.selectors = {
                                value.indexOf(check) >= 0 :
                                type === "~=" ?
                                (" " + value + " ").indexOf(check) >= 0 :
-                               !match[4] ?
-                               result :
+                               !check ?
+                               value && result !== false :
                                type === "!=" ?
                                value != check :
                                type === "^=" ?
@@ -2036,6 +2094,39 @@ try {
        };
 }
 
+var sortOrder;
+
+if ( document.documentElement.compareDocumentPosition ) {
+       sortOrder = function( a, b ) {
+               var ret = a.compareDocumentPosition(b) & 4 ? -1 : a === b ? 0 : 1;
+               if ( ret === 0 ) {
+                       hasDuplicate = true;
+               }
+               return ret;
+       };
+} else if ( "sourceIndex" in document.documentElement ) {
+       sortOrder = function( a, b ) {
+               var ret = a.sourceIndex - b.sourceIndex;
+               if ( ret === 0 ) {
+                       hasDuplicate = true;
+               }
+               return ret;
+       };
+} else if ( document.createRange ) {
+       sortOrder = function( a, b ) {
+               var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
+               aRange.selectNode(a);
+               aRange.collapse(true);
+               bRange.selectNode(b);
+               bRange.collapse(true);
+               var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
+               if ( ret === 0 ) {
+                       hasDuplicate = true;
+               }
+               return ret;
+       };
+}
+
 // Check to see if the browser returns elements by name when
 // querying by getElementById (and provide a workaround)
 (function(){
@@ -2099,7 +2190,8 @@ try {
 
        // Check to see if an attribute returns normalized href attributes
        div.innerHTML = "<a href='#'></a>";
-       if ( div.firstChild && div.firstChild.getAttribute("href") !== "#" ) {
+       if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" &&
+                       div.firstChild.getAttribute("href") !== "#" ) {
                Expr.attrHandle.href = function(elem){
                        return elem.getAttribute("href", 2);
                };
@@ -2136,29 +2228,50 @@ if ( document.querySelectorAll ) (function(){
        Sizzle.matches = oldSizzle.matches;
 })();
 
-if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) {
+if ( document.getElementsByClassName && document.documentElement.getElementsByClassName ) (function(){
+       var div = document.createElement("div");
+       div.innerHTML = "<div class='test e'></div><div class='test'></div>";
+
+       // Opera can't find a second classname (in 9.6)
+       if ( div.getElementsByClassName("e").length === 0 )
+               return;
+
+       // Safari caches class attributes, doesn't catch changes (in 3.2)
+       div.lastChild.className = "e";
+
+       if ( div.getElementsByClassName("e").length === 1 )
+               return;
+
        Expr.order.splice(1, 0, "CLASS");
-       Expr.find.CLASS = function(match, context) {
-               return context.getElementsByClassName(match[1]);
+       Expr.find.CLASS = function(match, context, isXML) {
+               if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) {
+                       return context.getElementsByClassName(match[1]);
+               }
        };
-}
+})();
 
 function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+       var sibDir = dir == "previousSibling" && !isXML;
        for ( var i = 0, l = checkSet.length; i < l; i++ ) {
                var elem = checkSet[i];
                if ( elem ) {
+                       if ( sibDir && elem.nodeType === 1 ){
+                               elem.sizcache = doneName;
+                               elem.sizset = i;
+                       }
                        elem = elem[dir];
                        var match = false;
 
-                       while ( elem && elem.nodeType ) {
-                               var done = elem[doneName];
-                               if ( done ) {
-                                       match = checkSet[ done ];
+                       while ( elem ) {
+                               if ( elem.sizcache === doneName ) {
+                                       match = checkSet[elem.sizset];
                                        break;
                                }
 
-                               if ( elem.nodeType === 1 && !isXML )
-                                       elem[doneName] = i;
+                               if ( elem.nodeType === 1 && !isXML ){
+                                       elem.sizcache = doneName;
+                                       elem.sizset = i;
+                               }
 
                                if ( elem.nodeName === cur ) {
                                        match = elem;
@@ -2174,22 +2287,28 @@ function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
 }
 
 function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
+       var sibDir = dir == "previousSibling" && !isXML;
        for ( var i = 0, l = checkSet.length; i < l; i++ ) {
                var elem = checkSet[i];
                if ( elem ) {
+                       if ( sibDir && elem.nodeType === 1 ) {
+                               elem.sizcache = doneName;
+                               elem.sizset = i;
+                       }
                        elem = elem[dir];
                        var match = false;
 
-                       while ( elem && elem.nodeType ) {
-                               if ( elem[doneName] ) {
-                                       match = checkSet[ elem[doneName] ];
+                       while ( elem ) {
+                               if ( elem.sizcache === doneName ) {
+                                       match = checkSet[elem.sizset];
                                        break;
                                }
 
                                if ( elem.nodeType === 1 ) {
-                                       if ( !isXML )
-                                               elem[doneName] = i;
-
+                                       if ( !isXML ) {
+                                               elem.sizcache = doneName;
+                                               elem.sizset = i;
+                                       }
                                        if ( typeof cur !== "string" ) {
                                                if ( elem === cur ) {
                                                        match = true;
@@ -2248,15 +2367,11 @@ jQuery.expr = Sizzle.selectors;
 jQuery.expr[":"] = jQuery.expr.filters;
 
 Sizzle.selectors.filters.hidden = function(elem){
-       return "hidden" === elem.type ||
-               jQuery.css(elem, "display") === "none" ||
-               jQuery.css(elem, "visibility") === "hidden";
+       return elem.offsetWidth === 0 || elem.offsetHeight === 0;
 };
 
 Sizzle.selectors.filters.visible = function(elem){
-       return "hidden" !== elem.type &&
-               jQuery.css(elem, "display") !== "none" &&
-               jQuery.css(elem, "visibility") !== "hidden";
+       return elem.offsetWidth > 0 || elem.offsetHeight > 0;
 };
 
 Sizzle.selectors.filters.animated = function(elem){
@@ -2552,7 +2667,8 @@ jQuery.event = {
                var all, handlers;
 
                event = arguments[0] = jQuery.event.fix( event || window.event );
-
+               event.currentTarget = this;
+               
                // Namespaced event handlers
                var namespaces = event.type.split(".");
                event.type = namespaces.shift();
@@ -2883,9 +2999,13 @@ function liveHandler( event ){
                }
        });
 
+       elems.sort(function(a,b) {
+               return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, "closest");
+       });
+       
        jQuery.each(elems, function(){
                if ( this.fn.call(this.elem, event, this.fn.data) === false )
-                       stop = false;
+                       return (stop = false);
        });
 
        return stop;
@@ -2949,7 +3069,7 @@ function bindReady(){
 
                // If IE and not an iframe
                // continually check to see if the document is ready
-               if ( document.documentElement.doScroll && typeof window.frameElement === "undefined" ) (function(){
+               if ( document.documentElement.doScroll && window == window.top ) (function(){
                        if ( jQuery.isReady ) return;
 
                        try {
@@ -3079,12 +3199,11 @@ jQuery( window ).bind( 'unload', function(){
        // document.body must exist before we can do this
        jQuery(function(){
                var div = document.createElement("div");
-               div.style.width = "1px";
-               div.style.paddingLeft = "1px";
+               div.style.width = div.style.paddingLeft = "1px";
 
                document.body.appendChild( div );
                jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
-               document.body.removeChild( div );
+               document.body.removeChild( div ).style.display = 'none';
        });
 })();
 
@@ -3175,7 +3294,7 @@ jQuery.fn.extend({
                .filter(function(){
                        return this.name && !this.disabled &&
                                (this.checked || /select|textarea/i.test(this.nodeName) ||
-                                       /text|hidden|password/i.test(this.type));
+                                       /text|hidden|password|search/i.test(this.type));
                })
                .map(function(i, elem){
                        var val = jQuery(this).val();
@@ -3371,6 +3490,9 @@ jQuery.extend({
                                                done = true;
                                                success();
                                                complete();
+
+                                               // Handle memory leak in IE
+                                               script.onload = script.onreadystatechange = null;
                                                head.removeChild( script );
                                        }
                                };
@@ -3686,9 +3808,15 @@ jQuery.fn.extend({
                                                elemdisplay[ tagName ] = display;
                                        }
                                        
-                                       this[i].style.display = jQuery.data(this[i], "olddisplay", display);
+                                       jQuery.data(this[i], "olddisplay", display);
                                }
                        }
+
+                       // Set the display of the elements in a second loop
+                       // to avoid the constant reflow
+                       for ( var i = 0, l = this.length; i < l; i++ ){
+                               this[i].style.display = jQuery.data(this[i], "olddisplay") || "";
+                       }
                        
                        return this;
                }
@@ -3702,8 +3830,14 @@ jQuery.fn.extend({
                                var old = jQuery.data(this[i], "olddisplay");
                                if ( !old && old !== "none" )
                                        jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
+                       }
+
+                       // Set the display of the elements in a second loop
+                       // to avoid the constant reflow
+                       for ( var i = 0, l = this.length; i < l; i++ ){
                                this[i].style.display = "none";
                        }
+
                        return this;
                }
        },
@@ -3915,7 +4049,7 @@ jQuery.fx.prototype = {
 
                t.elem = this.elem;
 
-               if ( t() && jQuery.timers.push(t) == 1 ) {
+               if ( t() && jQuery.timers.push(t) && !timerId ) {
                        timerId = setInterval(function(){
                                var timers = jQuery.timers;
 
@@ -3925,6 +4059,7 @@ jQuery.fx.prototype = {
 
                                if ( !timers.length ) {
                                        clearInterval( timerId );
+                                       timerId = undefined;
                                }
                        }, 13);
                }
@@ -4193,22 +4328,21 @@ jQuery.each( ['Left', 'Top'], function(i, name) {
 jQuery.each([ "Height", "Width" ], function(i, name){
 
        var tl = i ? "Left"  : "Top",  // top or left
-               br = i ? "Right" : "Bottom"; // bottom or right
+               br = i ? "Right" : "Bottom", // bottom or right
+               lower = name.toLowerCase();
 
        // innerHeight and innerWidth
        jQuery.fn["inner" + name] = function(){
-               return this[ name.toLowerCase() ]() +
-                       num(this, "padding" + tl) +
-                       num(this, "padding" + br);
+               return this[0] ?
+                       jQuery.css( this[0], lower, false, "padding" ) :
+                       null;
        };
 
        // outerHeight and outerWidth
        jQuery.fn["outer" + name] = function(margin) {
-               return this["inner" + name]() +
-                       num(this, "border" + tl + "Width") +
-                       num(this, "border" + br + "Width") +
-                       (margin ?
-                               num(this, "margin" + tl) + num(this, "margin" + br) : 0);
+               return this[0] ?
+                       jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :
+                       null;
        };
        
        var type = name.toLowerCase();
@@ -4238,4 +4372,5 @@ jQuery.each([ "Height", "Width" ], function(i, name){
                                        this.css( type, typeof size === "string" ? size : size + "px" );
        };
 
-});})();
+});
+})();
index c327fae812b1a9420c4423d62b0be0fdc6ca9564..b1ae21d8b23f25359f21b6c69f0eb2dd29016466 100644 (file)
@@ -1,19 +1,19 @@
 /*
- * jQuery JavaScript Library v1.3.1
+ * jQuery JavaScript Library v1.3.2
  * http://jquery.com/
  *
  * Copyright (c) 2009 John Resig
  * Dual licensed under the MIT and GPL licenses.
  * http://docs.jquery.com/License
  *
- * Date: 2009-01-21 20:42:16 -0500 (Wed, 21 Jan 2009)
- * Revision: 6158
+ * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
+ * Revision: 6246
  */
-(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.makeArray(E))},selector:"",jquery:"1.3.1",size:function(){return this.length},get:function(E){return E===g?o.makeArray(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,find:function(E){if(this.length===1&&!/,/.test(E)){var G=this.pushStack([],"find",E);G.length=0;o.find(E,this[0],G);return G}else{var F=o.map(this,function(H){return o.find(E,H)});return this.pushStack(/[^+>] [^+>]/.test(E)?o.unique(F):F,"find",E)}},clone:function(F){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.cloneNode(true),H=document.createElement("div");H.appendChild(I);return o.clean([H.innerHTML])[0]}else{return this.cloneNode(true)}});var G=E.find("*").andSelf().each(function(){if(this[h]!==g){this[h]=null}});if(F===true){this.find("*").andSelf().each(function(I){if(this.nodeType==3){return}var H=o.data(this,"events");for(var K in H){for(var J in H[K]){o.event.add(G[I],K,H[K][J],H[K][J].data)}}})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var F=o.expr.match.POS.test(E)?o(E):null;return this.map(function(){var G=this;while(G&&G.ownerDocument){if(F?F.index(G)>-1:o(G).is(E)){return G}G=G.parentNode}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML:null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(K,N,M){if(this[0]){var J=(this[0].ownerDocument||this[0]).createDocumentFragment(),G=o.clean(K,(this[0].ownerDocument||this[0]),J),I=J.firstChild,E=this.length>1?J.cloneNode(true):J;if(I){for(var H=0,F=this.length;H<F;H++){M.call(L(this[H],I),H>0?E.cloneNode(true):J)}}if(G){o.each(G,z)}}return this;function L(O,P){return N&&o.nodeName(O,"table")&&o.nodeName(P,"tr")?(O.getElementsByTagName("tbody")[0]||O.appendChild(O.ownerDocument.createElement("tbody"))):O}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){G=o.trim(G);if(G){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(G,E,I){if(E=="width"||E=="height"){var K,F={position:"absolute",visibility:"hidden",display:"block"},J=E=="width"?["Left","Right"]:["Top","Bottom"];function H(){K=E=="width"?G.offsetWidth:G.offsetHeight;var M=0,L=0;o.each(J,function(){M+=parseFloat(o.curCSS(G,"padding"+this,true))||0;L+=parseFloat(o.curCSS(G,"border"+this+"Width",true))||0});K-=Math.round(M+L)}if(o(G).is(":visible")){H()}else{o.swap(G,F,H)}return Math.max(0,K)}return o.curCSS(G,E,I)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,R){if(typeof R==="number"){R+=""}if(!R){return}if(typeof R==="string"){R=R.replace(/(<(\w+)[^>]*?)\/>/g,function(T,U,S){return S.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?T:U+"></"+S+">"});var O=o.trim(R).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+R+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var N=!O.indexOf("<table")&&O.indexOf("<tbody")<0?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&O.indexOf("<tbody")<0?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(R)){L.insertBefore(K.createTextNode(R.match(/^\s*/)[0]),L.firstChild)}R=o.makeArray(L.childNodes)}if(R.nodeType){G.push(R)}else{G=o.merge(G,R)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(){var G=arguments;return this.each(function(){for(var H=0,I=G.length;H<I;H++){o(G[H])[F](this)}})}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(">*",this).remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
+(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F<J;F++){var G=M[F];if(G.selected){K=o(G).val();if(H){return K}L.push(K)}}return L}return(E.value||"").replace(/\r/g,"")}return g}if(typeof K==="number"){K+=""}return this.each(function(){if(this.nodeType!=1){return}if(o.isArray(K)&&/radio|checkbox/.test(this.type)){this.checked=(o.inArray(this.value,K)>=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G<E;G++){L.call(K(this[G],H),this.length>1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H<I;H++){if((G=arguments[H])!=null){for(var F in G){var K=J[F],L=G[F];if(J===L){continue}if(E&&L&&typeof L==="object"&&!L.nodeType){J[F]=o.extend(E,K||(L.length!=null?[]:{}),L)}else{if(L!==g){J[F]=L}}}}}return J};var b=/z-?index|font-?weight|opacity|zoom|line-?height/i,q=document.defaultView||{},s=Object.prototype.toString;o.extend({noConflict:function(E){l.$=p;if(E){l.jQuery=y}return o},isFunction:function(E){return s.call(E)==="[object Function]"},isArray:function(E){return s.call(E)==="[object Array]"},isXMLDoc:function(E){return E.nodeType===9&&E.documentElement.nodeName!=="HTML"||!!E.ownerDocument&&o.isXMLDoc(E.ownerDocument)},globalEval:function(G){if(G&&/\S/.test(G)){var F=document.getElementsByTagName("head")[0]||document.documentElement,E=document.createElement("script");E.type="text/javascript";if(o.support.scriptEval){E.appendChild(document.createTextNode(G))}else{E.text=G}F.insertBefore(E,F.firstChild);F.removeChild(E)}},nodeName:function(F,E){return F.nodeName&&F.nodeName.toUpperCase()==E.toUpperCase()},each:function(G,K,F){var E,H=0,I=G.length;if(F){if(I===g){for(E in G){if(K.apply(G[E],F)===false){break}}}else{for(;H<I;){if(K.apply(G[H++],F)===false){break}}}}else{if(I===g){for(E in G){if(K.call(G[E],E,G[E])===false){break}}}else{for(var J=G[0];H<I&&K.call(J,H,J)!==false;J=G[++H]){}}}return G},prop:function(H,I,G,F,E){if(o.isFunction(I)){I=I.call(H,F)}return typeof I==="number"&&G=="curCSS"&&!b.test(E)?I+"px":I},className:{add:function(E,F){o.each((F||"").split(/\s+/),function(G,H){if(E.nodeType==1&&!o.className.has(E.className,H)){E.className+=(E.className?" ":"")+H}})},remove:function(E,F){if(E.nodeType==1){E.className=F!==g?o.grep(E.className.split(/\s+/),function(G){return !o.className.has(F,G)}).join(" "):""}},has:function(F,E){return F&&o.inArray(E,(F.className||F).toString().split(/\s+/))>-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+"></"+T+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!O.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!O.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!O.indexOf("<td")||!O.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!O.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||!o.support.htmlSerialize&&[1,"div<div>","</div>"]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/<tbody/i.test(S),N=!O.indexOf("<table")&&!R?L.firstChild&&L.firstChild.childNodes:Q[1]=="<table>"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E<F;E++){if(H[E]===G){return E}}return -1},merge:function(H,E){var F=0,G,I=H.length;if(!o.support.getAll){while((G=E[F++])!=null){if(G.nodeType!=8){H[I++]=G}}}else{while((G=E[F++])!=null){H[I++]=G}}return H},unique:function(K){var F=[],E={};try{for(var G=0,H=K.length;G<H;G++){var J=o.data(K[G]);if(!E[J]){E[J]=true;F.push(K[G])}}}catch(I){F=K}return F},grep:function(F,J,E){var G=[];for(var H=0,I=F.length;H<I;H++){if(!E!=!J(F[H],H)){G.push(F[H])}}return G},map:function(E,J){var F=[];for(var G=0,H=E.length;G<H;G++){var I=J(E[G],G);if(I!=null){F[F.length]=I}}return F.concat.apply([],F)}});var C=navigator.userAgent.toLowerCase();o.browser={version:(C.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1],safari:/webkit/.test(C),opera:/opera/.test(C),msie:/msie/.test(C)&&!/opera/.test(C),mozilla:/mozilla/.test(C)&&!/(compatible|webkit)/.test(C)};o.each({parent:function(E){return E.parentNode},parents:function(E){return o.dir(E,"parentNode")},next:function(E){return o.nth(E,2,"nextSibling")},prev:function(E){return o.nth(E,2,"previousSibling")},nextAll:function(E){return o.dir(E,"nextSibling")},prevAll:function(E){return o.dir(E,"previousSibling")},siblings:function(E){return o.sibling(E.parentNode.firstChild,E)},children:function(E){return o.sibling(E.firstChild)},contents:function(E){return o.nodeName(E,"iframe")?E.contentDocument||E.contentWindow.document:o.makeArray(E.childNodes)}},function(E,F){o.fn[E]=function(G){var H=o.map(this,F);if(G&&typeof G=="string"){H=o.multiFilter(G,H)}return this.pushStack(o.unique(H),E,G)}});o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(E,F){o.fn[E]=function(G){var J=[],L=o(G);for(var K=0,H=L.length;K<H;K++){var I=(K>0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}});
 /*
  * Sizzle CSS Selector Engine - v0.9.3
  *  Copyright 2009, The Dojo Foundation
  *  Released under the MIT, BSD, and GPL Licenses.
  *  More information: http://sizzlejs.com/
  */
-(function(){var Q=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,K=0,G=Object.prototype.toString;var F=function(X,T,aa,ab){aa=aa||[];T=T||document;if(T.nodeType!==1&&T.nodeType!==9){return[]}if(!X||typeof X!=="string"){return aa}var Y=[],V,ae,ah,S,ac,U,W=true;Q.lastIndex=0;while((V=Q.exec(X))!==null){Y.push(V[1]);if(V[2]){U=RegExp.rightContext;break}}if(Y.length>1&&L.exec(X)){if(Y.length===2&&H.relative[Y[0]]){ae=I(Y[0]+Y[1],T)}else{ae=H.relative[Y[0]]?[T]:F(Y.shift(),T);while(Y.length){X=Y.shift();if(H.relative[X]){X+=Y.shift()}ae=I(X,ae)}}}else{var ad=ab?{expr:Y.pop(),set:E(ab)}:F.find(Y.pop(),Y.length===1&&T.parentNode?T.parentNode:T,P(T));ae=F.filter(ad.expr,ad.set);if(Y.length>0){ah=E(ae)}else{W=false}while(Y.length){var ag=Y.pop(),af=ag;if(!H.relative[ag]){ag=""}else{af=Y.pop()}if(af==null){af=T}H.relative[ag](ah,af,P(T))}}if(!ah){ah=ae}if(!ah){throw"Syntax error, unrecognized expression: "+(ag||X)}if(G.call(ah)==="[object Array]"){if(!W){aa.push.apply(aa,ah)}else{if(T.nodeType===1){for(var Z=0;ah[Z]!=null;Z++){if(ah[Z]&&(ah[Z]===true||ah[Z].nodeType===1&&J(T,ah[Z]))){aa.push(ae[Z])}}}else{for(var Z=0;ah[Z]!=null;Z++){if(ah[Z]&&ah[Z].nodeType===1){aa.push(ae[Z])}}}}}else{E(ah,aa)}if(U){F(U,T,aa,ab)}return aa};F.matches=function(S,T){return F(S,null,null,T)};F.find=function(Z,S,aa){var Y,W;if(!Z){return[]}for(var V=0,U=H.order.length;V<U;V++){var X=H.order[V],W;if((W=H.match[X].exec(Z))){var T=RegExp.leftContext;if(T.substr(T.length-1)!=="\\"){W[1]=(W[1]||"").replace(/\\/g,"");Y=H.find[X](W,S,aa);if(Y!=null){Z=Z.replace(H.match[X],"");break}}}}if(!Y){Y=S.getElementsByTagName("*")}return{set:Y,expr:Z}};F.filter=function(ab,aa,ae,V){var U=ab,ag=[],Y=aa,X,S;while(ab&&aa.length){for(var Z in H.filter){if((X=H.match[Z].exec(ab))!=null){var T=H.filter[Z],af,ad;S=false;if(Y==ag){ag=[]}if(H.preFilter[Z]){X=H.preFilter[Z](X,Y,ae,ag,V);if(!X){S=af=true}else{if(X===true){continue}}}if(X){for(var W=0;(ad=Y[W])!=null;W++){if(ad){af=T(ad,X,W,Y);var ac=V^!!af;if(ae&&af!=null){if(ac){S=true}else{Y[W]=false}}else{if(ac){ag.push(ad);S=true}}}}}if(af!==g){if(!ae){Y=ag}ab=ab.replace(H.match[Z],"");if(!S){return[]}break}}}ab=ab.replace(/\s*,\s*/,"");if(ab==U){if(S==null){throw"Syntax error, unrecognized expression: "+ab}else{break}}U=ab}return Y};var H=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(S){return S.getAttribute("href")}},relative:{"+":function(W,T){for(var U=0,S=W.length;U<S;U++){var V=W[U];if(V){var X=V.previousSibling;while(X&&X.nodeType!==1){X=X.previousSibling}W[U]=typeof T==="string"?X||false:X===T}}if(typeof T==="string"){F.filter(T,W,true)}},">":function(X,T,Y){if(typeof T==="string"&&!/\W/.test(T)){T=Y?T:T.toUpperCase();for(var U=0,S=X.length;U<S;U++){var W=X[U];if(W){var V=W.parentNode;X[U]=V.nodeName===T?V:false}}}else{for(var U=0,S=X.length;U<S;U++){var W=X[U];if(W){X[U]=typeof T==="string"?W.parentNode:W.parentNode===T}}if(typeof T==="string"){F.filter(T,X,true)}}},"":function(V,T,X){var U="done"+(K++),S=R;if(!T.match(/\W/)){var W=T=X?T:T.toUpperCase();S=O}S("parentNode",T,U,V,W,X)},"~":function(V,T,X){var U="done"+(K++),S=R;if(typeof T==="string"&&!T.match(/\W/)){var W=T=X?T:T.toUpperCase();S=O}S("previousSibling",T,U,V,W,X)}},find:{ID:function(T,U,V){if(typeof U.getElementById!=="undefined"&&!V){var S=U.getElementById(T[1]);return S?[S]:[]}},NAME:function(S,T,U){if(typeof T.getElementsByName!=="undefined"&&!U){return T.getElementsByName(S[1])}},TAG:function(S,T){return T.getElementsByTagName(S[1])}},preFilter:{CLASS:function(V,T,U,S,Y){V=" "+V[1].replace(/\\/g,"")+" ";var X;for(var W=0;(X=T[W])!=null;W++){if(X){if(Y^(" "+X.className+" ").indexOf(V)>=0){if(!U){S.push(X)}}else{if(U){T[W]=false}}}}return false},ID:function(S){return S[1].replace(/\\/g,"")},TAG:function(T,S){for(var U=0;S[U]===false;U++){}return S[U]&&P(S[U])?T[1]:T[1].toUpperCase()},CHILD:function(S){if(S[1]=="nth"){var T=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(S[2]=="even"&&"2n"||S[2]=="odd"&&"2n+1"||!/\D/.test(S[2])&&"0n+"+S[2]||S[2]);S[2]=(T[1]+(T[2]||1))-0;S[3]=T[3]-0}S[0]="done"+(K++);return S},ATTR:function(T){var S=T[1].replace(/\\/g,"");if(H.attrMap[S]){T[1]=H.attrMap[S]}if(T[2]==="~="){T[4]=" "+T[4]+" "}return T},PSEUDO:function(W,T,U,S,X){if(W[1]==="not"){if(W[3].match(Q).length>1){W[3]=F(W[3],null,null,T)}else{var V=F.filter(W[3],T,U,true^X);if(!U){S.push.apply(S,V)}return false}}else{if(H.match.POS.test(W[0])){return true}}return W},POS:function(S){S.unshift(true);return S}},filters:{enabled:function(S){return S.disabled===false&&S.type!=="hidden"},disabled:function(S){return S.disabled===true},checked:function(S){return S.checked===true},selected:function(S){S.parentNode.selectedIndex;return S.selected===true},parent:function(S){return !!S.firstChild},empty:function(S){return !S.firstChild},has:function(U,T,S){return !!F(S[3],U).length},header:function(S){return/h\d/i.test(S.nodeName)},text:function(S){return"text"===S.type},radio:function(S){return"radio"===S.type},checkbox:function(S){return"checkbox"===S.type},file:function(S){return"file"===S.type},password:function(S){return"password"===S.type},submit:function(S){return"submit"===S.type},image:function(S){return"image"===S.type},reset:function(S){return"reset"===S.type},button:function(S){return"button"===S.type||S.nodeName.toUpperCase()==="BUTTON"},input:function(S){return/input|select|textarea|button/i.test(S.nodeName)}},setFilters:{first:function(T,S){return S===0},last:function(U,T,S,V){return T===V.length-1},even:function(T,S){return S%2===0},odd:function(T,S){return S%2===1},lt:function(U,T,S){return T<S[3]-0},gt:function(U,T,S){return T>S[3]-0},nth:function(U,T,S){return S[3]-0==T},eq:function(U,T,S){return S[3]-0==T}},filter:{CHILD:function(S,V){var Y=V[1],Z=S.parentNode;var X=V[0];if(Z&&(!Z[X]||!S.nodeIndex)){var W=1;for(var T=Z.firstChild;T;T=T.nextSibling){if(T.nodeType==1){T.nodeIndex=W++}}Z[X]=W-1}if(Y=="first"){return S.nodeIndex==1}else{if(Y=="last"){return S.nodeIndex==Z[X]}else{if(Y=="only"){return Z[X]==1}else{if(Y=="nth"){var ab=false,U=V[2],aa=V[3];if(U==1&&aa==0){return true}if(U==0){if(S.nodeIndex==aa){ab=true}}else{if((S.nodeIndex-aa)%U==0&&(S.nodeIndex-aa)/U>=0){ab=true}}return ab}}}}},PSEUDO:function(Y,U,V,Z){var T=U[1],W=H.filters[T];if(W){return W(Y,V,U,Z)}else{if(T==="contains"){return(Y.textContent||Y.innerText||"").indexOf(U[3])>=0}else{if(T==="not"){var X=U[3];for(var V=0,S=X.length;V<S;V++){if(X[V]===Y){return false}}return true}}}},ID:function(T,S){return T.nodeType===1&&T.getAttribute("id")===S},TAG:function(T,S){return(S==="*"&&T.nodeType===1)||T.nodeName===S},CLASS:function(T,S){return S.test(T.className)},ATTR:function(W,U){var S=H.attrHandle[U[1]]?H.attrHandle[U[1]](W):W[U[1]]||W.getAttribute(U[1]),X=S+"",V=U[2],T=U[4];return S==null?V==="!=":V==="="?X===T:V==="*="?X.indexOf(T)>=0:V==="~="?(" "+X+" ").indexOf(T)>=0:!U[4]?S:V==="!="?X!=T:V==="^="?X.indexOf(T)===0:V==="$="?X.substr(X.length-T.length)===T:V==="|="?X===T||X.substr(0,T.length+1)===T+"-":false},POS:function(W,T,U,X){var S=T[2],V=H.setFilters[S];if(V){return V(W,U,T,X)}}}};var L=H.match.POS;for(var N in H.match){H.match[N]=RegExp(H.match[N].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(T,S){T=Array.prototype.slice.call(T);if(S){S.push.apply(S,T);return S}return T};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(M){E=function(W,V){var T=V||[];if(G.call(W)==="[object Array]"){Array.prototype.push.apply(T,W)}else{if(typeof W.length==="number"){for(var U=0,S=W.length;U<S;U++){T.push(W[U])}}else{for(var U=0;W[U];U++){T.push(W[U])}}}return T}}(function(){var T=document.createElement("form"),U="script"+(new Date).getTime();T.innerHTML="<input name='"+U+"'/>";var S=document.documentElement;S.insertBefore(T,S.firstChild);if(!!document.getElementById(U)){H.find.ID=function(W,X,Y){if(typeof X.getElementById!=="undefined"&&!Y){var V=X.getElementById(W[1]);return V?V.id===W[1]||typeof V.getAttributeNode!=="undefined"&&V.getAttributeNode("id").nodeValue===W[1]?[V]:g:[]}};H.filter.ID=function(X,V){var W=typeof X.getAttributeNode!=="undefined"&&X.getAttributeNode("id");return X.nodeType===1&&W&&W.nodeValue===V}}S.removeChild(T)})();(function(){var S=document.createElement("div");S.appendChild(document.createComment(""));if(S.getElementsByTagName("*").length>0){H.find.TAG=function(T,X){var W=X.getElementsByTagName(T[1]);if(T[1]==="*"){var V=[];for(var U=0;W[U];U++){if(W[U].nodeType===1){V.push(W[U])}}W=V}return W}}S.innerHTML="<a href='#'></a>";if(S.firstChild&&S.firstChild.getAttribute("href")!=="#"){H.attrHandle.href=function(T){return T.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var S=F,T=document.createElement("div");T.innerHTML="<p class='TEST'></p>";if(T.querySelectorAll&&T.querySelectorAll(".TEST").length===0){return}F=function(X,W,U,V){W=W||document;if(!V&&W.nodeType===9&&!P(W)){try{return E(W.querySelectorAll(X),U)}catch(Y){}}return S(X,W,U,V)};F.find=S.find;F.filter=S.filter;F.selectors=S.selectors;F.matches=S.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){H.order.splice(1,0,"CLASS");H.find.CLASS=function(S,T){return T.getElementsByClassName(S[1])}}function O(T,Z,Y,ac,aa,ab){for(var W=0,U=ac.length;W<U;W++){var S=ac[W];if(S){S=S[T];var X=false;while(S&&S.nodeType){var V=S[Y];if(V){X=ac[V];break}if(S.nodeType===1&&!ab){S[Y]=W}if(S.nodeName===Z){X=S;break}S=S[T]}ac[W]=X}}}function R(T,Y,X,ab,Z,aa){for(var V=0,U=ab.length;V<U;V++){var S=ab[V];if(S){S=S[T];var W=false;while(S&&S.nodeType){if(S[X]){W=ab[S[X]];break}if(S.nodeType===1){if(!aa){S[X]=V}if(typeof Y!=="string"){if(S===Y){W=true;break}}else{if(F.filter(Y,[S]).length>0){W=S;break}}}S=S[T]}ab[V]=W}}}var J=document.compareDocumentPosition?function(T,S){return T.compareDocumentPosition(S)&16}:function(T,S){return T!==S&&(T.contains?T.contains(S):true)};var P=function(S){return S.nodeType===9&&S.documentElement.nodeName!=="HTML"||!!S.ownerDocument&&P(S.ownerDocument)};var I=function(S,Z){var V=[],W="",X,U=Z.nodeType?[Z]:Z;while((X=H.match.PSEUDO.exec(S))){W+=X[0];S=S.replace(H.match.PSEUDO,"")}S=H.relative[S]?S+"*":S;for(var Y=0,T=U.length;Y<T;Y++){F(S,U[Y],V)}return F.filter(W,V)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(S){return"hidden"===S.type||o.css(S,"display")==="none"||o.css(S,"visibility")==="hidden"};F.selectors.filters.visible=function(S){return"hidden"!==S.type&&o.css(S,"display")!=="none"&&o.css(S,"visibility")!=="hidden"};F.selectors.filters.animated=function(S){return o.grep(o.timers,function(T){return S===T.elem}).length};o.multiFilter=function(U,S,T){if(T){U=":not("+U+")"}return F.matches(U,S)};o.dir=function(U,T){var S=[],V=U[T];while(V&&V!=document){if(V.nodeType==1){S.push(V)}V=V[T]}return S};o.nth=function(W,S,U,V){S=S||1;var T=0;for(;W;W=W[U]){if(W.nodeType==1&&++T==S){break}}return W};o.sibling=function(U,T){var S=[];for(;U;U=U.nextSibling){if(U.nodeType==1&&U!=T){S.push(U)}}return S};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){G=false}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&typeof l.frameElement==="undefined"){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width="1px";L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L)})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}this[H].style.display=o.data(this[H],"olddisplay",K)}}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)==1){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n)}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(H,F){var E=H?"Left":"Top",G=H?"Right":"Bottom";o.fn["inner"+F]=function(){return this[F.toLowerCase()]()+j(this,"padding"+E)+j(this,"padding"+G)};o.fn["outer"+F]=function(J){return this["inner"+F]()+j(this,"border"+E+"Width")+j(this,"border"+G+"Width")+(J?j(this,"margin"+E)+j(this,"margin"+G):0)};var I=F.toLowerCase();o.fn[I]=function(J){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+F]||document.body["client"+F]:this[0]==document?Math.max(document.documentElement["client"+F],document.body["scroll"+F],document.documentElement["scroll"+F],document.body["offset"+F],document.documentElement["offset"+F]):J===g?(this.length?o.css(this[0],I):null):this.css(I,typeof J==="string"?J:J+"px")}})})();
\ No newline at end of file
+(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa<ab.length;aa++){if(ab[aa]===ab[aa-1]){ab.splice(aa--,1)}}}}}return ab};F.matches=function(T,U){return F(T,null,null,U)};F.find=function(aa,T,ab){var Z,X;if(!aa){return[]}for(var W=0,V=I.order.length;W<V;W++){var Y=I.order[W],X;if((X=I.match[Y].exec(aa))){var U=RegExp.leftContext;if(U.substr(U.length-1)!=="\\"){X[1]=(X[1]||"").replace(/\\/g,"");Z=I.find[Y](X,T,ab);if(Z!=null){aa=aa.replace(I.match[Y],"");break}}}}if(!Z){Z=T.getElementsByTagName("*")}return{set:Z,expr:aa}};F.filter=function(ad,ac,ag,W){var V=ad,ai=[],aa=ac,Y,T,Z=ac&&ac[0]&&Q(ac[0]);while(ad&&ac.length){for(var ab in I.filter){if((Y=I.match[ab].exec(ad))!=null){var U=I.filter[ab],ah,af;T=false;if(aa==ai){ai=[]}if(I.preFilter[ab]){Y=I.preFilter[ab](Y,aa,ag,ai,W,Z);if(!Y){T=ah=true}else{if(Y===true){continue}}}if(Y){for(var X=0;(af=aa[X])!=null;X++){if(af){ah=U(af,Y,X,aa);var ae=W^!!ah;if(ag&&ah!=null){if(ae){T=true}else{aa[X]=false}}else{if(ae){ai.push(af);T=true}}}}}if(ah!==g){if(!ag){aa=ai}ad=ad.replace(I.match[ab],"");if(!T){return[]}break}}}if(ad==V){if(T==null){throw"Syntax error, unrecognized expression: "+ad}else{break}}V=ad}return aa};var I=F.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(T){return T.getAttribute("href")}},relative:{"+":function(aa,T,Z){var X=typeof T==="string",ab=X&&!/\W/.test(T),Y=X&&!ab;if(ab&&!Z){T=T.toUpperCase()}for(var W=0,V=aa.length,U;W<V;W++){if((U=aa[W])){while((U=U.previousSibling)&&U.nodeType!==1){}aa[W]=Y||U&&U.nodeName===T?U||false:U===T}}if(Y){F.filter(T,aa,true)}},">":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){var W=Y.parentNode;Z[V]=W.nodeName===U?W:false}}}else{for(var V=0,T=Z.length;V<T;V++){var Y=Z[V];if(Y){Z[V]=X?Y.parentNode:Y.parentNode===U}}if(X){F.filter(U,Z,true)}}},"":function(W,U,Y){var V=L++,T=S;if(!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("parentNode",U,V,W,X,Y)},"~":function(W,U,Y){var V=L++,T=S;if(typeof U==="string"&&!U.match(/\W/)){var X=U=Y?U:U.toUpperCase();T=P}T("previousSibling",U,V,W,X,Y)}},find:{ID:function(U,V,W){if(typeof V.getElementById!=="undefined"&&!W){var T=V.getElementById(U[1]);return T?[T]:[]}},NAME:function(V,Y,Z){if(typeof Y.getElementsByName!=="undefined"){var U=[],X=Y.getElementsByName(V[1]);for(var W=0,T=X.length;W<T;W++){if(X[W].getAttribute("name")===V[1]){U.push(X[W])}}return U.length===0?null:U}},TAG:function(T,U){return U.getElementsByTagName(T[1])}},preFilter:{CLASS:function(W,U,V,T,Z,aa){W=" "+W[1].replace(/\\/g,"")+" ";if(aa){return W}for(var X=0,Y;(Y=U[X])!=null;X++){if(Y){if(Z^(Y.className&&(" "+Y.className+" ").indexOf(W)>=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return U<T[3]-0},gt:function(V,U,T){return U>T[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W<T;W++){if(Y[W]===Z){return false}}return true}}}},CHILD:function(T,W){var Z=W[1],U=T;switch(Z){case"only":case"first":while(U=U.previousSibling){if(U.nodeType===1){return false}}if(Z=="first"){return true}U=T;case"last":while(U=U.nextSibling){if(U.nodeType===1){return false}}return true;case"nth":var V=W[2],ac=W[3];if(V==1&&ac==0){return true}var Y=W[0],ab=T.parentNode;if(ab&&(ab.sizcache!==Y||!T.nodeIndex)){var X=0;for(U=ab.firstChild;U;U=U.nextSibling){if(U.nodeType===1){U.nodeIndex=++X}}ab.sizcache=Y}var aa=T.nodeIndex-ac;if(V==0){return aa==0}else{return(aa%V==0&&aa/V>=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V<T;V++){U.push(X[V])}}else{for(var V=0;X[V];V++){U.push(X[V])}}}return U}}var G;if(document.documentElement.compareDocumentPosition){G=function(U,T){var V=U.compareDocumentPosition(T)&4?-1:U===T?0:1;if(V===0){hasDuplicate=true}return V}}else{if("sourceIndex" in document.documentElement){G=function(U,T){var V=U.sourceIndex-T.sourceIndex;if(V===0){hasDuplicate=true}return V}}else{if(document.createRange){G=function(W,U){var V=W.ownerDocument.createRange(),T=U.ownerDocument.createRange();V.selectNode(W);V.collapse(true);T.selectNode(U);T.collapse(true);var X=V.compareBoundaryPoints(Range.START_TO_END,T);if(X===0){hasDuplicate=true}return X}}}}(function(){var U=document.createElement("form"),V="script"+(new Date).getTime();U.innerHTML="<input name='"+V+"'/>";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="<a href='#'></a>";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="<p class='TEST'></p>";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="<div class='test e'></div><div class='test'></div>";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1&&!ac){T.sizcache=Y;T.sizset=W}if(T.nodeName===Z){X=T;break}T=T[U]}ad[W]=X}}}function S(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W<V;W++){var T=ad[W];if(T){if(ab&&T.nodeType===1){T.sizcache=Y;T.sizset=W}T=T[U];var X=false;while(T){if(T.sizcache===Y){X=ad[T.sizset];break}if(T.nodeType===1){if(!ac){T.sizcache=Y;T.sizset=W}if(typeof Z!=="string"){if(T===Z){X=true;break}}else{if(F.filter(Z,[T]).length>0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z<U;Z++){F(T,V[Z],W)}return F.filter(X,W)};o.find=F;o.filter=F.filter;o.expr=F.selectors;o.expr[":"]=o.expr.filters;F.selectors.filters.hidden=function(T){return T.offsetWidth===0||T.offsetHeight===0};F.selectors.filters.visible=function(T){return T.offsetWidth>0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0){I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F<E.length){o.event.proxy(G,E[F++])}return this.click(o.event.proxy(G,function(H){this.lastToggle=(this.lastToggle||0)%F;H.preventDefault();return E[this.lastToggle++].apply(this,arguments)||false}))},hover:function(E,F){return this.mouseenter(E).mouseleave(F)},ready:function(E){B();if(o.isReady){E.call(document,o)}else{o.readyList.push(E)}return this},live:function(G,F){var E=o.event.proxy(F);E.guid+=this.selector+G;o(document).bind(i(G,this.selector),this.selector,E);return this},die:function(F,E){o(document).unbind(i(F,this.selector),E?{guid:E.guid+this.selector+F}:null);return this}});function c(H){var E=RegExp("(^|\\.)"+H.type+"(\\.|$)"),G=true,F=[];o.each(o.data(this,"events").live||[],function(I,J){if(E.test(J.type)){var K=o(H.target).closest(J.data)[0];if(K){F.push({elem:K,fn:J})}}});F.sort(function(J,I){return o.data(J.elem,"closest")-o.data(I.elem,"closest")});o.each(F,function(){if(this.fn.call(this.elem,H,this.fn.data)===false){return(G=false)}});return G}function i(F,E){return["live",F,E.replace(/\./g,"`").replace(/ /g,"|")].join(".")}o.extend({isReady:false,readyList:[],ready:function(){if(!o.isReady){o.isReady=true;if(o.readyList){o.each(o.readyList,function(){this.call(document,o)});o.readyList=null}o(document).triggerHandler("ready")}}});var x=false;function B(){if(x){return}x=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);o.ready()},false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);o.ready()}});if(document.documentElement.doScroll&&l==l.top){(function(){if(o.isReady){return}try{document.documentElement.doScroll("left")}catch(E){setTimeout(arguments.callee,0);return}o.ready()})()}}}o.event.add(l,"load",o.ready)}o.each(("blur,focus,load,resize,scroll,unload,click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,change,select,submit,keydown,keypress,keyup,error").split(","),function(F,E){o.fn[E]=function(G){return G?this.bind(E,G):this.trigger(E)}});o(l).bind("unload",function(){for(var E in o.cache){if(E!=1&&o.cache[E].handle){o.event.remove(o.cache[E].handle.elem)}}});(function(){o.support={};var F=document.documentElement,G=document.createElement("script"),K=document.createElement("div"),J="script"+(new Date).getTime();K.style.display="none";K.innerHTML='   <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var H=K.getElementsByTagName("*"),E=K.getElementsByTagName("a")[0];if(!H||!H.length||!E){return}o.support={leadingWhitespace:K.firstChild.nodeType==3,tbody:!K.getElementsByTagName("tbody").length,objectAll:!!K.getElementsByTagName("object")[0].getElementsByTagName("*").length,htmlSerialize:!!K.getElementsByTagName("link").length,style:/red/.test(E.getAttribute("style")),hrefNormalized:E.getAttribute("href")==="/a",opacity:E.style.opacity==="0.5",cssFloat:!!E.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};G.type="text/javascript";try{G.appendChild(document.createTextNode("window."+J+"=1;"))}catch(I){}F.insertBefore(G,F.firstChild);if(l[J]){o.support.scriptEval=true;delete l[J]}F.removeChild(G);if(K.attachEvent&&K.fireEvent){K.attachEvent("onclick",function(){o.support.noCloneEvent=false;K.detachEvent("onclick",arguments.callee)});K.cloneNode(true).fireEvent("onclick")}o(function(){var L=document.createElement("div");L.style.width=L.style.paddingLeft="1px";document.body.appendChild(L);o.boxModel=o.support.boxModel=L.offsetWidth===2;document.body.removeChild(L).style.display="none"})})();var w=o.support.cssFloat?"cssFloat":"styleFloat";o.props={"for":"htmlFor","class":"className","float":w,cssFloat:w,styleFloat:w,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",tabindex:"tabIndex"};o.fn.extend({_load:o.fn.load,load:function(G,J,K){if(typeof G!=="string"){return this._load(G)}var I=G.indexOf(" ");if(I>=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("<div/>").append(M.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function(){G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H<F;H++){var E=o.data(this[H],"olddisplay");this[H].style.display=E||"";if(o.css(this[H],"display")==="none"){var G=this[H].tagName,K;if(m[G]){K=m[G]}else{var I=o("<"+G+" />").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H<F;H++){this[H].style.display=o.data(this[H],"olddisplay")||""}return this}},hide:function(H,I){if(H){return this.animate(t("hide",3),H,I)}else{for(var G=0,F=this.length;G<F;G++){var E=o.data(this[G],"olddisplay");if(!E&&E!=="none"){o.data(this[G],"olddisplay",o.css(this[G],"display"))}}for(var G=0,F=this.length;G<F;G++){this[G].style.display="none"}return this}},_toggle:o.fn.toggle,toggle:function(G,F){var E=typeof G==="boolean";return o.isFunction(G)&&o.isFunction(F)?this._toggle.apply(this,arguments):G==null||E?this.each(function(){var H=E?G:o(this).is(":hidden");o(this)[H?"show":"hide"]()}):this.animate(t("toggle",3),G,F)},fadeTo:function(E,G,F){return this.animate({opacity:G},E,F)},animate:function(I,F,H,G){var E=o.speed(F,H,G);return this[E.queue===false?"each":"queue"](function(){var K=o.extend({},E),M,L=this.nodeType==1&&o(this).is(":hidden"),J=this;for(M in I){if(I[M]=="hide"&&L||I[M]=="show"&&!L){return K.complete.call(this)}if((M=="height"||M=="width")&&this.style){K.display=o.css(this,"display");K.overflow=this.style.overflow}}if(K.overflow!=null){this.style.overflow="hidden"}K.curAnim=o.extend({},I);o.each(I,function(O,S){var R=new o.fx(J,K,O);if(/toggle|show|hide/.test(S)){R[S=="toggle"?L?"show":"hide":S](I)}else{var Q=S.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),T=R.cur(true)||0;if(Q){var N=parseFloat(Q[2]),P=Q[3]||"px";if(P!="px"){J.style[O]=(N||1)+P;T=((N||1)/R.cur(true))*T;J.style[O]=T+P}if(Q[1]){N=((Q[1]=="-="?-1:1)*N)+T}R.custom(T,N,P)}else{R.custom(T,S,"")}}});return true})},stop:function(F,E){var G=o.timers;if(F){this.queue([])}this.each(function(){for(var H=G.length-1;H>=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}},13)}},show:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());o(this.elem).show()},hide:function(){this.options.orig[this.prop]=o.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(H){var G=e();if(H||G>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;" cellpadding="0" cellspacing="0"><tr><td></td></tr></table>';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})();
\ No newline at end of file
diff --git a/js/jquery.simplemodal-1.2.2.pack.js b/js/jquery.simplemodal-1.2.2.pack.js
deleted file mode 100644 (file)
index b5ad5c2..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * SimpleModal 1.2.2 - jQuery Plugin
- * http://www.ericmmartin.com/projects/simplemodal/
- * Copyright (c) 2008 Eric Martin
- * Dual licensed under the MIT and GPL licenses
- * Revision: $Id: jquery.simplemodal.js 181 2008-12-16 16:51:44Z emartin24 $
- */
-eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(g($){m f=$.Q.1Q&&1a($.Q.1D)==6&&!10[\'2g\'],1f=$.Q.1Q&&!$.2a,w=[];$.y=g(a,b){I $.y.12.1n(a,b)};$.y.D=g(){$.y.12.D()};$.1P.y=g(a){I $.y.12.1n(3,a)};$.y.1O={V:29,1J:\'r-H\',1B:{},1z:\'r-n\',20:{},1Z:{},v:2t,D:1o,1T:\'<a 2j="2h" 2f="2e"></a>\',X:\'r-D\',l:F,1g:K,1e:F,1d:F,1c:F};$.y.12={7:F,4:{},1n:g(a,b){8(3.4.j){I K}3.7=$.U({},$.y.1O,b);3.v=3.7.v;3.1w=K;8(J a==\'27\'){a=a 25 1A?a:$(a);8(a.1v().1v().23()>0){3.4.T=a.1v();8(!3.7.1g){3.4.21=a.2x(1o)}}}q 8(J a==\'2w\'||J a==\'1r\'){a=$(\'<1q/>\').2s(a)}q{2r(\'2q 2p: 2o j 2l: \'+J a);I K}3.4.j=a.11(\'r-j\').E(3.7.1Z);a=F;3.1S();3.1R();8($.1m(3.7.1d)){3.7.1d.1l(3,[3.4])}I 3},1S:g(){w=3.1k();8(f){3.4.x=$(\'<x 2d="2c:K;"/>\').E($.U(3.7.2b,{1j:\'1i\',V:0,l:\'1h\',A:w[0],z:w[1],v:3.7.v,L:0,B:0})).O(\'u\')}3.4.H=$(\'<1q/>\').1N(\'1M\',3.7.1J).11(\'r-H\').E($.U(3.7.1B,{1j:\'1i\',V:3.7.V/1b,A:w[0],z:w[1],l:\'1h\',B:0,L:0,v:3.7.v+1})).O(\'u\');3.4.n=$(\'<1q/>\').1N(\'1M\',3.7.1z).11(\'r-n\').E($.U(3.7.20,{1j:\'1i\',l:\'1h\',v:3.7.v+2})).1K(3.7.D?$(3.7.1T).11(3.7.X):\'\').O(\'u\');3.19();8(f||1f){3.18()}3.4.n.1K(3.4.j.1I())},1H:g(){m a=3;$(\'.\'+3.7.X).1G(\'1L.r\',g(e){e.28();a.D()});$(10).1G(\'1F.r\',g(){w=a.1k();a.19();8(f||1f){a.18()}q{a.4.x&&a.4.x.E({A:w[0],z:w[1]});a.4.H.E({A:w[0],z:w[1]})}})},1E:g(){$(\'.\'+3.7.X).1C(\'1L.r\');$(10).1C(\'1F.r\')},18:g(){m p=3.7.l;$.26([3.4.x||F,3.4.H,3.4.n],g(i,e){8(e){m a=\'k.u.17\',N=\'k.u.1W\',16=\'k.u.24\',S=\'k.u.1y\',R=\'k.u.1x\',15=\'k.u.22\',1t=\'k.P.17\',1s=\'k.P.1W\',C=\'k.P.1y\',G=\'k.P.1x\',s=e[0].2v;s.l=\'2u\';8(i<2){s.14(\'A\');s.14(\'z\');s.Z(\'A\',\'\'+16+\' > \'+a+\' ? \'+16+\' : \'+a+\' + "o"\');s.Z(\'z\',\'\'+15+\' > \'+N+\' ? \'+15+\' : \'+N+\' + "o"\')}q{m b,W;8(p&&p.1Y==1X){8(p[0]){m c=J p[0]==\'1r\'?p[0].1V():p[0].13(/o/,\'\');b=c.1U(\'%\')==-1?c+\' + (t = \'+G+\' ? \'+G+\' : \'+R+\') + "o"\':1a(c.13(/%/,\'\'))+\' * ((\'+1t+\' || \'+a+\') / 1b) + (t = \'+G+\' ? \'+G+\' : \'+R+\') + "o"\'}8(p[1]){m d=J p[1]==\'1r\'?p[1].1V():p[1].13(/o/,\'\');W=d.1U(\'%\')==-1?d+\' + (t = \'+C+\' ? \'+C+\' : \'+S+\') + "o"\':1a(d.13(/%/,\'\'))+\' * ((\'+1s+\' || \'+N+\') / 1b) + (t = \'+C+\' ? \'+C+\' : \'+S+\') + "o"\'}}q{b=\'(\'+1t+\' || \'+a+\') / 2 - (3.2n / 2) + (t = \'+G+\' ? \'+G+\' : \'+R+\') + "o"\';W=\'(\'+1s+\' || \'+N+\') / 2 - (3.2m / 2) + (t = \'+C+\' ? \'+C+\' : \'+S+\') + "o"\'}s.14(\'L\');s.14(\'B\');s.Z(\'L\',b);s.Z(\'B\',W)}}})},1k:g(){m a=$(10);m h=$.Q.2k&&$.Q.1D>\'9.5\'&&$.1P.2i<=\'1.2.6\'?k.P[\'17\']:a.A();I[h,a.z()]},19:g(){m a,B,1u=(w[0]/2)-((3.4.n.A()||3.4.j.A())/2),1p=(w[1]/2)-((3.4.n.z()||3.4.j.z())/2);8(3.7.l&&3.7.l.1Y==1X){a=3.7.l[0]||1u;B=3.7.l[1]||1p}q{a=1u;B=1p}3.4.n.E({B:B,L:a})},1R:g(){3.4.x&&3.4.x.Y();8($.1m(3.7.1e)){3.7.1e.1l(3,[3.4])}q{3.4.H.Y();3.4.n.Y();3.4.j.Y()}3.1H()},D:g(){8(!3.4.j){I K}8($.1m(3.7.1c)&&!3.1w){3.1w=1o;3.7.1c.1l(3,[3.4])}q{8(3.4.T){8(3.7.1g){3.4.j.1I().O(3.4.T)}q{3.4.j.M();3.4.21.O(3.4.T)}}q{3.4.j.M()}3.4.n.M();3.4.H.M();3.4.x&&3.4.x.M();3.4={}}3.1E()}}})(1A);',62,158,'|||this|dialog|||opts|if||||||||function|||data|document|position|var|container|px||else|simplemodal|||body|zIndex||iframe|modal|width|height|left|sl|close|css|null|st|overlay|return|typeof|false|top|remove|bcw|appendTo|documentElement|browser|bst|bsl|parentNode|extend|opacity|le|closeClass|show|setExpression|window|addClass|impl|replace|removeExpression|bsw|bsh|clientHeight|fixIE|setPosition|parseInt|100|onClose|onShow|onOpen|ieQuirks|persist|fixed|none|display|getDimensions|apply|isFunction|init|true|vCenter|div|number|cw|ch|hCenter|parent|occb|scrollTop|scrollLeft|containerId|jQuery|overlayCss|unbind|version|unbindEvents|resize|bind|bindEvents|hide|overlayId|append|click|id|attr|defaults|fn|msie|open|create|closeHTML|indexOf|toString|clientWidth|Array|constructor|dataCss|containerCss|orig|scrollWidth|size|scrollHeight|instanceof|each|object|preventDefault|50|boxModel|iframeCss|javascript|src|Close|title|XMLHttpRequest|modalCloseImg|jquery|class|opera|type|offsetWidth|offsetHeight|Unsupported|Error|SimpleModal|alert|html|1000|absolute|style|string|clone'.split('|'),0,{}))
\ No newline at end of file
index 3ad0386122c53891bda591b85f6ed767cb7796b0..81139744ff9cdab7eb928df3f2e83a5df5611562 100644 (file)
@@ -161,6 +161,7 @@ $(document).ready(function(){
                                                                                                                                                                $("#form_notice").addClass("warning");
                                                                                                                                                                return false;
                                                                                                                                                   }
+                                                                                                                                                  $("#form_notice").addClass("processing");
                                                                                                                                                   $("#notice_action-submit").attr("disabled", "disabled");
                                                                                                                                                   $("#notice_action-submit").addClass("disabled");
                                                                                                                                                   return true;
@@ -179,6 +180,7 @@ $(document).ready(function(){
                                                                                                        NoticeHover();
                                                                                                        NoticeReply();
                                                                                                }
+                                                                                               $("#form_notice").removeClass("processing");
                                                                                                $("#notice_action-submit").removeAttr("disabled");
                                                                                                $("#notice_action-submit").removeClass("disabled");
                                                                                         }
diff --git a/js/video.js b/js/video.js
deleted file mode 100644 (file)
index 936a631..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-$('document').ready(function() {
-    $('a.media, a.mediamp3').append(' <sup>[PLAY]</sup>');
-    $('a.mediamp3').html('').css('display', 'block').css('width', '224px').css('height','24px').flowplayer('../bin/flowplayer-3.0.5.swf');
-    $('a.media').click(function() {
-        $('<a id="p1i"></a>').attr('href', $(this).attr('href')).flowplayer('../bin/flowplayer-3.0.5.swf').modal({'closeHTML':'<a class="modalCloseImg" title="Close"><img src="x.png" /></a>'});
-        return false;
-    });
-});
-
index 812df635e31f5b2e31403bbff23e0e44810651e1..94913f3d51bde1d12ab6d29c29de2fc95fd8c15e 100644 (file)
@@ -112,6 +112,7 @@ class Action extends HTMLOutputter // lawsuit
         // XXX: attributes (profile?)
         $this->elementStart('head');
         $this->showTitle();
+        $this->showShortcutIcon();
         $this->showStylesheets();
         $this->showScripts();
         $this->showOpenSearch();
@@ -147,6 +148,32 @@ class Action extends HTMLOutputter // lawsuit
         return _("Untitled page");
     }
 
+    /**
+     * Show themed shortcut icon
+     *
+     * @return nothing
+     */
+    function showShortcutIcon()
+    {
+        if (is_readable(INSTALLDIR . '/theme/' . common_config('site', 'theme') . '/favicon.ico')) {
+            $this->element('link', array('rel' => 'shortcut icon',
+                                         'href' => theme_path('favicon.ico')));
+        } else {
+            $this->element('link', array('rel' => 'shortcut icon',
+                                         'href' => common_path('favicon.ico')));
+        }
+
+        if (common_config('site', 'mobile')) {
+            if (is_readable(INSTALLDIR . '/theme/' . common_config('site', 'theme') . '/apple-touch-icon.png')) {
+                $this->element('link', array('rel' => 'apple-touch-icon',
+                                             'href' => theme_path('apple-touch-icon.png')));
+            } else {
+                $this->element('link', array('rel' => 'apple-touch-icon',
+                                             'href' => common_path('apple-touch-icon.png')));
+            }
+        }
+    }
+
     /**
      * Show stylesheets
      *
@@ -156,15 +183,10 @@ class Action extends HTMLOutputter // lawsuit
     {
         if (Event::handle('StartShowStyles', array($this))) {
             if (Event::handle('StartShowLaconicaStyles', array($this))) {
-
                 $this->element('link', array('rel' => 'stylesheet',
                                              'type' => 'text/css',
                                              'href' => theme_path('css/display.css', 'base') . '?version=' . LACONICA_VERSION,
                                              'media' => 'screen, projection, tv'));
-                $this->element('link', array('rel' => 'stylesheet',
-                                             'type' => 'text/css',
-                                             'href' => theme_path('css/modal.css', 'base') . '?version=' . LACONICA_VERSION,
-                                             'media' => 'screen, projection, tv'));
                 $this->element('link', array('rel' => 'stylesheet',
                                              'type' => 'text/css',
                                              'href' => theme_path('css/display.css', null) . '?version=' . LACONICA_VERSION,
@@ -215,11 +237,6 @@ class Action extends HTMLOutputter // lawsuit
                 $this->element('script', array('type' => 'text/javascript',
                                                'src' => common_path('js/jquery.form.js')),
                                ' ');
-
-                $this->element('script', array('type' => 'text/javascript',
-                                               'src' => common_path('js/jquery.simplemodal-1.2.2.pack.js')),
-                               ' ');
-
                 Event::handle('EndShowJQueryScripts', array($this));
             }
             if (Event::handle('StartShowLaconicaScripts', array($this))) {
@@ -232,14 +249,6 @@ class Action extends HTMLOutputter // lawsuit
                 // Frame-busting code to avoid clickjacking attacks.
                 $this->element('script', array('type' => 'text/javascript'),
                                'if (window.top !== window.self) { window.top.location.href = window.self.location.href; }');
-
-                $this->element('script', array('type' => 'text/javascript',
-                                               'src' => common_path('js/flowplayer-3.0.5.min.js')),
-                               ' ');
-
-                $this->element('script', array('type' => 'text/javascript',
-                                               'src' => common_path('js/video.js')),
-                               ' ');
                 Event::handle('EndShowLaconicaScripts', array($this));
             }
             Event::handle('EndShowScripts', array($this));
@@ -317,7 +326,9 @@ class Action extends HTMLOutputter // lawsuit
      */
     function showBody()
     {
-        $this->elementStart('body', array('id' => $this->trimmed('action')));
+        $this->elementStart('body', (common_current_user()) ? array('id' => $this->trimmed('action'),
+                                                                    'class' => 'user_in')
+                                                            : array('id' => $this->trimmed('action')));
         $this->elementStart('div', array('id' => 'wrap'));
         if (Event::handle('StartShowHeader', array($this))) {
             $this->showHeader();
@@ -391,13 +402,8 @@ class Action extends HTMLOutputter // lawsuit
             if ($user) {
                 $this->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
                                 _('Home'), _('Personal profile and friends timeline'), false, 'nav_home');
-            }
-            $this->menuItem(common_local_url('peoplesearch'),
-                            _('Search'), _('Search for people or text'), false, 'nav_search');
-            if ($user) {
                 $this->menuItem(common_local_url('profilesettings'),
                                 _('Account'), _('Change your email, avatar, password, profile'), false, 'nav_account');
-
                 if (common_config('xmpp', 'enabled')) {
                     $this->menuItem(common_local_url('imsettings'),
                                     _('Connect'), _('Connect to IM, SMS, Twitter'), false, 'nav_connect');
@@ -405,20 +411,28 @@ class Action extends HTMLOutputter // lawsuit
                     $this->menuItem(common_local_url('smssettings'),
                                     _('Connect'), _('Connect to SMS, Twitter'), false, 'nav_connect');
                 }
+                $this->menuItem(common_local_url('invite'),
+                                 _('Invite'),
+                                 sprintf(_('Invite friends and colleagues to join you on %s'),
+                                 common_config('site', 'name')),
+                                 false, 'nav_invitecontact');
                 $this->menuItem(common_local_url('logout'),
                                 _('Logout'), _('Logout from the site'), false, 'nav_logout');
-            } else {
-                $this->menuItem(common_local_url('login'),
-                                _('Login'), _('Login to the site'), false, 'nav_login');
+            }
+            else {
                 if (!common_config('site', 'closed')) {
                     $this->menuItem(common_local_url('register'),
                                     _('Register'), _('Create an account'), false, 'nav_register');
                 }
                 $this->menuItem(common_local_url('openidlogin'),
                                 _('OpenID'), _('Login with OpenID'), false, 'nav_openid');
+                $this->menuItem(common_local_url('login'),
+                                _('Login'), _('Login to the site'), false, 'nav_login');
             }
             $this->menuItem(common_local_url('doc', array('title' => 'help')),
                             _('Help'), _('Help me!'), false, 'nav_help');
+            $this->menuItem(common_local_url('peoplesearch'),
+                            _('Search'), _('Search for people or text'), false, 'nav_search');
             Event::handle('EndPrimaryNav', array($this));
         }
         $this->elementEnd('ul');
@@ -819,9 +833,8 @@ class Action extends HTMLOutputter // lawsuit
         }
         if ($lm) {
             header('Last-Modified: ' . date(DATE_RFC1123, $lm));
-            $if_modified_since = $_SERVER['HTTP_IF_MODIFIED_SINCE'];
-            if ($if_modified_since) {
-                $ims = strtotime($if_modified_since);
+            if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
+                $ims = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
                 if ($lm <= $ims) {
                     $if_none_match = $_SERVER['HTTP_IF_NONE_MATCH'];
                     if (!$if_none_match ||
@@ -911,11 +924,15 @@ class Action extends HTMLOutputter // lawsuit
      *
      * @return string current URL
      */
+
     function selfUrl()
     {
         $action = $this->trimmed('action');
         $args   = $this->args;
         unset($args['action']);
+        if (array_key_exists('submit', $args)) {
+            unset($args['submit']);
+        }
         foreach (array_keys($_COOKIE) as $cookie) {
             unset($args[$cookie]);
         }
index c3d697aeeda8bc4659fcf272957489d05e7cdb02..c2037c3ad6b0e29c189e404a732c079a3689f542 100644 (file)
@@ -19,7 +19,7 @@
 
 if (!defined('LACONICA')) { exit(1); }
 
-define('LACONICA_VERSION', '0.7.1');
+define('LACONICA_VERSION', '0.7.2.1');
 
 define('AVATAR_PROFILE_SIZE', 96);
 define('AVATAR_STREAM_SIZE', 48);
@@ -73,6 +73,7 @@ $config =
               'theme' => 'default',
               'path' => $_path,
               'logfile' => null,
+              'logo' => null,
               'logdebug' => false,
               'fancy' => false,
               'locale_path' => INSTALLDIR.'/locale',
@@ -86,6 +87,8 @@ $config =
               'closed' => false,
               'inviteonly' => false,
               'private' => false,
+              'ssl' => 'never',
+              'sslserver' => null,
               'dupelimit' => 60), # default for same person saying the same thing
         'syslog' =>
         array('appname' => 'laconica', # for syslog
@@ -150,6 +153,9 @@ $config =
         array('notify' => array()),
         'inboxes' =>
         array('enabled' => true), # on by default for new sites
+        'newuser' =>
+        array('subscribe' => null,
+              'welcome' => null),
         );
 
 $config['db'] = &PEAR::getStaticProperty('DB_DataObject','options');
index 25a5e3fd59dd52386eb25e3bd9bd94386e912aec..8e21d7393b082950a3113b7758e6f1a601a36ad3 100644 (file)
@@ -50,7 +50,7 @@ class GalleryAction extends Action
             if ($this->arg('page') && $this->arg('page') != 1) {
                 $args['page'] = $this->arg['page'];
             }
-            common_redirect(common_local_url('subscriptions', $args), 301);
+            common_redirect(common_local_url($this->trimmed('action'), $args), 301);
             return false;
         }
 
@@ -71,6 +71,7 @@ class GalleryAction extends Action
         $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
 
         $this->tag = $this->trimmed('tag');
+        $this->q   = $this->trimmed('q');
 
         return true;
     }
@@ -87,7 +88,7 @@ class GalleryAction extends Action
                # Post from the tag dropdown; redirect to a GET
 
                if ($_SERVER['REQUEST_METHOD'] == 'POST') {
-                   common_redirect($this->selfUrl(), 307);
+                   common_redirect($this->selfUrl(), 303);
             return;
                }
 
@@ -136,7 +137,7 @@ class GalleryAction extends Action
                                                'method' => 'post'));
             $this->dropdown('tag', _('Tag'), $content,
                             _('Choose a tag to narrow list'), false, $tag);
-            $this->submit('go', _('Go'));
+            $this->submit('submit', _('Go'));
             $this->elementEnd('form');
             $this->elementEnd('li');
             $this->elementEnd('ul');
index 3cd3b0d37eda1bc8f62ed74afa1962cf38b7057c..7d584ad0164edc18155e4e541f9025b14ace0294 100644 (file)
@@ -163,50 +163,25 @@ function jabber_send_notice($to, $notice)
 
 function jabber_format_entry($profile, $notice)
 {
-    // FIXME: notice url might be remote
-
-    $noticeurl = common_local_url('shownotice',
-                                  array('notice' => $notice->id));
-
-    $msg = jabber_format_notice($profile, $notice);
-
-    $self_url = common_local_url('userrss', array('nickname' => $profile->nickname));
-
-    $entry  = "\n<entry xmlns='http://www.w3.org/2005/Atom'>\n";
-    $entry .= "<source>\n";
-    $entry .= "<title>" . $profile->nickname . " - " . common_config('site', 'name') . "</title>\n";
-    $entry .= "<link href='" . htmlspecialchars($profile->profileurl) . "'/>\n";
-    $entry .= "<link rel='self' type='application/rss+xml' href='" . $self_url . "'/>\n";
-    $entry .= "<author><name>" . $profile->nickname . "</name></author>\n";
-    $entry .= "<icon>" . $profile->avatarUrl(AVATAR_PROFILE_SIZE) . "</icon>\n";
-    $entry .= "</source>\n";
-    $entry .= "<title>" . htmlspecialchars($msg) . "</title>\n";
-    $entry .= "<summary>" . htmlspecialchars($msg) . "</summary>\n";
-    $entry .= "<link rel='alternate' href='" . $noticeurl . "' />\n";
-    $entry .= "<id>". $notice->uri . "</id>\n";
-    $entry .= "<published>".common_date_w3dtf($notice->created)."</published>\n";
-    $entry .= "<updated>".common_date_w3dtf($notice->modified)."</updated>\n";
-    if ($notice->reply_to) {
-        $replyurl = common_local_url('shownotice',
-                                     array('notice' => $notice->reply_to));
-        $entry .= "<link rel='related' href='" . $replyurl . "'/>\n";
+    $entry = $notice->asAtomEntry(true, true);
+
+    $xs = new XMLStringer();
+    $xs->elementStart('html', array('xmlns' => 'http://jabber.org/protocol/xhtml-im'));
+    $xs->elementStart('body', array('xmlns' => 'http://www.w3.org/1999/xhtml'));
+    $xs->element('a', array('href' => $profile->profileurl),
+                 $profile->nickname);
+    $xs->text(": ");
+    if (!empty($notice->rendered)) {
+        $xs->raw($notice->rendered);
+    } else {
+        $xs->raw(common_render_content($notice->content, $notice));
     }
-    $entry .= "</entry>\n";
-
-    $html  = "\n<html xmlns='http://jabber.org/protocol/xhtml-im'>\n";
-    $html .= "<body xmlns='http://www.w3.org/1999/xhtml'>\n";
-    $html .= "<a href='".htmlspecialchars($profile->profileurl)."'>".$profile->nickname."</a>: ";
-    $html .= ($notice->rendered) ? $notice->rendered : common_render_content($notice->content, $notice);
-    $html .= "\n</body>\n";
-    $html .= "\n</html>\n";
-
-    $address  = "<addresses xmlns='http://jabber.org/protocol/address'>\n";
-    $address .= "<address type='replyto' jid='" . jabber_daemon_address() . "' />\n";
-    $address .= "</addresses>\n";
+    $xs->elementEnd('body');
+    $xs->elementEnd('html');
 
-    // FIXME: include a pubsub event, too.
+    $html = $xs->getString();
 
-    return $html . $entry . $address;
+    return $html . ' ' . $entry;
 }
 
 /**
index 79e9030ae478e54e2c726868ddf7bc7dcb93920a..cd6498d30b5d108677080a4b1494efa7e54d9a90 100644 (file)
@@ -104,33 +104,33 @@ function get_all_languages() {
                'bg'      => array('q' => 0.8, 'lang' => 'bg_BG', 'name' => 'Bulgarian', 'direction' => 'ltr'),
                'ca'      => array('q' => 0.5, 'lang' => 'ca_ES', 'name' => 'Catalan', 'direction' => 'ltr'),
                'cs'      => array('q' => 0.5, 'lang' => 'cs_CZ', 'name' => 'Czech', 'direction' => 'ltr'),
-               'de'      => array('q' => 0.5, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'),
+               'de'      => array('q' => 0.8, 'lang' => 'de_DE', 'name' => 'German', 'direction' => 'ltr'),
                'el'      => array('q' => 0.1, 'lang' => 'el',    'name' => 'Greek', 'direction' => 'ltr'),
                'en-us'   => array('q' => 1, 'lang' => 'en_US', 'name' => 'English (US)', 'direction' => 'ltr'),
-               'en-gb'   => array('q' => 0.3, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
+               'en-gb'   => array('q' => 1, 'lang' => 'en_GB', 'name' => 'English (British)', 'direction' => 'ltr'),
                'en'      => array('q' => 1, 'lang' => 'en',    'name' => 'English', 'direction' => 'ltr'),
-               'es'      => array('q' => 0.5, 'lang' => 'es',    'name' => 'Spanish', 'direction' => 'ltr'),
-               'fi'      => array('q' => 0.5, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
-               'fr-fr'   => array('q' => 0.2, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'),
+               'es'      => array('q' => 1, 'lang' => 'es',    'name' => 'Spanish', 'direction' => 'ltr'),
+               'fi'      => array('q' => 1, 'lang' => 'fi', 'name' => 'Finnish', 'direction' => 'ltr'),
+               'fr-fr'   => array('q' => 1, 'lang' => 'fr_FR', 'name' => 'French', 'direction' => 'ltr'),
                'he'      => array('q' => 0.5, 'lang' => 'he_IL', 'name' => 'Hebrew', 'direction' => 'rtl'),
-               'it'      => array('q' => 0.9, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'),
+               'it'      => array('q' => 1, 'lang' => 'it_IT', 'name' => 'Italian', 'direction' => 'ltr'),
                'jp'      => array('q' => 0.5, 'lang' => 'ja_JP', 'name' => 'Japanese', 'direction' => 'ltr'),
-#              'ko'      => array('q' => 0, 'lang' => 'ko',    'name' => 'Korean', 'direction' => 'ltr'),
+               'ko'      => array('q' => 0.9, 'lang' => 'ko_KR',    'name' => 'Korean', 'direction' => 'ltr'),
                'mk'      => array('q' => 0.5, 'lang' => 'mk_MK', 'name' => 'Macedonian', 'direction' => 'ltr'),
                'nb'      => array('q' => 0.1, 'lang' => 'nb_NO', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
                'no'      => array('q' => 0.1, 'lang' => 'nb_NO', 'name' => 'Norwegian (Bokmål)', 'direction' => 'ltr'),
-               'nn'      => array('q' => 0.1, 'lang' => 'nn_NO', 'name' => 'Norwegian (Nynorsk)', 'direction' => 'ltr'),
+               'nn'      => array('q' => 1, 'lang' => 'nn_NO', 'name' => 'Norwegian (Nynorsk)', 'direction' => 'ltr'),
                'nl'      => array('q' => 0.5, 'lang' => 'nl_NL', 'name' => 'Dutch', 'direction' => 'ltr'),
                'pl'      => array('q' => 0.5, 'lang' => 'pl_PL', 'name' => 'Polish', 'direction' => 'ltr'),
-#              'pt'      => array('q' => 0, 'lang' => 'pt',    'name' => 'Portuguese', 'direction' => 'ltr'),
-               'pt-br'   => array('q' => 0.7, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
-               'ru'      => array('q' => 0.1, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'),
-               'sv'      => array('q' => 0.9, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'),
+               'pt'      => array('q' => 0.1, 'lang' => 'pt',    'name' => 'Portuguese', 'direction' => 'ltr'),
+               'pt-br'   => array('q' => 0.9, 'lang' => 'pt_BR', 'name' => 'Portuguese Brazil', 'direction' => 'ltr'),
+               'ru'      => array('q' => 0.9, 'lang' => 'ru_RU', 'name' => 'Russian', 'direction' => 'ltr'),
+               'sv'      => array('q' => 0.8, 'lang' => 'sv_SE', 'name' => 'Swedish', 'direction' => 'ltr'),
                'te'      => array('q' => 0.3, 'lang' => 'te_IN', 'name' => 'Telugu', 'direction' => 'ltr'),
                'tr'      => array('q' => 0.5, 'lang' => 'tr_TR', 'name' => 'Turkish', 'direction' => 'ltr'),
-               'uk'      => array('q' => 0.7, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'),
-               'vi'      => array('q' => 0.7, 'lang' => 'vi_VN', 'name' => 'Vietnamese', 'direction' => 'ltr'),
+               'uk'      => array('q' => 1, 'lang' => 'uk_UA', 'name' => 'Ukrainian', 'direction' => 'ltr'),
+               'vi'      => array('q' => 0.8, 'lang' => 'vi_VN', 'name' => 'Vietnamese', 'direction' => 'ltr'),
                'zh-cn'   => array('q' => 0.9, 'lang' => 'zh_CN', 'name' => 'Chinese (Simplified)', 'direction' => 'ltr'),
-               'zh-hant' => array('q' => 0.2, 'lang' => 'zh_hant', 'name' => 'Chinese (Taiwanese)', 'direction' => 'ltr'),
+               'zh-hant' => array('q' => 0.2, 'lang' => 'zh_TW', 'name' => 'Chinese (Taiwanese)', 'direction' => 'ltr'),
        );
 }
index fd909581f4d1de0c890429a890d42b07c9f04091..f23985f3ab3a1293bcb02a8ab98364b355628a81 100644 (file)
@@ -70,16 +70,16 @@ class LoginGroupNav extends Widget
     function show()
     {
         // action => array('prompt', 'title')
-        $menu =
-          array('login' =>
-                array(_('Login'),
-                      _('Login with a username and password')),
-                'register' =>
-                array(_('Register'),
-                      _('Sign up for a new account')),
-                'openidlogin' =>
-                array(_('OpenID'),
-                      _('Login or register with OpenID')));
+        $menu = array();
+
+        $menu['login'] = array(_('Login'),
+                         _('Login with a username and password'));
+        if (!(common_config('site','closed') || common_config('site','inviteonly'))) {
+            $menu['register'] = array(_('Register'),
+                                _('Sign up for a new account'));
+        }
+        $menu['openidlogin'] = array(_('OpenID'),
+                               _('Login or register with OpenID'));
 
         $action_name = $this->action->trimmed('action');
         $this->action->elementStart('ul', array('class' => 'nav'));
index dde7571ebe68b8eb4439ad81f347c47d951a166f..27a1d99dcbbd93e80b43e7d815ee27ba3091fe31 100644 (file)
@@ -554,17 +554,19 @@ function mail_notify_fave($other, $user, $notice)
 
     $body = sprintf(_("%1\$s just added your notice from %2\$s".
                       " as one of their favorites.\n\n" .
-                      "In case you forgot, you can see the text".
-                      " of your notice here:\n\n" .
+                      "The URL of your notice is:\n\n" .
                       "%3\$s\n\n" .
-                      "You can see the list of %1\$s's favorites here:\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" .
-                      "%5\$s\n"),
+                      "%6\$s\n"),
                     $bestname,
                     common_exact_date($notice->created),
                     common_local_url('shownotice',
                                      array('notice' => $notice->id)),
+                    $notice->content,
                     common_local_url('showfavorites',
                                      array('nickname' => $user->nickname)),
                     common_config('site', 'name'));
index d77234549af7f27bc33ece11ddcfca4719ae1c40..01bbf5721a4450426f2b53a0d731979fa76c1b02 100644 (file)
@@ -137,6 +137,9 @@ class MailboxAction extends PersonalAction
             $message->free();
             unset($message);
         }
+        else {
+            $this->element('p', 'guide', _('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.'));
+        }
     }
 
     function getMessages()
index f41508305773628b64350284c090c003319fcb58..b8878ec1f9f4d95bb659edb147e1160fc5e10f11 100644 (file)
@@ -132,20 +132,14 @@ class MessageForm extends Form
         $mutual_users->free();
         unset($mutual_users);
 
-        $this->out->elementStart('ul', 'form_data');
-        $this->out->elementStart('li', array('id' => 'notice_to'));
         $this->out->dropdown('to', _('To'), $mutual, null, false,
                              ($this->to) ? $this->to->id : null);
-        $this->out->elementEnd('li');
 
-        $this->out->elementStart('li', array('id' => 'notice_text'));
         $this->out->element('textarea', array('id' => 'notice_data-text',
                                               'cols' => 35,
                                               'rows' => 4,
                                               'name' => 'content'),
                             ($this->content) ? $this->content : '');
-        $this->out->elementEnd('li');
-        $this->out->elementEnd('ul');
     }
 
     /**
@@ -156,14 +150,10 @@ class MessageForm extends Form
 
     function formActions()
     {
-        $this->out->elementStart('ul', 'form_actions');
-        $this->out->elementStart('li', array('id' => 'notice_submit'));
         $this->out->element('input', array('id' => 'notice_action-submit',
                                            'class' => 'submit',
                                            'name' => 'message_send',
                                            'type' => 'submit',
                                            'value' => _('Send')));
-        $this->out->elementEnd('li');
-        $this->out->elementEnd('ul');
     }
 }
index 0c991c9695bc672bc0eebdb93234e5fbdf3be483..606b5d028e7d73826cdd3d0d4a5f757575af2bbf 100644 (file)
@@ -134,9 +134,6 @@ class NoticeForm extends Form
 
     function formData()
     {
-
-        $this->out->elementStart('ul', 'form_data');
-        $this->out->elementStart('li', array('id' => 'notice_text'));
         $this->out->element('label', array('for' => 'notice_data-text'),
                             sprintf(_('What\'s up, %s?'), $this->user->nickname));
         // XXX: vary by defined max size
@@ -145,8 +142,6 @@ class NoticeForm extends Form
                                               'rows' => 4,
                                               'name' => 'status_textarea'),
                             ($this->content) ? $this->content : '');
-        $this->out->elementEnd('li');
-        $this->out->elementEnd('ul');
 
         $this->out->elementStart('dl', 'form_note');
         $this->out->element('dt', null, _('Available characters'));
@@ -168,14 +163,10 @@ class NoticeForm extends Form
 
     function formActions()
     {
-        $this->out->elementStart('ul', 'form_actions');
-        $this->out->elementStart('li', array('id' => 'notice_submit'));
         $this->out->element('input', array('id' => 'notice_action-submit',
                                            'class' => 'submit',
                                            'name' => 'status_submit',
                                            'type' => 'submit',
                                            'value' => _('Send')));
-        $this->out->elementEnd('li');
-        $this->out->elementEnd('ul');
     }
 }
index 9fc0126b3eb95e4def41607b9540330fe16dd572..4182d8808f7046520a9453e8ab1c90b6562083dd 100644 (file)
@@ -258,8 +258,12 @@ class NoticeListItem extends Widget
     function showAuthor()
     {
         $this->out->elementStart('span', 'vcard author');
-        $this->out->elementStart('a', array('href' => $this->profile->profileurl,
-                                            'class' => 'url'));
+        $attrs = array('href' => $this->profile->profileurl,
+                       'class' => 'url');
+        if (!empty($this->profile->fullname)) {
+            $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ') ';
+        }
+        $this->out->elementStart('a', $attrs);
         $this->showAvatar();
         $this->showNickname();
         $this->out->elementEnd('a');
@@ -387,6 +391,7 @@ class NoticeListItem extends Widget
              case 'xmpp':
              case 'mail':
              case 'omb':
+             case 'system':
              case 'api':
                 $this->out->element('dd', null, $source_name);
                 break;
index 878c735dae9cf6cc5429886bb83662bff5279af7..e8e1acc4139b6aa59fe916f1938e6817986ffa19 100644 (file)
@@ -305,7 +305,7 @@ function omb_update_profile($profile, $remote_profile, $subscription)
         return false;
     } else { # success!
         parse_str($result->body, $return);
-        if ($return['omb_version'] == OMB_VERSION_01) {
+        if (isset($return['omb_version']) && $return['omb_version'] === OMB_VERSION_01) {
             return true;
         } else {
             return false;
index 3aa488b6d422df9f7d5240da0a9d016fdecdbf91..3af7a39cfa2a807718fafbdd864e16af90bd7cd7 100644 (file)
@@ -160,7 +160,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
         $auth_request->addExtension($sreg_request);
     }
 
-    $trust_root = common_path('');
+    $trust_root = common_root_url(true);
     $process_url = common_local_url($returnto);
 
     if ($auth_request->shouldSendRedirect()) {
@@ -171,7 +171,7 @@ function oid_authenticate($openid_url, $returnto, $immediate=false)
         } else if (Auth_OpenID::isFailure($redirect_url)) {
             return sprintf(_('Could not redirect to server: %s'), $redirect_url->message);
         } else {
-            common_redirect($redirect_url);
+            common_redirect($redirect_url, 303);
         }
     } else {
         // Generate form markup and render it.
index 32c0b9806a8e4306dcf218cd2f51cee9495b3ae2..3de541e9aaf721ec8cbac4e65aabdfbc34d727c9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+ * Copyright (C) 2009, Control Yourself, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
 if (!defined('LACONICA')) { exit(1); }
 
 function ping_broadcast_notice($notice) {
+
        if (!$notice->is_local) {
-               return;
+               return true;
        }
-       
+
        # Array of servers, URL => type
        $notify = common_config('ping', 'notify');
        $profile = $notice->getProfile();
        $tags = ping_notice_tags($notice);
-       
+
        foreach ($notify as $notify_url => $type) {
                switch ($type) {
                 case 'xmlrpc':
                 case 'extended':
                        $req = xmlrpc_encode_request('weblogUpdates.ping',
                                                                                 array($profile->nickname, # site name
-                                                                                          common_local_url('showstream', 
+                                                                                          common_local_url('showstream',
                                                                                                                                array('nickname' => $profile->nickname)),
                                                                                           common_local_url('shownotice',
                                                                                                                                array('notice' => $notice->id)),
-                                                                                          common_local_url('userrss', 
+                                                                                          common_local_url('userrss',
                                                                                                                                array('nickname' => $profile->nickname)),
                                                                                           $tags));
-                       
-                       # We re-use this tool's fetcher, since it's pretty good
-       
-                       $fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
 
-                       if (!$fetcher) {
-                               common_log(LOG_WARNING, 'Failed to initialize Yadis fetcher.', __FILE__);
-                               return false;
-                       }
-       
-                       $result = $fetcher->post($notify_url,
-                                                                        $req);
-                                                                                          
+            $context = stream_context_create(array('http' => array('method' => "POST",
+                                                                   'header' =>
+                                                                   "Content-Type: text/xml\r\n".
+                                                                   "User-Agent: Laconica/".LACONICA_VERSION."\r\n",
+                                                                   'content' => $req)));
+            $file = file_get_contents($notify_url, false, $context);
+
+            if ($file === false || mb_strlen($file) == 0) {
+                common_log(LOG_WARNING,
+                           "XML-RPC empty results for ping ($notify_url, $notice->id) ");
+                continue;
+            }
+
+            $response = xmlrpc_decode($file);
+
+            if (xmlrpc_is_fault($response)) {
+                common_log(LOG_WARNING,
+                           "XML-RPC error for ping ($notify_url, $notice->id) ".
+                           "$response[faultString] ($response[faultCode])");
+            } else {
+                common_log(LOG_INFO,
+                           "Ping success for $notify_url $notice->id");
+            }
+            break;
+
                 case 'get':
-                case 'post':                   
+                case 'post':
+            $args = array('name' => $profile->nickname,
+                          'url' => common_local_url('showstream',
+                                                    array('nickname' => $profile->nickname)),
+                          'changesURL' => common_local_url('userrss',
+                                                           array('nickname' => $profile->nickname)));
+
+            $fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
+
+            if ($type === 'get') {
+                $result = $fetcher->get($notify_url . '?' . http_build_query($args),
+                                        array('User-Agent: Laconica/'.LACONICA_VERSION));
+            } else {
+                $result = $fetcher->post($notify_url,
+                                         http_build_query($args),
+                                         array('User-Agent: Laconica/'.LACONICA_VERSION));
+            }
+            if ($result->status != '200') {
+                common_log(LOG_WARNING,
+                           "Ping error for '$notify_url' ($notice->id): ".
+                           "$result->body");
+            } else {
+                common_log(LOG_INFO,
+                           "Ping success for '$notify_url' ($notice->id): ".
+                           "'$result->body'");
+            }
+            break;
+
                 default:
                        common_log(LOG_WARNING, 'Unknown notify type for ' . $notify_url . ': ' . $type);
-                                                                                  }
+        }
        }
+
+    return true;
 }
-               
+
 function ping_notice_tags($notice) {
        $tag = new Notice_tag();
        $tag->notice_id = $notice->id;
diff --git a/lib/profileaction.php b/lib/profileaction.php
new file mode 100644 (file)
index 0000000..c81924e
--- /dev/null
@@ -0,0 +1,242 @@
+<?php
+/**
+ * Laconica, the distributed open-source microblogging tool
+ *
+ * Common parent of Personal and Profile actions
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Personal
+ * @package   Laconica
+ * @author    Evan Prodromou <evan@controlyourself.ca>
+ * @author    Sarven Capadisli <csarven@controlyourself.ca>
+ * @copyright 2008-2009 Control Yourself, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://laconi.ca/
+ */
+
+if (!defined('LACONICA')) {
+    exit(1);
+}
+
+require_once INSTALLDIR.'/lib/profileminilist.php';
+require_once INSTALLDIR.'/lib/groupminilist.php';
+
+/**
+ * Profile action common superclass
+ *
+ * Abstracts out common code from profile and personal tabs
+ *
+ * @category Personal
+ * @package  Laconica
+ * @author   Evan Prodromou <evan@controlyourself.ca>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://laconi.ca/
+ */
+
+class ProfileAction extends Action
+{
+    var $user = null;
+    var $page = null;
+    var $profile = null;
+
+    function prepare($args)
+    {
+        parent::prepare($args);
+
+        $nickname_arg = $this->arg('nickname');
+        $nickname = common_canonical_nickname($nickname_arg);
+
+        // Permanent redirect on non-canonical nickname
+
+        if ($nickname_arg != $nickname) {
+            $args = array('nickname' => $nickname);
+            if ($this->arg('page') && $this->arg('page') != 1) {
+                $args['page'] = $this->arg['page'];
+            }
+            common_redirect(common_local_url($this->trimmed('action'), $args), 301);
+            return false;
+        }
+
+        $this->user = User::staticGet('nickname', $nickname);
+
+        if (!$this->user) {
+            $this->clientError(_('No such user.'), 404);
+            return false;
+        }
+
+        $this->profile = $this->user->getProfile();
+
+        if (!$this->profile) {
+            $this->serverError(_('User has no profile.'));
+            return false;
+        }
+
+        $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
+
+        common_set_returnto($this->selfUrl());
+
+        return true;
+    }
+
+    function showSections()
+    {
+        $this->showSubscriptions();
+        $this->showSubscribers();
+        $this->showGroups();
+        $this->showStatistics();
+    }
+
+    function showSubscriptions()
+    {
+        $profile = $this->user->getSubscriptions(0, PROFILES_PER_MINILIST + 1);
+
+        $this->elementStart('div', array('id' => 'entity_subscriptions',
+                                         'class' => 'section'));
+
+        $this->element('h2', null, _('Subscriptions'));
+
+        if ($profile) {
+            $pml = new ProfileMiniList($profile, $this->user, $this);
+            $cnt = $pml->show();
+            if ($cnt == 0) {
+                $this->element('p', null, _('(None)'));
+            }
+        }
+
+        if ($cnt > PROFILES_PER_MINILIST) {
+            $this->elementStart('p');
+            $this->element('a', array('href' => common_local_url('subscriptions',
+                                                                 array('nickname' => $this->profile->nickname)),
+                                      'class' => 'more'),
+                           _('All subscriptions'));
+            $this->elementEnd('p');
+        }
+
+        $this->elementEnd('div');
+    }
+
+    function showSubscribers()
+    {
+        $profile = $this->user->getSubscribers(0, PROFILES_PER_MINILIST + 1);
+
+        $this->elementStart('div', array('id' => 'entity_subscribers',
+                                         'class' => 'section'));
+
+        $this->element('h2', null, _('Subscribers'));
+
+        if ($profile) {
+            $pml = new ProfileMiniList($profile, $this->user, $this);
+            $cnt = $pml->show();
+            if ($cnt == 0) {
+                $this->element('p', null, _('(None)'));
+            }
+        }
+
+        if ($cnt > PROFILES_PER_MINILIST) {
+            $this->elementStart('p');
+            $this->element('a', array('href' => common_local_url('subscribers',
+                                                                 array('nickname' => $this->profile->nickname)),
+                                      'class' => 'more'),
+                           _('All subscribers'));
+            $this->elementEnd('p');
+        }
+
+        $this->elementEnd('div');
+    }
+
+    function showStatistics()
+    {
+        // XXX: WORM cache this
+        $subs = new Subscription();
+        $subs->subscriber = $this->profile->id;
+        $subs_count = (int) $subs->count() - 1;
+
+        $subbed = new Subscription();
+        $subbed->subscribed = $this->profile->id;
+        $subbed_count = (int) $subbed->count() - 1;
+
+        $notices = new Notice();
+        $notices->profile_id = $this->profile->id;
+        $notice_count = (int) $notices->count();
+
+        $this->elementStart('div', array('id' => 'entity_statistics',
+                                         'class' => 'section'));
+
+        $this->element('h2', null, _('Statistics'));
+
+        // Other stats...?
+        $this->elementStart('dl', 'entity_member-since');
+        $this->element('dt', null, _('Member since'));
+        $this->element('dd', null, date('j M Y',
+                                        strtotime($this->profile->created)));
+        $this->elementEnd('dl');
+
+        $this->elementStart('dl', 'entity_subscriptions');
+        $this->elementStart('dt');
+        $this->element('a', array('href' => common_local_url('subscriptions',
+                                                             array('nickname' => $this->profile->nickname))),
+                       _('Subscriptions'));
+        $this->elementEnd('dt');
+        $this->element('dd', null, (is_int($subs_count)) ? $subs_count : '0');
+        $this->elementEnd('dl');
+
+        $this->elementStart('dl', 'entity_subscribers');
+        $this->elementStart('dt');
+        $this->element('a', array('href' => common_local_url('subscribers',
+                                                             array('nickname' => $this->profile->nickname))),
+                       _('Subscribers'));
+        $this->elementEnd('dt');
+        $this->element('dd', 'subscribers', (is_int($subbed_count)) ? $subbed_count : '0');
+        $this->elementEnd('dl');
+
+        $this->elementStart('dl', 'entity_notices');
+        $this->element('dt', null, _('Notices'));
+        $this->element('dd', null, (is_int($notice_count)) ? $notice_count : '0');
+        $this->elementEnd('dl');
+
+        $this->elementEnd('div');
+    }
+
+    function showGroups()
+    {
+        $groups = $this->user->getGroups(0, GROUPS_PER_MINILIST + 1);
+
+        $this->elementStart('div', array('id' => 'entity_groups',
+                                         'class' => 'section'));
+
+        $this->element('h2', null, _('Groups'));
+
+        if ($groups) {
+            $gml = new GroupMiniList($groups, $this->user, $this);
+            $cnt = $gml->show();
+            if ($cnt == 0) {
+                $this->element('p', null, _('(None)'));
+            }
+        }
+
+        if ($cnt > GROUPS_PER_MINILIST) {
+            $this->elementStart('p');
+            $this->element('a', array('href' => common_local_url('usergroups',
+                                                                 array('nickname' => $this->profile->nickname)),
+                                      'class' => 'more'),
+                           _('All groups'));
+            $this->elementEnd('p');
+        }
+
+        $this->elementEnd('div');
+    }
+}
\ No newline at end of file
index 75053b7a42c6cdb90014b15f026ece5b848a5c9e..a4cc235552a4d24723cbb5abe9934bfa1c9e08a6 100644 (file)
@@ -89,6 +89,7 @@ class ProfileList extends Widget
                                              'id' => 'profile-' . $this->profile->id));
 
         $user = common_current_user();
+        $is_own = !is_null($user) && isset($this->owner) && ($user->id === $this->owner->id);
 
         $this->out->elementStart('div', 'entity_profile vcard');
 
@@ -108,7 +109,7 @@ class ProfileList extends Widget
         $this->out->elementEnd('span');
         $this->out->elementEnd('a');
 
-        if ($this->profile->fullname !== '') {
+        if (!empty($this->profile->fullname)) {
             $this->out->elementStart('dl', 'entity_fn');
             $this->out->element('dt', null, 'Full name');
             $this->out->elementStart('dd');
@@ -118,7 +119,7 @@ class ProfileList extends Widget
             $this->out->elementEnd('dd');
             $this->out->elementEnd('dl');
         }
-        if ($this->profile->location !== '') {
+        if (!empty($this->profile->location)) {
             $this->out->elementStart('dl', 'entity_location');
             $this->out->element('dt', null, _('Location'));
             $this->out->elementStart('dd', 'label');
@@ -126,7 +127,7 @@ class ProfileList extends Widget
             $this->out->elementEnd('dd');
             $this->out->elementEnd('dl');
         }
-        if ($this->profile->homepage !== '') {
+        if (!empty($this->profile->homepage)) {
             $this->out->elementStart('dl', 'entity_url');
             $this->out->element('dt', null, _('URL'));
             $this->out->elementStart('dd');
@@ -137,7 +138,7 @@ class ProfileList extends Widget
             $this->out->elementEnd('dd');
             $this->out->elementEnd('dl');
         }
-        if ($this->profile->bio !== '') {
+        if (!empty($this->profile->bio)) {
             $this->out->elementStart('dl', 'entity_note');
             $this->out->element('dt', null, _('Note'));
             $this->out->elementStart('dd', 'note');
@@ -154,7 +155,7 @@ class ProfileList extends Widget
 
             $this->out->elementStart('dl', 'entity_tags');
             $this->out->elementStart('dt');
-            if ($user->id == $this->owner->id) {
+            if ($is_own) {
                 $this->out->element('a', array('href' => common_local_url('tagother',
                                                                           array('id' => $this->profile->id))),
                                     _('Tags'));
@@ -183,7 +184,7 @@ class ProfileList extends Widget
             $this->out->elementEnd('dl');
         }
 
-        if ($user && $user->id == $this->owner->id) {
+        if ($is_own) {
             $this->showOwnerControls($this->profile);
         }
 
@@ -193,9 +194,10 @@ class ProfileList extends Widget
 
         $this->out->elementStart('ul');
 
-        if ($user && $user->id != $this->profile->id) {
-            # XXX: special-case for user looking at own
-            # subscriptions page
+        // Is this a logged-in user, looking at someone else's
+        // profile?
+
+        if (!empty($user) && $this->profile->id != $user->id) {
             $this->out->elementStart('li', 'entity_subscribe');
             if ($user->isSubscribed($this->profile)) {
                 $usf = new UnsubscribeForm($this->out, $this->profile);
@@ -206,7 +208,7 @@ class ProfileList extends Widget
             }
             $this->out->elementEnd('li');
             $this->out->elementStart('li', 'entity_block');
-            if ($user && $user->id == $this->owner->id) {
+            if ($user->id == $this->owner->id) {
                 $this->showBlockForm();
             }
             $this->out->elementEnd('li');
index 50d5a4ee13df0035c8840ca17e38adda2a874c38..6fb2f94872cbbc3386ecceaad00bc21349cd6352 100644 (file)
@@ -68,8 +68,8 @@ class Router
         }
     }
 
-    function initialize() {
-
+    function initialize()
+    {
         $m = Net_URL_Mapper::getInstance();
 
         // In the "root"
@@ -107,6 +107,9 @@ class Router
             $m->connect('main/'.$a, array('action' => $a));
         }
 
+        $m->connect('main/sup/:seconds', array('action' => 'sup'),
+                    array('seconds' => '[0-9]+'));
+
         $m->connect('main/tagother/:id', array('action' => 'tagother'));
 
         // these take a code
@@ -136,10 +139,17 @@ class Router
 
         foreach (array('group', 'people', 'notice') as $s) {
             $m->connect('search/'.$s, array('action' => $s.'search'));
-            $m->connect('search/'.$s.'?q=:q', array('action' => $s.'search'), array('q' => '.+'));
+            $m->connect('search/'.$s.'?q=:q',
+                        array('action' => $s.'search'),
+                        array('q' => '.+'));
         }
 
+        // The second of these is needed to make the link work correctly
+        // when inserted into the page. The first is needed to match the
+        // route on the way in. Seems to be another Net_URL_Mapper bug to me.
         $m->connect('search/notice/rss', array('action' => 'noticesearchrss'));
+        $m->connect('search/notice/rss?q=:q', array('action' => 'noticesearchrss'),
+                    array('q' => '.+'));
 
         // notice
 
@@ -156,7 +166,7 @@ class Router
                     array('notice' => '[0-9]+'));
 
         $m->connect('message/new', array('action' => 'newmessage'));
-        $m->connect('message/new?to=:to', array('action' => 'newmessage'), array('to' => '[A-Za-z0-9_-]'));
+        $m->connect('message/new?to=:to', array('action' => 'newmessage'), array('to' => '[A-Za-z0-9_-]+'));
         $m->connect('message/:message',
                     array('action' => 'showmessage'),
                     array('message' => '[0-9]+'));
@@ -259,8 +269,8 @@ class Router
         foreach (array('xml', 'json', 'rss', 'atom') as $e) {
             $m->connect('api/direct_messages/sent.'.$e,
                         array('action' => 'api',
-                        'apiaction' => 'direct_messages',
-                        'method' => 'sent.'.$e));
+                              'apiaction' => 'direct_messages',
+                              'method' => 'sent.'.$e));
         }
 
         $m->connect('api/direct_messages/destroy/:argument',
@@ -324,9 +334,9 @@ class Router
 
         foreach (array('xml', 'json', 'rss', 'atom') as $e) {
             $m->connect('api/favorites.'.$e,
-                array('action' => 'api',
-                      'apiaction' => 'favorites',
-                      'method' => 'favorites.'.$e));
+                        array('action' => 'api',
+                              'apiaction' => 'favorites',
+                              'method' => 'favorites.'.$e));
         }
 
         // notifications
@@ -411,7 +421,7 @@ class Router
             $match = $this->m->match($path);
         } catch (Net_URL_Mapper_InvalidException $e) {
             common_log(LOG_ERR, "Problem getting route for $path - " .
-                $e->getMessage());
+                       $e->getMessage());
             $cac = new ClientErrorAction("Page not found.", 404);
             $cac->showPage();
         }
@@ -429,6 +439,17 @@ class Router
             $args = $action_arg;
         }
 
-        return $this->m->generate($args, $params, $fragment);
+        $url = $this->m->generate($args, $params, $fragment);
+
+        // Due to a bug in the Net_URL_Mapper code, the returned URL may
+        // contain a malformed query of the form ?p1=v1?p2=v2?p3=v3. We
+        // repair that here rather than modifying the upstream code...
+
+        $qpos = strpos($url, '?');
+        if ($qpos !== false) {
+            $url = substr($url, 0, $qpos+1) .
+              str_replace('?', '&', substr($url, $qpos+1));
+        }
+        return $url;
     }
 }
index 66c2d9e8cd2399adf22a6311a044ae604fadf458..ddba862dcf9b22113d74787215f3a15f094e6b5a 100644 (file)
@@ -94,11 +94,11 @@ class Rss10Action extends Action
 
     function handle($args)
     {
-        // Get the list of notices
-        $this->notices = $this->getNotices();
         // Parent handling, including cache check
         parent::handle($args);
-        $this->showRss($this->limit);
+        // Get the list of notices
+        $this->notices = $this->getNotices($this->limit);
+        $this->showRss();
     }
 
     /**
@@ -132,15 +132,13 @@ class Rss10Action extends Action
         return null;
     }
 
-    function showRss($limit=0)
+    function showRss()
     {
-        $notices = $this->getNotices($limit);
-
         $this->initRss();
-        $this->showChannel($notices);
+        $this->showChannel();
         $this->showImage();
 
-        foreach ($notices as $n) {
+        foreach ($this->notices as $n) {
             $this->showItem($n);
         }
 
@@ -148,7 +146,7 @@ class Rss10Action extends Action
         $this->endRss();
     }
 
-    function showChannel($notices)
+    function showChannel()
     {
 
         $channel = $this->getChannel();
@@ -167,7 +165,7 @@ class Rss10Action extends Action
         $this->elementStart('items');
         $this->elementStart('rdf:Seq');
 
-        foreach ($notices as $notice) {
+        foreach ($this->notices as $notice) {
             $this->element('sioct:MicroblogPost', array('rdf:resource' => $notice->uri));
         }
 
index 559107910cef885bccb87a4687b8ab0b2dcae707..7b9dbb6182543e9e14969f7564c336cddc867350 100644 (file)
@@ -74,7 +74,7 @@ class SphinxSearch extends SearchEngine
     {
         //FIXME without LARGEST_POSSIBLE, the most recent results aren't returned
         //      this probably has a large impact on performance
-        $LARGEST_POSSIBLE = 1e6; 
+        $LARGEST_POSSIBLE = 1e6;
 
         if ($rss) {
             $this->sphinx->setLimits($offset, $count, $count, $LARGEST_POSSIBLE);
@@ -109,12 +109,25 @@ class MySQLSearch extends SearchEngine
 {
     function query($q)
     {
-        if ('identica_people' === $this->table)
-            return $this->target->whereAdd('MATCH(nickname, fullname, location, bio, homepage) ' .
-                           'against (\''.addslashes($q).'\')');
-        if ('identica_notices' === $this->table)
-            return $this->target->whereAdd('MATCH(content) ' .
-                           'against (\''.addslashes($q).'\')');
+        if ('identica_people' === $this->table) {
+            $this->target->whereAdd('MATCH(nickname, fullname, location, bio, homepage) ' .
+                                    'AGAINST (\''.addslashes($q).'\' IN BOOLEAN MODE)');
+            if (strtolower($q) != $q) {
+                $this->target->whereAdd('MATCH(nickname, fullname, location, bio, homepage) ' .
+                                        'AGAINST (\''.addslashes(strtolower($q)).'\' IN BOOLEAN MODE)', 'OR');
+            }
+            return true;
+        } else if ('identica_notices' === $this->table) {
+             $this->target->whereAdd('MATCH(content) ' .
+                                     'AGAINST (\''.addslashes($q).'\' IN BOOLEAN MODE)');
+            if (strtolower($q) != $q) {
+                $this->target->whereAdd('MATCH(content) ' .
+                                        'AGAINST (\''.addslashes(strtolower($q)).'\' IN BOOLEAN MODE)', 'OR');
+            }
+            return true;
+        } else {
+            throw new ServerException('Unknown table: ' . $this->table);
+        }
     }
 }
 
@@ -122,10 +135,13 @@ class PGSearch extends SearchEngine
 {
     function query($q)
     {
-        if ('identica_people' === $this->table)
+        if ('identica_people' === $this->table) {
             return $this->target->whereAdd('textsearch @@ plainto_tsquery(\''.addslashes($q).'\')');
-        if ('identica_notices' === $this->table)
+        } else if ('identica_notices' === $this->table) {
             return $this->target->whereAdd('to_tsvector(\'english\', content) @@ plainto_tsquery(\''.addslashes($q).'\')');
+        } else {
+            throw new ServerException('Unknown table: ' . $this->table);
+        }
     }
 }
 
index c762db16f049a7f84f3bee989c78d41148b8d2f2..e7ad4affdaab9eaac36e4fae6fe7c586443b9a1e 100644 (file)
@@ -133,5 +133,31 @@ class SearchAction extends Action
             $this->showResults($q, $page);
         }
     }
+
+    function searchSuggestions($q) {
+        $qe = urlencode($q);
+        $message = sprintf(_(<<<E_O_T
+* Make sure all words are spelled correctly.
+* Try different keywords.
+* Try more general keywords.
+* Try fewer keywords.
+
+You can also try your search on other engines:
+
+* [Twingly](http://www.twingly.com/search?q=%s&content=microblog&site=identi.ca)
+* [Tweet scan](http://www.tweetscan.com/indexi.php?s=%s)
+* [Google](http://www.google.com/search?q=site%%3A%%%%site.server%%%%+%s)
+* [Yahoo](http://search.yahoo.com/search?p=site%%3A%%%%site.server%%%%+%s)
+
+
+E_O_T
+), $qe, $qe, $qe, $qe);
+        $this->elementStart('dl', array('id' => 'help_search', 'class' => 'help'));
+        $this->element('dt', null, _('Search help'));
+        $this->elementStart('dd', 'instructions');
+        $this->raw(common_markup_to_html($message));
+        $this->elementEnd('dd');
+        $this->elementEnd('div');
+    }
 }
 
index 53c807c6f9cc834aaa6955d6107e8e11a5811742..db20c580436b46e0ae4bc361d65013d2234d43d2 100644 (file)
@@ -78,9 +78,9 @@ class SettingsAction extends Action
             common_set_returnto($this->selfUrl());
             $user = common_current_user();
             if ($user->hasOpenID()) {
-                common_redirect(common_local_url('openidlogin'));
+                common_redirect(common_local_url('openidlogin'), 303);
             } else {
-                common_redirect(common_local_url('login'));
+                common_redirect(common_local_url('login'), 303);
             }
         } else if ($_SERVER['REQUEST_METHOD'] == 'POST') {
             $this->handlePost();
index 5fd8a72a25dbc5b6d0be9065e1faa01539b0fb62..31c3ea0b568e8ed62b1e0524cec920ba621ef958 100644 (file)
@@ -98,7 +98,7 @@ class SubGroupNav extends Widget
                                      $this->user->nickname),
                              $action == 'usergroups',
                              'nav_usergroups');
-        if ($this->user->id == $cur->id) {
+        if (!is_null($cur) && $this->user->id === $cur->id) {
             $this->out->menuItem(common_local_url('invite'),
                                  _('Invite'),
                                  sprintf(_('Invite friends and colleagues to join you on %s'),
index a3929524ba349f17940a443485d72be13940c4d8..01723bd83acb974c6398466daf4e6d14283d0189 100644 (file)
@@ -19,7 +19,7 @@
 
 if (!defined('LACONICA')) { exit(1); }
 
-define("TWITTER_SERVICE", 1); // Twitter is foreign_service ID 1
+define('TWITTER_SERVICE', 1); // Twitter is foreign_service ID 1
 
 function get_twitter_data($uri, $screen_name, $password)
 {
@@ -45,6 +45,10 @@ function get_twitter_data($uri, $screen_name, $password)
     if ($errmsg) {
         common_debug("Twitter bridge - cURL error: $errmsg - trying to load: $uri with user $screen_name.",
             __FILE__);
+
+        if (SCRIPT_DEBUG) {
+            print "cURL error: $errmsg - trying to load: $uri with user $screen_name.\n";
+        }
     }
 
     curl_close($ch);
@@ -52,63 +56,141 @@ function get_twitter_data($uri, $screen_name, $password)
     return $data;
 }
 
-function twitter_user_info($screen_name, $password)
+function twitter_json_data($uri, $screen_name, $password)
 {
+    $json_data = get_twitter_data($uri, $screen_name, $password);
 
-    $uri = "http://twitter.com/users/show/$screen_name.json";
-    $data = get_twitter_data($uri, $screen_name, $password);
-
-    if (!$data) {
+    if (!$json_data) {
         return false;
     }
 
-    $twit_user = json_decode($data);
+    $data = json_decode($json_data);
 
-    if (!$twit_user) {
+    if (!$data) {
         return false;
     }
 
-    return $twit_user;
+    return $data;
 }
 
-function update_twitter_user($fuser, $twitter_id, $screen_name)
+function twitter_user_info($screen_name, $password)
 {
+    $uri = "http://twitter.com/users/show/$screen_name.json";
+    return twitter_json_data($uri, $screen_name, $password);
+}
 
-    $original = clone($fuser);
-    $fuser->nickname = $screen_name;
-    $fuser->uri = 'http://twitter.com/' . $screen_name;
-    $result = $fuser->updateKeys($original);
+function twitter_friends_ids($screen_name, $password)
+{
+    $uri = "http://twitter.com/friends/ids/$screen_name.json";
+    return twitter_json_data($uri, $screen_name, $password);
+}
+
+function update_twitter_user($twitter_id, $screen_name)
+{
+    $uri = 'http://twitter.com/' . $screen_name;
+
+    $fuser = new Foreign_user();
+
+    $fuser->query('BEGIN');
+
+    // Dropping down to SQL because regular db_object udpate stuff doesn't seem
+    // to work so good with tables that have multiple column primary keys
+
+    // Any time we update the uri for a forein user we have to make sure there
+    // are no dupe entries first -- unique constraint on the uri column
+
+    $qry = 'UPDATE foreign_user set uri = \'\' WHERE uri = ';
+    $qry .= '\'' . $uri . '\'' . ' AND service = ' . TWITTER_SERVICE;
+
+    $result = $fuser->query($qry);
+
+    if ($result) {
+        common_debug("Removed uri ($uri) from another foreign_user who was squatting on it.");
+        if (SCRIPT_DEBUG) {
+            print("Removed uri ($uri) from another Twitter user who was squatting on it.\n");
+        }
+    }
+
+    // Update the user
+    $qry = 'UPDATE foreign_user SET nickname = ';
+    $qry .= '\'' . $screen_name . '\'' . ', uri = \'' . $uri . '\' ';
+    $qry .= 'WHERE id = ' . $twitter_id . ' AND service = ' . TWITTER_SERVICE;
+
+    $result = $fuser->query($qry);
 
     if (!$result) {
+        common_log(LOG_WARNING,
+            "Couldn't update foreign_user data for Twitter user: $screen_name");
         common_log_db_error($fuser, 'UPDATE', __FILE__);
+        if (SCRIPT_DEBUG) {
+            print "UPDATE failed: for Twitter user:  $twitter_id - $screen_name. - ";
+            print common_log_objstring($fuser) . "\n";
+            $error = &PEAR::getStaticProperty('DB_DataObject','lastError');
+            print "DB_DataObject Error: " . $error->getMessage() . "\n";
+        }
         return false;
     }
 
+    $fuser->query('COMMIT');
+
+    $fuser->free();
+    unset($fuser);
+
     return true;
 }
 
 function add_twitter_user($twitter_id, $screen_name)
 {
 
+    $new_uri = 'http://twitter.com/' . $screen_name;
+
+    // Clear out any bad old foreign_users with the new user's legit URL
+    // This can happen when users move around or fakester accounts get
+    // repoed, and things like that.
+    $luser = new Foreign_user();
+    $luser->uri = $new_uri;
+    $luser->service = TWITTER_SERVICE;
+    $result = $luser->delete();
+
+    if ($result) {
+        common_log(LOG_WARNING,
+            "Twitter bridge - removed invalid Twitter user squatting on uri: $new_uri");
+        if (SCRIPT_DEBUG) {
+            print "Removed invalid Twitter user squatting on uri: $new_uri\n";
+        }
+    }
+
+    $luser->free();
+    unset($luser);
+
     // Otherwise, create a new Twitter user
-    $fuser = DB_DataObject::factory('foreign_user');
+    $fuser = new Foreign_user();
 
     $fuser->nickname = $screen_name;
     $fuser->uri = 'http://twitter.com/' . $screen_name;
     $fuser->id = $twitter_id;
-    $fuser->service = TWITTER_SERVICE; // Twitter
+    $fuser->service = TWITTER_SERVICE;
     $fuser->created = common_sql_now();
     $result = $fuser->insert();
 
     if (!$result) {
-        common_debug("Twitter bridge - failed to add new Twitter user: $twitter_id - $screen_name.");
+        common_log(LOG_WARNING,
+            "Twitter bridge - failed to add new Twitter user: $twitter_id - $screen_name.");
         common_log_db_error($fuser, 'INSERT', __FILE__);
-        return false;
+        if (SCRIPT_DEBUG) {
+            print "INSERT failed: could not add new Twitter user: $twitter_id - $screen_name. - ";
+            print common_log_objstring($fuser) . "\n";
+            $error = &PEAR::getStaticProperty('DB_DataObject','lastError');
+            print "DB_DataObject Error: " . $error->getMessage() . "\n";
+        }
+    } else {
+        common_debug("Twitter bridge - Added new Twitter user: $screen_name ($twitter_id).");
+        if (SCRIPT_DEBUG) {
+            print "Added new Twitter user: $screen_name ($twitter_id).\n";
+        }
     }
 
-    common_debug("Twitter bridge - Added new Twitter user: $screen_name ($twitter_id).");
-
-    return true;
+    return $result;
 }
 
 // Creates or Updates a Twitter user
@@ -117,53 +199,87 @@ function save_twitter_user($twitter_id, $screen_name)
 
     // Check to see whether the Twitter user is already in the system,
     // and update its screen name and uri if so.
-    $fuser = Foreign_user::getForeignUser($twitter_id, 1);
+    $fuser = Foreign_user::getForeignUser($twitter_id, TWITTER_SERVICE);
 
     if ($fuser) {
 
+        $result = true;
+
         // Only update if Twitter screen name has changed
         if ($fuser->nickname != $screen_name) {
+            $result = update_twitter_user($twitter_id, $screen_name);
 
             common_debug('Twitter bridge - Updated nickname (and URI) for Twitter user ' .
                 "$fuser->id to $screen_name, was $fuser->nickname");
 
-            return update_twitter_user($fuser, $twitter_id, $screen_name);
+            if (SCRIPT_DEBUG) {
+                print 'Updated nickname (and URI) for Twitter user ' .
+                    "$fuser->id to $screen_name, was $fuser->nickname\n";
+            }
         }
 
+        return $result;
+
     } else {
         return add_twitter_user($twitter_id, $screen_name);
     }
 
+    $fuser->free();
+    unset($fuser);
+
     return true;
 }
 
 function retreive_twitter_friends($twitter_id, $screen_name, $password)
 {
+    $friends = array();
 
     $uri = "http://twitter.com/statuses/friends/$twitter_id.json?page=";
-    $twitter_user = twitter_user_info($screen_name, $password);
+    $friends_ids = twitter_friends_ids($screen_name, $password);
+
+    if (!$friends_ids) {
+        return $friends;
+    }
+
+    if (SCRIPT_DEBUG) {
+        print "Twitter 'social graph' ids method says $screen_name has " .
+            count($friends_ids) . " friends.\n";
+    }
 
     // Calculate how many pages to get...
-    $pages = ceil($twitter_user->friends_count / 100);
+    $pages = ceil(count($friends_ids) / 100);
 
     if ($pages == 0) {
-        common_debug("Twitter bridge - Twitter user $screen_name has no friends! Lame.");
+        common_log(LOG_WARNING,
+            "Twitter bridge - $screen_name seems to have no friends.");
+        if (SCRIPT_DEBUG) {
+            print "$screen_name seems to have no friends.\n";
+        }
     }
 
-    $friends = array();
-
     for ($i = 1; $i <= $pages; $i++) {
 
         $data = get_twitter_data($uri . $i, $screen_name, $password);
 
         if (!$data) {
-            return null;
+            common_log(LOG_WARNING,
+                "Twitter bridge - Couldn't retrieve page $i of $screen_name's friends.");
+            if (SCRIPT_DEBUG) {
+                print "Couldn't retrieve page $i of $screen_name's friends.\n";
+            }
+            continue;
         }
 
         $more_friends = json_decode($data);
 
         if (!$more_friends) {
-            return null;
+
+            common_log(LOG_WARNING,
+                "Twitter bridge - No data for page $i of $screen_name's friends.");
+            if (SCRIPT_DEBUG) {
+                print "No data for page $i of $screen_name's friends.\n";
+            }
+            continue;
         }
 
          $friends = array_merge($friends, $more_friends);
@@ -177,19 +293,27 @@ function save_twitter_friends($user, $twitter_id, $screen_name, $password)
 
     $friends = retreive_twitter_friends($twitter_id, $screen_name, $password);
 
-    if (is_null($friends)) {
-        common_debug("Twitter bridge - Couldn't get friends data from Twitter.");
+    if (empty($friends)) {
+        common_debug("Twitter bridge - Couldn't get friends data from Twitter for $screen_name.");
+        if (SCRIPT_DEBUG) {
+            print "Couldn't get friends data from Twitter for $screen_name.\n";
+        }
         return false;
     }
 
     foreach ($friends as $friend) {
 
         $friend_name = $friend->screen_name;
-        $friend_id = $friend->id;
+        $friend_id = (int) $friend->id;
 
         // Update or create the Foreign_user record
         if (!save_twitter_user($friend_id, $friend_name)) {
-            return false;
+            common_log(LOG_WARNING,
+                "Twitter bridge - couldn't save $screen_name's friend, $friend_name.");
+            if (SCRIPT_DEBUG) {
+                print "Couldn't save $screen_name's friend, $friend_name.\n";
+            }
+            continue;
         }
 
         // Check to see if there's a related local user
@@ -199,8 +323,20 @@ function save_twitter_friends($user, $twitter_id, $screen_name, $password)
 
             // Get associated user and subscribe her
             $friend_user = User::staticGet('id', $flink->user_id);
-            subs_subscribe_to($user, $friend_user);
-            common_debug("Twitter bridge - subscribed $friend_user->nickname to $user->nickname.");
+            if (!empty($friend_user)) {
+                $result = subs_subscribe_to($user, $friend_user);
+
+                if ($result === true) {
+                    common_debug("Twitter bridge - subscribed $friend_user->nickname to $user->nickname.");
+                    if (SCRIPT_DEBUG) {
+                        print("Subscribed $friend_user->nickname to $user->nickname.\n");
+                    }
+                } else {
+                    if (SCRIPT_DEBUG) {
+                        print "$result ($friend_user->nickname to $user->nickname)\n";
+                    }
+                }
+            }
         }
     }
 
@@ -210,7 +346,7 @@ function save_twitter_friends($user, $twitter_id, $screen_name, $password)
 function is_twitter_bound($notice, $flink) {
 
     // Check to see if notice should go to Twitter
-    if (($flink->noticesync & FOREIGN_NOTICE_SEND)) {
+    if ($flink->noticesync & FOREIGN_NOTICE_SEND) {
 
         // If it's not a Twitter-style reply, or if the user WANTS to send replies.
         if (!preg_match('/^@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
@@ -218,7 +354,7 @@ function is_twitter_bound($notice, $flink) {
                 return true;
         }
     }
-    
+
     return false;
 }
 
@@ -226,12 +362,12 @@ function broadcast_twitter($notice)
 {
     $success = true;
 
-    $flink = Foreign_link::getByUserID($notice->profile_id, 
+    $flink = Foreign_link::getByUserID($notice->profile_id,
         TWITTER_SERVICE);
-            
-    // XXX: Not sure WHERE to check whether a notice should go to 
+
+    // XXX: Not sure WHERE to check whether a notice should go to
     // Twitter. Should we even put in the queue if it shouldn't? --Zach
-    if (is_twitter_bound($notice, $flink)) {
+    if (!is_null($flink) && is_twitter_bound($notice, $flink)) {
 
         $fuser = $flink->getForeignUser();
         $twitter_user = $fuser->nickname;
@@ -244,7 +380,7 @@ function broadcast_twitter($notice)
         $options = array(
             CURLOPT_USERPWD        => "$twitter_user:$twitter_password",
             CURLOPT_POST           => true,
-            CURLOPT_POSTFIELDS     => 
+            CURLOPT_POSTFIELDS     =>
                 array(
                         'status' => $statustxt,
                         'source' => common_config('integration', 'source')
@@ -292,7 +428,6 @@ function broadcast_twitter($notice)
             $success = false;
         }
     }
-    
+
     return $success;
 }
-
index e7239acd5e4e1d6c84a790ec2d30fac5d5ab6c18..b8357c6889545e9a1f5d191b1401637fd0a09e94 100644 (file)
@@ -238,21 +238,6 @@ class TwitterapiAction extends Action
         $this->elementEnd('item');
     }
 
-    function show_twitter_atom_entry($entry)
-    {
-        $this->elementStart('entry');
-        $this->element('title', null, $entry['title']);
-        $this->element('content', array('type' => 'html'), $entry['content']);
-        $this->element('id', null, $entry['id']);
-        $this->element('published', null, $entry['published']);
-        $this->element('updated', null, $entry['updated']);
-        $this->element('link', array('href' => $entry['link'], 'rel' => 'alternate', 'type' => 'text/html'), null);
-        $this->elementStart('author');
-        $this->element('name', null, $entry['author']);
-        $this->elementEnd('author');
-        $this->elementEnd('entry');
-    }
-
     function show_json_objects($objects)
     {
         print(json_encode($objects));
@@ -383,7 +368,7 @@ class TwitterapiAction extends Action
         }
 
         if (!is_null($selfuri)) {
-            $this->element('link', array('href' => $selfuri, 
+            $this->element('link', array('href' => $selfuri,
                 'rel' => 'self', 'type' => 'application/atom+xml'), null);
         }
 
@@ -392,13 +377,11 @@ class TwitterapiAction extends Action
 
         if (is_array($notice)) {
             foreach ($notice as $n) {
-                $entry = $this->twitter_rss_entry_array($n);
-                $this->show_twitter_atom_entry($entry);
+                $this->raw($n->asAtomEntry());
             }
         } else {
             while ($notice->fetch()) {
-                $entry = $this->twitter_rss_entry_array($notice);
-                $this->show_twitter_atom_entry($entry);
+                $this->raw($notice->asAtomEntry());
             }
         }
 
@@ -578,13 +561,16 @@ class TwitterapiAction extends Action
     function init_twitter_atom()
     {
         $this->startXML();
-        $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en-US'));
+        // FIXME: don't hardcode the language here!
+        $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom',
+                                          'xml:lang' => 'en-US',
+                                          'xmlns:thr' => 'http://purl.org/syndication/thread/1.0'));
     }
 
     function end_twitter_atom()
     {
-        $this->endXML();
         $this->elementEnd('feed');
+        $this->endXML();
     }
 
     function show_profile($profile, $content_type='xml', $notice=null)
index 6341438caef1ed570314708ca90420d4c9e42f12..b17a44bd8538255fd348ed17433e24268ecd4bac 100644 (file)
@@ -480,18 +480,12 @@ function common_replace_urls_callback($text, $callback) {
 function common_linkify($url) {
     // It comes in special'd, so we unspecial it before passing to the stringifying
     // functions
-    $ext = pathinfo($url, PATHINFO_EXTENSION);
     $url = htmlspecialchars_decode($url);
-    $video_ext = array('mp4', 'flv', 'avi', 'mpg', 'mp3', 'ogg');
     $display = $url;
     $url = (!preg_match('#^([a-z]+://|(mailto|aim|tel):)#i', $url)) ? 'http://'.$url : $url;
 
     $attrs = array('href' => $url, 'rel' => 'external');
 
-    if (in_array($ext, $video_ext)) {
-        $attrs['class'] = 'media';
-    }
-
     if ($longurl = common_longurl($url)) {
         $attrs['title'] = $longurl;
     }
@@ -587,10 +581,8 @@ function common_shorten_link($url, $reverse = false)
 
 function common_xml_safe_str($str)
 {
-    $xmlStr = htmlentities(iconv('UTF-8', 'UTF-8//IGNORE', $str), ENT_NOQUOTES, 'UTF-8');
-
-    // Replace control, formatting, and surrogate characters with '*', ala Twitter
-    return preg_replace('/[\p{Cc}\p{Cf}\p{Cs}]/u', '*', $str);
+    // Neutralize control codes and surrogates
+       return preg_replace('/[\p{Cc}\p{Cs}]/u', '*', $str);
 }
 
 function common_tag_link($tag)
@@ -628,9 +620,13 @@ function common_at_link($sender_id, $nickname)
             $url = $recipient->profileurl;
         }
         $xs = new XMLStringer(false);
+        $attrs = array('href' => $url,
+                       'class' => 'url');
+        if (!empty($recipient->fullname)) {
+            $attrs['title'] = $recipient->fullname . ' (' . $recipient->nickname . ')';
+        }
         $xs->elementStart('span', 'vcard');
-        $xs->elementStart('a', array('href' => $url,
-                                     'class' => 'url'));
+        $xs->elementStart('a', $attrs);
         $xs->element('span', 'fn nickname', $nickname);
         $xs->elementEnd('a');
         $xs->elementEnd('span');
@@ -645,10 +641,14 @@ function common_group_link($sender_id, $nickname)
     $sender = Profile::staticGet($sender_id);
     $group = User_group::staticGet('nickname', common_canonical_nickname($nickname));
     if ($group && $sender->isMember($group)) {
+        $attrs = array('href' => $group->permalink(),
+                       'class' => 'url');
+        if (!empty($group->fullname)) {
+            $attrs['title'] = $group->fullname . ' (' . $group->nickname . ')';
+        }
         $xs = new XMLStringer();
         $xs->elementStart('span', 'vcard');
-        $xs->elementStart('a', array('href' => $group->permalink(),
-                                     'class' => 'url'));
+        $xs->elementStart('a', $attrs);
         $xs->element('span', 'fn nickname', $nickname);
         $xs->elementEnd('a');
         $xs->elementEnd('span');
@@ -719,25 +719,46 @@ function common_relative_profile($sender, $nickname, $dt=null)
 
 function common_local_url($action, $args=null, $params=null, $fragment=null)
 {
+    static $sensitive = array('login', 'register', 'passwordsettings',
+                              'twittersettings', 'finishopenidlogin',
+                              'finishaddopenid', 'api');
+
     $r = Router::get();
     $path = $r->build($action, $args, $params, $fragment);
 
+    $ssl = in_array($action, $sensitive);
+
     if (common_config('site','fancy')) {
-        $url = common_path(mb_substr($path, 1));
+        $url = common_path(mb_substr($path, 1), $ssl);
     } else {
         if (mb_strpos($path, '/index.php') === 0) {
-            $url = common_path(mb_substr($path, 1));
+            $url = common_path(mb_substr($path, 1), $ssl);
         } else {
-            $url = common_path('index.php'.$path);
+            $url = common_path('index.php'.$path, $ssl);
         }
     }
     return $url;
 }
 
-function common_path($relative)
+function common_path($relative, $ssl=false)
 {
     $pathpart = (common_config('site', 'path')) ? common_config('site', 'path')."/" : '';
-    return "http://".common_config('site', 'server').'/'.$pathpart.$relative;
+
+    if (($ssl && (common_config('site', 'ssl') === 'sometimes'))
+        || common_config('site', 'ssl') === 'always') {
+        $proto = 'https';
+        if (is_string(common_config('site', 'sslserver')) &&
+            mb_strlen(common_config('site', 'sslserver')) > 0) {
+            $serverpart = common_config('site', 'sslserver');
+        } else {
+            $serverpart = common_config('site', 'server');
+        }
+    } else {
+        $proto = 'http';
+        $serverpart = common_config('site', 'server');
+    }
+
+    return $proto.'://'.$serverpart.'/'.$pathpart.$relative;
 }
 
 function common_date_string($dt)
@@ -827,7 +848,7 @@ function common_redirect($url, $code=307)
                            303 => "See Other",
                            307 => "Temporary Redirect");
 
-    header("Status: ${code} $status[$code]");
+    header('HTTP/1.1 '.$code.' '.$status[$code]);
     header("Location: $url");
 
     $xo = new XMLOutputter();
@@ -929,9 +950,9 @@ function common_profile_url($nickname)
 
 // Should make up a reasonable root URL
 
-function common_root_url()
+function common_root_url($ssl=false)
 {
-    return common_path('');
+    return common_path('', $ssl);
 }
 
 // returns $bytes bytes of random data as a hexadecimal string
index 54db03dffca8adace03d0045e89284f03e435d82..2084eb57923100e44ad5a2ae8635067e28b83ebc 100644 (file)
Binary files a/locale/de_DE/LC_MESSAGES/laconica.mo and b/locale/de_DE/LC_MESSAGES/laconica.mo differ
index aadde320885325b4670fd7bc2aaff82f32ee7f67..dffce377579e24f9401ec86297ccc6672be2d8e7 100644 (file)
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-29 15:47+0000\n"
-"Last-Translator: Mathias <mathias.reinhardt@web.de>\n"
+"PO-Revision-Date: 2009-03-12 16:13+0000\n"
+"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -99,11 +99,9 @@ msgstr ""
 "\n"
 "%6$s\n"
 "\n"
-"Wenn nicht, ignoriere diese Nachricht. Danke für Deine Geduld und Deine "
-"Zeit\n"
+"Wenn nicht, ignoriere diese Nachricht. Danke für Deine Geduld und Deine Zeit\n"
 "\n"
 "Schöne Grüße von %2$s\n"
-" "
 
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
 #, php-format
@@ -131,7 +129,7 @@ msgstr ""
 #: actions/twitapistatuses.php:350
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr ""
+msgstr "Nachrichten von %1$, die auf Nachrichten von %2$ / %3$ antworten."
 
 #: ../actions/shownotice.php:45 actions/shownotice.php:45
 #: actions/shownotice.php:161
@@ -397,7 +395,7 @@ msgstr "Abonnement bestätigen"
 #: ../actions/login.php:104 ../actions/register.php:178
 #: actions/register.php:192
 msgid "Automatically login in the future; not for shared computers!"
-msgstr "Automatisch einloggen; Nicht bei gemeinsam genutzten PCs einsetzen!"
+msgstr "Automatisch einloggen; nicht bei gemeinsam genutzten PCs einsetzen!"
 
 #: ../actions/profilesettings.php:65 actions/profilesettings.php:98
 msgid ""
@@ -441,9 +439,8 @@ msgid "Awaiting confirmation on this phone number."
 msgstr "Warte auf die Bestätigung dieser Telefonnummer."
 
 #: ../lib/util.php:1318 lib/util.php:1452
-#, fuzzy
 msgid "Before »"
-msgstr "Früher »"
+msgstr "Ältere »"
 
 #: ../actions/profilesettings.php:49 ../actions/register.php:170
 #: actions/profilesettings.php:82 actions/register.php:184
@@ -585,7 +582,7 @@ msgstr ""
 "* deine [Profildaten ergänzen](%%%%action.profilesettings%%%%) um mehr über "
 "dich zu veröffentlichen\n"
 "* die [Dokumentation](%%%%doc.help%%%%) lesen um mehr über weitere Features "
-"zu erfahren\n"
+"zu erfahren"
 
 #: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
 #: actions/finishopenidlogin.php:119 lib/action.php:330
@@ -634,7 +631,6 @@ msgid "Could not save new profile info"
 msgstr "Neue Profildaten konnten nicht gespeichert werden."
 
 #: ../lib/subs.php:54 lib/subs.php:61 lib/subs.php:72
-#, fuzzy
 msgid "Could not subscribe other to you."
 msgstr "Die Gegenseite konnte Dich nicht abonnieren."
 
@@ -993,9 +989,8 @@ msgstr "Homepage ist kein gültiger URL."
 
 #: ../actions/emailsettings.php:91 actions/emailsettings.php:98
 #: actions/emailsettings.php:173
-#, fuzzy
 msgid "I want to post notices by email."
-msgstr "Ich möchte Einträge per E-Mail posten."
+msgstr "Ich möchte Einträge per E-Mail veröffentlichen."
 
 #: ../lib/settingsaction.php:102 lib/settingsaction.php:96
 #: lib/connectsettingsaction.php:104
@@ -1413,7 +1408,6 @@ msgstr "Keine ID."
 
 #: ../actions/emailsettings.php:271 actions/emailsettings.php:289
 #: actions/emailsettings.php:430
-#, fuzzy
 msgid "No incoming email address."
 msgstr "Keine Eingangs-Emailadresse"
 
@@ -1785,9 +1779,8 @@ msgstr "Leute"
 
 #: ../actions/opensearch.php:33 actions/opensearch.php:33
 #: actions/opensearch.php:64
-#, fuzzy
 msgid "People Search"
-msgstr "Suchen von Personen"
+msgstr "Suche nach Nutzern"
 
 #: ../actions/peoplesearch.php:33 actions/peoplesearch.php:33
 #: actions/peoplesearch.php:58
@@ -2100,7 +2093,6 @@ msgid "Send me notices through Jabber/GTalk."
 msgstr "Schicke mir Nachrichten mittels Jabber/GTalk."
 
 #: ../actions/smssettings.php:97 actions/smssettings.php:97
-#, fuzzy
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
@@ -2109,7 +2101,6 @@ msgstr ""
 "meinem Netzbetreiber entstehen können."
 
 #: ../actions/imsettings.php:76 actions/imsettings.php:77
-#, fuzzy
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr ""
 "Schicke mir Antworten von Leuten, die ich nicht abonniert habe, mit "
@@ -2353,7 +2344,6 @@ msgid "These are the people whose notices you listen to."
 msgstr "Dies sind die Leute, deren Nachrichten du liest."
 
 #: ../actions/invite.php:89 actions/invite.php:96 actions/invite.php:128
-#, fuzzy
 msgid ""
 "These people are already users and you were automatically subscribed to them:"
 msgstr ""
@@ -2388,7 +2378,6 @@ msgstr ""
 #: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
 #: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
 #: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
-#, fuzzy
 msgid "This method requires a POST or DELETE."
 msgstr "Diese Methode benötigt ein POST oder DELETE."
 
@@ -2398,7 +2387,6 @@ msgstr "Diese Methode benötigt ein POST oder DELETE."
 #: actions/twitapistatuses.php:303 actions/twitapiaccount.php:53
 #: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
 #: actions/twitapistatuses.php:244
-#, fuzzy
 msgid "This method requires a POST."
 msgstr "Diese Methode benötigt ein POST."
 
@@ -2431,7 +2419,7 @@ msgstr ""
 #: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
 #: actions/twitapifriendships.php:132
 msgid "Two user ids or screen_names must be supplied."
-msgstr ""
+msgstr "Zwei IDs oder Benutzernamen müssen angegeben werden."
 
 #: ../actions/profilesettings.php:48 ../actions/register.php:169
 #: actions/profilesettings.php:81 actions/register.php:183
@@ -2596,7 +2584,7 @@ msgstr "In welcher Zeitzone befinden Sie sich üblicherweise?"
 #: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
 #, php-format
 msgid "What's up, %s?"
-msgstr "Was ist los, %s?\n"
+msgstr "Was ist los, %s?"
 
 #: ../actions/profilesettings.php:54 ../actions/register.php:175
 #: actions/profilesettings.php:87 actions/register.php:189
@@ -2621,7 +2609,7 @@ msgstr "Falsche Bildgröße bei '%s'"
 #: actions/block.php:148 actions/deletenotice.php:122
 #: actions/deletenotice.php:141
 msgid "Yes"
-msgstr ""
+msgstr "Ja"
 
 #: ../actions/finishaddopenid.php:64 actions/finishaddopenid.php:64
 #: actions/finishaddopenid.php:112
@@ -2633,6 +2621,8 @@ msgid ""
 "You are about to permanently delete a notice.  Once this is done, it cannot "
 "be undone."
 msgstr ""
+"Du bist gerade dabei eine Nachricht unwiderruflich zu löschen. Diese Aktion "
+"ist irreversibel."
 
 #: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
 #: actions/recoverpassword.php:36
@@ -2646,7 +2636,7 @@ msgstr "Du hast diese Benutzer bereits abonniert:"
 #: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
 msgid "You are not friends with the specified user."
-msgstr ""
+msgstr "Der angebene Benutzer gehört nicht zu Deinem Freunde-Netzwerk"
 
 #: ../actions/password.php:27
 msgid "You can change your password here. Choose a good one!"
index daeebef5645c5f3d36ff528d51abeb5901fff3f9..1459714e82f47af3722fc61e0cd4916d2e20d61b 100644 (file)
Binary files a/locale/en_GB/LC_MESSAGES/laconica.mo and b/locale/en_GB/LC_MESSAGES/laconica.mo differ
index 02ad09331747590167b51ed420b0b32d7b02db14..ec910d6e2b924297811de9cb5e073cc5e7cddca7 100644 (file)
@@ -4,50 +4,50 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-03-12 16:15+0000\n"
+"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-#  laconica.pot (laconica)  #-#-#-#-#\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
 #, php-format
 msgid " Search Stream for \"%s\""
-msgstr "Search Stream for ‘%s’"
+msgstr "Search Stream for \"%s\""
 
+# Adjusted for grammar.
 #: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
 #: actions/finishopenidlogin.php:88 actions/register.php:205
 #: actions/finishopenidlogin.php:110
 msgid ""
 " except this private data: password, email address, IM address, phone number."
 msgstr ""
-"except this private data: password, e-mail address, IM address, phone number."
+"except for the following private data: password, e-mail address, Instant "
+"Messenger address and phone number."
 
 #: ../actions/showstream.php:400 ../lib/stream.php:109
 #: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
 msgid " from "
-msgstr ""
+msgstr "from"
 
 #: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
 #: actions/twitapistatuses.php:347
 #, php-format
 msgid "%1$s / Updates replying to %2$s"
-msgstr ""
+msgstr "%1$s / Updates replying to %2$s"
 
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr ""
+msgstr "%1$s has invited you to join them on %2$s"
 
 #: ../actions/invite.php:170
 #, php-format
@@ -79,6 +79,31 @@ msgid ""
 "\n"
 "Sincerely, %2$s\n"
 msgstr ""
+"%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"
 
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
 #, php-format
@@ -95,24 +120,30 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s.\n"
 msgstr ""
+"%1$s is now listening to your notices on %2$s.\n"
+"\n"
+"\t%3$s\n"
+"\n"
+"Faithfully yours,\n"
+"%4$s.\n"
 
 #: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
 #: actions/twitapistatuses.php:350
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr ""
+msgstr "%1$s updates that reply to updates from %2$s / %3$s."
 
 #: ../actions/shownotice.php:45 actions/shownotice.php:45
 #: actions/shownotice.php:161
 #, php-format
 msgid "%1$s's status on %2$s"
-msgstr "%1$ss status on %2$s"
+msgstr "%1$s's status on %2$s"
 
 #: ../actions/invite.php:84 ../actions/invite.php:92 actions/invite.php:91
 #: actions/invite.php:99 actions/invite.php:123 actions/invite.php:131
 #, php-format
 msgid "%s (%s)"
-msgstr ""
+msgstr "%s (%s)"
 
 #: ../actions/publicrss.php:62 actions/publicrss.php:48
 #: actions/publicrss.php:90
@@ -133,30 +164,32 @@ msgstr "%s and friends"
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr ""
+msgstr "%s public timeline"
 
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
 msgid "%s status"
-msgstr ""
+msgstr "%s status"
 
 #: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
 #: actions/twitapistatuses.php:199
 #, php-format
 msgid "%s timeline"
-msgstr ""
+msgstr "%s timeline"
 
 #: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
 #: actions/twitapistatuses.php:36
 #, php-format
 msgid "%s updates from everyone!"
-msgstr ""
+msgstr "%s updates from everyone!"
 
 #: ../actions/register.php:213
 msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
 msgstr ""
+"(You should receive an e-mail message in a moment, containing instructions "
+"on how to confirm your e-mail address.)"
 
 #: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
 #, php-format
@@ -164,24 +197,24 @@ msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
-"**%%site.name%%** is a microblogging service brought to you by [%%site."
-"broughtby%%](%%site.broughtbyurl%%)"
+"**%%site.name%%** is a microblogging service brought to you by "
+"[%%site.broughtby%%](%%site.broughtbyurl%%). "
 
 #: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
-msgstr "**%%site.name%%** is a microblogging service."
+msgstr "**%%site.name%%** is a microblogging service. "
 
 #: ../lib/util.php:274 lib/util.php:290
 msgid ". Contributors should be attributed by full name or nickname."
-msgstr ". Contributors should be attributed by full name or nickname."
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:73 ../actions/profilesettings.php:43
 #: actions/finishopenidlogin.php:79 actions/profilesettings.php:76
 #: actions/finishopenidlogin.php:101 actions/profilesettings.php:100
 #: lib/groupeditform.php:139
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
 
 #: ../actions/register.php:152 actions/register.php:166
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
@@ -190,7 +223,7 @@ msgstr ""
 #: ../actions/password.php:42 actions/profilesettings.php:181
 #: actions/passwordsettings.php:102
 msgid "6 or more characters"
-msgstr "6 or more characters"
+msgstr ""
 
 #: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
 #: actions/recoverpassword.php:220
@@ -208,20 +241,22 @@ msgid ""
 "A confirmation code was sent to the IM address you added. You must approve %"
 "s for sending messages to you."
 msgstr ""
-"A confirmation code was sent to the IM address you added. You must approve %"
-"s for sending messages to you."
 
 #: ../actions/emailsettings.php:213 actions/emailsettings.php:231
 msgid ""
 "A confirmation code was sent to the email address you added. Check your "
 "inbox (and spam box!) for the code and instructions on how to use it."
 msgstr ""
+"A confirmation code was sent to the e-mail address you added. Check your in-"
+"box (and spam box!) for the code and instructions on how to use it."
 
 #: ../actions/smssettings.php:216 actions/smssettings.php:224
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your inbox "
 "(and spam box!) for the code and instructions on how to use it."
 msgstr ""
+"A confirmation code was sent to the phone number you added. Check your in-"
+"box (and spam box!) for the code and instructions on how to use it."
 
 #: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
 #: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@@ -270,12 +305,12 @@ msgstr ""
 
 #: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
 msgid "About"
-msgstr "About"
+msgstr ""
 
 #: ../actions/userauthorization.php:119 actions/userauthorization.php:126
 #: actions/userauthorization.php:143
 msgid "Accept"
-msgstr "Accept"
+msgstr ""
 
 #: ../actions/emailsettings.php:62 ../actions/imsettings.php:63
 #: ../actions/openidsettings.php:57 ../actions/smssettings.php:71
@@ -285,12 +320,12 @@ msgstr "Accept"
 #: actions/imsettings.php:127 actions/openidsettings.php:111
 #: actions/smssettings.php:133 actions/twittersettings.php:163
 msgid "Add"
-msgstr "Add"
+msgstr ""
 
 #: ../actions/openidsettings.php:43 actions/openidsettings.php:44
 #: actions/openidsettings.php:93
 msgid "Add OpenID"
-msgstr "Add OpenID"
+msgstr ""
 
 #: ../lib/settingsaction.php:97 lib/settingsaction.php:91
 #: lib/accountsettingsaction.php:117
@@ -303,7 +338,7 @@ msgstr ""
 #: actions/emailsettings.php:94 actions/imsettings.php:94
 #: actions/smssettings.php:92
 msgid "Address"
-msgstr "Address"
+msgstr ""
 
 #: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
 msgid "Addresses of friends to invite (one per line)"
@@ -312,13 +347,13 @@ msgstr ""
 #: ../actions/showstream.php:273 actions/showstream.php:288
 #: actions/showstream.php:422
 msgid "All subscriptions"
-msgstr "All subscriptions"
+msgstr ""
 
 #: ../actions/publicrss.php:64 actions/publicrss.php:50
 #: actions/publicrss.php:92
 #, php-format
 msgid "All updates for %s"
-msgstr "All updates for %s"
+msgstr ""
 
 #: ../actions/noticesearchrss.php:66 actions/noticesearchrss.php:70
 #: actions/noticesearchrss.php:90
@@ -333,7 +368,7 @@ msgstr "All updates matching search term ‘%s’"
 #: actions/finishopenidlogin.php:34 actions/login.php:77
 #: actions/openidlogin.php:30 actions/register.php:92
 msgid "Already logged in."
-msgstr "Already logged in."
+msgstr ""
 
 #: ../lib/subs.php:42 lib/subs.php:42 lib/subs.php:49
 msgid "Already subscribed!."
@@ -368,7 +403,7 @@ msgstr ""
 #: ../actions/avatar.php:113 actions/profilesettings.php:350
 #: actions/avatarsettings.php:395
 msgid "Avatar updated."
-msgstr "Avatar updated."
+msgstr ""
 
 #: ../actions/imsettings.php:55 actions/imsettings.php:56
 #, php-format
@@ -376,14 +411,14 @@ 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 ""
-"Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
-"message with further instructions. (Did you add %s to your buddy list?)"
 
 #: ../actions/emailsettings.php:54 actions/emailsettings.php:55
 msgid ""
 "Awaiting confirmation on this address. Check your inbox (and spam box!) for "
 "a message with further instructions."
 msgstr ""
+"Awaiting confirmation on this address. Check your in-box (and spam box!) for "
+"a message with further instructions."
 
 #: ../actions/smssettings.php:58 actions/smssettings.php:58
 #: actions/smssettings.php:111
@@ -392,7 +427,6 @@ msgstr ""
 
 #  erm, not sure what to do here, » is recognised as a quotation mark.
 #: ../lib/util.php:1318 lib/util.php:1452
-#, fuzzy
 msgid "Before »"
 msgstr "Before →"
 
@@ -412,7 +446,7 @@ msgstr "Bio is too long (max 140 chars)"
 
 #: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
 msgid "Can't delete this notice."
-msgstr ""
+msgstr "Can’t delete this notice."
 
 #: ../actions/updateprofile.php:119 actions/updateprofile.php:120
 #: actions/updateprofile.php:123
@@ -432,11 +466,11 @@ msgstr "Can’t save new password."
 #: actions/emailsettings.php:111 actions/imsettings.php:114
 #: actions/smssettings.php:114
 msgid "Cancel"
-msgstr "Cancel"
+msgstr ""
 
 #: ../lib/openid.php:121 lib/openid.php:121 lib/openid.php:130
 msgid "Cannot instantiate OpenID consumer object."
-msgstr "Cannot instantiate OpenID consumer object."
+msgstr "Cannot create OpenID consumer object."
 
 #: ../actions/imsettings.php:163 actions/imsettings.php:171
 #: actions/imsettings.php:286
@@ -446,22 +480,22 @@ msgstr "Cannot normalise Jabber ID"
 #: ../actions/emailsettings.php:181 actions/emailsettings.php:199
 #: actions/emailsettings.php:311
 msgid "Cannot normalize that email address"
-msgstr ""
+msgstr "Cannot normalise that e-mail address"
 
 #: ../actions/password.php:45 actions/profilesettings.php:184
 #: actions/passwordsettings.php:110
 msgid "Change"
-msgstr "Change"
+msgstr ""
 
 #: ../lib/settingsaction.php:88 lib/settingsaction.php:88
 #: lib/accountsettingsaction.php:114
 msgid "Change email handling"
-msgstr ""
+msgstr "Change e-mail handling"
 
 #: ../actions/password.php:32 actions/profilesettings.php:36
 #: actions/passwordsettings.php:58
 msgid "Change password"
-msgstr "Change password"
+msgstr ""
 
 #: ../lib/settingsaction.php:94 lib/accountsettingsaction.php:111
 msgid "Change your password"
@@ -479,12 +513,12 @@ msgstr ""
 #: actions/passwordsettings.php:105 actions/recoverpassword.php:221
 #: actions/register.php:376 actions/smssettings.php:122
 msgid "Confirm"
-msgstr "Confirm"
+msgstr ""
 
 #: ../actions/confirmaddress.php:90 actions/confirmaddress.php:90
 #: actions/confirmaddress.php:144
 msgid "Confirm Address"
-msgstr "Confirm Address"
+msgstr ""
 
 #: ../actions/emailsettings.php:238 ../actions/imsettings.php:222
 #: ../actions/smssettings.php:245 actions/emailsettings.php:256
@@ -492,7 +526,7 @@ msgstr "Confirm Address"
 #: actions/emailsettings.php:379 actions/imsettings.php:361
 #: actions/smssettings.php:374
 msgid "Confirmation cancelled."
-msgstr "Confirmation cancelled."
+msgstr ""
 
 #: ../actions/smssettings.php:63 actions/smssettings.php:63
 #: actions/smssettings.php:118
@@ -502,7 +536,7 @@ msgstr ""
 #: ../actions/confirmaddress.php:38 actions/confirmaddress.php:38
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
-msgstr "Confirmation code not found."
+msgstr ""
 
 #: ../actions/register.php:202
 #, php-format
@@ -526,12 +560,12 @@ msgstr ""
 #: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
 #: actions/finishopenidlogin.php:119 lib/action.php:330
 msgid "Connect"
-msgstr "Connect"
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:86 actions/finishopenidlogin.php:92
 #: actions/finishopenidlogin.php:114
 msgid "Connect existing account"
-msgstr "Connect existing account"
+msgstr ""
 
 #: ../lib/util.php:332 lib/util.php:348 lib/action.php:576
 msgid "Contact"
@@ -558,17 +592,17 @@ msgstr ""
 #: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
 #, php-format
 msgid "Could not redirect to server: %s"
-msgstr "Could not redirect to server: %s"
+msgstr ""
 
 #: ../actions/updateprofile.php:162 actions/updateprofile.php:163
 #: actions/updateprofile.php:166
 msgid "Could not save avatar info"
-msgstr "Could not save avatar info"
+msgstr ""
 
 #: ../actions/updateprofile.php:155 actions/updateprofile.php:156
 #: actions/updateprofile.php:159
 msgid "Could not save new profile info"
-msgstr "Could not save new profile info"
+msgstr ""
 
 #: ../lib/subs.php:54 lib/subs.php:61 lib/subs.php:72
 msgid "Could not subscribe other to you."
@@ -581,7 +615,7 @@ msgstr ""
 #: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
 msgid "Could not update user with confirmed email address."
-msgstr ""
+msgstr "Couldn’t update user with confirmed e-mail address."
 
 #: ../actions/finishremotesubscribe.php:99
 #: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
@@ -604,7 +638,7 @@ msgstr "Couldn’t delete subscription."
 #: ../actions/twitapistatuses.php:93 actions/twitapistatuses.php:98
 #: actions/twitapistatuses.php:84
 msgid "Couldn't find any statuses."
-msgstr ""
+msgstr "Couldn’t find any statuses."
 
 #: ../actions/remotesubscribe.php:127 actions/remotesubscribe.php:136
 #: actions/remotesubscribe.php:178
@@ -633,13 +667,13 @@ msgstr "Couldn’t save profile."
 #: ../actions/profilesettings.php:161 actions/profilesettings.php:276
 #: actions/profilesettings.php:279
 msgid "Couldn't update user for autosubscribe."
-msgstr ""
+msgstr "Couldn’t update user for auto-subscribe."
 
 #: ../actions/emailsettings.php:280 ../actions/emailsettings.php:294
 #: actions/emailsettings.php:298 actions/emailsettings.php:312
 #: actions/emailsettings.php:440 actions/emailsettings.php:462
 msgid "Couldn't update user record."
-msgstr ""
+msgstr "Couldn’t update user record."
 
 #: ../actions/confirmaddress.php:72 ../actions/emailsettings.php:156
 #: ../actions/emailsettings.php:259 ../actions/imsettings.php:138
@@ -660,27 +694,27 @@ msgstr "Couldn’t update user."
 #: ../actions/finishopenidlogin.php:84 actions/finishopenidlogin.php:90
 #: actions/finishopenidlogin.php:112
 msgid "Create"
-msgstr "Create"
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:70 actions/finishopenidlogin.php:76
 #: actions/finishopenidlogin.php:98
 msgid "Create a new user with this nickname."
-msgstr "Create a new user with this nickname."
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:68 actions/finishopenidlogin.php:74
 #: actions/finishopenidlogin.php:96
 msgid "Create new account"
-msgstr "Create new account"
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:191 actions/finishopenidlogin.php:197
 #: actions/finishopenidlogin.php:231
 msgid "Creating new account for OpenID that already has a user."
-msgstr "Creating new account for OpenID that already has a user."
+msgstr ""
 
 #: ../actions/imsettings.php:45 actions/imsettings.php:46
 #: actions/imsettings.php:100
 msgid "Current confirmed Jabber/GTalk address."
-msgstr "Current confirmed Jabber/GTalk address."
+msgstr ""
 
 #: ../actions/smssettings.php:46 actions/smssettings.php:46
 #: actions/smssettings.php:100
@@ -690,11 +724,11 @@ msgstr ""
 #: ../actions/emailsettings.php:44 actions/emailsettings.php:45
 #: actions/emailsettings.php:99
 msgid "Current confirmed email address."
-msgstr ""
+msgstr "Current confirmed e-mail address."
 
 #: ../actions/showstream.php:356 actions/showstream.php:367
 msgid "Currently"
-msgstr "Currently"
+msgstr ""
 
 #: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
 #, php-format
@@ -704,7 +738,7 @@ msgstr ""
 #: ../lib/util.php:1061 lib/util.php:1110 classes/Notice.php:698
 #, php-format
 msgid "DB error inserting reply: %s"
-msgstr "DB error inserting reply: %s"
+msgstr ""
 
 #: ../actions/deletenotice.php:41 actions/deletenotice.php:41
 #: actions/deletenotice.php:79
@@ -715,24 +749,24 @@ msgstr ""
 #: actions/profilesettings.php:84 actions/register.php:186
 #: actions/profilesettings.php:114
 msgid "Describe yourself and your interests in 140 chars"
-msgstr "Describe yourself and your interests in 140 chars"
+msgstr ""
 
 #: ../actions/register.php:158 ../actions/register.php:161
 #: ../lib/settingsaction.php:87 actions/register.php:172
 #: actions/register.php:175 lib/settingsaction.php:87 actions/register.php:381
 #: actions/register.php:385 lib/accountsettingsaction.php:113
 msgid "Email"
-msgstr ""
+msgstr "E-mail"
 
 #: ../actions/emailsettings.php:59 actions/emailsettings.php:60
 #: actions/emailsettings.php:115
 msgid "Email Address"
-msgstr ""
+msgstr "E-mail Address"
 
 #: ../actions/emailsettings.php:32 actions/emailsettings.php:32
 #: actions/emailsettings.php:60
 msgid "Email Settings"
-msgstr ""
+msgstr "E-mail Settings"
 
 #: ../actions/register.php:73 actions/register.php:80 actions/register.php:163
 msgid "Email address already exists."
@@ -745,11 +779,11 @@ msgstr "E-mail address confirmation"
 #: ../actions/emailsettings.php:61 actions/emailsettings.php:62
 #: actions/emailsettings.php:117
 msgid "Email address, like \"UserName@example.org\""
-msgstr ""
+msgstr "E-mail address, like ‘UserName@example.org’"
 
 #: ../actions/invite.php:129 actions/invite.php:137 actions/invite.php:174
 msgid "Email addresses"
-msgstr ""
+msgstr "E-mail addresses"
 
 #: ../actions/recoverpassword.php:191 actions/recoverpassword.php:197
 #: actions/recoverpassword.php:231
@@ -769,50 +803,50 @@ msgstr "Error authorising token."
 #: ../actions/finishopenidlogin.php:253 actions/finishopenidlogin.php:259
 #: actions/finishopenidlogin.php:297
 msgid "Error connecting user to OpenID."
-msgstr "Error connecting user to OpenID."
+msgstr ""
 
 #: ../actions/finishaddopenid.php:78 actions/finishaddopenid.php:78
 #: actions/finishaddopenid.php:126
 msgid "Error connecting user."
-msgstr "Error connecting user."
+msgstr ""
 
 #: ../actions/finishremotesubscribe.php:151
 #: actions/finishremotesubscribe.php:153 actions/finishremotesubscribe.php:166
 msgid "Error inserting avatar"
-msgstr "Error inserting avatar"
+msgstr "Error inserting avatar."
 
 #: ../actions/finishremotesubscribe.php:143
 #: actions/finishremotesubscribe.php:145 actions/finishremotesubscribe.php:158
 msgid "Error inserting new profile"
-msgstr "Error inserting new profile"
+msgstr "Error inserting new profile."
 
 #: ../actions/finishremotesubscribe.php:167
 #: actions/finishremotesubscribe.php:169 actions/finishremotesubscribe.php:182
 msgid "Error inserting remote profile"
-msgstr "Error inserting remote profile"
+msgstr "Error inserting remote profile."
 
 #: ../actions/recoverpassword.php:240 actions/recoverpassword.php:246
 #: actions/recoverpassword.php:280
 msgid "Error saving address confirmation."
-msgstr "Error saving address confirmation."
+msgstr ""
 
 #: ../actions/userauthorization.php:140 actions/userauthorization.php:147
 #: actions/userauthorization.php:164
 msgid "Error saving remote profile"
-msgstr "Error saving remote profile"
+msgstr "Error saving remote profile."
 
 #: ../lib/openid.php:226 lib/openid.php:226 lib/openid.php:235
 msgid "Error saving the profile."
-msgstr "Error saving the profile."
+msgstr ""
 
 #: ../lib/openid.php:237 lib/openid.php:237 lib/openid.php:246
 msgid "Error saving the user."
-msgstr "Error saving the user."
+msgstr ""
 
 #: ../actions/password.php:80 actions/profilesettings.php:399
 #: actions/passwordsettings.php:164
 msgid "Error saving user; invalid."
-msgstr "Error saving user; invalid."
+msgstr "Error saving user - invalid."
 
 #: ../actions/login.php:47 ../actions/login.php:73
 #: ../actions/recoverpassword.php:307 ../actions/register.php:98
@@ -820,7 +854,7 @@ msgstr "Error saving user; invalid."
 #: actions/register.php:108 actions/login.php:112 actions/login.php:138
 #: actions/recoverpassword.php:354 actions/register.php:198
 msgid "Error setting user."
-msgstr "Error setting user."
+msgstr ""
 
 #  Added full stop
 #: ../actions/finishaddopenid.php:83 actions/finishaddopenid.php:83
@@ -837,12 +871,12 @@ msgstr "Error updating remote profile."
 #: ../actions/recoverpassword.php:80 actions/recoverpassword.php:80
 #: actions/recoverpassword.php:86
 msgid "Error with confirmation code."
-msgstr "Error with confirmation code."
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:89 actions/finishopenidlogin.php:95
 #: actions/finishopenidlogin.php:117
 msgid "Existing nickname"
-msgstr "Existing nickname"
+msgstr ""
 
 #: ../lib/util.php:326 lib/util.php:342 lib/action.php:570
 msgid "FAQ"
@@ -857,14 +891,14 @@ msgstr "Failed to update avatar."
 #: actions/allrss.php:64 actions/all.php:75 actions/allrss.php:107
 #, php-format
 msgid "Feed for friends of %s"
-msgstr "Feed for friends of %s"
+msgstr ""
 
 #: ../actions/replies.php:65 ../actions/repliesrss.php:80
 #: actions/replies.php:65 actions/repliesrss.php:66 actions/replies.php:134
 #: actions/repliesrss.php:71
 #, php-format
 msgid "Feed for replies to %s"
-msgstr "Feed for replies to %s"
+msgstr ""
 
 #: ../actions/tag.php:55 actions/tag.php:55 actions/tag.php:61
 #, php-format
@@ -886,8 +920,6 @@ msgid ""
 "For security reasons, please re-enter your user name and password before "
 "changing your settings."
 msgstr ""
-"For security reasons, please re-enter your user name and password before "
-"changing your settings."
 
 #: ../actions/profilesettings.php:44 ../actions/register.php:164
 #: actions/profilesettings.php:77 actions/register.php:178
@@ -895,7 +927,7 @@ msgstr ""
 #: actions/showgroup.php:235 actions/showstream.php:262
 #: actions/tagother.php:105 lib/groupeditform.php:142
 msgid "Full name"
-msgstr "Full name"
+msgstr ""
 
 #: ../actions/profilesettings.php:98 ../actions/register.php:79
 #: ../actions/updateprofile.php:93 actions/profilesettings.php:213
@@ -904,52 +936,52 @@ msgstr "Full name"
 #: actions/profilesettings.php:202 actions/register.php:171
 #: actions/updateprofile.php:97
 msgid "Full name is too long (max 255 chars)."
-msgstr "Full name is too long (max 255 chars)."
+msgstr ""
 
 #: ../lib/util.php:322 lib/util.php:338 lib/action.php:344 lib/action.php:566
 msgid "Help"
-msgstr "Help"
+msgstr ""
 
 #: ../lib/util.php:298 lib/util.php:314 lib/action.php:322
 #: lib/facebookaction.php:200
 msgid "Home"
-msgstr "Home"
+msgstr ""
 
 #: ../actions/profilesettings.php:46 ../actions/register.php:167
 #: actions/profilesettings.php:79 actions/register.php:181
 #: actions/profilesettings.php:107 actions/register.php:396
 #: lib/groupeditform.php:146
 msgid "Homepage"
-msgstr "Homepage"
+msgstr ""
 
 #: ../actions/profilesettings.php:95 ../actions/register.php:76
 #: actions/profilesettings.php:210 actions/register.php:83
 #: actions/editgroup.php:192 actions/newgroup.php:143
 #: actions/profilesettings.php:199 actions/register.php:168
 msgid "Homepage is not a valid URL."
-msgstr "Homepage is not a valid URL."
+msgstr ""
 
 #: ../actions/emailsettings.php:91 actions/emailsettings.php:98
 #: actions/emailsettings.php:173
 msgid "I want to post notices by email."
-msgstr ""
+msgstr "I want to post notices by e-mail."
 
 #: ../lib/settingsaction.php:102 lib/settingsaction.php:96
 #: lib/connectsettingsaction.php:104
 msgid "IM"
-msgstr ""
+msgstr "I.M."
 
 #  possibly use I.M.
 #: ../actions/imsettings.php:60 actions/imsettings.php:61
 #: actions/imsettings.php:118
 msgid "IM Address"
-msgstr "IM Address"
+msgstr "I.M. Address"
 
 #  requires full stops?
 #: ../actions/imsettings.php:33 actions/imsettings.php:33
 #: actions/imsettings.php:59
 msgid "IM Settings"
-msgstr "IM Settings"
+msgstr "I.M. Settings"
 
 #: ../actions/finishopenidlogin.php:88 actions/finishopenidlogin.php:94
 #: actions/finishopenidlogin.php:116
@@ -968,32 +1000,35 @@ msgstr ""
 "If you want to add an OpenID to your account, enter it in the box below and "
 "click ‘Add’."
 
+# double space here
 #: ../actions/recoverpassword.php:137
 msgid ""
 "If you've forgotten or lost your password, you can get a new one sent to the "
 "email address you have stored  in your account."
 msgstr ""
+"If you’ve forgotten or lost your password, you can get a new one sent to the "
+"e-mail address you have stored in your account."
 
 #: ../actions/emailsettings.php:67 ../actions/smssettings.php:76
 #: actions/emailsettings.php:68 actions/smssettings.php:76
 #: actions/emailsettings.php:127 actions/smssettings.php:140
 msgid "Incoming email"
-msgstr ""
+msgstr "Incoming e-mail"
 
 #: ../actions/emailsettings.php:283 actions/emailsettings.php:301
 #: actions/emailsettings.php:443
 msgid "Incoming email address removed."
-msgstr ""
+msgstr "Incoming e-mail address removed."
 
 #: ../actions/password.php:69 actions/profilesettings.php:388
 #: actions/passwordsettings.php:153
 msgid "Incorrect old password"
-msgstr "Incorrect old password"
+msgstr ""
 
 #: ../actions/login.php:67 actions/login.php:67 actions/facebookhome.php:131
 #: actions/login.php:132
 msgid "Incorrect username or password."
-msgstr "Incorrect username or password."
+msgstr ""
 
 #: ../actions/recoverpassword.php:265
 msgid ""
@@ -1013,7 +1048,7 @@ msgstr "Invalid avatar URL ‘%s’"
 #: ../actions/invite.php:55 actions/invite.php:62 actions/invite.php:70
 #, php-format
 msgid "Invalid email address: %s"
-msgstr ""
+msgstr "Invalid e-mail address: ‘%s’"
 
 #: ../actions/updateprofile.php:98 actions/updateprofile.php:99
 #: actions/updateprofile.php:102
@@ -1030,13 +1065,14 @@ msgstr "Invalid licence URL ‘%s’"
 #: ../actions/postnotice.php:61 actions/postnotice.php:62
 #: actions/postnotice.php:66
 msgid "Invalid notice content"
-msgstr "Invalid notice content"
+msgstr ""
 
 #: ../actions/postnotice.php:67 actions/postnotice.php:68
 #: actions/postnotice.php:72
 msgid "Invalid notice uri"
 msgstr "Invalid notice URI"
 
+# URL case
 #: ../actions/postnotice.php:72 actions/postnotice.php:73
 #: actions/postnotice.php:77
 msgid "Invalid notice url"
@@ -1051,17 +1087,17 @@ msgstr "Invalid profile URL ‘%s’."
 #: ../actions/remotesubscribe.php:96 actions/remotesubscribe.php:105
 #: actions/remotesubscribe.php:135
 msgid "Invalid profile URL (bad format)"
-msgstr "Invalid profile URL (bad format)"
+msgstr ""
 
 #: ../actions/finishremotesubscribe.php:77
 #: actions/finishremotesubscribe.php:79 actions/finishremotesubscribe.php:80
 msgid "Invalid profile URL returned by server."
-msgstr "Invalid profile URL returned by server."
+msgstr ""
 
 #: ../actions/avatarbynickname.php:37 actions/avatarbynickname.php:37
 #: actions/avatarbynickname.php:69
 msgid "Invalid size."
-msgstr "Invalid size."
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:235 ../actions/register.php:93
 #: ../actions/register.php:111 actions/finishopenidlogin.php:241
@@ -1069,7 +1105,7 @@ msgstr "Invalid size."
 #: actions/finishopenidlogin.php:279 actions/register.php:193
 #: actions/register.php:211
 msgid "Invalid username or password."
-msgstr "Invalid username or password."
+msgstr ""
 
 #: ../actions/invite.php:79 actions/invite.php:86 actions/invite.php:102
 msgid "Invitation(s) sent"
@@ -1102,7 +1138,7 @@ msgstr ""
 #: ../actions/imsettings.php:173 actions/imsettings.php:181
 #: actions/imsettings.php:296
 msgid "Jabber ID already belongs to another user."
-msgstr "Jabber ID already belongs to another user."
+msgstr ""
 
 #: ../actions/imsettings.php:62 actions/imsettings.php:63
 #, php-format
@@ -1130,7 +1166,7 @@ msgstr ""
 #: actions/tagother.php:113 lib/groupeditform.php:156 lib/grouplist.php:126
 #: lib/profilelist.php:125
 msgid "Location"
-msgstr "Location"
+msgstr ""
 
 #: ../actions/profilesettings.php:104 ../actions/register.php:85
 #: ../actions/updateprofile.php:108 actions/profilesettings.php:219
@@ -1139,7 +1175,7 @@ msgstr "Location"
 #: actions/profilesettings.php:208 actions/register.php:177
 #: actions/updateprofile.php:112
 msgid "Location is too long (max 255 chars)."
-msgstr "Location is too long (max 255 chars)."
+msgstr ""
 
 #: ../actions/login.php:97 ../actions/login.php:106
 #: ../actions/openidlogin.php:68 ../lib/util.php:310 actions/login.php:97
@@ -1174,33 +1210,33 @@ msgstr "Log out"
 #: ../actions/register.php:166 actions/register.php:180
 #: actions/register.php:393
 msgid "Longer name, preferably your \"real\" name"
-msgstr ""
+msgstr "Longer name, preferably your ‘real’ name"
 
 #: ../actions/login.php:110 actions/login.php:110 actions/login.php:245
 #: lib/facebookaction.php:320
 msgid "Lost or forgotten password?"
-msgstr "Lost or forgotten password?"
+msgstr ""
 
 #: ../actions/emailsettings.php:80 ../actions/smssettings.php:89
 #: actions/emailsettings.php:81 actions/smssettings.php:89
 msgid "Make a new email address for posting to; cancels the old one."
-msgstr ""
+msgstr "Make a new e-mail address for posting to - cancels the old one."
 
 #: ../actions/emailsettings.php:27 actions/emailsettings.php:27
 #: actions/emailsettings.php:71
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
-msgstr ""
+msgstr "Manage how you get e-mail from %%site.name%%."
 
 #: ../actions/showstream.php:300 actions/showstream.php:315
 #: actions/showstream.php:480
 msgid "Member since"
-msgstr "Member since"
+msgstr ""
 
 #: ../actions/userrss.php:70 actions/userrss.php:67 actions/userrss.php:72
 #, php-format
 msgid "Microblog by %s"
-msgstr "Microblog by %s"
+msgstr ""
 
 #: ../actions/smssettings.php:304
 #, php-format
@@ -1208,12 +1244,14 @@ 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 ""
+"Mobile carrier for your phone. If you know a carrier that accepts SMS over "
+"email but isn’t listed here, send e-mail to let us know at %s."
 
 #: ../actions/finishopenidlogin.php:79 ../actions/register.php:188
 #: actions/finishopenidlogin.php:85 actions/register.php:202
 #: actions/finishopenidlogin.php:107 actions/register.php:429
 msgid "My text and files are available under "
-msgstr "My text and files are available under"
+msgstr ""
 
 #: ../actions/emailsettings.php:82 ../actions/smssettings.php:91
 #: actions/emailsettings.php:83 actions/smssettings.php:91
@@ -1224,32 +1262,32 @@ msgstr ""
 #: ../lib/mail.php:144 lib/mail.php:144 lib/mail.php:286
 #, php-format
 msgid "New email address for posting to %s"
-msgstr ""
+msgstr "New e-mail address for posting to %s"
 
 #: ../actions/emailsettings.php:297 actions/emailsettings.php:315
 #: actions/emailsettings.php:465
 msgid "New incoming email address added."
-msgstr ""
+msgstr "New incoming e-mail address added."
 
 #: ../actions/finishopenidlogin.php:71 actions/finishopenidlogin.php:77
 #: actions/finishopenidlogin.php:99
 msgid "New nickname"
-msgstr "New nickname"
+msgstr ""
 
 #: ../actions/newnotice.php:87 actions/newnotice.php:96
 #: actions/newnotice.php:68
 msgid "New notice"
-msgstr "New notice"
+msgstr ""
 
 #: ../actions/password.php:41 ../actions/recoverpassword.php:179
 #: actions/profilesettings.php:180 actions/recoverpassword.php:185
 #: actions/passwordsettings.php:101 actions/recoverpassword.php:219
 msgid "New password"
-msgstr "New password"
+msgstr ""
 
 #: ../actions/recoverpassword.php:314
 msgid "New password successfully saved. You are now logged in."
-msgstr "New password successfully saved. You are now logged in."
+msgstr ""
 
 #: ../actions/login.php:101 ../actions/profilesettings.php:41
 #: ../actions/register.php:151 actions/login.php:101
@@ -1259,7 +1297,7 @@ msgstr "New password successfully saved. You are now logged in."
 #: actions/showstream.php:251 actions/tagother.php:95
 #: lib/facebookaction.php:308 lib/groupeditform.php:137
 msgid "Nickname"
-msgstr "Nickname"
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:175 ../actions/profilesettings.php:110
 #: ../actions/register.php:69 actions/finishopenidlogin.php:181
@@ -1268,7 +1306,7 @@ msgstr "Nickname"
 #: actions/newgroup.php:134 actions/profilesettings.php:214
 #: actions/register.php:159
 msgid "Nickname already in use. Try another one."
-msgstr "Nickname already in use. Try another one."
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:165 ../actions/profilesettings.php:88
 #: ../actions/register.php:67 ../actions/updateprofile.php:77
@@ -1277,17 +1315,17 @@ msgstr "Nickname already in use. Try another one."
 #: actions/finishopenidlogin.php:205 actions/profilesettings.php:192
 #: actions/updateprofile.php:81
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Nickname must have only lowercase letters and numbers, and no spaces."
 
 #: ../actions/finishopenidlogin.php:170 actions/finishopenidlogin.php:176
 #: actions/finishopenidlogin.php:210
 msgid "Nickname not allowed."
-msgstr "Nickname not allowed."
+msgstr ""
 
 #: ../actions/remotesubscribe.php:72 actions/remotesubscribe.php:81
 #: actions/remotesubscribe.php:106
 msgid "Nickname of the user you want to follow"
-msgstr "Nickname of the user you want to follow"
+msgstr ""
 
 #: ../actions/recoverpassword.php:162 actions/recoverpassword.php:167
 #: actions/recoverpassword.php:186
@@ -1302,12 +1340,12 @@ msgstr ""
 #: ../actions/imsettings.php:156 actions/imsettings.php:164
 #: actions/imsettings.php:279
 msgid "No Jabber ID."
-msgstr "No Jabber ID."
+msgstr ""
 
 #: ../actions/userauthorization.php:129 actions/userauthorization.php:136
 #: actions/userauthorization.php:153
 msgid "No authorization request!"
-msgstr ""
+msgstr "No authorisation request!"
 
 #: ../actions/smssettings.php:181 actions/smssettings.php:189
 #: actions/smssettings.php:299
@@ -1322,37 +1360,37 @@ msgstr ""
 #: ../actions/confirmaddress.php:33 actions/confirmaddress.php:33
 #: actions/confirmaddress.php:75
 msgid "No confirmation code."
-msgstr "No confirmation code."
+msgstr ""
 
 #: ../actions/newnotice.php:44 actions/newmessage.php:53
 #: actions/newnotice.php:44 classes/Command.php:197 actions/newmessage.php:109
 #: actions/newnotice.php:126 classes/Command.php:223
 msgid "No content!"
-msgstr "No content!"
+msgstr ""
 
 #: ../actions/emailsettings.php:174 actions/emailsettings.php:192
 #: actions/emailsettings.php:304
 msgid "No email address."
-msgstr ""
+msgstr "No e-mail address."
 
 #: ../actions/userbyid.php:32 actions/userbyid.php:32 actions/userbyid.php:70
 msgid "No id."
-msgstr "No id."
+msgstr ""
 
 #: ../actions/emailsettings.php:271 actions/emailsettings.php:289
 #: actions/emailsettings.php:430
 msgid "No incoming email address."
-msgstr ""
+msgstr "No incoming e-mail address."
 
 #: ../actions/finishremotesubscribe.php:65
 #: actions/finishremotesubscribe.php:67 actions/finishremotesubscribe.php:68
 msgid "No nickname provided by remote server."
-msgstr "No nickname provided by remote server."
+msgstr ""
 
 #: ../actions/avatarbynickname.php:27 actions/avatarbynickname.php:27
 #: actions/avatarbynickname.php:59 actions/leavegroup.php:81
 msgid "No nickname."
-msgstr "No nickname."
+msgstr ""
 
 #: ../actions/emailsettings.php:222 ../actions/imsettings.php:206
 #: ../actions/smssettings.php:229 actions/emailsettings.php:240
@@ -1360,7 +1398,7 @@ msgstr "No nickname."
 #: actions/emailsettings.php:363 actions/imsettings.php:345
 #: actions/smssettings.php:358
 msgid "No pending confirmation to cancel."
-msgstr "No pending confirmation to cancel."
+msgstr ""
 
 #: ../actions/smssettings.php:176 actions/smssettings.php:184
 #: actions/smssettings.php:294
@@ -1370,7 +1408,7 @@ msgstr ""
 #: ../actions/finishremotesubscribe.php:72
 #: actions/finishremotesubscribe.php:74 actions/finishremotesubscribe.php:75
 msgid "No profile URL returned by server."
-msgstr "No profile URL returned by server."
+msgstr ""
 
 #: ../actions/recoverpassword.php:226 actions/recoverpassword.php:232
 #: actions/recoverpassword.php:266
@@ -1380,19 +1418,19 @@ msgstr "No registered e-mail address for that user."
 #: ../actions/userauthorization.php:49 actions/userauthorization.php:55
 #: actions/userauthorization.php:57
 msgid "No request found!"
-msgstr "No request found!"
+msgstr ""
 
 #: ../actions/noticesearch.php:64 ../actions/peoplesearch.php:64
 #: actions/noticesearch.php:69 actions/peoplesearch.php:69
 #: actions/groupsearch.php:81 actions/noticesearch.php:104
 #: actions/peoplesearch.php:85
 msgid "No results"
-msgstr "No results"
+msgstr ""
 
 #: ../actions/avatarbynickname.php:32 actions/avatarbynickname.php:32
 #: actions/avatarbynickname.php:64
 msgid "No size."
-msgstr "No size."
+msgstr ""
 
 #: ../actions/twitapistatuses.php:595 actions/twitapifavorites.php:136
 #: actions/twitapistatuses.php:520 actions/twitapifavorites.php:112
@@ -1408,28 +1446,28 @@ msgstr ""
 #: ../actions/openidsettings.php:135 actions/openidsettings.php:144
 #: actions/openidsettings.php:222
 msgid "No such OpenID."
-msgstr "No such OpenID."
+msgstr ""
 
 #: ../actions/doc.php:29 actions/doc.php:29 actions/doc.php:64
 msgid "No such document."
-msgstr "No such document."
+msgstr ""
 
 #: ../actions/shownotice.php:32 ../actions/shownotice.php:83
 #: ../lib/deleteaction.php:30 actions/shownotice.php:32
 #: actions/shownotice.php:83 lib/deleteaction.php:30 actions/shownotice.php:87
 #: lib/deleteaction.php:51
 msgid "No such notice."
-msgstr "No such notice."
+msgstr ""
 
 #: ../actions/recoverpassword.php:56 actions/recoverpassword.php:56
 #: actions/recoverpassword.php:62
 msgid "No such recovery code."
-msgstr "No such recovery code."
+msgstr ""
 
 #: ../actions/postnotice.php:56 actions/postnotice.php:57
 #: actions/postnotice.php:60
 msgid "No such subscription"
-msgstr "No such subscription"
+msgstr ""
 
 #: ../actions/all.php:34 ../actions/allrss.php:35
 #: ../actions/avatarbynickname.php:43 ../actions/foaf.php:40
@@ -1457,21 +1495,21 @@ msgstr "No such subscription"
 #: classes/Command.php:271 lib/galleryaction.php:60 lib/mailbox.php:82
 #: lib/subs.php:34 lib/subs.php:109
 msgid "No such user."
-msgstr "No such user."
+msgstr ""
 
 #: ../actions/recoverpassword.php:211 actions/recoverpassword.php:217
 #: actions/recoverpassword.php:251
 msgid "No user with that email address or username."
-msgstr ""
+msgstr "No user with that e-mail address or username."
 
 #: ../lib/gallery.php:80 lib/gallery.php:85
 msgid "Nobody to show!"
-msgstr "Nobody to show!"
+msgstr ""
 
 #: ../actions/recoverpassword.php:60 actions/recoverpassword.php:60
 #: actions/recoverpassword.php:66
 msgid "Not a recovery code."
-msgstr "Not a recovery code."
+msgstr ""
 
 #: ../scripts/maildaemon.php:50 scripts/maildaemon.php:50
 #: scripts/maildaemon.php:53
@@ -1488,16 +1526,17 @@ msgstr ""
 #: ../actions/imsettings.php:167 actions/imsettings.php:175
 #: actions/imsettings.php:290
 msgid "Not a valid Jabber ID"
-msgstr "Not a valid Jabber ID"
+msgstr ""
 
 #: ../lib/openid.php:131 lib/openid.php:131 lib/openid.php:140
 msgid "Not a valid OpenID."
-msgstr "Not a valid OpenID."
+msgstr ""
 
+# Missing full stop, needs to merge with: actions/register.php:63 actions/register.php:70 actions/register.php:152
 #: ../actions/emailsettings.php:185 actions/emailsettings.php:203
 #: actions/emailsettings.php:315
 msgid "Not a valid email address"
-msgstr ""
+msgstr "Not a valid e-mail address."
 
 #: ../actions/register.php:63 actions/register.php:70 actions/register.php:152
 msgid "Not a valid email address."
@@ -1508,27 +1547,27 @@ msgstr "Not a valid e-mail address."
 #: actions/editgroup.php:186 actions/newgroup.php:137
 #: actions/profilesettings.php:195 actions/register.php:161
 msgid "Not a valid nickname."
-msgstr "Not a valid nickname."
+msgstr ""
 
 #: ../actions/remotesubscribe.php:120 actions/remotesubscribe.php:129
 #: actions/remotesubscribe.php:159
 msgid "Not a valid profile URL (incorrect services)."
-msgstr "Not a valid profile URL (incorrect services)."
+msgstr ""
 
 #: ../actions/remotesubscribe.php:113 actions/remotesubscribe.php:122
 #: actions/remotesubscribe.php:152
 msgid "Not a valid profile URL (no XRDS defined)."
-msgstr "Not a valid profile URL (no XRDS defined)."
+msgstr ""
 
 #: ../actions/remotesubscribe.php:104 actions/remotesubscribe.php:113
 #: actions/remotesubscribe.php:143
 msgid "Not a valid profile URL (no YADIS document)."
-msgstr "Not a valid profile URL (no YADIS document)."
+msgstr ""
 
 #: ../actions/avatar.php:95 actions/profilesettings.php:332
 #: lib/imagefile.php:87
 msgid "Not an image or corrupt file."
-msgstr "Not an image or corrupt file."
+msgstr ""
 
 #: ../actions/finishremotesubscribe.php:51
 #: actions/finishremotesubscribe.php:53 actions/finishremotesubscribe.php:54
@@ -1538,7 +1577,7 @@ msgstr "Not authorised."
 #: ../actions/finishremotesubscribe.php:38
 #: actions/finishremotesubscribe.php:38 actions/finishremotesubscribe.php:40
 msgid "Not expecting this response!"
-msgstr "Not expecting this response!"
+msgstr ""
 
 #: ../actions/twitapistatuses.php:422 actions/twitapistatuses.php:361
 #: actions/twitapistatuses.php:309
@@ -1559,8 +1598,9 @@ msgstr ""
 #: actions/unsubscribe.php:27 lib/deleteaction.php:66
 #: lib/settingsaction.php:72
 msgid "Not logged in."
-msgstr "Not logged in."
+msgstr ""
 
+# removed full stop
 #: ../lib/subs.php:91 lib/subs.php:104 lib/subs.php:122
 msgid "Not subscribed!."
 msgstr "Not subscribed!"
@@ -1575,18 +1615,18 @@ msgstr ""
 #: actions/showstream.php:192
 #, php-format
 msgid "Notice feed for %s"
-msgstr "Notice feed for %s"
+msgstr ""
 
 #: ../actions/shownotice.php:39 actions/shownotice.php:39
 #: actions/shownotice.php:94
 msgid "Notice has no profile"
-msgstr "Notice has no profile"
+msgstr ""
 
 #: ../actions/showstream.php:316 actions/showstream.php:331
 #: actions/showstream.php:504 lib/facebookaction.php:477 lib/mailbox.php:116
 #: lib/noticelist.php:87
 msgid "Notices"
-msgstr "Notices"
+msgstr ""
 
 #: ../actions/tag.php:35 ../actions/tag.php:81 actions/tag.php:35
 #: actions/tag.php:81 actions/tag.php:41
@@ -1597,7 +1637,7 @@ msgstr ""
 #: ../actions/password.php:39 actions/profilesettings.php:178
 #: actions/passwordsettings.php:97
 msgid "Old password"
-msgstr "Old password"
+msgstr ""
 
 #: ../lib/settingsaction.php:96 ../lib/util.php:314 lib/settingsaction.php:90
 #: lib/util.php:330 lib/accountsettingsaction.php:116 lib/action.php:341
@@ -1608,11 +1648,11 @@ msgstr ""
 #: ../actions/finishopenidlogin.php:61 actions/finishopenidlogin.php:66
 #: actions/finishopenidlogin.php:73
 msgid "OpenID Account Setup"
-msgstr "OpenID Account Setup"
+msgstr ""
 
 #: ../lib/openid.php:180 lib/openid.php:180 lib/openid.php:266
 msgid "OpenID Auto-Submit"
-msgstr "OpenID Auto-Submit"
+msgstr ""
 
 #: ../actions/finishaddopenid.php:99 ../actions/finishopenidlogin.php:140
 #: ../actions/openidlogin.php:60 actions/finishaddopenid.php:99
@@ -1625,35 +1665,35 @@ msgstr "OpenID Log-in"
 #: actions/openidlogin.php:74 actions/openidsettings.php:50
 #: actions/openidlogin.php:102 actions/openidsettings.php:101
 msgid "OpenID URL"
-msgstr "OpenID URL"
+msgstr ""
 
 #: ../actions/finishaddopenid.php:42 ../actions/finishopenidlogin.php:103
 #: actions/finishaddopenid.php:42 actions/finishopenidlogin.php:109
 #: actions/finishaddopenid.php:88 actions/finishopenidlogin.php:130
 msgid "OpenID authentication cancelled."
-msgstr "OpenID authentication cancelled."
+msgstr ""
 
 #: ../actions/finishaddopenid.php:46 ../actions/finishopenidlogin.php:107
 #: actions/finishaddopenid.php:46 actions/finishopenidlogin.php:113
 #: actions/finishaddopenid.php:92 actions/finishopenidlogin.php:134
 #, php-format
 msgid "OpenID authentication failed: %s"
-msgstr "OpenID authentication failed: %s"
+msgstr ""
 
 #: ../lib/openid.php:133 lib/openid.php:133 lib/openid.php:142
 #, php-format
 msgid "OpenID failure: %s"
-msgstr "OpenID failure: %s"
+msgstr ""
 
 #: ../actions/openidsettings.php:144 actions/openidsettings.php:153
 #: actions/openidsettings.php:231
 msgid "OpenID removed."
-msgstr "OpenID removed."
+msgstr ""
 
 #: ../actions/openidsettings.php:37 actions/openidsettings.php:37
 #: actions/openidsettings.php:59
 msgid "OpenID settings"
-msgstr "OpenID settings"
+msgstr ""
 
 #: ../actions/invite.php:135 actions/invite.php:143 actions/invite.php:180
 msgid "Optionally add a personal message to the invitation."
@@ -1662,7 +1702,7 @@ msgstr ""
 #: ../actions/avatar.php:84 actions/profilesettings.php:321
 #: lib/imagefile.php:75
 msgid "Partial upload."
-msgstr "Partial upload."
+msgstr ""
 
 #: ../actions/finishopenidlogin.php:90 ../actions/login.php:102
 #: ../actions/register.php:153 ../lib/settingsaction.php:93
@@ -1671,23 +1711,23 @@ msgstr "Partial upload."
 #: actions/login.php:231 actions/register.php:372
 #: lib/accountsettingsaction.php:110 lib/facebookaction.php:311
 msgid "Password"
-msgstr "Password"
+msgstr ""
 
 #: ../actions/recoverpassword.php:288 actions/recoverpassword.php:301
 #: actions/recoverpassword.php:335
 msgid "Password and confirmation do not match."
-msgstr "Password and confirmation do not match."
+msgstr ""
 
 #: ../actions/recoverpassword.php:284 actions/recoverpassword.php:297
 #: actions/recoverpassword.php:331
 msgid "Password must be 6 chars or more."
-msgstr "Password must be 6 chars or more."
+msgstr ""
 
 #: ../actions/recoverpassword.php:261 ../actions/recoverpassword.php:263
 #: actions/recoverpassword.php:267 actions/recoverpassword.php:269
 #: actions/recoverpassword.php:199 actions/recoverpassword.php:301
 msgid "Password recovery requested"
-msgstr "Password recovery requested"
+msgstr ""
 
 #: ../actions/password.php:89 ../actions/recoverpassword.php:313
 #: actions/profilesettings.php:408 actions/recoverpassword.php:326
@@ -1714,7 +1754,7 @@ msgstr ""
 #: ../actions/peoplesearch.php:33 actions/peoplesearch.php:33
 #: actions/peoplesearch.php:58
 msgid "People search"
-msgstr "People search"
+msgstr "People Search"
 
 #: ../lib/stream.php:50 lib/personal.php:50 lib/personalgroupnav.php:98
 msgid "Personal"
@@ -1741,7 +1781,7 @@ msgstr ""
 #: ../actions/imsettings.php:73 actions/imsettings.php:74
 #: actions/imsettings.php:142
 msgid "Post a notice when my Jabber/GTalk status changes."
-msgstr "Post a notice when my Jabber/GTalk status changes."
+msgstr ""
 
 #: ../actions/emailsettings.php:85 ../actions/imsettings.php:67
 #: ../actions/smssettings.php:94 actions/emailsettings.php:86
@@ -1750,7 +1790,7 @@ msgstr "Post a notice when my Jabber/GTalk status changes."
 #: actions/imsettings.php:133 actions/smssettings.php:157
 #: actions/twittersettings.php:134
 msgid "Preferences"
-msgstr "Preferences"
+msgstr ""
 
 #: ../actions/emailsettings.php:162 ../actions/imsettings.php:144
 #: ../actions/smssettings.php:163 actions/emailsettings.php:180
@@ -1758,7 +1798,7 @@ msgstr "Preferences"
 #: actions/emailsettings.php:286 actions/imsettings.php:258
 #: actions/othersettings.php:168 actions/smssettings.php:272
 msgid "Preferences saved."
-msgstr "Preferences saved."
+msgstr ""
 
 #: ../actions/profilesettings.php:57 actions/profilesettings.php:90
 #: actions/profilesettings.php:129
@@ -1767,43 +1807,43 @@ msgstr ""
 
 #: ../lib/util.php:328 lib/util.php:344 lib/action.php:572
 msgid "Privacy"
-msgstr "Privacy"
+msgstr ""
 
 #: ../classes/Notice.php:95 ../classes/Notice.php:106 classes/Notice.php:109
 #: classes/Notice.php:119 classes/Notice.php:145 classes/Notice.php:155
 msgid "Problem saving notice."
-msgstr "Problem saving notice."
+msgstr ""
 
 #: ../lib/settingsaction.php:84 ../lib/stream.php:60 lib/personal.php:60
 #: lib/settingsaction.php:84 lib/accountsettingsaction.php:104
 #: lib/personalgroupnav.php:108
 msgid "Profile"
-msgstr "Profile"
+msgstr ""
 
 #: ../actions/remotesubscribe.php:73 actions/remotesubscribe.php:82
 #: actions/remotesubscribe.php:109
 msgid "Profile URL"
-msgstr "Profile URL"
+msgstr ""
 
 #: ../actions/profilesettings.php:34 actions/profilesettings.php:32
 #: actions/profilesettings.php:58
 msgid "Profile settings"
-msgstr "Profile settings"
+msgstr ""
 
 #: ../actions/postnotice.php:51 ../actions/updateprofile.php:52
 #: actions/postnotice.php:52 actions/updateprofile.php:53
 #: actions/postnotice.php:55 actions/updateprofile.php:56
 msgid "Profile unknown"
-msgstr "Unknown profile"
+msgstr ""
 
 #: ../actions/public.php:54 actions/public.php:54 actions/public.php:124
 msgid "Public Stream Feed"
-msgstr "Public Stream Feed"
+msgstr ""
 
 #: ../actions/public.php:33 actions/public.php:33 actions/public.php:109
 #: lib/publicgroupnav.php:77
 msgid "Public timeline"
-msgstr "Public timeline"
+msgstr ""
 
 #: ../actions/imsettings.php:79 actions/imsettings.php:80
 #: actions/imsettings.php:153
@@ -1813,7 +1853,7 @@ msgstr ""
 #: ../actions/emailsettings.php:94 actions/emailsettings.php:101
 #: actions/emailsettings.php:178
 msgid "Publish a MicroID for my email address."
-msgstr ""
+msgstr "Publish a MicroID for my e-mail address."
 
 #: ../actions/tag.php:75 ../actions/tag.php:76 actions/tag.php:75
 #: actions/tag.php:76
@@ -1823,24 +1863,24 @@ msgstr ""
 #: ../actions/recoverpassword.php:166 actions/recoverpassword.php:171
 #: actions/recoverpassword.php:190
 msgid "Recover"
-msgstr "Recover"
+msgstr ""
 
 #: ../actions/recoverpassword.php:156 actions/recoverpassword.php:161
 #: actions/recoverpassword.php:198
 msgid "Recover password"
-msgstr "Recover password"
+msgstr ""
 
 #: ../actions/recoverpassword.php:67 actions/recoverpassword.php:67
 #: actions/recoverpassword.php:73
 msgid "Recovery code for unknown user."
-msgstr "Recovery code for unknown user."
+msgstr ""
 
 #: ../actions/register.php:142 ../actions/register.php:193 ../lib/util.php:312
 #: actions/register.php:152 actions/register.php:207 lib/util.php:328
 #: actions/register.php:69 actions/register.php:436 lib/action.php:338
 #: lib/facebookaction.php:277 lib/logingroupnav.php:78
 msgid "Register"
-msgstr "Register"
+msgstr ""
 
 #: ../actions/register.php:28 actions/register.php:28
 #: actions/finishopenidlogin.php:196 actions/register.php:90
@@ -1896,6 +1936,8 @@ msgid ""
 "Removing your only OpenID would make it impossible to log in! If you need to "
 "remove it, add another OpenID first."
 msgstr ""
+"Removing your only OpenID would make it impossible to log-in! If you need to "
+"remove it, add another OpenID first."
 
 #: ../lib/stream.php:55 lib/personal.php:55 lib/personalgroupnav.php:103
 msgid "Replies"
@@ -1978,6 +2020,8 @@ msgid ""
 "Search for notices on %%site.name%% by their contents. Separate search terms "
 "by spaces; they must be 3 characters or more."
 msgstr ""
+"Search for notices on %%site.name%% by their contents. Separate search terms "
+"by spaces - they must be 3 characters or more."
 
 #: ../actions/peoplesearch.php:28
 #, php-format
@@ -1985,6 +2029,8 @@ 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 ""
+"Search for people on %%site.name%% by their name, location, or interests. "
+"Separate the terms by spaces - they must be 3 characters or more."
 
 #: ../actions/smssettings.php:296 actions/smssettings.php:304
 #: actions/smssettings.php:457
@@ -2001,12 +2047,12 @@ msgstr ""
 #: actions/emailsettings.php:74 actions/smssettings.php:82
 #: actions/emailsettings.php:132 actions/smssettings.php:145
 msgid "Send email to this address to post new notices."
-msgstr ""
+msgstr "Send e-mail to this address to post new notices."
 
 #: ../actions/emailsettings.php:88 actions/emailsettings.php:89
 #: actions/emailsettings.php:152
 msgid "Send me notices of new subscriptions through email."
-msgstr ""
+msgstr "Send me notices of new subscriptions through e-mail."
 
 #: ../actions/imsettings.php:70 actions/imsettings.php:71
 #: actions/imsettings.php:137
@@ -2021,7 +2067,7 @@ msgstr ""
 
 #: ../actions/imsettings.php:76 actions/imsettings.php:77
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
-msgstr ""
+msgstr "Send me replies through Jabber/GTalk from people I’m not subscribed to."
 
 #: ../lib/util.php:304 lib/util.php:320 lib/facebookaction.php:215
 msgid "Settings"
@@ -2050,12 +2096,12 @@ msgstr ""
 #: ../scripts/maildaemon.php:58 scripts/maildaemon.php:58
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr ""
+msgstr "Sorry, no incoming e-mail allowed."
 
 #: ../scripts/maildaemon.php:54 scripts/maildaemon.php:54
 #: scripts/maildaemon.php:57
 msgid "Sorry, that is not your incoming email address."
-msgstr ""
+msgstr "Sorry, that is not your incoming e-mail address."
 
 #: ../lib/util.php:330 lib/util.php:346 lib/action.php:574
 msgid "Source"
@@ -2090,12 +2136,12 @@ msgstr ""
 #: ../actions/userauthorization.php:310 actions/userauthorization.php:322
 #: actions/userauthorization.php:338
 msgid "Subscription authorized"
-msgstr ""
+msgstr "Subscription authorised"
 
 #: ../actions/userauthorization.php:320 actions/userauthorization.php:332
 #: actions/userauthorization.php:349
 msgid "Subscription rejected"
-msgstr "Subscription rejected"
+msgstr ""
 
 #: ../actions/showstream.php:230 ../actions/showstream.php:307
 #: ../actions/subscriptions.php:27 actions/showstream.php:240
@@ -2103,12 +2149,12 @@ msgstr "Subscription rejected"
 #: actions/showstream.php:407 actions/showstream.php:489
 #: lib/subgroupnav.php:80
 msgid "Subscriptions"
-msgstr "Subscriptions"
+msgstr ""
 
 #: ../actions/avatar.php:87 actions/profilesettings.php:324
 #: lib/imagefile.php:78
 msgid "System error uploading file."
-msgstr "System error uploading file."
+msgstr ""
 
 #: ../actions/tag.php:41 ../lib/util.php:301 actions/tag.php:41
 #: lib/util.php:317 actions/profilesettings.php:122 actions/showstream.php:297
@@ -2129,7 +2175,7 @@ msgstr ""
 #: ../actions/openidsettings.php:140 actions/openidsettings.php:149
 #: actions/openidsettings.php:227
 msgid "That OpenID does not belong to you."
-msgstr "That OpenID does not belong to you."
+msgstr ""
 
 #: ../actions/confirmaddress.php:52 actions/confirmaddress.php:52
 #: actions/confirmaddress.php:94
@@ -2143,7 +2189,7 @@ msgstr ""
 
 #: ../actions/emailsettings.php:191 actions/emailsettings.php:209
 msgid "That email address already belongs to another user."
-msgstr ""
+msgstr "That e-mail address already belongs to another user."
 
 #: ../actions/avatar.php:80 actions/profilesettings.php:317
 #: lib/imagefile.php:71
@@ -2158,7 +2204,7 @@ msgstr ""
 #: ../actions/emailsettings.php:188 actions/emailsettings.php:206
 #: actions/emailsettings.php:318
 msgid "That is already your email address."
-msgstr ""
+msgstr "That is already your e-mail address."
 
 #: ../actions/smssettings.php:188 actions/smssettings.php:196
 #: actions/smssettings.php:306
@@ -2173,7 +2219,7 @@ msgstr ""
 #: ../actions/emailsettings.php:249 actions/emailsettings.php:267
 #: actions/emailsettings.php:397
 msgid "That is not your email address."
-msgstr ""
+msgstr "That is not your e-mail address."
 
 #: ../actions/smssettings.php:257 actions/smssettings.php:265
 #: actions/smssettings.php:393
@@ -2184,7 +2230,7 @@ msgstr ""
 #: actions/emailsettings.php:244 actions/imsettings.php:218
 #: actions/emailsettings.php:367 actions/imsettings.php:349
 msgid "That is the wrong IM address."
-msgstr ""
+msgstr "That is the wrong I.M. address."
 
 #: ../actions/smssettings.php:233 actions/smssettings.php:241
 #: actions/smssettings.php:362
@@ -2200,17 +2246,17 @@ msgstr ""
 #: actions/newnotice.php:49 actions/twitapistatuses.php:330
 #: actions/facebookhome.php:243 actions/twitapistatuses.php:276
 msgid "That's too long. Max notice size is 140 chars."
-msgstr ""
+msgstr "That’s too long. Max notice size is 140 chars."
 
 #: ../actions/twitapiaccount.php:74 actions/twitapiaccount.php:72
 #: actions/twitapiaccount.php:62
 msgid "That's too long. Max notice size is 255 chars."
-msgstr ""
+msgstr "That’s too long. Max notice size is 255 chars."
 
 #: ../actions/confirmaddress.php:92 actions/confirmaddress.php:92
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
-msgstr ""
+msgstr "The address ‘%s’ has been confirmed for your account."
 
 #: ../actions/emailsettings.php:264 ../actions/imsettings.php:250
 #: ../actions/smssettings.php:274 actions/emailsettings.php:282
@@ -2226,6 +2272,9 @@ msgid ""
 "with the site's instructions for details on how to authorize the "
 "subscription. Your subscription token is:"
 msgstr ""
+"The subscription has been authorised, but no callback URL was given. Check "
+"with the site’s instructions for details on how to authorise the "
+"subscription. Your subscription token is:"
 
 #: ../actions/userauthorization.php:322
 msgid ""
@@ -2233,6 +2282,9 @@ msgid ""
 "with the site's instructions for details on how to fully reject the "
 "subscription."
 msgstr ""
+"The subscription has been rejected, but no callback URL was given. Check "
+"with the site’s instructions for details on how to fully reject the "
+"subscription."
 
 #: ../actions/subscribers.php:35 actions/subscribers.php:35
 #, php-format
@@ -2275,6 +2327,9 @@ msgid ""
 "to a local account. You can either create a new account, or connect with "
 "your existing account, if you have one."
 msgstr ""
+"This is the first time you’ve logged into %s so we must connect your OpenID "
+"to a local account. You can either create a new account, or connect with "
+"your existing account, if you have one."
 
 #: ../actions/twitapifriendships.php:108 ../actions/twitapistatuses.php:586
 #: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
@@ -2306,6 +2361,7 @@ msgstr ""
 msgid "Timezone not selected."
 msgstr ""
 
+# double space.
 #: ../actions/remotesubscribe.php:43
 #, php-format
 msgid ""
@@ -2313,6 +2369,10 @@ msgid ""
 "register%%) a new  account. If you already have an account  on a [compatible "
 "microblogging site](%%doc.openmublog%%),  enter your profile URL below."
 msgstr ""
+"To subscribe, you can [log-in](%%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."
 
 #: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
 #: actions/twitapifriendships.php:132
@@ -2365,7 +2425,7 @@ msgstr ""
 #: actions/confirmaddress.php:90
 #, php-format
 msgid "Unrecognized address type %s"
-msgstr ""
+msgstr "Unrecognised address type %s"
 
 #: ../actions/showstream.php:209 actions/showstream.php:219
 #: lib/unsubscribeform.php:137
@@ -2391,7 +2451,7 @@ msgstr ""
 #: ../lib/settingsaction.php:103 lib/settingsaction.php:97
 #: lib/connectsettingsaction.php:105
 msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "Updates by instant messenger (I.M.)"
 
 #: ../actions/twitapistatuses.php:241 actions/twitapistatuses.php:158
 #: actions/twitapistatuses.php:129
@@ -2417,6 +2477,10 @@ msgid ""
 "site license, also. Use a picture that belongs to you and that you want to "
 "share."
 msgstr ""
+"Upload a new ‘avatar’ (user image) here. You can’t edit the picture after "
+"you upload it, so make sure it’s more or less square. It must be under the "
+"site licence, also. Use a picture that belongs to you and that you want to "
+"share."
 
 #: ../lib/settingsaction.php:91
 msgid "Upload a new profile image"
@@ -2435,7 +2499,7 @@ msgstr ""
 #: ../actions/finishremotesubscribe.php:86
 #: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
 msgid "User being listened to doesn't exist."
-msgstr ""
+msgstr "User being listened to doesn’t exist."
 
 #: ../actions/all.php:41 ../actions/avatarbynickname.php:48
 #: ../actions/foaf.php:47 ../actions/replies.php:41
@@ -2467,30 +2531,30 @@ msgstr ""
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:139
 msgid "What timezone are you normally in?"
-msgstr ""
+msgstr "In which timezone are you?"
 
 #: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
 #, php-format
 msgid "What's up, %s?"
-msgstr ""
+msgstr "What’s up, %s?"
 
 #: ../actions/profilesettings.php:54 ../actions/register.php:175
 #: actions/profilesettings.php:87 actions/register.php:189
 #: actions/profilesettings.php:119
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr ""
+msgstr "Where you are, like ‘City, State (or Region), Country’"
 
 #: ../actions/updateprofile.php:128 actions/updateprofile.php:129
 #: actions/updateprofile.php:132
 #, php-format
 msgid "Wrong image type for '%s'"
-msgstr ""
+msgstr "Wrong image type for ‘%s’"
 
 #: ../actions/updateprofile.php:123 actions/updateprofile.php:124
 #: actions/updateprofile.php:127
 #, php-format
 msgid "Wrong size image at '%s'"
-msgstr ""
+msgstr "Wrong size image at ‘%s’"
 
 #: ../actions/deletenotice.php:63 ../actions/deletenotice.php:72
 #: actions/deletenotice.php:64 actions/deletenotice.php:79
@@ -2536,13 +2600,15 @@ msgstr ""
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr ""
+msgstr "You can receive SMS messages through e-mail from %%site.name%%."
 
 #: ../actions/openidsettings.php:86
 msgid ""
 "You can remove an OpenID from your account by clicking the button marked "
 "\"Remove\"."
 msgstr ""
+"You can remove an OpenID from your account by clicking the button marked "
+"‘Remove’."
 
 #: ../actions/imsettings.php:28 actions/imsettings.php:28
 #, php-format
@@ -2567,7 +2633,7 @@ msgstr ""
 #: actions/finishopenidlogin.php:38 actions/register.php:68
 #: actions/finishopenidlogin.php:43
 msgid "You can't register if you don't agree to the license."
-msgstr ""
+msgstr "You can’t register if you don’t agree to the licence."
 
 #: ../actions/updateprofile.php:63 actions/updateprofile.php:64
 #: actions/updateprofile.php:67
@@ -2586,11 +2652,19 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s"
 msgstr ""
+"You have a new posting address on %1$s.\n"
+"\n"
+"Send e-mail to %2$s to post new messages.\n"
+"\n"
+"More e-mail instructions at %3$s.\n"
+"\n"
+"Faithfully yours,\n"
+"%4$s"
 
 #: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
 #: actions/twitapistatuses.php:463
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "You may not delete another user’s status."
 
 #: ../actions/invite.php:31 actions/invite.php:31 actions/invite.php:39
 #, php-format
@@ -2603,9 +2677,10 @@ msgid ""
 "on the site. Thanks for growing the community!"
 msgstr ""
 
+# extra spaces.
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
-msgstr ""
+msgstr "You’ve been identified. Enter a new password below."
 
 #: ../actions/openidlogin.php:67 actions/openidlogin.php:76
 #: actions/openidlogin.php:104
@@ -2614,14 +2689,17 @@ msgstr ""
 
 #: ../actions/recoverpassword.php:164
 msgid "Your nickname on this server, or your registered email address."
-msgstr ""
+msgstr "Your nickname on this server, or your registered e-mail address."
 
+# extra spaces.
 #: ../actions/openidsettings.php:28
 #, php-format
 msgid ""
 "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
 "account.  Manage your associated OpenIDs from here."
 msgstr ""
+"[OpenID](%%doc.openid%%) lets you log into many sites with the same user "
+"account. Manage your associated OpenIDs from here."
 
 #: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
 msgid "a few seconds ago"
@@ -2676,7 +2754,7 @@ msgstr ""
 #: ../lib/stream.php:117 actions/noticesearch.php:136
 #: actions/showstream.php:426 lib/stream.php:84 actions/noticesearch.php:187
 msgid "in reply to..."
-msgstr ""
+msgstr "in reply to…"
 
 #: ../actions/noticesearch.php:137 ../actions/showstream.php:415
 #: ../lib/stream.php:124 actions/noticesearch.php:143
@@ -2696,7 +2774,6 @@ msgstr ""
 
 #  erm, not sure what to do here, « is recognised as a quotation mark.
 #: ../lib/util.php:1309 lib/util.php:1443
-#, fuzzy
 msgid "« After"
 msgstr "← After"
 
@@ -2718,63 +2795,63 @@ msgstr ""
 
 #: actions/disfavor.php:55 actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "This notice is not a favourite!"
 
 #: actions/disfavor.php:63 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "Could not delete favourite."
 
 #: actions/disfavor.php:72 lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "Favour"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
-msgstr ""
+msgstr "Send me e-mail when someone adds my notice as a favourite."
 
 #: actions/emailsettings.php:95 actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "Send me e-mail when someone sends me a private message."
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "This notice is already a favourite!"
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "Could not create favourite."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "Disfavour"
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "%s favourite notices"
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "Feed of favourite notices of %s"
 
 #: actions/inbox.php:28 actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "In-box for %s - page %d"
 
 #: actions/inbox.php:30 actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "In-box for %s"
 
 #: actions/inbox.php:53 actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
-msgstr ""
+msgstr "This is your in-box, which lists your incoming private messages."
 
 #: actions/invite.php:178 actions/invite.php:213
 #, php-format
@@ -2783,10 +2860,11 @@ msgid ""
 "\n"
 msgstr ""
 
+# extra space?
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "Automatically log-in in the future - "
 
 #: actions/login.php:122 actions/login.php:264
 msgid "For security reasons, please re-enter your "
@@ -2794,12 +2872,12 @@ msgstr ""
 
 #: actions/login.php:126 actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "Log-in with your username and password. "
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "That’s too long. Max message size is 140 chars."
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
 msgid "No recipient specified."
@@ -2809,7 +2887,7 @@ msgstr ""
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "You can’t send a message to this user."
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
@@ -2817,6 +2895,7 @@ msgstr ""
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
+"Don’t send a message to yourself - just say it to yourself quietly instead."
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
 #: actions/newmessage.php:163
@@ -2834,7 +2913,7 @@ msgstr ""
 #: actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
-msgstr ""
+msgstr "[OpenID](%%doc.openid%%) lets you log-in to many sites "
 
 #: actions/openidsettings.php:46 actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
@@ -2842,7 +2921,7 @@ msgstr ""
 
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
-msgstr ""
+msgstr "Removing your only OpenID would make it impossible to log-in! "
 
 #: actions/openidsettings.php:87 actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
@@ -2886,11 +2965,11 @@ msgstr ""
 
 #: actions/recoverpassword.php:141 actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "If you’ve forgotten or lost your"
 
 #: actions/recoverpassword.php:154 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "You’ve been identified. Enter a "
 
 #: actions/recoverpassword.php:169 actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
@@ -2914,25 +2993,27 @@ msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to..."
 msgstr ""
+"Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
+"want to…"
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "(You should receive a message by e-mail in a moment, with "
 
 #: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "To subscribe, you can [log-in](%%action.login%%),"
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "Feed for favourites of %s"
 
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "Could not retrieve favourite notices."
 
 #: actions/showmessage.php:33 actions/showmessage.php:81
 msgid "No such message."
@@ -2973,7 +3054,7 @@ msgstr ""
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "Direct Messages You’ve Sent"
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
 #, php-format
@@ -2993,23 +3074,23 @@ msgstr ""
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "Can’t send direct messages to users who aren’t your friend."
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / Favourites from %s"
 
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s updates favourited by %s / %s."
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s added your notice as a favourite"
 
 #: actions/twitapifavorites.php:188 lib/mail.php:276
 #: actions/twitapifavorites.php:165
@@ -3018,6 +3099,8 @@ msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s just added your notice from %2$s as one of their favourites.\n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
@@ -3054,7 +3137,7 @@ msgstr ""
 
 #: actions/twittersettings.php:75 actions/twittersettings.php:146
 msgid "Send local \"@\" replies to Twitter."
-msgstr ""
+msgstr "Send local ‘@’ replies to Twitter."
 
 #: actions/twittersettings.php:78 actions/twittersettings.php:153
 msgid "Subscribe to my Twitter friends here."
@@ -3073,7 +3156,7 @@ msgstr ""
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "Unable to retrieve account information for ‘%s’ from Twitter."
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
@@ -3091,7 +3174,7 @@ msgstr ""
 #: actions/twittersettings.php:200 actions/twittersettings.php:208
 #: actions/twittersettings.php:403
 msgid "Couldn't remove Twitter user."
-msgstr ""
+msgstr "Couldn’t remove Twitter user."
 
 #: actions/twittersettings.php:212 actions/twittersettings.php:407
 msgid "Twitter account removed."
@@ -3101,7 +3184,7 @@ msgstr ""
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "Couldn’t save Twitter preferences."
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
 msgid "Twitter preferences saved."
@@ -3113,7 +3196,7 @@ msgstr ""
 
 #: actions/userauthorization.php:324 actions/userauthorization.php:340
 msgid "The subscription has been authorized, but no "
-msgstr ""
+msgstr "The subscription has been authorised, but no "
 
 #: actions/userauthorization.php:334 actions/userauthorization.php:351
 msgid "The subscription has been rejected, but no "
@@ -3157,7 +3240,7 @@ msgstr ""
 #: classes/Command.php:169 classes/Command.php:192
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "Full name: %s"
 
 #: classes/Command.php:172 classes/Command.php:195
 #, php-format
@@ -3217,7 +3300,7 @@ msgstr ""
 
 #: classes/Command.php:315 classes/Command.php:358
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "Can’t turn off notification."
 
 #: classes/Command.php:333 classes/Command.php:379
 msgid "Notification on."
@@ -3225,7 +3308,7 @@ msgstr ""
 
 #: classes/Command.php:335 classes/Command.php:381
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "Can’t turn on notification."
 
 #: classes/Command.php:344 classes/Command.php:392
 msgid "Commands:\n"
@@ -3272,12 +3355,12 @@ msgstr ""
 
 #: lib/personal.php:65 lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "Favourites"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "%s’s favourite notices"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 msgid "User"
@@ -3285,7 +3368,7 @@ msgstr ""
 
 #: lib/personal.php:75 lib/personalgroupnav.php:123
 msgid "Inbox"
-msgstr ""
+msgstr "In-box"
 
 #: lib/personal.php:76 lib/personalgroupnav.php:124
 msgid "Your incoming messages"
@@ -3316,9 +3399,9 @@ msgid "Could not parse message."
 msgstr ""
 
 #: actions/all.php:63 actions/facebookhome.php:162
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s and friends"
+msgstr ""
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
@@ -3327,9 +3410,8 @@ msgstr ""
 #  requires full stops?
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "IM Settings"
+msgstr ""
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
@@ -3367,9 +3449,8 @@ msgstr ""
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
-#, fuzzy
 msgid "Lost our file."
-msgstr "No such notice."
+msgstr ""
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
@@ -3387,9 +3468,8 @@ msgid "No profile with that ID."
 msgstr ""
 
 #: actions/block.php:111
-#, fuzzy
 msgid "Block user"
-msgstr "No such user."
+msgstr ""
 
 #: actions/block.php:129
 msgid "Are you sure you want to block this user? "
@@ -3406,7 +3486,7 @@ msgstr ""
 #: actions/confirmaddress.php:159
 #, php-format
 msgid "The address \"%s\" has been "
-msgstr ""
+msgstr "The address ‘%s’ has been "
 
 #: actions/deletenotice.php:73
 msgid "You are about to permanently delete a notice. "
@@ -3414,7 +3494,7 @@ msgstr ""
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "Add to favourites"
 
 #: actions/editgroup.php:54
 #, php-format
@@ -3424,7 +3504,7 @@ msgstr ""
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "In-boxes must be enabled for groups to work"
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 msgid "You must be logged in to create a group."
@@ -3433,16 +3513,14 @@ msgstr ""
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "No nickname."
+msgstr ""
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
 #: actions/showgroup.php:128
-#, fuzzy
 msgid "No such group"
-msgstr "No such notice."
+msgstr ""
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
@@ -3454,56 +3532,49 @@ msgid "Use this form to edit the group."
 msgstr ""
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
-#, fuzzy
 msgid "Nickname must have only lowercase letters "
-msgstr "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
-#, fuzzy
 msgid "description is too long (max 140 chars)."
-msgstr "Bio is too long (max 140 chars)"
+msgstr ""
 
 #: actions/editgroup.php:218
-#, fuzzy
 msgid "Could not update group."
-msgstr "Couldn’t update user."
+msgstr ""
 
 #: actions/editgroup.php:226
 msgid "Options saved."
 msgstr ""
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
-#, fuzzy, php-format
+#, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "Error with confirmation code."
+msgstr ""
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
 msgid "Make a new email address for posting to; "
-msgstr ""
+msgstr "Make a new e-mail address for posting to - "
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "Send me e-mail when someone "
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "Allow friends to nudge me and send me an e-mail."
 
 #: actions/emailsettings.php:321
-#, fuzzy
 msgid "That email address already belongs "
-msgstr "E-mail address already exists."
+msgstr "That e-mail address already belongs "
 
 #: actions/emailsettings.php:343
-#, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
-msgstr ""
-"A confirmation code was sent to the IM address you added. You must approve %"
-"s for sending messages to you."
+msgstr "A confirmation code was sent to the e-mail address you added. "
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "Server error - couldn’t get user!"
 
 #: actions/facebookhome.php:196
 #, php-format
@@ -3520,9 +3591,8 @@ msgid "Skip"
 msgstr ""
 
 #: actions/facebookhome.php:235
-#, fuzzy
 msgid "No notice content!"
-msgstr "No content!"
+msgstr ""
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
@@ -3530,15 +3600,13 @@ msgstr ""
 
 #  erm, not sure what to do here, « is recognised as a quotation mark.
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
-#, fuzzy
 msgid "After"
-msgstr "← After"
+msgstr ""
 
 #  erm, not sure what to do here, » is recognised as a quotation mark.
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
-#, fuzzy
 msgid "Before"
-msgstr "Before →"
+msgstr ""
 
 #: actions/facebookinvite.php:70
 #, php-format
@@ -3555,9 +3623,9 @@ msgid "You have been invited to %s"
 msgstr ""
 
 #: actions/facebookinvite.php:105
-#, fuzzy, php-format
+#, php-format
 msgid "Invite your friends to use %s"
-msgstr "Feed for friends of %s"
+msgstr ""
 
 #: actions/facebookinvite.php:113
 #, php-format
@@ -3570,18 +3638,16 @@ msgid "Send invitations"
 msgstr ""
 
 #: actions/facebookremove.php:56
-#, fuzzy
 msgid "Couldn't remove Facebook user."
-msgstr "Couldn’t update user."
+msgstr "Couldn’t remove Facebook user."
 
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
 msgstr ""
 
 #: actions/facebooksettings.php:67
-#, fuzzy
 msgid "Sync preferences saved."
-msgstr "Preferences saved."
+msgstr ""
 
 #: actions/facebooksettings.php:90
 msgid "Automatically update my Facebook status with my notices."
@@ -3589,12 +3655,11 @@ msgstr ""
 
 #: actions/facebooksettings.php:97
 msgid "Send \"@\" replies to Facebook."
-msgstr ""
+msgstr "Send ‘@’ replies to Facebook."
 
 #: actions/facebooksettings.php:106
-#, fuzzy
 msgid "Prefix"
-msgstr "Profile"
+msgstr ""
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
@@ -3606,24 +3671,22 @@ msgid "If you would like %s to automatically update "
 msgstr ""
 
 #: actions/facebooksettings.php:147
-#, fuzzy
 msgid "Sync preferences"
-msgstr "Preferences"
+msgstr ""
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "Disfavor favourite"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
-#, fuzzy
 msgid "Popular notices"
-msgstr "No such notice."
+msgstr ""
 
 #: actions/favorited.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "Popular notices, page %d"
-msgstr "No such notice."
+msgstr ""
 
 #: actions/favorited.php:79
 msgid "The most popular notices on the site right now."
@@ -3661,14 +3724,12 @@ msgid "You can upload a logo image for your group."
 msgstr ""
 
 #: actions/grouplogo.php:448
-#, fuzzy
 msgid "Logo updated."
-msgstr "Avatar updated."
+msgstr ""
 
 #: actions/grouplogo.php:450
-#, fuzzy
 msgid "Failed updating logo."
-msgstr "Failed to update avatar."
+msgstr "Failed to update logo."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:91
 #, php-format
@@ -3700,9 +3761,8 @@ msgid "%%%%site.name%%%% groups let you find and talk with "
 msgstr ""
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
-#, fuzzy
 msgid "Create a new group"
-msgstr "Create new account"
+msgstr ""
 
 #: actions/groupsearch.php:57
 #, php-format
@@ -3711,9 +3771,8 @@ msgid ""
 msgstr ""
 
 #: actions/groupsearch.php:63
-#, fuzzy
 msgid "Group search"
-msgstr "People search"
+msgstr ""
 
 #: actions/imsettings.php:70
 msgid "You can send and receive notices through "
@@ -3729,9 +3788,9 @@ msgid "Send me replies through Jabber/GTalk "
 msgstr ""
 
 #: actions/imsettings.php:321
-#, fuzzy, php-format
+#, php-format
 msgid "A confirmation code was sent "
-msgstr "No confirmation code."
+msgstr ""
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
@@ -3742,9 +3801,9 @@ msgid "You are already a member of that group"
 msgstr ""
 
 #: actions/joingroup.php:128
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "Could not redirect to server: %s"
+msgstr ""
 
 #: actions/joingroup.php:135
 #, php-format
@@ -3753,16 +3812,15 @@ msgstr ""
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "In-boxes must be enabled for groups to work."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
 msgstr ""
 
 #: actions/leavegroup.php:88
-#, fuzzy
 msgid "No such group."
-msgstr "No such notice."
+msgstr ""
 
 #: actions/leavegroup.php:95
 msgid "You are not a member of that group."
@@ -3778,9 +3836,9 @@ msgstr ""
 
 #  Thought form was incorrect
 #: actions/leavegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "Could not create OpenID from: %s"
+msgstr ""
 
 #: actions/leavegroup.php:145
 #, php-format
@@ -3789,7 +3847,7 @@ msgstr ""
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Log-in to site"
 
 #: actions/microsummary.php:69
 msgid "No current status"
@@ -3804,27 +3862,24 @@ msgid "Use this form to create a new group."
 msgstr ""
 
 #: actions/newgroup.php:177
-#, fuzzy
 msgid "Could not create group."
-msgstr "Could not save avatar info"
+msgstr "Couldn’t create group."
 
 #: actions/newgroup.php:191
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Couldn’t create subscription."
+msgstr "Couldn’t set group membership."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
 msgid "That's too long. "
-msgstr ""
+msgstr "That’s too long."
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "Don’t send a message to yourself - "
 
 #: actions/newnotice.php:166
-#, fuzzy
 msgid "Notice posted"
-msgstr "Notices"
+msgstr ""
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
@@ -3834,6 +3889,7 @@ msgstr ""
 msgid ""
 "This user doesn't allow nudges or hasn't confirmed or set his email yet."
 msgstr ""
+"This user doesn’t allow nudges or hasn’t confirmed or set his e-mail yet."
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
@@ -3844,9 +3900,8 @@ msgid "Nudge sent!"
 msgstr ""
 
 #: actions/openidlogin.php:97
-#, fuzzy
 msgid "OpenID login"
-msgstr "OpenID Log-in"
+msgstr "OpenID log-in"
 
 #: actions/openidsettings.php:128
 msgid "Removing your only OpenID "
@@ -3854,9 +3909,8 @@ msgstr ""
 
 #  requires full stops?
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "IM Settings"
+msgstr ""
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
@@ -3875,24 +3929,21 @@ msgid "Automatic shortening service to use."
 msgstr ""
 
 #: actions/othersettings.php:144
-#, fuzzy
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr "Location is too long (max 255 chars)."
+msgstr ""
 
 #: actions/passwordsettings.php:69
-#, fuzzy
 msgid "Change your password."
-msgstr "Change password"
+msgstr ""
 
 #: actions/passwordsettings.php:89
-#, fuzzy
 msgid "Password change"
-msgstr "Password"
+msgstr ""
 
 #: actions/peopletag.php:35
-#, fuzzy, php-format
+#, php-format
 msgid "Not a valid people tag: %s"
-msgstr "Not a valid e-mail address."
+msgstr ""
 
 #: actions/peopletag.php:47
 #, php-format
@@ -3902,12 +3953,11 @@ msgstr ""
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "These are users who have tagged themselves ‘%s’ "
 
 #: actions/profilesettings.php:91
-#, fuzzy
 msgid "Profile information"
-msgstr "Unknown profile"
+msgstr ""
 
 #: actions/profilesettings.php:124
 msgid ""
@@ -3919,19 +3969,18 @@ msgid "Automatically subscribe to whoever "
 msgstr ""
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
-#, fuzzy, php-format
+#, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "Invalid homepage ‘%s’"
+msgstr ""
 
 #: actions/profilesettings.php:311
-#, fuzzy
 msgid "Couldn't save tags."
-msgstr "Couldn’t save profile."
+msgstr "Couldn’t save tags."
 
 #: actions/public.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "Public timeline"
+msgstr ""
 
 #: actions/public.php:173
 msgid "Could not retrieve public stream."
@@ -3945,9 +3994,8 @@ msgid ""
 msgstr ""
 
 #: actions/publictagcloud.php:57
-#, fuzzy
 msgid "Public tag cloud"
-msgstr "Public Stream Feed"
+msgstr ""
 
 #: actions/publictagcloud.php:63
 #, php-format
@@ -3964,16 +4012,15 @@ msgstr ""
 
 #: actions/register.php:149
 msgid "You can't register if you don't "
-msgstr ""
+msgstr "You can’t register if you don’t "
 
 #: actions/register.php:286
 msgid "With this form you can create "
 msgstr ""
 
 #: actions/register.php:368
-#, fuzzy
 msgid "1-64 lowercase letters or numbers, "
-msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
 
 #: actions/register.php:382 actions/register.php:386
 msgid "Used only for updates, announcements, "
@@ -3984,19 +4031,16 @@ msgid "URL of your homepage, blog, "
 msgstr ""
 
 #: actions/register.php:404
-#, fuzzy
 msgid "Describe yourself and your "
-msgstr "Describe yourself and your interests in 140 chars"
+msgstr ""
 
 #: actions/register.php:410
 msgid "Where you are, like \"City, "
-msgstr ""
+msgstr "Where you are, like ‘City, "
 
 #: actions/register.php:432
-#, fuzzy
 msgid " except this private data: password, "
 msgstr ""
-"except this private data: password, e-mail address, IM address, phone number."
 
 #: actions/register.php:471
 #, php-format
@@ -4005,11 +4049,11 @@ msgstr ""
 
 #: actions/register.php:495
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(You should receive a message by e-mail "
 
 #: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
-msgstr ""
+msgstr "That’s a local profile! Log-in to subscribe."
 
 #: actions/replies.php:118
 #, php-format
@@ -4019,7 +4063,7 @@ msgstr ""
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "%s favourite notices, page %d"
 
 #: actions/showgroup.php:77 lib/groupnav.php:85
 #, php-format
@@ -4032,9 +4076,8 @@ msgid "%s group, page %d"
 msgstr ""
 
 #: actions/showgroup.php:206
-#, fuzzy
 msgid "Group profile"
-msgstr "No such notice."
+msgstr ""
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
@@ -4043,23 +4086,21 @@ msgstr ""
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
-#, fuzzy
 msgid "Note"
-msgstr "Notices"
+msgstr ""
 
 #: actions/showgroup.php:270
 msgid "Group actions"
 msgstr ""
 
 #: actions/showgroup.php:323
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group"
-msgstr "Notice feed for %s"
+msgstr ""
 
 #: actions/showgroup.php:357 lib/groupnav.php:90
-#, fuzzy
 msgid "Members"
-msgstr "Member since"
+msgstr ""
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
@@ -4088,14 +4129,12 @@ msgid "%s, page %d"
 msgstr ""
 
 #: actions/showstream.php:143
-#, fuzzy
 msgid "'s profile"
-msgstr "Profile"
+msgstr "’s profile"
 
 #: actions/showstream.php:236 actions/tagother.php:77
-#, fuzzy
 msgid "User profile"
-msgstr "No such notice."
+msgstr ""
 
 #: actions/showstream.php:240 actions/tagother.php:81
 msgid "Photo"
@@ -4114,9 +4153,8 @@ msgid "Message"
 msgstr ""
 
 #: actions/showstream.php:451
-#, fuzzy
 msgid "All subscribers"
-msgstr "All subscriptions"
+msgstr ""
 
 #: actions/showstream.php:533
 msgid "All groups"
@@ -4130,20 +4168,16 @@ msgid ""
 msgstr ""
 
 #: actions/smssettings.php:128
-#, fuzzy
 msgid "Phone number, no punctuation or spaces, "
-msgstr "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
 
 #: actions/smssettings.php:162
 msgid "Send me notices through SMS; "
 msgstr ""
 
 #: actions/smssettings.php:335
-#, fuzzy
 msgid "A confirmation code was sent to the phone number you added. "
 msgstr ""
-"A confirmation code was sent to the IM address you added. You must approve %"
-"s for sending messages to you."
 
 #: actions/smssettings.php:453
 msgid "Mobile carrier"
@@ -4154,24 +4188,21 @@ msgid "You are not subscribed to that profile."
 msgstr ""
 
 #: actions/subedit.php:83
-#, fuzzy
 msgid "Could not save subscription."
-msgstr "Couldn’t create subscription."
+msgstr "Couldn’t save subscription."
 
 #: actions/subscribe.php:55
-#, fuzzy
 msgid "Not a local user."
-msgstr "No such user."
+msgstr ""
 
 #: actions/subscribe.php:69
-#, fuzzy
 msgid "Subscribed"
-msgstr "Not subscribed!"
+msgstr ""
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "Not subscribed!"
+msgstr ""
 
 #: actions/subscribers.php:52
 #, php-format
@@ -4179,59 +4210,54 @@ msgid "%s subscribers, page %d"
 msgstr ""
 
 #: actions/subscribers.php:63
-#, fuzzy
 msgid "These are the people who listen to "
-msgstr "These are the people who listen to %s’s notices."
+msgstr ""
 
 #: actions/subscribers.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "These are the people who "
-msgstr "These are the people who listen to %s’s notices."
+msgstr ""
 
 #: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions"
-msgstr "All subscriptions"
+msgstr ""
 
 #: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions, page %d"
-msgstr "All subscriptions"
+msgstr ""
 
 #: actions/subscriptions.php:65
-#, fuzzy
 msgid "These are the people whose notices "
-msgstr "These are the people who listen to %s’s notices."
+msgstr ""
 
 #: actions/subscriptions.php:69
-#, fuzzy, php-format
+#, php-format
 msgid "These are the people whose "
-msgstr "These are the people who listen to %s’s notices."
+msgstr ""
 
 #: actions/subscriptions.php:122
-#, fuzzy
 msgid "Jabber"
-msgstr "No Jabber ID."
+msgstr ""
 
 #: actions/tag.php:43
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "Microblog by %s"
+msgstr ""
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "Messages tagged ‘%s’, most recent first"
 
 #: actions/tagother.php:33
-#, fuzzy
 msgid "Not logged in"
-msgstr "Not logged in."
+msgstr ""
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No id argument."
-msgstr "No such document."
+msgstr ""
 
 #: actions/tagother.php:65
 #, php-format
@@ -4258,23 +4284,21 @@ msgid ""
 msgstr ""
 
 #: actions/tagother.php:198
-#, fuzzy
 msgid "Could not save tags."
-msgstr "Could not save avatar info"
+msgstr ""
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
 
 #: actions/tagrss.php:35
-#, fuzzy
 msgid "No such tag."
-msgstr "No such notice."
+msgstr ""
 
 #: actions/tagrss.php:66
-#, fuzzy, php-format
+#, php-format
 msgid "Microblog tagged with %s"
-msgstr "Microblog by %s"
+msgstr ""
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
@@ -4285,9 +4309,8 @@ msgid "Unblock user failed."
 msgstr ""
 
 #: actions/twitapiusers.php:48
-#, fuzzy
 msgid "Not found."
-msgstr "No request found!"
+msgstr ""
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
@@ -4298,9 +4321,8 @@ msgid "Twitter user name"
 msgstr ""
 
 #: actions/twittersettings.php:126
-#, fuzzy
 msgid "Twitter password"
-msgstr "New password"
+msgstr ""
 
 #: actions/twittersettings.php:228
 msgid "Twitter Friends"
@@ -4311,28 +4333,25 @@ msgid "Username must have only numbers, "
 msgstr ""
 
 #: actions/twittersettings.php:341
-#, fuzzy, php-format
+#, php-format
 msgid "Unable to retrieve account information "
-msgstr "Couldn’t delete e-mail confirmation."
+msgstr ""
 
 #: actions/unblock.php:108
-#, fuzzy
 msgid "Error removing the block."
-msgstr "Error saving the user."
+msgstr ""
 
 #: actions/unsubscribe.php:50
-#, fuzzy
 msgid "No profile id in request."
-msgstr "No profile URL returned by server."
+msgstr ""
 
 #: actions/unsubscribe.php:57
 msgid "No profile with that id."
 msgstr ""
 
 #: actions/unsubscribe.php:71
-#, fuzzy
 msgid "Unsubscribed"
-msgstr "Not subscribed!"
+msgstr ""
 
 #: actions/usergroups.php:63
 #, php-format
@@ -4345,23 +4364,23 @@ msgid "%s groups, page %d"
 msgstr ""
 
 #: classes/Notice.php:104
-#, fuzzy
 msgid "Problem saving notice. Unknown user."
-msgstr "Problem saving notice."
+msgstr ""
 
 #: classes/Notice.php:109
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
+"Too many notices, too fast - take a breather and post again in a few "
+"minutes."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
 #: lib/accountsettingsaction.php:108
-#, fuzzy
 msgid "Upload an avatar"
-msgstr "Failed to update avatar."
+msgstr ""
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
@@ -4393,63 +4412,56 @@ msgid "Search for people or text"
 msgstr ""
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Account"
-msgstr "About"
+msgstr ""
 
 #: lib/action.php:328
 msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "Change your e-mail, avatar, password, profile"
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Connect to I.M., SMS, Twitter"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Log out from the site"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Log-in to the site"
 
 #: lib/action.php:338
-#, fuzzy
 msgid "Create an account"
-msgstr "Create new account"
+msgstr ""
 
 #: lib/action.php:341
-#, fuzzy
 msgid "Login with OpenID"
-msgstr "No such OpenID."
+msgstr ""
 
 #: lib/action.php:344
-#, fuzzy
 msgid "Help me!"
-msgstr "Help"
+msgstr ""
 
 #: lib/action.php:362
-#, fuzzy
 msgid "Site notice"
-msgstr "New notice"
+msgstr ""
 
 #: lib/action.php:417
 msgid "Local views"
 msgstr ""
 
 #: lib/action.php:472
-#, fuzzy
 msgid "Page notice"
-msgstr "New notice"
+msgstr ""
 
 #: lib/action.php:562
-#, fuzzy
 msgid "Secondary site navigation"
-msgstr "Subscriptions"
+msgstr ""
 
 #: lib/action.php:602 lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "Laconica software licence"
 
 #: lib/action.php:630
 msgid "All "
@@ -4457,12 +4469,11 @@ msgstr ""
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "licence."
 
 #: lib/blockform.php:123 lib/blockform.php:153
-#, fuzzy
 msgid "Block this user"
-msgstr "No such user."
+msgstr ""
 
 #: lib/blockform.php:153
 msgid "Block"
@@ -4470,26 +4481,24 @@ msgstr ""
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "Disfavour this notice"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "To use the %s Facebook Application you need to log-in "
 
 #: lib/facebookaction.php:271
-#, fuzzy
 msgid " a new account."
-msgstr "Create new account"
+msgstr ""
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
 msgid "Published"
 msgstr ""
 
 #: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
 msgid "Favor this notice"
-msgstr "No such notice."
+msgstr "Favour this notice"
 
 #: lib/feedlist.php:64
 msgid "Export data"
@@ -4520,19 +4529,17 @@ msgid "URL of the homepage or blog of the group or topic"
 msgstr ""
 
 #: lib/groupeditform.php:151
-#, fuzzy
 msgid "Description"
-msgstr "Subscriptions"
+msgstr ""
 
 #: lib/groupeditform.php:153
-#, fuzzy
 msgid "Describe the group or topic in 140 chars"
-msgstr "Describe yourself and your interests in 140 chars"
+msgstr ""
 
 #: lib/groupeditform.php:158
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr ""
+msgstr "Location for the group, if any, like ‘City, State (or Region), Country’"
 
 #: lib/groupnav.php:84 lib/searchgroupnav.php:84
 msgid "Group"
@@ -4548,9 +4555,8 @@ msgid "Edit %s group properties"
 msgstr ""
 
 #: lib/groupnav.php:106
-#, fuzzy
 msgid "Logo"
-msgstr "Log out"
+msgstr ""
 
 #: lib/groupnav.php:107
 #, php-format
@@ -4571,32 +4577,28 @@ msgid "Tags in %s group's notices"
 msgstr ""
 
 #: lib/htmloutputter.php:104
-#, fuzzy
 msgid "This page is not available in a "
-msgstr "Homepage is not a valid URL."
+msgstr ""
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "Log-in"
+msgstr ""
 
 #: lib/leaveform.php:114
 msgid "Leave"
 msgstr ""
 
 #: lib/logingroupnav.php:76
-#, fuzzy
 msgid "Login with a username and password"
-msgstr "Invalid username or password."
+msgstr "Log-in with a username and password"
 
 #: lib/logingroupnav.php:79
-#, fuzzy
 msgid "Sign up for a new account"
-msgstr "Create new account"
+msgstr ""
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Log-in or register with OpenID"
 
 #: lib/mail.php:175
 #, php-format
@@ -4606,19 +4608,19 @@ msgid ""
 msgstr ""
 
 #: lib/mail.php:236
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s is now listening to your notices on %2$s."
+msgstr ""
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "Location"
+msgstr ""
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
-msgstr "Homepage"
+msgstr ""
 
 #: lib/mail.php:258
 #, php-format
@@ -4630,7 +4632,7 @@ msgstr ""
 #: lib/mail.php:461
 #, php-format
 msgid "You've been nudged by %s"
-msgstr ""
+msgstr "You’ve been nudged by %s"
 
 #: lib/mail.php:465
 #, php-format
@@ -4638,9 +4640,9 @@ msgid "%1$s (%2$s) is wondering what you are up to "
 msgstr ""
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr "%1$s is now listening to your notices on %2$s."
+msgstr ""
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
 msgid "From"
@@ -4651,14 +4653,12 @@ msgid "Send a direct notice"
 msgstr ""
 
 #: lib/noticeform.php:125
-#, fuzzy
 msgid "Send a notice"
-msgstr "New notice"
+msgstr ""
 
 #: lib/noticeform.php:152
-#, fuzzy
 msgid "Available characters"
-msgstr "6 or more characters"
+msgstr ""
 
 #: lib/noticelist.php:426
 msgid "in reply to"
@@ -4695,7 +4695,7 @@ msgstr ""
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "Tags in %s’s notices"
 
 #: lib/profilelist.php:182
 msgid "(none)"
@@ -4718,14 +4718,12 @@ msgid "Featured"
 msgstr ""
 
 #: lib/publicgroupnav.php:90
-#, fuzzy
 msgid "Popular"
-msgstr "People search"
+msgstr ""
 
 #: lib/searchgroupnav.php:82
-#, fuzzy
 msgid "Notice"
-msgstr "Notices"
+msgstr ""
 
 #: lib/searchgroupnav.php:85
 msgid "Find groups on this site"
@@ -4736,14 +4734,14 @@ msgid "Untitled section"
 msgstr ""
 
 #: lib/subgroupnav.php:81
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "No such subscription"
+msgstr ""
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Not subscribed!"
+msgstr ""
 
 #: lib/subgroupnav.php:97
 #, php-format
@@ -4772,9 +4770,8 @@ msgid "Top posters"
 msgstr ""
 
 #: lib/unblockform.php:120 lib/unblockform.php:150
-#, fuzzy
 msgid "Unblock this user"
-msgstr "No such user."
+msgstr ""
 
 #: lib/unblockform.php:150
 msgid "Unblock"
index a74ae65c40a61219f0092078b0f2287fddcd432f..0cde057a0d5ab37934b89eb5a3e49f8345940d63 100644 (file)
Binary files a/locale/es/LC_MESSAGES/laconica.mo and b/locale/es/LC_MESSAGES/laconica.mo differ
index fdad2814eb85fc685ee16f8e339f50ffb1370b85..1d1955dc5e9e0966f36b633c29ae154da3fda73e 100644 (file)
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-29 17:57+0000\n"
+"PO-Revision-Date: 2009-01-30 19:59+0000\n"
 "Last-Translator: Paula Salazar <psalazar@cmet.net>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -43,7 +43,7 @@ msgid "%1$s / Updates replying to %2$s"
 msgstr "%1$s / Actualizaciones en respuesta a %2$s"
 
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s has invited you to join them on %2$s"
 msgstr "%1$s te ha invitado a unirte a ellos en %2$s"
 
@@ -646,7 +646,7 @@ msgstr "No se pudo actualizar el usuario con la dirección de correo confirmada.
 #: ../actions/finishremotesubscribe.php:99
 #: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
 msgid "Couldn't convert request tokens to access tokens."
-msgstr "No se pudieron convertir las señales de petición a señales de acceso."
+msgstr "No se pudieron convertir las clavesde petición a claves de acceso."
 
 #: ../actions/confirmaddress.php:84 ../actions/emailsettings.php:234
 #: ../actions/imsettings.php:218 ../actions/smssettings.php:241
@@ -825,7 +825,7 @@ msgstr "Ingrese el código recibido en su teléfono"
 #: ../actions/userauthorization.php:137 actions/userauthorization.php:144
 #: actions/userauthorization.php:161
 msgid "Error authorizing token"
-msgstr "Error al autorizar código"
+msgstr "Error al autorizar clave"
 
 #: ../actions/finishopenidlogin.php:253 actions/finishopenidlogin.php:259
 #: actions/finishopenidlogin.php:297
@@ -972,21 +972,21 @@ msgstr "Ayuda"
 #: ../lib/util.php:298 lib/util.php:314 lib/action.php:322
 #: lib/facebookaction.php:200
 msgid "Home"
-msgstr "Portada"
+msgstr "Inicio"
 
 #: ../actions/profilesettings.php:46 ../actions/register.php:167
 #: actions/profilesettings.php:79 actions/register.php:181
 #: actions/profilesettings.php:107 actions/register.php:396
 #: lib/groupeditform.php:146
 msgid "Homepage"
-msgstr "Página personal"
+msgstr "Página de inicio"
 
 #: ../actions/profilesettings.php:95 ../actions/register.php:76
 #: actions/profilesettings.php:210 actions/register.php:83
 #: actions/editgroup.php:192 actions/newgroup.php:143
 #: actions/profilesettings.php:199 actions/register.php:168
 msgid "Homepage is not a valid URL."
-msgstr "La página personal no es un URL válido."
+msgstr "La página de inicio no es un URL válido."
 
 #: ../actions/emailsettings.php:91 actions/emailsettings.php:98
 #: actions/emailsettings.php:173
@@ -1077,7 +1077,7 @@ msgstr "Dirección de correo electrónico inválida: %s"
 #: actions/updateprofile.php:102
 #, php-format
 msgid "Invalid homepage '%s'"
-msgstr "El sitio '%s' es inválido"
+msgstr "La página de incicio '%s' no es válida"
 
 #: ../actions/updateprofile.php:82 actions/updateprofile.php:83
 #: actions/updateprofile.php:86
@@ -1268,9 +1268,9 @@ 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 ""
-"Carrier de celular para tu teléfono. Si conoces un carrier que acepte SMS "
+"Operador móvil para tu teléfono. Si conoces un operador móvil que acepte SMS "
 "sobre correo electrónico pero no está listado aquí, envíanos un correo para "
-"hacérnoslo saber a %s."
+"informarnos al %s."
 
 #: ../actions/finishopenidlogin.php:79 ../actions/register.php:188
 #: actions/finishopenidlogin.php:85 actions/register.php:202
@@ -1377,7 +1377,7 @@ msgstr "¡Ninguna petición de autorización!"
 #: ../actions/smssettings.php:181 actions/smssettings.php:189
 #: actions/smssettings.php:299
 msgid "No carrier selected."
-msgstr "Ningún carrier seleccionado."
+msgstr "No se seleccionó un operador móvil."
 
 #: ../actions/smssettings.php:316 actions/smssettings.php:324
 #: actions/smssettings.php:486
@@ -1562,7 +1562,7 @@ msgstr "La cuenta OpenID no es válida."
 #: ../actions/emailsettings.php:185 actions/emailsettings.php:203
 #: actions/emailsettings.php:315
 msgid "Not a valid email address"
-msgstr "No es una dirección de correo electrónica válida"
+msgstr "No es una dirección de correo electrónico válida"
 
 #: ../actions/register.php:63 actions/register.php:70 actions/register.php:152
 msgid "Not a valid email address."
@@ -1758,7 +1758,7 @@ msgstr "Recuperación de contraseña solicitada"
 #: actions/profilesettings.php:408 actions/recoverpassword.php:326
 #: actions/passwordsettings.php:173 actions/recoverpassword.php:200
 msgid "Password saved."
-msgstr "Contraseña guardada"
+msgstr "Se guardó Contraseña."
 
 #: ../actions/password.php:61 ../actions/register.php:88
 #: actions/profilesettings.php:380 actions/register.php:98
@@ -2060,7 +2060,7 @@ msgstr ""
 #: ../actions/smssettings.php:296 actions/smssettings.php:304
 #: actions/smssettings.php:457
 msgid "Select a carrier"
-msgstr "Seleccione un operador"
+msgstr "Seleccione un operador móvil"
 
 #: ../actions/invite.php:137 ../lib/util.php:1172 actions/invite.php:145
 #: lib/util.php:1306 lib/util.php:1731 actions/invite.php:182
@@ -2090,12 +2090,12 @@ msgid ""
 "from my carrier."
 msgstr ""
 "Enviarme avisos por SMS; Yo acepto que puede incurrir en grandes cobros por "
-"mi operador de telefonía "
+"mi operador móvil"
 
 #: ../actions/imsettings.php:76 actions/imsettings.php:77
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr ""
-"Envirame replicas por medio de Jabber/GTalk de gente a la cual no sigo."
+"Envirame respuestas por medio de Jabber/GTalk de gente a la cual no sigo."
 
 #: ../lib/util.php:304 lib/util.php:320 lib/facebookaction.php:215
 msgid "Settings"
@@ -2104,7 +2104,7 @@ msgstr "Configuración"
 #: ../actions/profilesettings.php:192 actions/profilesettings.php:307
 #: actions/profilesettings.php:319
 msgid "Settings saved."
-msgstr "Configuración guardada."
+msgstr "Se guardó configuración."
 
 #: ../actions/tag.php:60 actions/tag.php:60
 msgid "Showing most popular tags from the last week"
@@ -2124,12 +2124,12 @@ msgstr "Algo raro pasó."
 #: ../scripts/maildaemon.php:58 scripts/maildaemon.php:58
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr "Lo sentimos, pero el email de entrada no está permitido"
+msgstr "Lo sentimos, pero no se permite correos entrantes"
 
 #: ../scripts/maildaemon.php:54 scripts/maildaemon.php:54
 #: scripts/maildaemon.php:57
 msgid "Sorry, that is not your incoming email address."
-msgstr "Lo sentimos, pero este no es su email de entrada."
+msgstr "Lo sentimos, pero este no es su dirección de correo entrante."
 
 #: ../lib/util.php:330 lib/util.php:346 lib/action.php:574
 msgid "Source"
@@ -2189,7 +2189,7 @@ msgstr "Error del sistema al cargar el archivo."
 #: actions/tagother.php:147 actions/tagother.php:207 lib/profilelist.php:162
 #: lib/profilelist.php:164
 msgid "Tags"
-msgstr "Etiquetas"
+msgstr "Tags"
 
 #: ../lib/searchaction.php:104 lib/searchaction.php:104
 msgid "Text"
@@ -2232,12 +2232,12 @@ msgstr "Ese ya es tu Jabber ID."
 #: ../actions/emailsettings.php:188 actions/emailsettings.php:206
 #: actions/emailsettings.php:318
 msgid "That is already your email address."
-msgstr "Esa ya es su dirección de correo electrónico"
+msgstr "Esa ya es tu dirección de correo electrónico"
 
 #: ../actions/smssettings.php:188 actions/smssettings.php:196
 #: actions/smssettings.php:306
 msgid "That is already your phone number."
-msgstr "Ese ya es su número telefónico"
+msgstr "Ese ya es tu número telefónico"
 
 #: ../actions/imsettings.php:233 actions/imsettings.php:241
 #: actions/imsettings.php:381
@@ -2247,12 +2247,12 @@ msgstr "Ese no es tu Jabber ID."
 #: ../actions/emailsettings.php:249 actions/emailsettings.php:267
 #: actions/emailsettings.php:397
 msgid "That is not your email address."
-msgstr "Esa no es su dirección de correo electrónico"
+msgstr "Esa no es tu dirección de correo electrónico"
 
 #: ../actions/smssettings.php:257 actions/smssettings.php:265
 #: actions/smssettings.php:393
 msgid "That is not your phone number."
-msgstr "Ese no es su número telefónico"
+msgstr "Ese no es tu número telefónico"
 
 #: ../actions/emailsettings.php:226 ../actions/imsettings.php:210
 #: actions/emailsettings.php:244 actions/imsettings.php:218
@@ -2268,7 +2268,7 @@ msgstr "Ese no es el número de confirmación"
 #: ../actions/smssettings.php:191 actions/smssettings.php:199
 #: actions/smssettings.php:309
 msgid "That phone number already belongs to another user."
-msgstr "Ese número telefónico pertenece ya a otro usuario"
+msgstr "Ese número telefónico ya pertenece a otro usuario"
 
 #: ../actions/newnotice.php:49 ../actions/twitapistatuses.php:408
 #: actions/newnotice.php:49 actions/twitapistatuses.php:330
@@ -2326,11 +2326,11 @@ msgstr "Estas son las personas que escuchan tus avisos."
 #: ../actions/subscriptions.php:35 actions/subscriptions.php:35
 #, php-format
 msgid "These are the people whose notices %s listens to."
-msgstr "Estas son las personas que %s escucha."
+msgstr "Estas son las personas que %s escucha sus avisos."
 
 #: ../actions/subscriptions.php:33 actions/subscriptions.php:33
 msgid "These are the people whose notices you listen to."
-msgstr "Estas son las personas que escuchas."
+msgstr "Estas son las personas que escuchas sus avisos."
 
 #: ../actions/invite.php:89 actions/invite.php:96 actions/invite.php:128
 msgid ""
@@ -2368,7 +2368,7 @@ msgstr ""
 #: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
 #: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
 msgid "This method requires a POST or DELETE."
-msgstr "Este método requiere un POST o DELETE"
+msgstr "Este método requiere un PUBLICAR O ELIMINAR"
 
 #: ../actions/twitapiaccount.php:65 ../actions/twitapifriendships.php:44
 #: ../actions/twitapistatuses.php:381 actions/twitapiaccount.php:63
@@ -2377,11 +2377,11 @@ msgstr "Este método requiere un POST o DELETE"
 #: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
 #: actions/twitapistatuses.php:244
 msgid "This method requires a POST."
-msgstr ""
+msgstr "Este método requiere PUBLICAR"
 
 #: ../lib/util.php:164 lib/util.php:246
 msgid "This page is not available in a media type you accept"
-msgstr "Esta página no está disponible en un tipo de media que aceptes."
+msgstr "Esta página no está disponible en el tipo de medio que aceptas."
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:138
@@ -2401,7 +2401,7 @@ msgid ""
 "microblogging site](%%doc.openmublog%%),  enter your profile URL below."
 msgstr ""
 "Para suscribirte, puedes [iniciar una sesión](%%action.login%%), o "
-"[registrar](%%action.register%%) una nueva cuenta. Si ya tienes una en un "
+"[registrar](%%action.register%%) una cuenta nueva. Si ya tienes una en un "
 "[servicio de microblogueo compatible](%%doc.openmublog%%), escribe el URL de "
 "tu perfil debajo."
 
@@ -2414,7 +2414,7 @@ msgstr "Deben proveerse dos identificaciones de usuario o nombres en pantalla."
 #: actions/profilesettings.php:81 actions/register.php:183
 #: actions/profilesettings.php:109
 msgid "URL of your homepage, blog, or profile on another site"
-msgstr "El URL de tu página personal, blog o perfil en otro sitio"
+msgstr "El URL de tu página de inicio, blog o perfil en otro sitio"
 
 #: ../actions/remotesubscribe.php:74 actions/remotesubscribe.php:83
 #: actions/remotesubscribe.php:110
@@ -2490,13 +2490,13 @@ msgstr "Actualizaciones por mensajería instantánea"
 #: actions/twitapistatuses.php:129
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
-msgstr ""
+msgstr "¡Actualizaciones de %1$s y amigos en %2$s!"
 
 #: ../actions/twitapistatuses.php:341 actions/twitapistatuses.php:268
 #: actions/twitapistatuses.php:202
 #, php-format
 msgid "Updates from %1$s on %2$s!"
-msgstr ""
+msgstr "¡Actualizaciones de %1$s en %2$s!"
 
 #: ../actions/avatar.php:68 actions/profilesettings.php:161
 #: actions/avatarsettings.php:162 actions/grouplogo.php:232
@@ -2530,7 +2530,7 @@ msgstr ""
 #: actions/register.php:173 actions/register.php:176
 msgid "Used only for updates, announcements, and password recovery"
 msgstr ""
-"Usado sólo para actualizaciones, anuncios y recuperación de contraseñas"
+"Se usa sólo para actualizaciones, anuncios y recuperación de contraseñas"
 
 #: ../actions/finishremotesubscribe.php:86
 #: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
@@ -2597,7 +2597,7 @@ msgstr "Tamaño de imagen incorrecto para '%s'"
 #: actions/block.php:148 actions/deletenotice.php:122
 #: actions/deletenotice.php:141
 msgid "Yes"
-msgstr ""
+msgstr ""
 
 #: ../actions/finishaddopenid.php:64 actions/finishaddopenid.php:64
 #: actions/finishaddopenid.php:112
@@ -2609,6 +2609,8 @@ msgid ""
 "You are about to permanently delete a notice.  Once this is done, it cannot "
 "be undone."
 msgstr ""
+"Estás a punto de eliminar permanentemente un aviso. Si lo hace, no se podrá "
+"deshacer"
 
 #: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
 #: actions/recoverpassword.php:36
@@ -2617,12 +2619,12 @@ msgstr "¡Ya te has conectado!"
 
 #: ../actions/invite.php:81 actions/invite.php:88 actions/invite.php:120
 msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "Ya estás suscrito a estos usuarios:"
 
 #: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
 msgid "You are not friends with the specified user."
-msgstr ""
+msgstr "No eres amigo del usuario especificado."
 
 #: ../actions/password.php:27
 msgid "You can change your password here. Choose a good one!"
@@ -2636,7 +2638,7 @@ msgstr "Puedes crear una nueva cuenta y empezar a enviar avisos."
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr ""
+msgstr "Puedes recibir mensajes SMS por correo electrónico desde %%site.name%%."
 
 #: ../actions/openidsettings.php:86
 msgid ""
@@ -2653,7 +2655,7 @@ msgid ""
 "doc.im%%). Configure your address and settings below."
 msgstr ""
 "Puedes enviar y recibir avisos vía [mensajes instantáneos](%%doc.im%%) de "
-"Jabber/GTalk. Configura tu dirección y opciones debajo."
+"Jabber/GTalk. Configura tu dirección y opciones abajo."
 
 #: ../actions/profilesettings.php:27
 msgid ""
@@ -2692,22 +2694,32 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s"
 msgstr ""
+"You have a new posting address on %1$s.\n"
+"\n"
+"Enviar correo a %2$s para publicar nuevos mensajes. \n"
+"\n"
+"Más instrucciones de correo en %3$s.\n"
+"\n"
+"Attentamente, \n"
+"%4$s"
 
 #: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
 #: actions/twitapistatuses.php:463
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "No puedes borrar el estado de otro usuario."
 
 #: ../actions/invite.php:31 actions/invite.php:31 actions/invite.php:39
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "Debes estar conectado para invitar otros usuarios a usar %s"
 
 #: ../actions/invite.php:103 actions/invite.php:110 actions/invite.php:142
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
 msgstr ""
+"Recibirás un mensaje cuando tus invitados acepten tu invitacion y se "
+"registren en el sitio. ¡Gracias por extender la comunidad! "
 
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
@@ -2802,7 +2814,7 @@ msgstr "repita la contraseña anterior"
 #: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
 #: actions/twitapistatuses.php:555
 msgid "unsupported file type"
-msgstr "tipo de fichero no soportado"
+msgstr "tipo de archivo soportado"
 
 #: ../lib/util.php:1309 lib/util.php:1443
 #, fuzzy
@@ -2824,66 +2836,70 @@ msgstr "« Después"
 #: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
+"Hubo un problema con tu clave de sesión.  Por favor, intenta nuevamente."
 
 #: actions/disfavor.php:55 actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "¡Este aviso no es un favorito!"
 
 #: actions/disfavor.php:63 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "No se pudo borrar favorito."
 
 #: actions/disfavor.php:72 lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "Aceptar"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
 msgstr ""
+"Enviarme un correo electrónico cuando alguien agrega mi aviso a favoritos."
 
 #: actions/emailsettings.php:95 actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
 msgstr ""
+"Enviarme un correo electrónico cuando alguien me envía un mensaje privado."
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "¡Este aviso ya está en favoritos!"
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "No se pudo crear favorito."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "Sacar"
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "%s avisos favoritos"
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "Feed de avisos favoritos de %s"
 
 #: actions/inbox.php:28 actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "Bandeja de entrada para %s - página %d"
 
 #: actions/inbox.php:30 actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "Bandeja de entrada para %s"
 
 #: actions/inbox.php:53 actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
 msgstr ""
+"Ésta es tu bandeja de entrada, incluye lista de mensajes privados entrantes."
 
 #: actions/invite.php:178 actions/invite.php:213
 #, php-format
@@ -2891,95 +2907,99 @@ msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 "\n"
 msgstr ""
+"%1$s te invitó a unirte a ellos en %2$s (%3$s).\n"
+"\n"
 
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "Conectarte automáticamente en el futuro;"
 
 #: actions/login.php:122 actions/login.php:264
 msgid "For security reasons, please re-enter your "
-msgstr ""
+msgstr "Por razones de seguridad, por favor volver a ingresar tu "
 
 #: actions/login.php:126 actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "Entrar con nombre y contraseña de usuario."
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "Demasiado largo. Máximo 140 caracteres.  "
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
 msgid "No recipient specified."
-msgstr ""
+msgstr "No se especificó receptor."
 
 #: actions/newmessage.php:68 actions/newmessage.php:113
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "No puedes enviar mensaje a este usuario."
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
 #: classes/Command.php:240
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
-msgstr ""
+msgstr "No te auto envíes un mensaje; dícetelo a ti mismo."
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
 #: actions/newmessage.php:163
 msgid "No such user"
-msgstr ""
+msgstr "No existe el usuario."
 
 #: actions/newmessage.php:117 actions/newmessage.php:67
 msgid "New message"
-msgstr ""
+msgstr "Nuevo Mensaje "
 
 #: actions/noticesearch.php:95 actions/noticesearch.php:146
 msgid "Notice without matching profile"
-msgstr ""
+msgstr "Aviso sin perfil equivalente"
 
 #: actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
-msgstr ""
+msgstr "[OpenID](%%doc.openid%%) te permite entrar a muchos sitios"
 
 #: actions/openidsettings.php:46 actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
-msgstr ""
+msgstr "Si quieres agregar un OpenID a tu cuenta,"
 
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
-msgstr ""
+msgstr "¡Eliminar tu único OpenID significa que no podrás conectarte!"
 
 #: actions/openidsettings.php:87 actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
-msgstr ""
+msgstr "Puedes eliminar un OpenID de tu cuenta"
 
 #: actions/outbox.php:28 actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "Bandeja de salida para %s - página %d"
 
 #: actions/outbox.php:30 actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "Bandeja de salida para %s"
 
 #: actions/outbox.php:53 actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
 msgstr ""
+"Ésta es tu bandeja de salida, incluye la lista de mensajes privados "
+"enviados."
 
 #: actions/peoplesearch.php:28 actions/peoplesearch.php:52
 #, php-format
 msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
-msgstr ""
+msgstr "Buscar personas en %%site.name%% por nombre, lugar o intereses."
 
 #: actions/profilesettings.php:27 actions/profilesettings.php:69
 msgid "You can update your personal profile info here "
-msgstr ""
+msgstr "Puedes actualizar aquí tu información de perfil personal"
 
 #: actions/profilesettings.php:115 actions/remotesubscribe.php:320
 #: actions/userauthorization.php:159 actions/userrss.php:76
@@ -2987,35 +3007,35 @@ msgstr ""
 #: actions/grouplogo.php:177 actions/remotesubscribe.php:367
 #: actions/userauthorization.php:176 actions/userrss.php:82
 msgid "User without matching profile"
-msgstr ""
+msgstr "Usuario sin perfil equivalente"
 
 #: actions/recoverpassword.php:91 actions/recoverpassword.php:97
 msgid "This confirmation code is too old. "
-msgstr ""
+msgstr "Éste código de confirmación es demasiado antiguo."
 
 #: actions/recoverpassword.php:141 actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "Si olvidaste o perdiste tu"
 
 #: actions/recoverpassword.php:154 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "Has sido identificado. Ingresar a "
 
 #: actions/recoverpassword.php:169 actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
-msgstr ""
+msgstr "Tu apodo en este servidor,"
 
 #: actions/recoverpassword.php:271 actions/recoverpassword.php:304
 msgid "Instructions for recovering your password "
-msgstr ""
+msgstr "Instrucciones para recuperar tu contraseña"
 
 #: actions/recoverpassword.php:327 actions/recoverpassword.php:361
 msgid "New password successfully saved. "
-msgstr ""
+msgstr "Se guardo exitosamente la nueva contraseña."
 
 #: actions/register.php:95 actions/register.php:180
 msgid "Password must be 6 or more characters."
-msgstr ""
+msgstr "Cotrnaseña debe tener 6 o más caracteres."
 
 #: actions/register.php:216
 #, php-format
@@ -3023,102 +3043,104 @@ msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to..."
 msgstr ""
+"¡Felicitaciones, %s! Y bienvenido a %%%%site.name%%%%. Desde aquí, quizás "
+"quieras..."
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "(Debieras recibir un mensaje por correo electrónico en un momento, con"
 
 #: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "Para suscribirse, puedes [login](%%action.login%%),"
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "Feed para favoritos de %s"
 
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "No se pudo recibir avisos favoritos."
 
 #: actions/showmessage.php:33 actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "No existe el mensaje."
 
 #: actions/showmessage.php:42
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "Sólo el remitente y el receptor pueden leer este mensaje."
 
 #: actions/showmessage.php:61 actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "Mensaje a %1$s en %2$s"
 
 #: actions/showmessage.php:66 actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Mensaje de %1$s en %2$s"
 
 #: actions/showstream.php:154
 msgid "Send a message"
-msgstr ""
+msgstr "Enviar un mensaje"
 
 #: actions/smssettings.php:312 actions/smssettings.php:464
 #, php-format
 msgid "Mobile carrier for your phone. "
-msgstr ""
+msgstr "Operador móvil para tu teléfono."
 
 #: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "Mensajes directos a %s"
 
 #: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "Todos los mensajes directos enviados a %s"
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "Mensajes directos que has enviado"
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "Todos los mensajes directos enviados desde %s"
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
 msgid "No message text!"
-msgstr ""
+msgstr "¡Sin texto de mensaje!"
 
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
 msgid "Recipient user not found."
-msgstr ""
+msgstr "No se encuentra usuario receptor."
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "No se puede enviar mensajes directos a usuarios que no son tu amigo."
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / Favoritos desde %s"
 
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s actualizaciones favoritas por %s / %s."
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s agregó tu aviso a favoritos"
 
 #: actions/twitapifavorites.php:188 lib/mail.php:276
 #: actions/twitapifavorites.php:165
@@ -3127,230 +3149,235 @@ msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s recién agregó tu aviso desde %2$s como uno de sus favoritos. \n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
 "Add your Twitter account to automatically send your notices to Twitter, "
 msgstr ""
+"Agregar tu cuenta Twitter para enviar automáticamente tus avisos a Twitter, "
 
 #: actions/twittersettings.php:41 actions/twittersettings.php:60
 msgid "Twitter settings"
-msgstr ""
+msgstr "Configuración de Twitter"
 
 #: actions/twittersettings.php:48 actions/twittersettings.php:105
 msgid "Twitter Account"
-msgstr ""
+msgstr "Cuenta Twitter"
 
 #: actions/twittersettings.php:56 actions/twittersettings.php:113
 msgid "Current verified Twitter account."
-msgstr ""
+msgstr "Cuenta Twitter actual verificada."
 
 #: actions/twittersettings.php:63
 msgid "Twitter Username"
-msgstr ""
+msgstr "Nombre de usuario Twitter"
 
 #: actions/twittersettings.php:65 actions/twittersettings.php:123
 msgid "No spaces, please."
-msgstr ""
+msgstr "Sin espacios, por favor."
 
 #: actions/twittersettings.php:67
 msgid "Twitter Password"
-msgstr ""
+msgstr "Contraseña Twitter"
 
 #: actions/twittersettings.php:72 actions/twittersettings.php:139
 msgid "Automatically send my notices to Twitter."
-msgstr ""
+msgstr "Enviar automáticamente mis avisos a Twitter."
 
 #: actions/twittersettings.php:75 actions/twittersettings.php:146
 msgid "Send local \"@\" replies to Twitter."
-msgstr ""
+msgstr "Enviar respuestas \"@\" locales a Twitter."
 
 #: actions/twittersettings.php:78 actions/twittersettings.php:153
 msgid "Subscribe to my Twitter friends here."
-msgstr ""
+msgstr "Suscribir a mis amigos Twitter aquí."
 
 #: actions/twittersettings.php:122
 msgid ""
 "Username must have only numbers, upper- and lowercase letters, and "
 "underscore (_). 15 chars max."
 msgstr ""
+"Nombre de usuario sólo debe tener números, letras en mayúscula y minúscula, "
+"y subrayadas (_). Máx. 15 caracteres."
 
 #: actions/twittersettings.php:128 actions/twittersettings.php:334
 msgid "Could not verify your Twitter credentials!"
-msgstr ""
+msgstr "¡No se pudo verificar tus credenciales Twitter!"
 
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "No se pudo obtener tu información de cuenta para \"%s% desde Twitter."
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
 msgid "Unable to save your Twitter settings!"
-msgstr ""
+msgstr "¡No se pudo guardar tu configuración de Twitter!"
 
 #: actions/twittersettings.php:174 actions/twittersettings.php:376
 msgid "Twitter settings saved."
-msgstr ""
+msgstr "Se guardó configuración de Twitter."
 
 #: actions/twittersettings.php:192 actions/twittersettings.php:395
 msgid "That is not your Twitter account."
-msgstr ""
+msgstr "No es tu cuenta Twitter."
 
 #: actions/twittersettings.php:200 actions/twittersettings.php:208
 #: actions/twittersettings.php:403
 msgid "Couldn't remove Twitter user."
-msgstr ""
+msgstr "No se pudo eliminar usuario Twitter."
 
 #: actions/twittersettings.php:212 actions/twittersettings.php:407
 msgid "Twitter account removed."
-msgstr ""
+msgstr "Se eliminó cuenta Twitter."
 
 #: actions/twittersettings.php:225 actions/twittersettings.php:239
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "No se pudo guardar preferencias de Twitter."
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
 msgid "Twitter preferences saved."
-msgstr ""
+msgstr "Se guardó preferencias de Twitter."
 
 #: actions/userauthorization.php:84 actions/userauthorization.php:86
 msgid "Please check these details to make sure "
-msgstr ""
+msgstr "Por favor revisa esta información para verificar"
 
 #: actions/userauthorization.php:324 actions/userauthorization.php:340
 msgid "The subscription has been authorized, but no "
-msgstr ""
+msgstr "Se autorizó la suscripción, pero no"
 
 #: actions/userauthorization.php:334 actions/userauthorization.php:351
 msgid "The subscription has been rejected, but no "
-msgstr ""
+msgstr "Se rechazó la suscripción, pero no"
 
 #: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
 msgid "Command results"
-msgstr ""
+msgstr "Resultados de comando"
 
 #: classes/Channel.php:148 classes/Channel.php:204
 msgid "Command complete"
-msgstr ""
+msgstr "Comando completo"
 
 #: classes/Channel.php:158 classes/Channel.php:215
 msgid "Command failed"
-msgstr ""
+msgstr "Comando falló"
 
 #: classes/Command.php:39 classes/Command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "Disculpa, todavía no se implementa este comando."
 
 #: classes/Command.php:96 classes/Command.php:113
 #, php-format
 msgid "Subscriptions: %1$s\n"
-msgstr ""
+msgstr "Suscripciones: %1$s\n"
 
 #: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
 #: classes/Command.php:276
 msgid "User has no last notice"
-msgstr ""
+msgstr "Usuario no tiene último aviso"
 
 #: classes/Command.php:146 classes/Command.php:166
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "Aviso marcado como favorito."
 
 #: classes/Command.php:166 classes/Command.php:189
 #, php-format
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s (%2$s)"
 
 #: classes/Command.php:169 classes/Command.php:192
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "Nombre completo: %s"
 
 #: classes/Command.php:172 classes/Command.php:195
 #, php-format
 msgid "Location: %s"
-msgstr ""
+msgstr "Lugar: %s"
 
 #: classes/Command.php:175 classes/Command.php:198
 #, php-format
 msgid "Homepage: %s"
-msgstr ""
+msgstr "Página de inicio: %s"
 
 #: classes/Command.php:178 classes/Command.php:201
 #, php-format
 msgid "About: %s"
-msgstr ""
+msgstr "Sobre: %s"
 
 #: classes/Command.php:200 classes/Command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
-msgstr ""
+msgstr "Mensaje muy largo - máximo 140 caracteres, enviaste %d"
 
 #: classes/Command.php:214 classes/Command.php:245
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "Se envió mensaje directo a %s"
 
 #: classes/Command.php:216 classes/Command.php:247
 msgid "Error sending direct message."
-msgstr ""
+msgstr "Error al enviar mensaje directo."
 
 #: classes/Command.php:263 classes/Command.php:300
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "Especificar el nombre del usuario a suscribir"
 
 #: classes/Command.php:270 classes/Command.php:307
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "Suscrito a %s"
 
 #: classes/Command.php:288 classes/Command.php:328
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "Especificar el nombre del usuario para desuscribirse de"
 
 #: classes/Command.php:295 classes/Command.php:335
 #, php-format
 msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "Desuscrito de %s"
 
 #: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
 #: classes/Command.php:376
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "Todavía no se implementa comando."
 
 #: classes/Command.php:313 classes/Command.php:356
 msgid "Notification off."
-msgstr ""
+msgstr "Notificación no activa."
 
 #: classes/Command.php:315 classes/Command.php:358
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "No se puede desactivar notificación."
 
 #: classes/Command.php:333 classes/Command.php:379
 msgid "Notification on."
-msgstr ""
+msgstr "Notificación activada."
 
 #: classes/Command.php:335 classes/Command.php:381
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "No se puede activar notificación."
 
 #: classes/Command.php:344 classes/Command.php:392
 msgid "Commands:\n"
-msgstr ""
+msgstr "Comandos:\n"
 
 #: classes/Message.php:53 classes/Message.php:56
 msgid "Could not insert message."
-msgstr ""
+msgstr "No se pudo insertar mensaje."
 
 #: classes/Message.php:63 classes/Message.php:66
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "No se pudo actualizar mensaje con nuevo URI."
 
 #: lib/gallery.php:46
 msgid "User without matching profile in system."
-msgstr ""
+msgstr "Usuario sin perfil equivalente en sistema."
 
 #: lib/mail.php:147 lib/mail.php:289
 #, php-format
@@ -3358,11 +3385,13 @@ msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgstr ""
+"Tienes nueva dirección para publicar en %1$s.\n"
+"\n"
 
 #: lib/mail.php:249 lib/mail.php:508
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "Nuevo mensaje privado de %s"
 
 #: lib/mail.php:253 lib/mail.php:512
 #, php-format
@@ -3370,88 +3399,90 @@ msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
 msgstr ""
+"%1$s (%2$s) te envió un mensaje privado:\n"
+"\n"
 
 #: lib/mailbox.php:43 lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "Sólo el usuario puede leer sus bandejas de correo."
 
 #: lib/openid.php:195 lib/openid.php:203
 msgid "This form should automatically submit itself. "
-msgstr ""
+msgstr "Este formulario debería enviarse automáticamente."
 
 #: lib/personal.php:65 lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "Favoritos"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "Avisos favoritos de %s"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 msgid "User"
-msgstr ""
+msgstr "Usuario"
 
 #: lib/personal.php:75 lib/personalgroupnav.php:123
 msgid "Inbox"
-msgstr ""
+msgstr "Bandeja de Entrada"
 
 #: lib/personal.php:76 lib/personalgroupnav.php:124
 msgid "Your incoming messages"
-msgstr ""
+msgstr "Mensajes entrantes"
 
 #: lib/personal.php:80 lib/personalgroupnav.php:128
 msgid "Outbox"
-msgstr ""
+msgstr "Bandeja de Salida"
 
 #: lib/personal.php:81 lib/personalgroupnav.php:129
 msgid "Your sent messages"
-msgstr ""
+msgstr "Mensajes enviados"
 
 #: lib/settingsaction.php:99 lib/connectsettingsaction.php:110
 msgid "Twitter"
-msgstr ""
+msgstr "Twitter"
 
 #: lib/settingsaction.php:100 lib/connectsettingsaction.php:111
 msgid "Twitter integration options"
-msgstr ""
+msgstr "Opciones de integración de Twitter"
 
 #: lib/util.php:1718 lib/messageform.php:139 lib/noticelist.php:422
 msgid "To"
-msgstr ""
+msgstr "Para"
 
 #: scripts/maildaemon.php:45 scripts/maildaemon.php:48
 msgid "Could not parse message."
-msgstr ""
+msgstr "No se pudo analizar sintácticamente mensaje."
 
 #: actions/all.php:63 actions/facebookhome.php:162
 #, fuzzy, php-format
 msgid "%s and friends, page %d"
-msgstr "%s y amigos"
+msgstr "%s y amigos, página %d"
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
-msgstr ""
+msgstr "Puedes cargar tu avatar personal."
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
 #, fuzzy
 msgid "Avatar settings"
-msgstr "Configuración"
+msgstr "Configuración de Avatar"
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "Original"
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "Vista previa"
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
+msgstr "Cortar"
 
 #: actions/avatarsettings.php:248 actions/deletenotice.php:133
 #: actions/emailsettings.php:224 actions/grouplogo.php:307
@@ -3463,83 +3494,83 @@ msgstr ""
 #: actions/subedit.php:38 actions/twittersettings.php:290
 #: actions/userauthorization.php:39
 msgid "There was a problem with your session token. "
-msgstr ""
+msgstr "Hubo problemas con tu clave de sessión."
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Elige un área cuadrada de la imagen para que sea tu avatar"
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "Se perdió nuestros datos de archivo."
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
 #, fuzzy
 msgid "Lost our file."
-msgstr "No existe ese aviso."
+msgstr "Se perdió nuestro archivo"
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
 #: classes/User_group.php:129 classes/User_group.php:161
 #, fuzzy
 msgid "Unknown file type"
-msgstr "tipo de fichero no soportado"
+msgstr "tipo de archivo desconocido"
 
 #: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
 msgid "No profile specified."
-msgstr ""
+msgstr "No se especificó perfil."
 
 #: actions/block.php:74 actions/subedit.php:53 actions/tagother.php:46
 #: actions/unblock.php:75
 msgid "No profile with that ID."
-msgstr ""
+msgstr "No existe perfil con ese ID"
 
 #: actions/block.php:111
 #, fuzzy
 msgid "Block user"
-msgstr "No existe ese usuario."
+msgstr "Bloquear usuario."
 
 #: actions/block.php:129
 msgid "Are you sure you want to block this user? "
-msgstr ""
+msgstr "¿Seguro de que quieres bloquear este usuario?"
 
 #: actions/block.php:162
 #, fuzzy
 msgid "You have already blocked this user."
-msgstr "¡Ya te has conectado!"
+msgstr "Ya bloqueaste este usuario."
 
 #: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "No se guardó información de bloqueo."
 
 #: actions/confirmaddress.php:159
 #, fuzzy, php-format
 msgid "The address \"%s\" has been "
-msgstr "La dirección fue eliminada."
+msgstr "La dirección \"%s\" fue "
 
 #: actions/deletenotice.php:73
 #, fuzzy
 msgid "You are about to permanently delete a notice. "
-msgstr "¿Estás seguro de que quieres eliminar este aviso?"
+msgstr "¿Estás seguro de que quieres eliminar permanentemente este aviso?"
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "Agregar a favoritos"
 
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "Editar grupo %s"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "Se debe habilitar las bandejas de entrada para grupos"
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "Debes estar conectado para crear un grupo"
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
@@ -3553,55 +3584,53 @@ msgstr "Ningún apodo."
 #: actions/showgroup.php:128
 #, fuzzy
 msgid "No such group"
-msgstr "No existe ese aviso."
+msgstr "No existe ese grupo"
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "Debes ser un admin para editar el grupo"
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Usa este formulario para editar el grupo."
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
 #, fuzzy
 msgid "Nickname must have only lowercase letters "
-msgstr ""
-"El apodo debe tener solamente letras minúsculas y números y no puede tener "
-"espacios. "
+msgstr "El apodo sólo debe tener letras en minúscula"
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
 #, fuzzy
 msgid "description is too long (max 140 chars)."
-msgstr "La biografía es demasiado larga (máx. 140 caracteres)."
+msgstr "Descripción es demasiado larga (máx. 140 caracteres)."
 
 #: actions/editgroup.php:218
 #, fuzzy
 msgid "Could not update group."
-msgstr "No se pudo actualizar el usuario."
+msgstr "No se pudo actualizar el grupo."
 
 #: actions/editgroup.php:226
 #, fuzzy
 msgid "Options saved."
-msgstr "Configuración guardada."
+msgstr "Se guardó configuración de Opciones."
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
 #, fuzzy, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "Esperando confirmación de este número de teléfono."
+msgstr "Esperando confirmación de esta dirección."
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
 msgid "Make a new email address for posting to; "
-msgstr ""
+msgstr "Crear una nueva dirección de correo electrónico para publicar;"
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "Enviarme un correo cuando alguien"
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "Permitir que amigos me contacten y envién un correo."
 
 #: actions/emailsettings.php:321
 #, fuzzy
@@ -3612,36 +3641,35 @@ msgstr "La dirección de correo electrónico ya existe."
 #, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
 msgstr ""
-"Un código de confirmación fue enviado a la dirección de mensajería "
-"instantánea que agregaste. Debes aprobar a %s para que pueda enviarte "
-"mensajes."
+"Un código de confirmación fue enviado a la dirección de correo electrónico "
+"que agreaste. "
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "¡Error de servidor - no se pudo acceder a usuario!"
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "Si quieres que la aplicación %s se actualice automáticamente"
 
 #: actions/facebookhome.php:213 actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "Permitir que %s actualice mi estado de Facebook"
 
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "Saltar"
 
 #: actions/facebookhome.php:235
 #, fuzzy
 msgid "No notice content!"
-msgstr "¡Ningún contenido!"
+msgstr "¡Aviso sin contenido!"
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "Paginación"
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
 #, fuzzy
@@ -3656,309 +3684,309 @@ msgstr "Antes"
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "Gracias por invitar a tus amigos a usar %s"
 
 #: actions/facebookinvite.php:72
 #, fuzzy
 msgid "Invitations have been sent to the following users:"
-msgstr "Invitacion(es) enviada(s) a las siguientes personas:"
+msgstr "Se enviarón invitaciones a los siguientes usuarios: "
 
 #: actions/facebookinvite.php:96
 #, php-format
 msgid "You have been invited to %s"
-msgstr ""
+msgstr "Te invitaron a %s"
 
 #: actions/facebookinvite.php:105
 #, fuzzy, php-format
 msgid "Invite your friends to use %s"
-msgstr "Feed de los amigos de %s"
+msgstr "Invita a tus amigos a usar %s"
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "Amigos que ya usan %s:"
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "Enviar invitaciones"
 
 #: actions/facebookremove.php:56
 #, fuzzy
 msgid "Couldn't remove Facebook user."
-msgstr "No se pudo actualizar el usuario."
+msgstr "No se pudo eliminar al usuario de Facebook."
 
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
-msgstr ""
+msgstr "¡Hubo problemas al guardar tus preferencias de sincronización!"
 
 #: actions/facebooksettings.php:67
 #, fuzzy
 msgid "Sync preferences saved."
-msgstr "Preferencias guardadas."
+msgstr "Preferencias de sincronización guardadas."
 
 #: actions/facebooksettings.php:90
 msgid "Automatically update my Facebook status with my notices."
-msgstr ""
+msgstr "Automáticamente actualizar mi estado de Facebook con mis avisos."
 
 #: actions/facebooksettings.php:97
 msgid "Send \"@\" replies to Facebook."
-msgstr ""
+msgstr "Enviar respuestas \"@\" a Facebook."
 
 #: actions/facebooksettings.php:106
 #, fuzzy
 msgid "Prefix"
-msgstr "Perfil"
+msgstr "Prefijo"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
-msgstr ""
+msgstr "Una serie para prefijar avisos. "
 
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "Si quieres que %s se actualice automáticamente"
 
 #: actions/facebooksettings.php:147
 #, fuzzy
 msgid "Sync preferences"
-msgstr "Preferencias"
+msgstr "Preferencias de sincronización"
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "Sacar favorito"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
 #, fuzzy
 msgid "Popular notices"
-msgstr "No existe ese aviso."
+msgstr "Avisos populares"
 
 #: actions/favorited.php:67
 #, fuzzy, php-format
 msgid "Popular notices, page %d"
-msgstr "No existe ese aviso."
+msgstr "Avisos populares, página %d"
 
 #: actions/favorited.php:79
 #, fuzzy
 msgid "The most popular notices on the site right now."
-msgstr "Mostrando los tags más populares de la última semana"
+msgstr "Ahora se muestran los avisos más populares en el sitio."
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
 msgid "Featured users"
-msgstr ""
+msgstr "Usuarios que figuran"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "Usuarios que figuran, página %d"
 
 #: actions/featured.php:99
 #, php-format
 msgid "A selection of some of the great users on %s"
-msgstr ""
+msgstr "Una selección de algunos de los grandes usuarios en %s"
 
 #: actions/finishremotesubscribe.php:188
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "Ese usuario te ha bloqueado la suscripción."
 
 #: actions/groupbyid.php:79
 msgid "No ID"
-msgstr ""
+msgstr "Sin ID"
 
 #: actions/grouplogo.php:138 actions/grouplogo.php:191
 msgid "Group logo"
-msgstr ""
+msgstr "Logo de grupo"
 
 #: actions/grouplogo.php:149
 msgid "You can upload a logo image for your group."
-msgstr ""
+msgstr "Puedes cargar una imagen de logo para tu grupo."
 
 #: actions/grouplogo.php:448
 #, fuzzy
 msgid "Logo updated."
-msgstr "Avatar actualizado"
+msgstr "SE actualizó logo."
 
 #: actions/grouplogo.php:450
 #, fuzzy
 msgid "Failed updating logo."
-msgstr "Error al actualizar avatar."
+msgstr "Error al actualizar logo."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:91
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "Miembros del grupo %s"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "Miembros del grupo %s, página %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "Lista de los usuarios en este grupo."
 
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "Grupos"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Grupos, página %d"
 
 #: actions/groups.php:90
 #, php-format
 msgid "%%%%site.name%%%% groups let you find and talk with "
-msgstr ""
+msgstr "Los grupos %%%%site.name%%%% dejan que los encuentres y les hables "
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
 #, fuzzy
 msgid "Create a new group"
-msgstr "Crear una nueva cuenta"
+msgstr "Crear un grupo nuevo"
 
 #: actions/groupsearch.php:57
 #, fuzzy, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
-msgstr ""
-"Buscar personas en %%site.name%% por nombre, ubicación o intereses. Separa "
-"los términos con espacios; deben tener una longitud mínima de 3 caracteres."
+msgstr "Buscar grupos en %%site.name%% por nombre, lugar o descripción."
 
 #: actions/groupsearch.php:63
 #, fuzzy
 msgid "Group search"
-msgstr "Buscador de gente"
+msgstr "Buscador de grupos"
 
 #: actions/imsettings.php:70
 msgid "You can send and receive notices through "
-msgstr ""
+msgstr "Puedes enviar y recibir avisos a través de "
 
 #: actions/imsettings.php:120
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Dirección Jabber o GTalk,"
 
 #: actions/imsettings.php:147
 #, fuzzy
 msgid "Send me replies through Jabber/GTalk "
-msgstr "Enviarme avisos por Jabber/GTalk"
+msgstr "Enviarme avisos a través de Jabber/GTalk"
 
 #: actions/imsettings.php:321
 #, fuzzy, php-format
 msgid "A confirmation code was sent "
-msgstr "Ningún código de confirmación."
+msgstr "Se envió un código de confirmación."
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "Debes estar conectado para unirte a un grupo."
 
 #: actions/joingroup.php:95
 #, fuzzy
 msgid "You are already a member of that group"
-msgstr "¡Ya te has conectado!"
+msgstr "Ya eres miembro de ese grupo"
 
 #: actions/joingroup.php:128
 #, fuzzy, php-format
 msgid "Could not join user %s to group %s"
-msgstr "No puede seguir al usuario. Usuario no encontrado"
+msgstr "No se puede unir usuario %s a grupo %s"
 
 #: actions/joingroup.php:135
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s se unió a grupo %s"
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "Se debe habilitar bandejas de entrada para que funcionen grupos."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "Debes estar conectado para dejar un grupo."
 
 #: actions/leavegroup.php:88
 #, fuzzy
 msgid "No such group."
-msgstr "No existe ese aviso."
+msgstr "No existe ese grupo."
 
 #: actions/leavegroup.php:95
 #, fuzzy
 msgid "You are not a member of that group."
-msgstr "No nos enviaste ese perfil"
+msgstr "No eres miembro de ese grupo"
 
 #: actions/leavegroup.php:100
 msgid "You may not leave a group while you are its administrator."
-msgstr ""
+msgstr "No puedes dejar un grupo mientras seas su administrador."
 
 #: actions/leavegroup.php:130
 #, fuzzy
 msgid "Could not find membership record."
-msgstr "No se pudo actualizar información de usuario"
+msgstr "No se pudo encontrar registro de miembro"
 
 #: actions/leavegroup.php:138
 #, fuzzy, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "No puede seguir al usuario. Usuario no encontrado"
+msgstr "No se pudo eliminar a usuario %s de grupo %s"
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s dejó grupo %s"
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Ingresar a sitio"
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "No existe estado actual"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Grupo nuevo "
 
 #: actions/newgroup.php:115
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "Usa este formulario para crear un grupo nuevo."
 
 #: actions/newgroup.php:177
 #, fuzzy
 msgid "Could not create group."
-msgstr "No se pudo guardar la información del avatar"
+msgstr "No se pudo crear grupo."
 
 #: actions/newgroup.php:191
 #, fuzzy
 msgid "Could not set group membership."
-msgstr "No se pudo crear la suscripción."
+msgstr "No se pudo configurar miembros de grupo."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
 #, fuzzy
 msgid "That's too long. "
-msgstr "Ese archivo es demasiado grande."
+msgstr "Ese demasiado largo."
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "No te auto envíes un mensaje;"
 
 #: actions/newnotice.php:166
 #, fuzzy
 msgid "Notice posted"
-msgstr "Avisos"
+msgstr "Aviso publicado"
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
-msgstr ""
+msgstr "Error de Ajax"
 
 #: actions/nudge.php:85
 msgid ""
 "This user doesn't allow nudges or hasn't confirmed or set his email yet."
 msgstr ""
+"Este usuario no permite zumbidos o todavía no confirma o configura su correo "
+"electrónico."
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr ""
+msgstr "Se envió zumbido"
 
 # ¿zumbido? creo que así lo traduce msn
 #: actions/nudge.php:97
@@ -3969,100 +3997,98 @@ msgstr "¡Zumbido enviado!"
 #: actions/openidlogin.php:97
 #, fuzzy
 msgid "OpenID login"
-msgstr "Ingreso desde una cuenta OpenID"
+msgstr "Ingreso de OpenID"
 
 #: actions/openidsettings.php:128
 #, fuzzy
 msgid "Removing your only OpenID "
-msgstr "Eliminar OpenID"
+msgstr "Eliminar único OpenID"
 
 #: actions/othersettings.php:60
 #, fuzzy
 msgid "Other Settings"
-msgstr "Configuración"
+msgstr "Otras configuraciones"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "Manejo de varias opciones adicionales."
 
 #: actions/othersettings.php:93
 msgid "URL Auto-shortening"
-msgstr ""
+msgstr "Acorte automático de URL"
 
 #: actions/othersettings.php:112
 #, fuzzy
 msgid "Service"
-msgstr "Buscar"
+msgstr "Servicio"
 
 #: actions/othersettings.php:113
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "Servicio de acorte automático a usar."
 
 #: actions/othersettings.php:144
 #, fuzzy
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr "La ubicación es demasiado larga (máx. 255 caracteres)."
+msgstr "Servicio de acorte de URL demasiado largo (máx. 50 caracteres)."
 
 #: actions/passwordsettings.php:69
 #, fuzzy
 msgid "Change your password."
-msgstr "Cambia tu contraseña"
+msgstr "Cambia tu contraseña."
 
 #: actions/passwordsettings.php:89
 #, fuzzy
 msgid "Password change"
-msgstr "Contraseña guardada"
+msgstr "Cambio de contraseña "
 
 #: actions/peopletag.php:35
 #, fuzzy, php-format
 msgid "Not a valid people tag: %s"
-msgstr "Correo electrónico no válido"
+msgstr "No es un tag de personas válido: %s"
 
 #: actions/peopletag.php:47
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "Usuarios auto marcados con %s - página %d"
 
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "Estos usuarios se han marcado \"%s\""
 
 #: actions/profilesettings.php:91
 #, fuzzy
 msgid "Profile information"
-msgstr "Perfil desconocido"
+msgstr "Información de perfil "
 
 #: actions/profilesettings.php:124
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
-msgstr ""
+msgstr "Tags para ti (letras, números, -, ., y _), coma - o espacio - separado"
 
 #: actions/profilesettings.php:144
 #, fuzzy
 msgid "Automatically subscribe to whoever "
-msgstr ""
-"Suscribirse automáticamente a quien quiera que se suscriba a mí (es mejor "
-"para no-humanos)"
+msgstr "Suscribirse automáticamente a quien quiera "
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
 #, fuzzy, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "El sitio '%s' es inválido"
+msgstr "Tag no válido: '%s' "
 
 #: actions/profilesettings.php:311
 #, fuzzy
 msgid "Couldn't save tags."
-msgstr "No se pudo guardar el perfil."
+msgstr "No se pudo guardar tags."
 
 #: actions/public.php:107
 #, fuzzy, php-format
 msgid "Public timeline, page %d"
-msgstr "Línea temporal pública"
+msgstr "Línea de tiempo pública, página %d"
 
 #: actions/public.php:173
 msgid "Could not retrieve public stream."
-msgstr ""
+msgstr "No se pudo acceder a corriente pública."
 
 #: actions/public.php:220
 #, php-format
@@ -4070,140 +4096,138 @@ msgid ""
 "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
 "blogging) service "
 msgstr ""
+"Es un %%site.name%%, un servicio [micro-"
+"blogging](http://en.wikipedia.org/wiki/Micro-blogging) "
 
 #: actions/publictagcloud.php:57
 #, fuzzy
 msgid "Public tag cloud"
-msgstr "Feed del flujo público"
+msgstr "Nube de tags pública"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "Éstos son los tags recientes más populares en %s"
 
 #: actions/publictagcloud.php:119
 msgid "Tag cloud"
-msgstr ""
+msgstr "Nube de tags"
 
 #: actions/register.php:139 actions/register.php:349
 msgid "Sorry, only invited people can register."
-msgstr ""
+msgstr "Disculpa, sólo personas invitadas pueden registrarse."
 
 #: actions/register.php:149
 #, fuzzy
 msgid "You can't register if you don't "
-msgstr "No puedes registrarte si no estás de acuerdo con la licencia."
+msgstr "No puedes registrarte si no "
 
 #: actions/register.php:286
 msgid "With this form you can create "
-msgstr ""
+msgstr "Con este formulario puedes crear"
 
 #: actions/register.php:368
 #, fuzzy
 msgid "1-64 lowercase letters or numbers, "
-msgstr ""
-"1-64 letras en minúscula o números, sin signos de puntuación o espacios"
+msgstr "1-64 letras en minúscula o números"
 
 #: actions/register.php:382 actions/register.php:386
 #, fuzzy
 msgid "Used only for updates, announcements, "
-msgstr ""
-"Usado sólo para actualizaciones, anuncios y recuperación de contraseñas"
+msgstr "Usado sólo para actualizaciones, anuncios,"
 
 #: actions/register.php:398
 #, fuzzy
 msgid "URL of your homepage, blog, "
-msgstr "El URL de tu página personal, blog o perfil en otro sitio"
+msgstr "El URL de tu página de inicio, blog "
 
 #: actions/register.php:404
 #, fuzzy
 msgid "Describe yourself and your "
-msgstr "Cuéntanos algo sobre ti y tus intereses en 140 caracteres"
+msgstr "Descríbete y cuenta de tus "
 
 #: actions/register.php:410
 #, fuzzy
 msgid "Where you are, like \"City, "
-msgstr "Dónde estás, por ejemplo \"Ciudad, Estado (o Región), País\""
+msgstr "Dónde estás, por ejemplo \"Ciudad, "
 
 #: actions/register.php:432
 #, fuzzy
 msgid " except this private data: password, "
-msgstr ""
-"excepto los siguientes datos privados: contraseña, dirección de correo "
-"electrónico, dirección de mensajería instantánea, número de teléfono."
+msgstr "excepto los siguientes datos privados: contraseña, "
 
 #: actions/register.php:471
 #, php-format
 msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. "
-msgstr ""
+msgstr "¡Felicitaciones, %s! Y bienvenido a %%%%site.name%%%%."
 
 #: actions/register.php:495
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(Debieras recibir un mensaje por correo"
 
 #: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
-msgstr ""
+msgstr "¡Es un perfil local! Ingresa para suscribirte"
 
 #: actions/replies.php:118
 #, fuzzy, php-format
 msgid "Replies to %s, page %d"
-msgstr "Respuestas a %s"
+msgstr "Respuestas a %s, página %d"
 
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "%s avisos favoritos, página %d"
 
 #: actions/showgroup.php:77 lib/groupnav.php:85
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "Grupo %s"
 
 #: actions/showgroup.php:79
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "Grupo %s, página %d"
 
 #: actions/showgroup.php:206
 #, fuzzy
 msgid "Group profile"
-msgstr "No existe ese aviso."
+msgstr "Perfil de grupo"
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
 #, fuzzy
 msgid "Note"
-msgstr "Avisos"
+msgstr "Nota"
 
 #: actions/showgroup.php:270
 msgid "Group actions"
-msgstr ""
+msgstr "Acciones del grupo"
 
 #: actions/showgroup.php:323
 #, fuzzy, php-format
 msgid "Notice feed for %s group"
-msgstr "Feed de avisos de %s"
+msgstr "Feed de avisos de grupo %s"
 
 #: actions/showgroup.php:357 lib/groupnav.php:90
 #, fuzzy
 msgid "Members"
-msgstr "Miembro desde"
+msgstr "Miembros"
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(Ninguno)"
 
 #: actions/showgroup.php:370
 msgid "All members"
-msgstr ""
+msgstr "Todos los miembros"
 
 #: actions/showgroup.php:378
 #, php-format
@@ -4211,51 +4235,53 @@ msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** es un grupo de usuarios en %%%%site.name%%%%, un servicio [micro-"
+"blogging](http://en.wikipedia.org/wiki/Micro-blogging) "
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient "
-msgstr ""
+msgstr "Sólo el remitente y el receptor"
 
 #: actions/showstream.php:73
 #, php-format
 msgid "%s, page %d"
-msgstr ""
+msgstr "%s, página %d"
 
 #: actions/showstream.php:143
 #, fuzzy
 msgid "'s profile"
-msgstr "Perfil"
+msgstr "Perfil de"
 
 #: actions/showstream.php:236 actions/tagother.php:77
 #, fuzzy
 msgid "User profile"
-msgstr "El usuario no tiene un perfil."
+msgstr "Perfil de usuario"
 
 #: actions/showstream.php:240 actions/tagother.php:81
 msgid "Photo"
-msgstr ""
+msgstr "Foto"
 
 #: actions/showstream.php:317
 #, fuzzy
 msgid "User actions"
-msgstr "Acción desconocida"
+msgstr "Acciones de usuario"
 
 #: actions/showstream.php:342
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "Enviar un mensaje directo a este usuario"
 
 #: actions/showstream.php:343
 msgid "Message"
-msgstr ""
+msgstr "Mensaje"
 
 #: actions/showstream.php:451
 #, fuzzy
 msgid "All subscribers"
-msgstr "Suscriptores"
+msgstr "Todos los suscriptores"
 
 #: actions/showstream.php:533
 msgid "All groups"
-msgstr ""
+msgstr "Todos los grupos"
 
 #: actions/showstream.php:542
 #, php-format
@@ -4263,101 +4289,103 @@ msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** tiene una cuenta en %%%%site.name%%%%, un servicio [micro-"
+"blogging](http://en.wikipedia.org/wiki/Micro-blogging) "
 
 #: actions/smssettings.php:128
 #, fuzzy
 msgid "Phone number, no punctuation or spaces, "
-msgstr "Número telefónico, sin puntuación ni espacios, incluya código de área"
+msgstr "Número telefónico, sin puntuación ni espacios, "
 
 #: actions/smssettings.php:162
 #, fuzzy
 msgid "Send me notices through SMS; "
-msgstr "Enviarme avisos por Jabber/GTalk"
+msgstr "Enviarme avisos por SMS;"
 
 #: actions/smssettings.php:335
 #, fuzzy
 msgid "A confirmation code was sent to the phone number you added. "
-msgstr "Esperando confirmación de este número de teléfono."
+msgstr "Se envió un código de confirmación al número de teléfono que agregaste."
 
 #: actions/smssettings.php:453
 #, fuzzy
 msgid "Mobile carrier"
-msgstr "Seleccione un operador"
+msgstr "Operador móvil"
 
 #: actions/subedit.php:70
 #, fuzzy
 msgid "You are not subscribed to that profile."
-msgstr "No nos enviaste ese perfil"
+msgstr "No estás suscrito a ese perfil."
 
 #: actions/subedit.php:83
 #, fuzzy
 msgid "Could not save subscription."
-msgstr "No se pudo crear la suscripción."
+msgstr "No se pudo guardar suscripción."
 
 #: actions/subscribe.php:55
 #, fuzzy
 msgid "Not a local user."
-msgstr "No existe ese usuario."
+msgstr "No es usuario local."
 
 #: actions/subscribe.php:69
 #, fuzzy
 msgid "Subscribed"
-msgstr "Suscribirse"
+msgstr "Suscrito"
 
 #: actions/subscribers.php:50
 #, fuzzy, php-format
 msgid "%s subscribers"
-msgstr "Suscriptores"
+msgstr "Suscriptores %s"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "Suscriptores, página %d"
 
 #: actions/subscribers.php:63
 #, fuzzy
 msgid "These are the people who listen to "
-msgstr "Estas son las personas que escuchan los avisos de %s."
+msgstr "Estas son las personas que escuchan"
 
 #: actions/subscribers.php:67
 #, fuzzy, php-format
 msgid "These are the people who "
-msgstr "Estas son las personas que escuchan los avisos de %s."
+msgstr "Estas son las personas que "
 
 #: actions/subscriptions.php:52
 #, fuzzy, php-format
 msgid "%s subscriptions"
-msgstr "Todas las suscripciones"
+msgstr "Suscripciones %s"
 
 #: actions/subscriptions.php:54
 #, fuzzy, php-format
 msgid "%s subscriptions, page %d"
-msgstr "Todas las suscripciones"
+msgstr "Suscripciones, página %d"
 
 #: actions/subscriptions.php:65
 #, fuzzy
 msgid "These are the people whose notices "
-msgstr "Estas son las personas que %s escucha."
+msgstr "Estas son las personas cuyos avisos"
 
 #: actions/subscriptions.php:69
 #, fuzzy, php-format
 msgid "These are the people whose "
-msgstr "Estas son las personas que escuchan los avisos de %s."
+msgstr "Estas son las personas cuyos"
 
 #: actions/subscriptions.php:122
 #, fuzzy
 msgid "Jabber"
-msgstr "Ningún Jabber ID."
+msgstr "Jabber "
 
 #: actions/tag.php:43
 #, fuzzy, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "Avisos marcados con %s"
+msgstr "Avisos marcados con %s, página %d"
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "Mensajes marcados \"%s\", el más reciente primero"
 
 #: actions/tagother.php:33
 #, fuzzy
@@ -4367,240 +4395,246 @@ msgstr "No conectado."
 #: actions/tagother.php:39
 #, fuzzy
 msgid "No id argument."
-msgstr "No existe ese documento."
+msgstr "No existe argumento de Id."
 
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr ""
+msgstr "%s tag"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "Usuario de tag"
 
 #: actions/tagother.php:149
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
+"Tags de este usuario (letras, números, -, ., y _), coma- o espacio- separado"
 
 #: actions/tagother.php:164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "Hubo problemas con tu clave de sesión."
 
 #: actions/tagother.php:191
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr ""
+"Sólo puedes marcar a las personas a quienes estás suscrito o que están "
+"suscritas a ti."
 
 #: actions/tagother.php:198
 #, fuzzy
 msgid "Could not save tags."
-msgstr "No se pudo guardar la información del avatar"
+msgstr "No se pudo guardar tags."
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
+"Usar este formulario para agregar tags a tus suscriptores o suscripciones."
 
 #: actions/tagrss.php:35
 #, fuzzy
 msgid "No such tag."
-msgstr "No existe ese aviso."
+msgstr "No existe ese tag."
 
 #: actions/tagrss.php:66
 #, fuzzy, php-format
 msgid "Microblog tagged with %s"
-msgstr "Microblog por %s"
+msgstr "Microblog marcado con %s"
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
-msgstr ""
+msgstr "Falló bloquear usuario."
 
 #: actions/twitapiblocks.php:69
 msgid "Unblock user failed."
-msgstr ""
+msgstr "Falló desbloquear usuario."
 
 #: actions/twitapiusers.php:48
 #, fuzzy
 msgid "Not found."
-msgstr "¡Ninguna petición encontrada!"
+msgstr "No se encontró."
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
-msgstr ""
+msgstr "Agregar tu cuenta Twitter a enviar automáticamente"
 
 #: actions/twittersettings.php:119
 msgid "Twitter user name"
-msgstr ""
+msgstr "Nombre de usuario de Twitter"
 
 #: actions/twittersettings.php:126
 #, fuzzy
 msgid "Twitter password"
-msgstr "Nueva contraseña"
+msgstr "Contraseña de Twitter"
 
 #: actions/twittersettings.php:228
 msgid "Twitter Friends"
-msgstr ""
+msgstr "Amigos en Twitter"
 
 #: actions/twittersettings.php:327
 msgid "Username must have only numbers, "
-msgstr ""
+msgstr "Nombre de usuario sólo debe tener números, "
 
 #: actions/twittersettings.php:341
 #, fuzzy, php-format
 msgid "Unable to retrieve account information "
-msgstr "No se pudo eliminar la confirmación de correo electrónico."
+msgstr "No se pudo acceder a información de cuenta"
 
 #: actions/unblock.php:108
 #, fuzzy
 msgid "Error removing the block."
-msgstr "Error al guardar el usuario."
+msgstr "Error al sacar bloqueo."
 
 #: actions/unsubscribe.php:50
 #, fuzzy
 msgid "No profile id in request."
-msgstr "Ningun URL de perfil devuelto por el servidor."
+msgstr "Ningún perfil de Id en solicitud."
 
 #: actions/unsubscribe.php:57
 #, fuzzy
 msgid "No profile with that id."
-msgstr "Perfil remoto sin perfil coincidente"
+msgstr "Ninfún perfil con ese Id."
 
 #: actions/unsubscribe.php:71
 #, fuzzy
 msgid "Unsubscribed"
-msgstr "Cancelar suscripción"
+msgstr "Desuscrito"
 
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "Grupos %s"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "Grupos %s, página %d"
 
 #: classes/Notice.php:104
 #, fuzzy
 msgid "Problem saving notice. Unknown user."
-msgstr "Hubo un problema al guardar el aviso."
+msgstr "Hubo problemas al guardar el aviso.  Usuario desconocido."
 
 #: classes/Notice.php:109
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
+"Demasiados avisos demasiado rápido; para y publicar nuevamente en unos "
+"minutos."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "Tienes prohibido publicar avisos en este sitio."
 
 #: lib/accountsettingsaction.php:108
 #, fuzzy
 msgid "Upload an avatar"
-msgstr "Error al actualizar avatar."
+msgstr "Cargar un avatar."
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
-msgstr ""
+msgstr "Otro"
 
 #: lib/accountsettingsaction.php:120
 msgid "Other options"
-msgstr ""
+msgstr "Otras opciones"
 
 #: lib/action.php:130
 #, fuzzy, php-format
 msgid "%s - %s"
-msgstr "%s (%s)"
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "Página sin título"
 
 #: lib/action.php:316
 msgid "Primary site navigation"
-msgstr ""
+msgstr "Navegación de sitio primario"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "Perfil personal y línea de tiempo de amigos"
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "Buscar personas o texto"
 
 #: lib/action.php:328
 #, fuzzy
 msgid "Account"
-msgstr "Acerca de"
+msgstr "Cuenta"
 
 #: lib/action.php:328
 #, fuzzy
 msgid "Change your email, avatar, password, profile"
-msgstr "Cambia tu contraseña"
+msgstr "Cambia tu correo electrónico, avatar, contraseña, perfil"
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Conectarse a IM, SMS, Twitter"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Salir de sitio"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Ingresar a sitio"
 
 #: lib/action.php:338
 #, fuzzy
 msgid "Create an account"
-msgstr "Crear una nueva cuenta"
+msgstr "Crear una cuenta"
 
 #: lib/action.php:341
 #, fuzzy
 msgid "Login with OpenID"
-msgstr "No existe esa cuenta OpenID."
+msgstr "Ingresar con OpenID."
 
 #: lib/action.php:344
 #, fuzzy
 msgid "Help me!"
-msgstr "Ayuda"
+msgstr "¡Ayúdame!"
 
 #: lib/action.php:362
 #, fuzzy
 msgid "Site notice"
-msgstr "Nuevo aviso"
+msgstr "Aviso de sitio"
 
 #: lib/action.php:417
 msgid "Local views"
-msgstr ""
+msgstr "Vistas locales"
 
 #: lib/action.php:472
 #, fuzzy
 msgid "Page notice"
-msgstr "Nuevo aviso"
+msgstr "Aviso de página"
 
 #: lib/action.php:562
 #, fuzzy
 msgid "Secondary site navigation"
-msgstr "Suscripciones"
+msgstr "Navegación de sitio secundario"
 
 #: lib/action.php:602 lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "Licencia de software de Laconica"
 
 #: lib/action.php:630
 msgid "All "
-msgstr ""
+msgstr "Todo"
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "Licencia."
 
 #: lib/blockform.php:123 lib/blockform.php:153
 #, fuzzy
 msgid "Block this user"
-msgstr "No existe ese usuario."
+msgstr "Bloquear este usuario."
 
 #: lib/blockform.php:153
 msgid "Block"
@@ -4608,137 +4642,138 @@ msgstr "Bloquear"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "Sacar este aviso"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "Para usar la Aplicación de Facebook %s debes ingresar"
 
 #: lib/facebookaction.php:271
 #, fuzzy
 msgid " a new account."
-msgstr "Crear una nueva cuenta"
+msgstr "una cuenta nueva. "
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
 #, fuzzy
 msgid "Published"
-msgstr "Público"
+msgstr "Publicado"
 
 #: lib/favorform.php:114 lib/favorform.php:140
 #, fuzzy
 msgid "Favor this notice"
-msgstr "No existe ese aviso."
+msgstr "Aceptar este aviso"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "Exportar datos"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
-msgstr ""
+msgstr "Filtrar tags"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "Todo"
 
 #: lib/galleryaction.php:137
 msgid "Tag"
-msgstr ""
+msgstr "Tag"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "Elegir tag para reducir lista"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr ""
+msgstr "Ir"
 
 #: lib/groupeditform.php:148
 #, fuzzy
 msgid "URL of the homepage or blog of the group or topic"
-msgstr "El URL de tu página personal, blog o perfil en otro sitio"
+msgstr "El URL de página de inicio o blog del grupo or tema"
 
 #: lib/groupeditform.php:151
 #, fuzzy
 msgid "Description"
-msgstr "Suscripciones"
+msgstr "Descripción"
 
 #: lib/groupeditform.php:153
 #, fuzzy
 msgid "Describe the group or topic in 140 chars"
-msgstr "Cuéntanos algo sobre ti y tus intereses en 140 caracteres"
+msgstr "Describir al grupo o tema en 140 caracteres"
 
 #: lib/groupeditform.php:158
 #, fuzzy
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "Dónde estás, por ejemplo \"Ciudad, Estado (o Región), País\""
+msgstr ""
+"Lugar del grupo, si existe, por ejemplo \"Ciudad, Estado (o Región), País\""
 
 #: lib/groupnav.php:84 lib/searchgroupnav.php:84
 msgid "Group"
-msgstr ""
+msgstr "Grupo"
 
 #: lib/groupnav.php:100
 msgid "Admin"
-msgstr ""
+msgstr "Admin"
 
 #: lib/groupnav.php:101
 #, php-format
 msgid "Edit %s group properties"
-msgstr ""
+msgstr "Editar propiedades del grupo %s"
 
 #: lib/groupnav.php:106
 #, fuzzy
 msgid "Logo"
-msgstr "Salir"
+msgstr "Logo"
 
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr ""
+msgstr "Agregar o editar el logo de %s"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "Grupos con más miembros"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "Grupos con más publicaciones"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "Tags en avisos del grupo %s"
 
 #: lib/htmloutputter.php:104
 #, fuzzy
 msgid "This page is not available in a "
-msgstr "Esta página no está disponible en un tipo de media que aceptes."
+msgstr "Esta página no está disponible en un "
 
 #: lib/joinform.php:114
 #, fuzzy
 msgid "Join"
-msgstr "Inicio de sesión"
+msgstr "Unirse"
 
 #: lib/leaveform.php:114
 #, fuzzy
 msgid "Leave"
-msgstr "Guardar"
+msgstr "Dejar"
 
 #: lib/logingroupnav.php:76
 #, fuzzy
 msgid "Login with a username and password"
-msgstr "Usuario o contraseña inválidos."
+msgstr "Ingresar con un nombre de usuario y contraseña."
 
 #: lib/logingroupnav.php:79
 #, fuzzy
 msgid "Sign up for a new account"
-msgstr "Crear una nueva cuenta"
+msgstr "Registrar una cuenta nueva "
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Ingresar o registrar con OpenID"
 
 #: lib/mail.php:175
 #, php-format
@@ -4746,21 +4781,23 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"Hola, %s.\n"
+"\n"
 
 #: lib/mail.php:236
 #, fuzzy, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s ahora está escuchando tus avisos en %2$s"
+msgstr "%1$s ahora está escuchando "
 
 #: lib/mail.php:254
 #, fuzzy, php-format
 msgid "Location: %s\n"
-msgstr "Ubicación"
+msgstr "Lugar: %s\n"
 
 #: lib/mail.php:256
 #, fuzzy, php-format
 msgid "Homepage: %s\n"
-msgstr "Página personal"
+msgstr "Página de inicio: %s\n"
 
 #: lib/mail.php:258
 #, php-format
@@ -4768,94 +4805,87 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"Bio: %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
 msgid "You've been nudged by %s"
-msgstr ""
+msgstr "%s te mandó un zumbido "
 
 #: lib/mail.php:465
 #, php-format
 msgid "%1$s (%2$s) is wondering what you are up to "
-msgstr ""
+msgstr "%1$s (%2$s) quiere saber qué estás haciendo"
 
 #: lib/mail.php:555
 #, fuzzy, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr "%1$s ahora está escuchando tus avisos en %2$s"
+msgstr "%1$s recién agregó tu aviso de %2$s"
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
 #, fuzzy
 msgid "From"
-msgstr "desde"
+msgstr "Desde"
 
 #: lib/messageform.php:110
-#, fuzzy
 msgid "Send a direct notice"
-msgstr "Borrar estado"
+msgstr "Enviar un aviso directo"
 
 # ¿zumbido? creo que así lo traduce msn
 #: lib/noticeform.php:125
 #, fuzzy
 msgid "Send a notice"
-msgstr "Enviar un zumbido"
+msgstr "Enviar un aviso"
 
 #: lib/noticeform.php:152
 #, fuzzy
 msgid "Available characters"
-msgstr "6 o más caracteres"
+msgstr "Caracteres disponibles"
 
 #: lib/noticelist.php:426
-#, fuzzy
 msgid "in reply to"
 msgstr "en respuesta a..."
 
 #: lib/noticelist.php:447 lib/noticelist.php:450
-#, fuzzy
 msgid "Reply to this notice"
-msgstr "No se puede eliminar este aviso."
+msgstr "Responder este aviso."
 
 #: lib/noticelist.php:451
-#, fuzzy
 msgid "Reply"
-msgstr "responder"
+msgstr "Responder"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
-#, fuzzy
 msgid "Delete this notice"
-msgstr "Borrar estado"
+msgstr "Borrar este aviso"
 
 #: lib/noticelist.php:474
-#, fuzzy
 msgid "Delete"
-msgstr "borrar"
+msgstr "Borrar"
 
 # ¿zumbido? creo que así lo traduce msn
 #: lib/nudgeform.php:116
-#, fuzzy
 msgid "Nudge this user"
-msgstr "¡Zumbido enviado!"
+msgstr "Enviar zumbido a este usuario"
 
 # ¿zumbido? creo que así lo traduce msn
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Nudge"
-msgstr "¡Zumbido enviado!"
+msgstr "Zumbido "
 
 # ¿zumbido? creo que así lo traduce msn
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Send a nudge to this user"
-msgstr "Enviar un zumbido"
+msgstr "Enviar zumbido a este usuario"
 
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "Tags en avisos de %s"
 
 #: lib/profilelist.php:182
 msgid "(none)"
-msgstr ""
+msgstr "(ninguno)"
 
 #: lib/publicgroupnav.php:76
 msgid "Public"
@@ -4863,11 +4893,11 @@ msgstr "Público"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Grupos de usuario"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
 msgid "Recent tags"
-msgstr "Etiquetas recientes"
+msgstr "Tags recientes"
 
 #: lib/publicgroupnav.php:86
 msgid "Featured"
@@ -4880,10 +4910,9 @@ msgstr "Popular"
 #: lib/searchgroupnav.php:82
 #, fuzzy
 msgid "Notice"
-msgstr "Avisos"
+msgstr "Aviso"
 
 #: lib/searchgroupnav.php:85
-#, fuzzy
 msgid "Find groups on this site"
 msgstr "Encontrar grupos en este sitio"
 
@@ -4894,12 +4923,12 @@ msgstr "Sección sin título"
 #: lib/subgroupnav.php:81
 #, fuzzy, php-format
 msgid "People %s subscribes to"
-msgstr "Personas a las que %s está suscripto"
+msgstr "Personas a las que %s está suscrito"
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Personas suscriptas a %s"
+msgstr "Personas suscritas a %s"
 
 #: lib/subgroupnav.php:97
 #, php-format
@@ -4913,7 +4942,7 @@ msgstr "Invita a amigos y colegas a unirse a %s"
 
 #: lib/subs.php:53
 msgid "User has blocked you."
-msgstr "El usuario lo ha bloqueado."
+msgstr "El usuario te ha bloqueado."
 
 #: lib/subscribeform.php:115 lib/subscribeform.php:139
 #, fuzzy
@@ -4931,7 +4960,7 @@ msgstr "Principales posteadores"
 #: lib/unblockform.php:120 lib/unblockform.php:150
 #, fuzzy
 msgid "Unblock this user"
-msgstr "No existe ese usuario."
+msgstr "Desbloquear este usuario"
 
 #: lib/unblockform.php:150
 msgid "Unblock"
index 315f81a7b3041edb819527982fd0b0c0e0a1ec64..afbe91f21df226598c2a1917c10e1d7a4df89670 100644 (file)
Binary files a/locale/fi/LC_MESSAGES/laconica.mo and b/locale/fi/LC_MESSAGES/laconica.mo differ
index 626bf9210578a692847a6619e2bf302147b679a6..aadccd9a031fdae3caea95db6d99d2363a49063e 100644 (file)
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-28 09:33+0000\n"
-"Last-Translator: Jaakko Rajaniemi <juicyburger@gmail.com>\n"
+"PO-Revision-Date: 2009-02-28 01:41+0000\n"
+"Last-Translator: Antti Salminen <antti.salminen@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -34,7 +34,7 @@ msgstr ""
 #: ../actions/showstream.php:400 ../lib/stream.php:109
 #: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
 msgid " from "
-msgstr " lähetetty "
+msgstr " lähteestä "
 
 # Onko päivitys hyvä sana?
 #: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
@@ -46,7 +46,7 @@ msgstr "%1$s / Vastaukset päivitykseen %2$s"
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr "%1$s on kutsunut sinut %2$s"
+msgstr "%1$s on kutsunut sinut liittymään palveluun %2$s"
 
 #: ../actions/invite.php:170
 #, php-format
@@ -78,22 +78,24 @@ msgid ""
 "\n"
 "Sincerely, %2$s\n"
 msgstr ""
-"%1$s on kutsunut sinut %2$s (%3$s)\n"
+"%1$s on kutsunut sinut %2$s (%3$s) mikroblogipalveluun.\n"
 "\n"
-"%2$s on mikro-bloggauspalvelu, joka auttaa sinua pysymään ajantasalla "
-"tuttujen ja kiinnostavien ihmisisten kanssa.\n"
+"%2$s mikroblogipalvelu auttaa sinua pysymään ajantasalla tuttujen ja "
+"kiinnostavien ihmisten kanssa.\n"
 "\n"
-"Voit myös jakaa uutisia itsestäsi ja ajatuksiasi verkossa tuntemasi ihmisten "
-"kanssa.\n"
+"Voit myös jakaa uutisia itsestäsi ja ajatuksiasi verkossa ihmisten, jotka "
+"tuntevat sinut, kanssa. Se on myös kätevä tapa tutustua uusiin ihmisiin "
+"jotka ovat kiinnostuneet samanlaisista asioista, kuin sinä.\n"
 "\n"
-"%1$s on sanonut:\n"
+"%1$s sanoi:\n"
 "\n"
 "%4$s\n"
-"Voit nähdä henkilön %1$s profiilisivulta %2$s:\n"
+"Voit nähdä henkilön %1$s profiilisivun %2$s-palvelussa täältä:\n"
 "\n"
 "%5$s\n"
 "\n"
-"Jos haluat kokeilla palvelu klikkaa alla olveasta linkistä.\n"
+"Jos haluat kokeilla palvelua, klikkaa alla olevaa linkkiä hyväksyäksesi "
+"kutsun.\n"
 "\n"
 "%6$s\n"
 "\n"
@@ -105,7 +107,7 @@ msgstr ""
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s kuuntelee nyt sinun viestejäsi palvelussa %2$s."
+msgstr "%1$s seuraa nyt päivityksiäsi palvelussa %2$s."
 
 #: ../lib/mail.php:126
 #, php-format
@@ -117,7 +119,7 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s.\n"
 msgstr ""
-"%1$s kuuntelee nyt sinun viestejäsi palvelussa %2$s.\n"
+"%1$s seuraa nyt päivityksiäsi palvelussa %2$s.\n"
 "\n"
 "\t%3$s\n"
 "\n"
@@ -129,13 +131,13 @@ msgstr ""
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
 msgstr ""
-"%1$s päivitti statuksen joka on vastaus päivitykseen palvelussa %2$s / %3$s."
+"%1$s -päivitykset, jotka on vastauksia käyttäjän %2$s / %3$s päivityksiin."
 
 #: ../actions/shownotice.php:45 actions/shownotice.php:45
 #: actions/shownotice.php:161
 #, php-format
 msgid "%1$s's status on %2$s"
-msgstr "%1$s status %2$s"
+msgstr "Käyttäjän %1$s päivitys %2$s"
 
 #: ../actions/invite.php:84 ../actions/invite.php:92 actions/invite.php:91
 #: actions/invite.php:99 actions/invite.php:123 actions/invite.php:131
@@ -147,7 +149,7 @@ msgstr "%s (%s)"
 #: actions/publicrss.php:90
 #, php-format
 msgid "%s Public Stream"
-msgstr "Julkinen syöte"
+msgstr "%s julkinen syöte"
 
 #: ../actions/all.php:47 ../actions/allrss.php:60
 #: ../actions/twitapistatuses.php:238 ../lib/stream.php:51 actions/all.php:47
@@ -162,24 +164,24 @@ msgstr "%s ja kaverit"
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr "%s julkiset päivitykset"
+msgstr "%s julkinen aikajana"
 
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
 msgid "%s status"
-msgstr "%s status"
+msgstr "%s päivitys"
 
 #: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
 #: actions/twitapistatuses.php:199
 #, php-format
 msgid "%s timeline"
-msgstr "%s päivitykset"
+msgstr "%s aikajana"
 
 #: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
 #: actions/twitapistatuses.php:36
 #, php-format
 msgid "%s updates from everyone!"
-msgstr ""
+msgstr "%s päivitykset kaikilta!"
 
 #: ../actions/register.php:213
 msgid ""
@@ -195,47 +197,50 @@ msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
-"**%%site.name%%** on mikro-bloggauspalvelu, jonka tarjoaa [%%site.broughtby%"
-"%](%%site.broughtbyurl%%). "
+"**%%site.name%%** on mikroblogipalvelu, jonka tarjoaa "
+"[%%site.broughtby%%](%%site.broughtbyurl%%). "
 
 #: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
-msgstr "**%%site.name%%** on mikro-bloggauspalvelu. "
+msgstr "**%%site.name%%** on mikroblogipalvelu. "
 
 #: ../lib/util.php:274 lib/util.php:290
 msgid ". Contributors should be attributed by full name or nickname."
 msgstr ""
-". Tunnustus kontribuoijien tulee antaa joko koko nimelle tai käyttäjä "
-"tunnukselle."
+". Tunnustus osallistujille tulee antaa joko koko nimelle tai "
+"käyttäjätunnukselle."
 
+# näissä ei tueta tällä hetkellä myöskään ääkkösiä
 #: ../actions/finishopenidlogin.php:73 ../actions/profilesettings.php:43
 #: actions/finishopenidlogin.php:79 actions/profilesettings.php:76
 #: actions/finishopenidlogin.php:101 actions/profilesettings.php:100
 #: lib/groupeditform.php:139
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 pientä kirjainta tai numeroa, ei välimerkkejä tai välilyöntejä"
+msgstr ""
+"1-64 pientä kirjainta tai numeroa, ei ääkkösiä eikä välimerkkejä tai "
+"välilyöntejä"
 
 #: ../actions/register.php:152 actions/register.php:166
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
 msgstr ""
-"1-64 pientä kirjainta tai numeroa, ei välimerkkejä tai välilyöntejä. "
-"Pakollinen."
+"1-64 pientä kirjainta tai numeroa, ei ääkkösiä eikä välimerkkejä tai "
+"välilyöntejä. Pakollinen."
 
 #: ../actions/password.php:42 actions/profilesettings.php:181
 #: actions/passwordsettings.php:102
 msgid "6 or more characters"
-msgstr "6 tai useampi merkki"
+msgstr "6 tai useampia merkkejä"
 
 #: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
 #: actions/recoverpassword.php:220
 msgid "6 or more characters, and don't forget it!"
-msgstr "6 tai useampi merkki ja älä unohda niitä!"
+msgstr "6 tai useampia merkkejä äläkä unohda mitä kirjoitit!"
 
 #: ../actions/register.php:154 actions/register.php:168
 #: actions/register.php:373
 msgid "6 or more characters. Required."
-msgstr "6 tai useampi merkki. Pakollinen."
+msgstr "6 tai useampia merkkejä. Pakollinen."
 
 #: ../actions/imsettings.php:197 actions/imsettings.php:205
 #, php-format
@@ -243,8 +248,8 @@ msgid ""
 "A confirmation code was sent to the IM address you added. You must approve %"
 "s for sending messages to you."
 msgstr ""
-"Vahvistuskoodi lähetettiin antamaasi IM osoitteeseen. Sinun täytyy antaa "
-"oikeus lähettäjälle %s lähettää viestejä sinulle."
+"Vahvistuskoodi lähetettiin antamaasi pikaviestinosoitteeseen. Sinun täytyy "
+"antaa osoitteelle %s oikeus lähettää viestejä sinulle."
 
 #: ../actions/emailsettings.php:213 actions/emailsettings.php:231
 msgid ""
@@ -377,7 +382,7 @@ msgstr "Olet jo kirjautunut sisään."
 
 #: ../lib/subs.php:42 lib/subs.php:42 lib/subs.php:49
 msgid "Already subscribed!."
-msgstr "Olet jo tilannut!"
+msgstr "Tilaat jo!"
 
 #: ../actions/deletenotice.php:54 actions/deletenotice.php:55
 #: actions/deletenotice.php:113
@@ -388,32 +393,33 @@ msgstr "Oletko varma että haluat poistaa tämän päivityksen?"
 #: ../actions/userauthorization.php:77 actions/userauthorization.php:83
 #: actions/userauthorization.php:81
 msgid "Authorize subscription"
-msgstr "Valtuuuta tilaus"
+msgstr "Valtuuta tilaus"
 
 #: ../actions/login.php:104 ../actions/register.php:178
 #: actions/register.php:192
 msgid "Automatically login in the future; not for shared computers!"
 msgstr ""
-"Kirjaudu sisään automaattisesti tulevaisuudessa; ei tietokoneille joissa "
+"Kirjaudu sisään automaattisesti tulevaisuudessa; ei tietokoneille joilla "
 "useampi käyttäjä!"
 
 #: ../actions/profilesettings.php:65 actions/profilesettings.php:98
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
-"Tilaa automaattisesti kaikki, jotka tilaavat minun päivitykset (ei sovi  "
-"hyvin ihmiskäyttäjille)"
+"Tilaa automaattisesti kaikki, jotka tilaavat päivitykseni (ei sovi hyvin "
+"ihmiskäyttäjille)"
 
+# Avatar ei ole laajalti käytössä minun tietääkseni missään suomenkielisessä sivustossa tai ohjelmistossa, "kuva" tai silloin kuin täsmennystä tarvitaan "profiilikuva" tai "käyttäjäkuva" on selkeämpi.
 #: ../actions/avatar.php:32 ../lib/settingsaction.php:90
 #: actions/profilesettings.php:34 actions/avatarsettings.php:65
 #: actions/showgroup.php:209 lib/accountsettingsaction.php:107
 msgid "Avatar"
-msgstr "Avatar"
+msgstr "Kuva"
 
 #: ../actions/avatar.php:113 actions/profilesettings.php:350
 #: actions/avatarsettings.php:395
 msgid "Avatar updated."
-msgstr "Avatar päivitetty"
+msgstr "Kuva päivitetty."
 
 #: ../actions/imsettings.php:55 actions/imsettings.php:56
 #, php-format
@@ -421,9 +427,9 @@ 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 ""
-"Odotetaan vahvistusta tälle osoitteelle. Tarkista Jabber/GTalk "
-"käyttäjätilisi viestistä, jossa on lisäohjeet. (Did you add %s to your buddy "
-"list?)"
+"Odotetaan vahvistusta tälle osoitteelle. Katso Jabber/GTalk "
+"käyttäjätililtäsi viesti, jossa on lisäohjeet. (Lisäsitkö %s:n "
+"ystävälistaasi?)"
 
 #: ../actions/emailsettings.php:54 actions/emailsettings.php:55
 msgid ""
@@ -431,7 +437,8 @@ msgid ""
 "a message with further instructions."
 msgstr ""
 "Odotetaan vahvistusta tälle sähköpostiosoitteelle. Katso "
-"sähköpostilaatikostasi (ja roskapostiluukku!) viestiä jossa on lisäohjeita. "
+"sähköpostilaatikostasi (ja roskapostikansiosta!) viesti, jossa on "
+"lisäohjeita. "
 
 #: ../actions/smssettings.php:58 actions/smssettings.php:58
 #: actions/smssettings.php:111
@@ -440,13 +447,14 @@ msgstr "Odotetaan vahvistusta tälle puhelinnumerolle."
 
 #: ../lib/util.php:1318 lib/util.php:1452
 msgid "Before »"
-msgstr "Ennen »"
+msgstr "Aiemmin »"
 
+# Biolle ei oikein suoranaista käännöstä taida suomeksi olla (pl. elämäkerta, joka ei nyt ihan ole 140-merkkistä infokenttää vastaava), tietoja on varmaan kohtuullinen käännös.
 #: ../actions/profilesettings.php:49 ../actions/register.php:170
 #: actions/profilesettings.php:82 actions/register.php:184
 #: actions/profilesettings.php:112 actions/register.php:402
 msgid "Bio"
-msgstr "Bio"
+msgstr "Tietoja"
 
 #: ../actions/profilesettings.php:101 ../actions/register.php:82
 #: ../actions/updateprofile.php:103 actions/profilesettings.php:216
@@ -454,7 +462,7 @@ msgstr "Bio"
 #: actions/profilesettings.php:205 actions/register.php:174
 #: actions/updateprofile.php:107
 msgid "Bio is too long (max 140 chars)."
-msgstr "Bio on liian pitkä (max 140 merkkiä)."
+msgstr "\"Tietoja\" on liian pitkä (max 140 merkkiä)."
 
 #: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
 msgid "Can't delete this notice."
@@ -464,13 +472,13 @@ msgstr "Tätä päivitystä ei voi poistaa."
 #: actions/updateprofile.php:123
 #, php-format
 msgid "Can't read avatar URL '%s'"
-msgstr "Täsä avatar URL '%s' osoitetta ei voi avata."
+msgstr "Kuvan URL-osoitetta '%s' ei voi avata."
 
 #: ../actions/password.php:85 ../actions/recoverpassword.php:300
 #: actions/profilesettings.php:404 actions/recoverpassword.php:313
 #: actions/passwordsettings.php:169 actions/recoverpassword.php:347
 msgid "Can't save new password."
-msgstr "Uutta salasanaa ei voida tallettaa."
+msgstr "Uutta salasanaa ei voida tallentaa."
 
 #: ../actions/emailsettings.php:57 ../actions/imsettings.php:58
 #: ../actions/smssettings.php:62 actions/emailsettings.php:58
@@ -482,12 +490,12 @@ msgstr "Peruuta"
 
 #: ../lib/openid.php:121 lib/openid.php:121 lib/openid.php:130
 msgid "Cannot instantiate OpenID consumer object."
-msgstr "Ei voi luoda OpenID käyttäjä objektia."
+msgstr "Ei voitu luoda OpenID Consumer-oliota."
 
 #: ../actions/imsettings.php:163 actions/imsettings.php:171
 #: actions/imsettings.php:286
 msgid "Cannot normalize that Jabber ID"
-msgstr "Ei voida normalisoida Jabber ID:tä"
+msgstr "Ei voida normalisoida Jabber ID -tunnusta"
 
 #: ../actions/emailsettings.php:181 actions/emailsettings.php:199
 #: actions/emailsettings.php:311
@@ -502,7 +510,7 @@ msgstr "Vaihda"
 #: ../lib/settingsaction.php:88 lib/settingsaction.php:88
 #: lib/accountsettingsaction.php:114
 msgid "Change email handling"
-msgstr "Vaihda sähköpostin käsittely"
+msgstr "Muuta sähköpostin käsittelyasetuksia."
 
 #: ../actions/password.php:32 actions/profilesettings.php:36
 #: actions/passwordsettings.php:58
@@ -530,7 +538,7 @@ msgstr "Vahvista"
 #: ../actions/confirmaddress.php:90 actions/confirmaddress.php:90
 #: actions/confirmaddress.php:144
 msgid "Confirm Address"
-msgstr "Vahvista Osoite"
+msgstr "Vahvista osoite"
 
 #: ../actions/emailsettings.php:238 ../actions/imsettings.php:222
 #: ../actions/smssettings.php:245 actions/emailsettings.php:256
@@ -571,16 +579,17 @@ msgstr ""
 "Onnittelut, %s! Tervetuloa palveluun %%%%site.name%%%%. Täältä voit "
 "jatkaa...\n"
 "\n"
-"* Mene [profiilisi](%s) ja lähetä ensimmäinen päivityksesi.\n"
-"* Lisää [Jabber/GTalk osoite ](%%%%action.imsettings%%%%) jotta saat "
+"* [Profiiliisi](%s) ja lähettää ensimmäisen päivityksesi.\n"
+"* Lisäämään [Jabber/GTalk osoitteen](%%%%action.imsettings%%%%), jotta saat "
 "lähetettyä päivitykset pikaviestimen kautta.\n"
-"* [Hae ihmisiä](%%%%action.peoplesearch%%%%) joita tunnet tai joilla on "
-"samanlaisia kiinnostuksen kohteita. \n"
-"* Päivitä [profiiliasi](%%%%action.profilesettings%%%%) jotta muut tietävät "
-"enemmän sinusta \n"
-"* Lue [manuaalista](%%%%doc.help%%%%) lisäohjeita. \n"
+"* [Hakemaan ihmisiä](%%%%action.peoplesearch%%%%), jotka tunnet tai joilla "
+"on samanlaisia kiinnostuksen kohteita. \n"
+"* Päivittämään [profiiliasi](%%%%action.profilesettings%%%%), jotta muut "
+"tietävät enemmän sinusta.\n"
+"* Lukemaan [ohjeista](%%%%doc.help%%%%) muista ominaisuuksista, joista et "
+"vielä tiedä. \n"
 "\n"
-"kiitokset rekisteröitymisestäsi ja toivomme että pidät palvelustamme."
+"Kiitokset rekisteröitymisestäsi ja toivomme että pidät palvelustamme."
 
 #: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
 #: actions/finishopenidlogin.php:119 lib/action.php:330
@@ -594,9 +603,9 @@ msgstr "Yhdistä olemassa oleva käyttäjätunnus"
 
 #: ../lib/util.php:332 lib/util.php:348 lib/action.php:576
 msgid "Contact"
-msgstr "Kontakti"
+msgstr "Ota yhteyttä"
 
-# onko tuo form vai from
+# on lomake
 #: ../lib/openid.php:178 lib/openid.php:178 lib/openid.php:187
 #, php-format
 msgid "Could not create OpenID form: %s"
@@ -617,35 +626,35 @@ msgstr "Ei voitu tilata käyttäjää: Käyttäjää ei löytynyt."
 #: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
 #, php-format
 msgid "Could not redirect to server: %s"
-msgstr "Ei voitu tilata siirtyä palvelimelle: %s"
+msgstr "Ei voitu uudelleenohjata palvelimelle: %s"
 
 #: ../actions/updateprofile.php:162 actions/updateprofile.php:163
 #: actions/updateprofile.php:166
 msgid "Could not save avatar info"
-msgstr "Ei voitu tallentaa avatar tietoa"
+msgstr "Ei voitu tallentaa profiilikuvan tietoja"
 
 #: ../actions/updateprofile.php:155 actions/updateprofile.php:156
 #: actions/updateprofile.php:159
 msgid "Could not save new profile info"
-msgstr "Ei voitu tallentaa uutta profiili tietoa"
+msgstr "Ei voitu tallentaa uutta profiilitietoa"
 
 #: ../lib/subs.php:54 lib/subs.php:61 lib/subs.php:72
 msgid "Could not subscribe other to you."
-msgstr "Ei voitu tilata toista"
+msgstr "Toista ei voitu asettaa tilaamaan sinua."
 
 #: ../lib/subs.php:46 lib/subs.php:46 lib/subs.php:57
 msgid "Could not subscribe."
-msgstr "Ei voitu tilata"
+msgstr "Ei voitu tilata."
 
 #: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
 msgid "Could not update user with confirmed email address."
-msgstr "Ei voitu päivittää käyttäjää jolla vahvistettu sähköpostiosoite"
+msgstr "Ei voitu päivittää käyttäjälle vahvistettua sähköpostiosoitetta."
 
 #: ../actions/finishremotesubscribe.php:99
 #: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
 msgid "Couldn't convert request tokens to access tokens."
-msgstr "Ei voitu muuttaa request tokenia access tokeniksi."
+msgstr "Ei voitu muuttaa request tokeneita access tokeneiksi."
 
 #: ../actions/confirmaddress.php:84 ../actions/emailsettings.php:234
 #: ../actions/imsettings.php:218 ../actions/smssettings.php:241
@@ -654,7 +663,7 @@ msgstr "Ei voitu muuttaa request tokenia access tokeniksi."
 #: actions/confirmaddress.php:126 actions/emailsettings.php:375
 #: actions/imsettings.php:357 actions/smssettings.php:370
 msgid "Couldn't delete email confirmation."
-msgstr "Ei voitu poistaa sähköposti vahvistusta."
+msgstr "Ei voitu poistaa sähköpostivahvistusta."
 
 #: ../lib/subs.php:103 lib/subs.php:116 lib/subs.php:134
 msgid "Couldn't delete subscription."
@@ -687,7 +696,7 @@ msgstr "Ei voitu lisätä uutta tilausta."
 #: actions/profilesettings.php:299 actions/twitapiaccount.php:94
 #: actions/profilesettings.php:302 actions/twitapiaccount.php:81
 msgid "Couldn't save profile."
-msgstr "Ei voitu tallettaa profiilia."
+msgstr "Ei voitu tallentaa profiilia."
 
 #: ../actions/profilesettings.php:161 actions/profilesettings.php:276
 #: actions/profilesettings.php:279
@@ -731,16 +740,18 @@ msgstr "Luo uusi käyttäjä tällä käyttäjätunnuksella."
 msgid "Create new account"
 msgstr "Luo uusi käyttäjätili"
 
-# Eli siis OpenID:tä kohti voi olla useampia käyttäjätili palvelussa.
+# Koodista selviää, että tämä on virhetilanne jossa on yritetty luoda tuollaista.
 #: ../actions/finishopenidlogin.php:191 actions/finishopenidlogin.php:197
 #: actions/finishopenidlogin.php:231
 msgid "Creating new account for OpenID that already has a user."
-msgstr "Luo uusi käyttäjätili OpenID tunnukselle, jolla on jo käyttäjätili."
+msgstr ""
+"Yritettiin luoda uusi käyttäjätili OpenID tunnukselle, jolla on jo "
+"käyttäjätili."
 
 #: ../actions/imsettings.php:45 actions/imsettings.php:46
 #: actions/imsettings.php:100
 msgid "Current confirmed Jabber/GTalk address."
-msgstr "Tämän hetken vahvistettu Jabber/GTalk osoite."
+msgstr "Tämän hetken vahvistettu Jabber/GTalk -osoite."
 
 #: ../actions/smssettings.php:46 actions/smssettings.php:46
 #: actions/smssettings.php:100
@@ -759,12 +770,12 @@ msgstr "Tällä hetkellä"
 #: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
 #, php-format
 msgid "DB error inserting hashtag: %s"
-msgstr "Tietokantavirhe tallennettaessa hashtagiä: %s"
+msgstr "Tietokantavirhe tallennettaessa risutagiä: %s"
 
 #: ../lib/util.php:1061 lib/util.php:1110 classes/Notice.php:698
 #, php-format
 msgid "DB error inserting reply: %s"
-msgstr "Tietokantavirhe tallennettaessa vastusta: %s"
+msgstr "Tietokantavirhe tallennettaessa vastausta: %s"
 
 #: ../actions/deletenotice.php:41 actions/deletenotice.php:41
 #: actions/deletenotice.php:79
@@ -775,7 +786,7 @@ msgstr "Poista päivitys"
 #: actions/profilesettings.php:84 actions/register.php:186
 #: actions/profilesettings.php:114
 msgid "Describe yourself and your interests in 140 chars"
-msgstr "Kuvaile itseäsi ja kiinnostuksia 140 merkillä"
+msgstr "Kuvaile itseäsi ja kiinnostuksiasi 140 merkillä"
 
 #: ../actions/register.php:158 ../actions/register.php:161
 #: ../lib/settingsaction.php:87 actions/register.php:172
@@ -805,7 +816,7 @@ msgstr "Sähköpostiosoitteen vahvistus"
 #: ../actions/emailsettings.php:61 actions/emailsettings.php:62
 #: actions/emailsettings.php:117
 msgid "Email address, like \"UserName@example.org\""
-msgstr "Sähköpostiosoite kuten \"käyttäjätunnus@example.org\""
+msgstr "Sähköpostiosoite, esimerkiksi \"käyttäjätunnus@example.org\""
 
 #: ../actions/invite.php:129 actions/invite.php:137 actions/invite.php:174
 msgid "Email addresses"
@@ -839,7 +850,7 @@ msgstr "Virhe tapahtui käyttäjän yhdistämisessä."
 #: ../actions/finishremotesubscribe.php:151
 #: actions/finishremotesubscribe.php:153 actions/finishremotesubscribe.php:166
 msgid "Error inserting avatar"
-msgstr "Virhe tapahtui avatarin lisäämisessä"
+msgstr "Virhe tapahtui profiilikuvan lisäämisessä"
 
 #: ../actions/finishremotesubscribe.php:143
 #: actions/finishremotesubscribe.php:145 actions/finishremotesubscribe.php:158
@@ -849,7 +860,7 @@ msgstr "Virhe tapahtui uuden profiilin lisäämisessä"
 #: ../actions/finishremotesubscribe.php:167
 #: actions/finishremotesubscribe.php:169 actions/finishremotesubscribe.php:182
 msgid "Error inserting remote profile"
-msgstr "Virhe tapahtui uuden ulkoisen profiilin lisäämisessä"
+msgstr "Virhe tapahtui uuden etäprofiilin lisäämisessä"
 
 #: ../actions/recoverpassword.php:240 actions/recoverpassword.php:246
 #: actions/recoverpassword.php:280
@@ -859,7 +870,7 @@ msgstr "Virhe tapahtui osoitevahvistuksen tallentamisessa"
 #: ../actions/userauthorization.php:140 actions/userauthorization.php:147
 #: actions/userauthorization.php:164
 msgid "Error saving remote profile"
-msgstr "Virhe tapahtui ulkoisen profiilin tallentamissa"
+msgstr "Virhe tapahtui etäprofiilin tallentamisessa"
 
 #: ../lib/openid.php:226 lib/openid.php:226 lib/openid.php:235
 msgid "Error saving the profile."
@@ -890,40 +901,44 @@ msgstr "Virhe tapahtui profiilin päivittämisessä"
 #: ../actions/finishremotesubscribe.php:161
 #: actions/finishremotesubscribe.php:163 actions/finishremotesubscribe.php:176
 msgid "Error updating remote profile"
-msgstr "Virhe tapahtui ulkopuolisen profiilin päivittämisessä"
+msgstr "Virhe tapahtui etäprofiilin päivittämisessä"
 
 #: ../actions/recoverpassword.php:80 actions/recoverpassword.php:80
 #: actions/recoverpassword.php:86
 msgid "Error with confirmation code."
-msgstr "Virhe vahvistuskoodissa"
+msgstr "Virhe vahvistuskoodin kanssa."
 
+# openid-tunnuksen liittämisessä omaan olemassaolevaan tunnukseen.
 #: ../actions/finishopenidlogin.php:89 actions/finishopenidlogin.php:95
 #: actions/finishopenidlogin.php:117
 msgid "Existing nickname"
-msgstr "Käyttäjätunnus on jo käytössä"
+msgstr "Käytetty tunnus"
 
+# Ei tämäkään kauheasti kerro, mutta ehkä silti englanninkielisiin sivustoihin tutustumattomalle edes lievästi selkeämpi.
 #: ../lib/util.php:326 lib/util.php:342 lib/action.php:570
 msgid "FAQ"
-msgstr "FAQ"
+msgstr "UKK"
 
 #: ../actions/avatar.php:115 actions/profilesettings.php:352
 #: actions/avatarsettings.php:397
 msgid "Failed updating avatar."
-msgstr "Avatarin päivittäminen epäonnistui."
+msgstr "Profiilikuvan päivittäminen epäonnistui."
 
+# Tämä on otsikko käyttäjän Personal-sivun feedille jossa näkyy käyttäjän ja tämän tilausten päivitykset.
 #: ../actions/all.php:61 ../actions/allrss.php:64 actions/all.php:61
 #: actions/allrss.php:64 actions/all.php:75 actions/allrss.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Feed for friends of %s"
-msgstr "Syöte käyttäjän %s kavereista"
+msgstr "Syöte käyttäjän %s kavereille"
 
 #: ../actions/replies.php:65 ../actions/repliesrss.php:80
 #: actions/replies.php:65 actions/repliesrss.php:66 actions/replies.php:134
 #: actions/repliesrss.php:71
 #, php-format
 msgid "Feed for replies to %s"
-msgstr "Syöte käyttäjän %s vastauksista"
+msgstr "Syöte käyttäjän %s saamista vastauksista"
 
+# tägille vai tagille?
 #: ../actions/tag.php:55 actions/tag.php:55 actions/tag.php:61
 #, php-format
 msgid "Feed for tag %s"
@@ -944,7 +959,7 @@ msgid ""
 "For security reasons, please re-enter your user name and password before "
 "changing your settings."
 msgstr ""
-"Turvallisuus syistä, syötä käyttäjätunnuksesi ja salasanasi uudelleen enne "
+"Syötä turvallisuussyistä käyttäjätunnuksesi ja salasanasi uudelleen ennen "
 "asetuksiesi muuttamista."
 
 #: ../actions/profilesettings.php:44 ../actions/register.php:164
@@ -968,10 +983,11 @@ msgstr "Koko nimi on liian pitkä (max 255 merkkiä)."
 msgid "Help"
 msgstr "Ohjeet"
 
+# Tämä teksti tulee linkkiin, joka vie käyttäjän omalle sivulle.
 #: ../lib/util.php:298 lib/util.php:314 lib/action.php:322
 #: lib/facebookaction.php:200
 msgid "Home"
-msgstr "Etusivu"
+msgstr "Koti"
 
 #: ../actions/profilesettings.php:46 ../actions/register.php:167
 #: actions/profilesettings.php:79 actions/register.php:181
@@ -990,22 +1006,23 @@ msgstr "Kotisivun verkko-osoite ei ole toimiva."
 #: ../actions/emailsettings.php:91 actions/emailsettings.php:98
 #: actions/emailsettings.php:173
 msgid "I want to post notices by email."
-msgstr "Haluan lähettää päivitykseni sähköpostilla."
+msgstr "Haluan lähettää päivityks sähköpostilla."
 
+# IM ei ole suomessa käytössä ollenkaan, pikaviestimistä puhutaan ainakin jossain... surullista kyllä ainoa suosittu termi olisi varmaan joku "mese", mutta se ei taida sentään olla yleistynyt tarkoittamaan muuta kuin MS:n tuotetta.
 #: ../lib/settingsaction.php:102 lib/settingsaction.php:96
 #: lib/connectsettingsaction.php:104
 msgid "IM"
-msgstr "IM"
+msgstr "Pikaviestin"
 
 #: ../actions/imsettings.php:60 actions/imsettings.php:61
 #: actions/imsettings.php:118
 msgid "IM Address"
-msgstr "IM Osoite"
+msgstr "Pikaviestiosoite"
 
 #: ../actions/imsettings.php:33 actions/imsettings.php:33
 #: actions/imsettings.php:59
 msgid "IM Settings"
-msgstr "IM Asetukset"
+msgstr "Pikaviestiasetukset"
 
 #: ../actions/finishopenidlogin.php:88 actions/finishopenidlogin.php:94
 #: actions/finishopenidlogin.php:116
@@ -1029,21 +1046,20 @@ msgid ""
 "If you've forgotten or lost your password, you can get a new one sent to the "
 "email address you have stored  in your account."
 msgstr ""
-"Jos olet unohtanut tai hukannut salasanasi, voit saa uuden sähköpostiisi, "
+"Jos olet unohtanut tai hukannut salasanasi, voit saada uuden sähköpostiisi, "
 "jonka olet tallettanut  käyttäjätunnuksellesi."
 
+# Saapuva on ehkä vakiintuneempi sana kun sitä näkee kaikissa sp-ohjelmissa
 #: ../actions/emailsettings.php:67 ../actions/smssettings.php:76
 #: actions/emailsettings.php:68 actions/smssettings.php:76
 #: actions/emailsettings.php:127 actions/smssettings.php:140
-#, fuzzy
 msgid "Incoming email"
-msgstr "Tuleva sähköposti"
+msgstr "Saapuva sähköposti"
 
 #: ../actions/emailsettings.php:283 actions/emailsettings.php:301
 #: actions/emailsettings.php:443
-#, fuzzy
 msgid "Incoming email address removed."
-msgstr "Sähköposti osoite poistettu."
+msgstr "Saapuvan sähköpostin osoite poistettu."
 
 #: ../actions/password.php:69 actions/profilesettings.php:388
 #: actions/passwordsettings.php:153
@@ -1067,7 +1083,7 @@ msgstr ""
 #: actions/updateprofile.php:118
 #, php-format
 msgid "Invalid avatar URL '%s'"
-msgstr "Avatar URL-verkkosoite '%s' ei kelpaa"
+msgstr "Kuvan URL-verkkosoite '%s' ei kelpaa"
 
 #: ../actions/invite.php:55 actions/invite.php:62 actions/invite.php:70
 #, php-format
@@ -1084,20 +1100,19 @@ msgstr "Kotisivun osoite '%s' ei kelpaa"
 #: actions/updateprofile.php:86
 #, php-format
 msgid "Invalid license URL '%s'"
-msgstr "Lisenssi verkko-osoite '%s' ei kelpaa"
+msgstr "Lisenssin verkko-osoite '%s' ei kelpaa"
 
 # status päivitys, päivitys, tätä ei ole vielä päätetty
 #: ../actions/postnotice.php:61 actions/postnotice.php:62
 #: actions/postnotice.php:66
-#, fuzzy
 msgid "Invalid notice content"
-msgstr "Status päivitys ei kelpaa"
+msgstr "Päivityksen sisältö ei kelpaa"
 
+# URL ja URI ilmeisesti OMB:ssä eri asiat.
 #: ../actions/postnotice.php:67 actions/postnotice.php:68
 #: actions/postnotice.php:72
-#, fuzzy
 msgid "Invalid notice uri"
-msgstr "Päivityksen osoite ei kelpaa"
+msgstr "Päivityksen URI ei kelpaa"
 
 #: ../actions/postnotice.php:72 actions/postnotice.php:73
 #: actions/postnotice.php:77
@@ -1108,17 +1123,17 @@ msgstr "Päivityksen URL ei kelpaa"
 #: actions/updateprofile.php:91
 #, php-format
 msgid "Invalid profile URL '%s'."
-msgstr "Profiilin URL osoite '%s' ei kelpaa."
+msgstr "Profiilin URL-osoite '%s' ei kelpaa."
 
 #: ../actions/remotesubscribe.php:96 actions/remotesubscribe.php:105
 #: actions/remotesubscribe.php:135
 msgid "Invalid profile URL (bad format)"
-msgstr "Profiilin URL osoite '%s' ei kelpaa (huono formaatti)."
+msgstr "Profiilin URL-osoite '%s' ei kelpaa (virheellinen muoto)."
 
 #: ../actions/finishremotesubscribe.php:77
 #: actions/finishremotesubscribe.php:79 actions/finishremotesubscribe.php:80
 msgid "Invalid profile URL returned by server."
-msgstr "Profiilin URL-osoite ei kelpaa palvelimelle."
+msgstr "Palvelin palautti kelvottoman URL-osoitteen."
 
 #: ../actions/avatarbynickname.php:37 actions/avatarbynickname.php:37
 #: actions/avatarbynickname.php:69
@@ -1157,9 +1172,9 @@ msgid ""
 "s, available under the [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
-"Sivusto toimii [Laconica](http://laconi.ca/) mikroobloggauohjelmassa, "
-"versiolla %s, joka on saatavilla [GNU Affero General Public License](http://"
-"www.fsf.org/licensing/licenses/agpl-3.0.html)."
+"Sivusto käyttää [Laconica](http://laconi.ca/) mikroblogausohjelmistoa, "
+"versio %s, saatavilla lisenssillä [GNU Affero General Public "
+"License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
 #: ../actions/imsettings.php:173 actions/imsettings.php:181
 #: actions/imsettings.php:296
@@ -1172,8 +1187,9 @@ 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 ""
-"Jabber ja GTalk osoite kuten \"käyttäjätunnus@esimerkki.org\". Varmista että "
-"olet lisännyt %s kaverilistaasi IM ohjelmassasi tai GTalk:ssa."
+"Jabber ja GTalk -osoite, esimerkiksi \"käyttäjätunnus@esimerkki.org\". "
+"Varmista että olet lisännyt %s kaverilistaasi pikaviestiohjelmassasi tai "
+"GTalkissa."
 
 #: ../actions/profilesettings.php:57 actions/profilesettings.php:90
 #: actions/profilesettings.php:128
@@ -1183,7 +1199,6 @@ msgstr "Kieli"
 # heh
 #: ../actions/profilesettings.php:113 actions/profilesettings.php:228
 #: actions/profilesettings.php:217
-#, fuzzy
 msgid "Language is too long (max 50 chars)."
 msgstr "Kieli on liian pitkä (max 50 merkkiä)."
 
@@ -1228,9 +1243,9 @@ msgid ""
 "(%%action.register%%) a new account, or try [OpenID](%%action.openidlogin%"
 "%). "
 msgstr ""
-"Kirjaud sisään käyttäjätunnuksella ja salasanalla. Ei ole käyttäjätunnusta "
-"vielä? [Rekisteröi](%%action.register%%) käyttäjätunnus tai kokeile [OpenID]"
-"(%%action.openidlogin%%)-tunnuksella sisään kirjautumista. "
+"Kirjaud sisään käyttäjätunnuksella ja salasanalla. Ei vielä "
+"käyttäjätunnusta? [Rekisteröi](%%action.register%%) käyttäjätunnus tai "
+"kokeile [OpenID](%%action.openidlogin%%)-tunnuksella sisään kirjautumista. "
 
 #: ../lib/util.php:308 lib/util.php:324 lib/action.php:332
 msgid "Logout"
@@ -1257,17 +1272,17 @@ msgstr ""
 #: actions/emailsettings.php:71
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
-msgstr "Hallinnoi miten saat saat sähköpostin palvelusta %%site.name%%."
+msgstr "Määritä miten saat sähköpostin palvelusta %%site.name%%."
 
 #: ../actions/showstream.php:300 actions/showstream.php:315
 #: actions/showstream.php:480
 msgid "Member since"
-msgstr "Käyttäjä alkaen"
+msgstr "Käyttäjä alkaen"
 
 #: ../actions/userrss.php:70 actions/userrss.php:67 actions/userrss.php:72
 #, php-format
 msgid "Microblog by %s"
-msgstr "Käyttäjän %s mikro-blog"
+msgstr "Käyttäjän %s mikroblogi"
 
 #: ../actions/smssettings.php:304
 #, php-format
@@ -1275,7 +1290,7 @@ 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 ""
-"Matkapuhelinoperaattorisi. Jos tiedät operaattorin, joka ottaa vastaa SMS "
+"Matkapuhelinoperaattorisi. Jos tiedät operaattorin, joka ottaa vastaan SMS "
 "viestilähetyksiä sähköpostilla, mutta ei ole listattu tänne, lähetä "
 "sähköpostia meille osoitteeseen %s."
 
@@ -1285,7 +1300,7 @@ msgstr ""
 msgid "My text and files are available under "
 msgstr ""
 "Minun tekstini ja tiedostoni ovat käytettävissä seuraavan lisenssin "
-"mukaisesti  "
+"mukaisesti "
 
 #: ../actions/emailsettings.php:82 ../actions/smssettings.php:91
 #: actions/emailsettings.php:83 actions/smssettings.php:91
@@ -1296,12 +1311,12 @@ msgstr "Uusi"
 #: ../lib/mail.php:144 lib/mail.php:144 lib/mail.php:286
 #, php-format
 msgid "New email address for posting to %s"
-msgstr "Uusi sähköpostiosoite päivityksien lähettämiseen on %s"
+msgstr "Uusi sähköpostiosoite päivityksien lähettämiseen palveluun %s"
 
 #: ../actions/emailsettings.php:297 actions/emailsettings.php:315
 #: actions/emailsettings.php:465
 msgid "New incoming email address added."
-msgstr "Uusi sähköpostiosoite lisätty."
+msgstr "Uusi saapuvan sähköpostin osoite lisätty."
 
 #: ../actions/finishopenidlogin.php:71 actions/finishopenidlogin.php:77
 #: actions/finishopenidlogin.php:99
@@ -1310,7 +1325,6 @@ msgstr "Uusi käyttäjätunnus"
 
 #: ../actions/newnotice.php:87 actions/newnotice.php:96
 #: actions/newnotice.php:68
-#, fuzzy
 msgid "New notice"
 msgstr "Uusi päivitys"
 
@@ -1325,6 +1339,7 @@ msgid "New password successfully saved. You are now logged in."
 msgstr ""
 "Uusi salasana tallennettiin onnistuneesti. Olet nyt kirjautunut sisään."
 
+# samaa stringiä käytetään sekä ryhmän nimessä, että käyttäjätunnuksessa ->"tunnus"
 #: ../actions/login.php:101 ../actions/profilesettings.php:41
 #: ../actions/register.php:151 actions/login.php:101
 #: actions/profilesettings.php:74 actions/register.php:165
@@ -1333,7 +1348,7 @@ msgstr ""
 #: actions/showstream.php:251 actions/tagother.php:95
 #: lib/facebookaction.php:308 lib/groupeditform.php:137
 msgid "Nickname"
-msgstr "Käyttäjätunnus"
+msgstr "Tunnus"
 
 #: ../actions/finishopenidlogin.php:175 ../actions/profilesettings.php:110
 #: ../actions/register.php:69 actions/finishopenidlogin.php:181
@@ -1342,7 +1357,7 @@ msgstr "Käyttäjätunnus"
 #: actions/newgroup.php:134 actions/profilesettings.php:214
 #: actions/register.php:159
 msgid "Nickname already in use. Try another one."
-msgstr "Käyttäjätunnus on jo käytössä. Yritä uutta käyttäjätunnusta."
+msgstr "Tunnus on jo käytössä. Yritä toista tunnusta."
 
 #: ../actions/finishopenidlogin.php:165 ../actions/profilesettings.php:88
 #: ../actions/register.php:67 ../actions/updateprofile.php:77
@@ -1363,7 +1378,7 @@ msgstr "Käyttäjätunnus ei ole sallittu."
 #: ../actions/remotesubscribe.php:72 actions/remotesubscribe.php:81
 #: actions/remotesubscribe.php:106
 msgid "Nickname of the user you want to follow"
-msgstr "Käyttätunnus käyttäjälle jota haluat seurata"
+msgstr "Käyttäjän, jota haluat seurata, käyttäjätunnus"
 
 #: ../actions/recoverpassword.php:162 actions/recoverpassword.php:167
 #: actions/recoverpassword.php:186
@@ -1378,7 +1393,7 @@ msgstr "Ei"
 #: ../actions/imsettings.php:156 actions/imsettings.php:164
 #: actions/imsettings.php:279
 msgid "No Jabber ID."
-msgstr "Ei Jabber ID:tä"
+msgstr "Ei Jabber ID -osoitetta"
 
 #: ../actions/userauthorization.php:129 actions/userauthorization.php:136
 #: actions/userauthorization.php:153
@@ -1413,12 +1428,12 @@ msgstr "Sähköpostiosoitetta ei ole."
 
 #: ../actions/userbyid.php:32 actions/userbyid.php:32 actions/userbyid.php:70
 msgid "No id."
-msgstr "Tunnusta ei ole."
+msgstr "Id puuttuu."
 
 #: ../actions/emailsettings.php:271 actions/emailsettings.php:289
 #: actions/emailsettings.php:430
 msgid "No incoming email address."
-msgstr "Sähköpostiosoitetta ei ole."
+msgstr "Saapuvan sähköpostin osoitetta ei ole."
 
 #: ../actions/finishremotesubscribe.php:65
 #: actions/finishremotesubscribe.php:67 actions/finishremotesubscribe.php:68
@@ -1428,7 +1443,7 @@ msgstr "Käyttäjätunnusta ei saatu etäpalvelimelta."
 #: ../actions/avatarbynickname.php:27 actions/avatarbynickname.php:27
 #: actions/avatarbynickname.php:59 actions/leavegroup.php:81
 msgid "No nickname."
-msgstr "Käyttäjätunnusta ei ole."
+msgstr "Tunnusta ei ole."
 
 #: ../actions/emailsettings.php:222 ../actions/imsettings.php:206
 #: ../actions/smssettings.php:229 actions/emailsettings.php:240
@@ -1474,38 +1489,38 @@ msgstr "Kokoa ei ole."
 #: actions/twitapistatuses.php:520 actions/twitapifavorites.php:112
 #: actions/twitapistatuses.php:446
 msgid "No status found with that ID."
-msgstr "Käyttäjätunnukselle ei löytynyt statustaviestiä."
+msgstr "Käyttäjätunnukselle ei löytynyt statusviestiä."
 
 #: ../actions/twitapistatuses.php:555 actions/twitapistatuses.php:478
 #: actions/twitapistatuses.php:418
 msgid "No status with that ID found."
-msgstr "Käyttäjätunnukselle ei löytynyt statustaviestiä."
+msgstr "Käyttäjätunnukselle ei löytynyt statusviestiä."
 
 #: ../actions/openidsettings.php:135 actions/openidsettings.php:144
 #: actions/openidsettings.php:222
 msgid "No such OpenID."
-msgstr "Tuota OpenID-tunnusta ei ole."
+msgstr "Annettua OpenID-tunnusta ei ole."
 
 #: ../actions/doc.php:29 actions/doc.php:29 actions/doc.php:64
 msgid "No such document."
-msgstr "Tuota dokumenttia ei ole."
+msgstr "Dokumenttia ei ole."
 
 #: ../actions/shownotice.php:32 ../actions/shownotice.php:83
 #: ../lib/deleteaction.php:30 actions/shownotice.php:32
 #: actions/shownotice.php:83 lib/deleteaction.php:30 actions/shownotice.php:87
 #: lib/deleteaction.php:51
 msgid "No such notice."
-msgstr "Tuota päivitystä ei ole."
+msgstr "Päivitystä ei ole."
 
 #: ../actions/recoverpassword.php:56 actions/recoverpassword.php:56
 #: actions/recoverpassword.php:62
 msgid "No such recovery code."
-msgstr "Tuota palautuskoodia ei ole."
+msgstr "Palautuskoodia ei ole."
 
 #: ../actions/postnotice.php:56 actions/postnotice.php:57
 #: actions/postnotice.php:60
 msgid "No such subscription"
-msgstr "Tuota tilausta ei ole."
+msgstr "Tilausta ei ole."
 
 #: ../actions/all.php:34 ../actions/allrss.php:35
 #: ../actions/avatarbynickname.php:43 ../actions/foaf.php:40
@@ -1533,7 +1548,7 @@ msgstr "Tuota tilausta ei ole."
 #: classes/Command.php:271 lib/galleryaction.php:60 lib/mailbox.php:82
 #: lib/subs.php:34 lib/subs.php:109
 msgid "No such user."
-msgstr "Tuota käyttäjää ei ole."
+msgstr "Käyttäjää ei ole."
 
 #: ../actions/recoverpassword.php:211 actions/recoverpassword.php:217
 #: actions/recoverpassword.php:251
@@ -1584,7 +1599,7 @@ msgstr "Tuo ei ole kelvollinen sähköpostiosoite."
 #: actions/editgroup.php:186 actions/newgroup.php:137
 #: actions/profilesettings.php:195 actions/register.php:161
 msgid "Not a valid nickname."
-msgstr "Tuo ei ole kelvollinen käyttäjätunnus."
+msgstr "Tuo ei ole kelvollinen tunnus."
 
 #: ../actions/remotesubscribe.php:120 actions/remotesubscribe.php:129
 #: actions/remotesubscribe.php:159
@@ -1616,9 +1631,8 @@ msgstr "Ei valtuutusta."
 
 #: ../actions/finishremotesubscribe.php:38
 #: actions/finishremotesubscribe.php:38 actions/finishremotesubscribe.php:40
-#, fuzzy
 msgid "Not expecting this response!"
-msgstr "Odottamaton vastaus!"
+msgstr "Odottamaton vastaus saatu!"
 
 #: ../actions/twitapistatuses.php:422 actions/twitapistatuses.php:361
 #: actions/twitapistatuses.php:309
@@ -1639,7 +1653,7 @@ msgstr "Ei löytynyt"
 #: actions/unsubscribe.php:27 lib/deleteaction.php:66
 #: lib/settingsaction.php:72
 msgid "Not logged in."
-msgstr "Et ole sisään kirjautunut."
+msgstr "Et ole kirjautunut sisään."
 
 #: ../lib/subs.php:91 lib/subs.php:104 lib/subs.php:122
 msgid "Not subscribed!."
@@ -1648,9 +1662,8 @@ msgstr "Ei ole tilattu!."
 # Vaihtoehtoja noticelle löytyy: päivitys, nootti, status, viesti, päivitys, tilapäivitys, mikropostaus, tilaviesti, status
 #: ../actions/opensearch.php:35 actions/opensearch.php:35
 #: actions/opensearch.php:67
-#, fuzzy
 msgid "Notice Search"
-msgstr "Päivitys Haku"
+msgstr "Etsi Päivityksistä"
 
 #: ../actions/showstream.php:82 actions/showstream.php:82
 #: actions/showstream.php:180 actions/showstream.php:187
@@ -1661,7 +1674,6 @@ msgstr "Päivityksien syöte käyttäjälle %s"
 
 #: ../actions/shownotice.php:39 actions/shownotice.php:39
 #: actions/shownotice.php:94
-#, fuzzy
 msgid "Notice has no profile"
 msgstr "Päivitykselle ei ole profiilia"
 
@@ -1669,16 +1681,15 @@ msgstr "Päivitykselle ei ole profiilia"
 #: ../actions/showstream.php:316 actions/showstream.php:331
 #: actions/showstream.php:504 lib/facebookaction.php:477 lib/mailbox.php:116
 #: lib/noticelist.php:87
-#, fuzzy
 msgid "Notices"
 msgstr "Päivitykset"
 
 # tagi, tägätty, tagätty, tagatty, tagitetty,
 #: ../actions/tag.php:35 ../actions/tag.php:81 actions/tag.php:35
 #: actions/tag.php:81 actions/tag.php:41
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s"
-msgstr "Päivitykset joilla on tägi %s"
+msgstr "Päivitykset joilla on tagi %s"
 
 #: ../actions/password.php:39 actions/profilesettings.php:178
 #: actions/passwordsettings.php:97
@@ -1694,30 +1705,30 @@ msgstr "OpenID"
 #: ../actions/finishopenidlogin.php:61 actions/finishopenidlogin.php:66
 #: actions/finishopenidlogin.php:73
 msgid "OpenID Account Setup"
-msgstr "OpenID tunnuksen asetukset"
+msgstr "OpenID-tunnuksen asetukset"
 
 #: ../lib/openid.php:180 lib/openid.php:180 lib/openid.php:266
 msgid "OpenID Auto-Submit"
-msgstr ""
+msgstr "OpenID automaattilähetys"
 
 #: ../actions/finishaddopenid.php:99 ../actions/finishopenidlogin.php:140
 #: ../actions/openidlogin.php:60 actions/finishaddopenid.php:99
 #: actions/finishopenidlogin.php:146 actions/openidlogin.php:68
 #: actions/finishaddopenid.php:170 actions/openidlogin.php:80
 msgid "OpenID Login"
-msgstr "OpenID Sisäänkirjautuminen"
+msgstr "OpenID-sisäänkirjautuminen"
 
 #: ../actions/openidlogin.php:65 ../actions/openidsettings.php:49
 #: actions/openidlogin.php:74 actions/openidsettings.php:50
 #: actions/openidlogin.php:102 actions/openidsettings.php:101
 msgid "OpenID URL"
-msgstr "OpenID Verkko-osoite"
+msgstr "OpenID-osoite"
 
 #: ../actions/finishaddopenid.php:42 ../actions/finishopenidlogin.php:103
 #: actions/finishaddopenid.php:42 actions/finishopenidlogin.php:109
 #: actions/finishaddopenid.php:88 actions/finishopenidlogin.php:130
 msgid "OpenID authentication cancelled."
-msgstr "OpenID tunnistautuminen peruutettiin."
+msgstr "OpenID tunnistautuminen peruttiin."
 
 #: ../actions/finishaddopenid.php:46 ../actions/finishopenidlogin.php:107
 #: actions/finishaddopenid.php:46 actions/finishopenidlogin.php:113
@@ -1767,13 +1778,13 @@ msgstr "Salasana ja salasanan vahvistus eivät täsmää."
 #: ../actions/recoverpassword.php:284 actions/recoverpassword.php:297
 #: actions/recoverpassword.php:331
 msgid "Password must be 6 chars or more."
-msgstr "Salasanassa pitää olla 6 tai useampi merkkiä."
+msgstr "Salasanassa pitää olla 6 tai useampia merkkejä."
 
 #: ../actions/recoverpassword.php:261 ../actions/recoverpassword.php:263
 #: actions/recoverpassword.php:267 actions/recoverpassword.php:269
 #: actions/recoverpassword.php:199 actions/recoverpassword.php:301
 msgid "Password recovery requested"
-msgstr "Salasanan takaisinsaantipyyntö lähetetty."
+msgstr "Salasanan palautuspyyntö lähetetty."
 
 #: ../actions/password.php:89 ../actions/recoverpassword.php:313
 #: actions/profilesettings.php:408 actions/recoverpassword.php:326
@@ -1790,21 +1801,22 @@ msgstr "Salasanat eivät täsmää."
 #: ../lib/searchaction.php:100 lib/searchaction.php:100
 #: lib/searchgroupnav.php:80
 msgid "People"
-msgstr "Ihmiset"
+msgstr "Henkilö"
 
 #: ../actions/opensearch.php:33 actions/opensearch.php:33
 #: actions/opensearch.php:64
 msgid "People Search"
-msgstr "Etsi Ihmisiä"
+msgstr "Etsi ihmisiä"
 
 #: ../actions/peoplesearch.php:33 actions/peoplesearch.php:33
 #: actions/peoplesearch.php:58
 msgid "People search"
 msgstr "Etsi ihmisiä"
 
+# Tämä on otsikko käyttäjän sivun välilehdelle, jossa näkyy omat ja tilausten viestit. Omat on ehkä paremmin kuvaava, kuin henkilökohtainen. Saa kyllä muutakin ehdottaa.
 #: ../lib/stream.php:50 lib/personal.php:50 lib/personalgroupnav.php:98
 msgid "Personal"
-msgstr "Henkilökohtainen"
+msgstr "Omat"
 
 #: ../actions/invite.php:133 actions/invite.php:141 actions/invite.php:178
 msgid "Personal message"
@@ -1812,7 +1824,7 @@ msgstr "Henkilökohtainen viesti"
 
 #: ../actions/smssettings.php:69 actions/smssettings.php:69
 msgid "Phone number, no punctuation or spaces, with area code"
-msgstr "Puhelinnumero, ei välimerkkejä tai välilyöntejä"
+msgstr "Puhelinnumero, ei välimerkkejä tai välilyöntejä, suuntanumerollinen"
 
 #: ../actions/userauthorization.php:78
 msgid ""
@@ -1820,11 +1832,14 @@ msgid ""
 "user's notices. If you didn't just ask to subscribe to someone's notices, "
 "click \"Cancel\"."
 msgstr ""
+"Tarkista nämä tiedot varmistaaksesi, että haluat tilata tämän käyttäjän "
+"päivitykset. Jos et valinnut haluavasi tilata jonkin käyttäjän päivityksiä, "
+"paina \"Peruuta\"."
 
 #: ../actions/imsettings.php:73 actions/imsettings.php:74
 #: actions/imsettings.php:142
 msgid "Post a notice when my Jabber/GTalk status changes."
-msgstr "Lähetä päivitys kun minun Jabber/GTalk tilatieto vaihtuu."
+msgstr "Lähetä päivitys kun Jabber/GTalk -tilatietoni vaihtuu."
 
 #: ../actions/emailsettings.php:85 ../actions/imsettings.php:67
 #: ../actions/smssettings.php:94 actions/emailsettings.php:86
@@ -1866,12 +1881,12 @@ msgstr "Profiili"
 #: ../actions/remotesubscribe.php:73 actions/remotesubscribe.php:82
 #: actions/remotesubscribe.php:109
 msgid "Profile URL"
-msgstr "Profiili URL"
+msgstr "Profiilin URL"
 
 #: ../actions/profilesettings.php:34 actions/profilesettings.php:32
 #: actions/profilesettings.php:58
 msgid "Profile settings"
-msgstr "Profiili asetukset"
+msgstr "Profiiliasetukset"
 
 #: ../actions/postnotice.php:51 ../actions/updateprofile.php:52
 #: actions/postnotice.php:52 actions/updateprofile.php:53
@@ -1881,7 +1896,7 @@ msgstr "Tuntematon profiili."
 
 #: ../actions/public.php:54 actions/public.php:54 actions/public.php:124
 msgid "Public Stream Feed"
-msgstr ""
+msgstr "Julkinen syöte"
 
 # Suorakäännös voisi sopia. Tähän voisi jotain suomenkielistä termiä hakea tai ottaa tuollainen vähän erikoisempi suora käännös.
 #: ../actions/public.php:33 actions/public.php:33 actions/public.php:109
@@ -1892,23 +1907,24 @@ msgstr "Julkinen aikajana"
 #: ../actions/imsettings.php:79 actions/imsettings.php:80
 #: actions/imsettings.php:153
 msgid "Publish a MicroID for my Jabber/GTalk address."
-msgstr "Julkaise minun Jabber/GTalk osoite MicroID:nä."
+msgstr "Julkaise MicroID Jabber/GTalk-osoitteelleni."
 
 #: ../actions/emailsettings.php:94 actions/emailsettings.php:101
 #: actions/emailsettings.php:178
 msgid "Publish a MicroID for my email address."
-msgstr "Julkaise minun sähköpostiosoite MicroID:nä."
+msgstr "Julkaise MicroID sähköpostiosoitteelleni."
 
 # Tagi, tägi,...
 #: ../actions/tag.php:75 ../actions/tag.php:76 actions/tag.php:75
 #: actions/tag.php:76
 msgid "Recent Tags"
-msgstr "Viimeaikaiset Tagit"
+msgstr "Tuoreet tagit"
 
+# Palautuslomakkeen toimintonappi
 #: ../actions/recoverpassword.php:166 actions/recoverpassword.php:171
 #: actions/recoverpassword.php:190
 msgid "Recover"
-msgstr "Palautus"
+msgstr "Palauta"
 
 #: ../actions/recoverpassword.php:156 actions/recoverpassword.php:161
 #: actions/recoverpassword.php:198
@@ -1951,12 +1967,12 @@ msgstr "Muista minut"
 #: ../actions/updateprofile.php:70 actions/updateprofile.php:71
 #: actions/updateprofile.php:74
 msgid "Remote profile with no matching profile"
-msgstr ""
+msgstr "Etäprofiilille ei löytynyt vastaavaa profiilia"
 
 #: ../actions/remotesubscribe.php:65 actions/remotesubscribe.php:73
 #: actions/remotesubscribe.php:88
 msgid "Remote subscribe"
-msgstr ""
+msgstr "Etätilaus"
 
 #: ../actions/emailsettings.php:47 ../actions/emailsettings.php:75
 #: ../actions/imsettings.php:48 ../actions/openidsettings.php:106
@@ -1994,16 +2010,14 @@ msgstr "Vastaukset"
 #: actions/replies.php:116 actions/repliesrss.php:67
 #: lib/personalgroupnav.php:104
 #, php-format
-#, fuzzy
 msgid "Replies to %s"
-msgstr "Vastaukset päivitykseen %s"
+msgstr "Vastaukset käyttäjälle %s"
 
 # Palauta, aseta uudelleen, uudelleenasetus, nollaus, tyhjää
 #: ../actions/recoverpassword.php:183 actions/recoverpassword.php:189
 #: actions/recoverpassword.php:223
-#, fuzzy
 msgid "Reset"
-msgstr "Palauta"
+msgstr "Vaihda"
 
 #: ../actions/recoverpassword.php:173 actions/recoverpassword.php:178
 #: actions/recoverpassword.php:197
@@ -2023,7 +2037,7 @@ msgstr "SMS puhelinnumero"
 #: ../actions/smssettings.php:33 actions/smssettings.php:33
 #: actions/smssettings.php:58
 msgid "SMS Settings"
-msgstr "SMS Asetukset"
+msgstr "SMS-asetukset"
 
 #: ../lib/mail.php:219 lib/mail.php:225 lib/mail.php:437
 msgid "SMS confirmation"
@@ -2060,7 +2074,7 @@ msgstr "Haku"
 #: ../actions/noticesearch.php:80 actions/noticesearch.php:85
 #: actions/noticesearch.php:127
 msgid "Search Stream Feed"
-msgstr ""
+msgstr "Hakusyöte"
 
 #: ../actions/noticesearch.php:30 actions/noticesearch.php:30
 #: actions/noticesearch.php:57
@@ -2070,7 +2084,7 @@ msgid ""
 "by spaces; they must be 3 characters or more."
 msgstr ""
 "Hae päivityksiä palvelun %%site.name%% sisällöistä. Erota hakutermit "
-"välilyönnillä; hakutermien pitää olla 3 tai useamman merkin pituinen."
+"välilyönnillä; hakutermien pitää olla 3 tai useamman merkin pituisia."
 
 #: ../actions/peoplesearch.php:28
 #, php-format
@@ -2080,7 +2094,7 @@ msgid ""
 msgstr ""
 "Hae ihmisiä palvelun %%site.name%% käyttäjien nimistä, paikoista ja "
 "kiinnostuksen kohteista. Erota hakutermit välilyönnillä; hakutermien pitää "
-"olla 3 tai useamman merkin pituinen."
+"olla 3 tai useamman merkin pituisia."
 
 #: ../actions/smssettings.php:296 actions/smssettings.php:304
 #: actions/smssettings.php:457
@@ -2097,7 +2111,7 @@ msgstr "Lähetä"
 #: actions/emailsettings.php:74 actions/smssettings.php:82
 #: actions/emailsettings.php:132 actions/smssettings.php:145
 msgid "Send email to this address to post new notices."
-msgstr "Teet uuden päivityksen lähettämällä sähköpostin tähän osoitteeseen."
+msgstr "Lähetä sähköpostia tähän osoitteeseen tehdäksesi päivityksiä."
 
 #: ../actions/emailsettings.php:88 actions/emailsettings.php:89
 #: actions/emailsettings.php:152
@@ -2107,17 +2121,21 @@ msgstr "Lähetä sähköpostilla tieto uusista tilaajista."
 #: ../actions/imsettings.php:70 actions/imsettings.php:71
 #: actions/imsettings.php:137
 msgid "Send me notices through Jabber/GTalk."
-msgstr "Lähetä päivitykset Jabber/GTalk:lla."
+msgstr "Lähetä minulle päivityksiä Jabberilla/GTalkilla."
 
 #: ../actions/smssettings.php:97 actions/smssettings.php:97
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
-msgstr "Lähetä päivitykset SMS:llä; tämä voi aiheuttaa kustannuksia sinulle."
+msgstr ""
+"Lähetä päivityksiä SMS:llä; Ymmärrän, että voin saada kohtuuttomia laskuja "
+"tästä matkapuhelinoperaattoriltani."
 
 #: ../actions/imsettings.php:76 actions/imsettings.php:77
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
-msgstr "Lähetä vastaukset Jabber/GTalk:lla ihmisiltä, joita en ole tilannut. "
+msgstr ""
+"Lähetä Jabberilla/GTalkilla sellaistenkin ihmisten vastaukset, joita en ole "
+"tilannut. "
 
 #: ../lib/util.php:304 lib/util.php:320 lib/facebookaction.php:215
 msgid "Settings"
@@ -2146,16 +2164,16 @@ msgstr "Jotain erikoista tapahtui."
 #: ../scripts/maildaemon.php:58 scripts/maildaemon.php:58
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr "Valitettavasti sähköpostipäivityksiä eivät ole sallittuja."
+msgstr "Valitettavasti päivitysten teko sähköpostilla ei ole sallittua."
 
 #: ../scripts/maildaemon.php:54 scripts/maildaemon.php:54
 #: scripts/maildaemon.php:57
 msgid "Sorry, that is not your incoming email address."
-msgstr ""
+msgstr "Valitettavasti tuo ei ole oikea osoite sähköpostipäivityksille."
 
 #: ../lib/util.php:330 lib/util.php:346 lib/action.php:574
 msgid "Source"
-msgstr "Lähde"
+msgstr "Lähdekoodi"
 
 #: ../actions/showstream.php:296 actions/showstream.php:311
 #: actions/showstream.php:476
@@ -2204,7 +2222,7 @@ msgstr "Tilaukset"
 #: ../actions/avatar.php:87 actions/profilesettings.php:324
 #: lib/imagefile.php:78
 msgid "System error uploading file."
-msgstr "Tiedoston lähetyksessä tapahtui systeemivirhe."
+msgstr "Tiedoston lähetyksessä tapahtui järjestelmävirhe."
 
 #: ../actions/tag.php:41 ../lib/util.php:301 actions/tag.php:41
 #: lib/util.php:317 actions/profilesettings.php:122 actions/showstream.php:297
@@ -2249,38 +2267,38 @@ msgstr "Tämä tiedosto on liian iso."
 #: ../actions/imsettings.php:170 actions/imsettings.php:178
 #: actions/imsettings.php:293
 msgid "That is already your Jabber ID."
-msgstr "Tämä on jo sinun Jabber ID."
+msgstr "Tämä on jo Jabber ID -tunnuksesi."
 
 #: ../actions/emailsettings.php:188 actions/emailsettings.php:206
 #: actions/emailsettings.php:318
 msgid "That is already your email address."
-msgstr "Tämä on jo sinun sähköpostiosoitteesi."
+msgstr "Tämä on jo sähköpostiosoitteesi."
 
 #: ../actions/smssettings.php:188 actions/smssettings.php:196
 #: actions/smssettings.php:306
 msgid "That is already your phone number."
-msgstr "Tämä on jo sinun puhelinnumerosi."
+msgstr "Tämä on jo puhelinnumerosi."
 
 #: ../actions/imsettings.php:233 actions/imsettings.php:241
 #: actions/imsettings.php:381
 msgid "That is not your Jabber ID."
-msgstr "Tämä ei ole sinun Jabber ID."
+msgstr "Tämä ei ole Jabber ID-tunnuksesi."
 
 #: ../actions/emailsettings.php:249 actions/emailsettings.php:267
 #: actions/emailsettings.php:397
 msgid "That is not your email address."
-msgstr "Tämä ei ole sinun sähköpostiosoitteesi."
+msgstr "Tämä ei ole sähköpostiosoitteesi."
 
 #: ../actions/smssettings.php:257 actions/smssettings.php:265
 #: actions/smssettings.php:393
 msgid "That is not your phone number."
-msgstr "Tämä ei ole sinun puhelinnumerosi."
+msgstr "Tämä ei ole puhelinnumerosi."
 
 #: ../actions/emailsettings.php:226 ../actions/imsettings.php:210
 #: actions/emailsettings.php:244 actions/imsettings.php:218
 #: actions/emailsettings.php:367 actions/imsettings.php:349
 msgid "That is the wrong IM address."
-msgstr "Tämä on väärä IM osoite."
+msgstr "Tämä on väärä pikaviestiosoite."
 
 #: ../actions/smssettings.php:233 actions/smssettings.php:241
 #: actions/smssettings.php:362
@@ -2296,12 +2314,12 @@ msgstr "Tämä puhelinnumero kuuluu jo toiselle käyttäjälle."
 #: actions/newnotice.php:49 actions/twitapistatuses.php:330
 #: actions/facebookhome.php:243 actions/twitapistatuses.php:276
 msgid "That's too long. Max notice size is 140 chars."
-msgstr "Päivityksen koko on liian pitkä. Maksimi pituus on 140 merkkiä."
+msgstr "Päivitys on liian pitkä. Maksimipituus on 140 merkkiä."
 
 #: ../actions/twitapiaccount.php:74 actions/twitapiaccount.php:72
 #: actions/twitapiaccount.php:62
 msgid "That's too long. Max notice size is 255 chars."
-msgstr "Päivityksen koko on liian pitkä. Maksimi pituus on 255 merkkiä."
+msgstr "Päivitys on liian pitkä. Maksimipituus on 255 merkkiä."
 
 #: ../actions/confirmaddress.php:92 actions/confirmaddress.php:92
 #, php-format
@@ -2316,29 +2334,26 @@ msgstr "Osoite \"%s\" on vahvistettu sinun käyttäjätunnuksellesi."
 msgid "The address was removed."
 msgstr "Osoite on poistettu."
 
-# En nyt ihan tarkkaan tiedä milloin tämä virhe tulee. Pitää vielä tarkistaa.
+# Ilmeisesti jotain etäprofiilin tilausvirheitä nämä on. Laitoin callbackin tuohon ettei huku tietoa virheestä...
 #: ../actions/userauthorization.php:312
-#, fuzzy
 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 ""
-"Päivityksen tilaus on hyväksytty, mutta vaadittavaa verkko-osoitetta "
-"palveluun ei ole saatu. Tarkista sivun ohjeet miten päivityksen tilaus "
-"hyväksytään. Sinun tilauskoodi on:"
+"Päivityksen tilaus on hyväksytty, mutta callback-osoitetta palveluun ei ole "
+"saatu. Tarkista sivuston ohjeet miten päivityksen tilaus hyväksytään. "
+"Tilauskoodisi on:"
 
-# En nyt ihan tarkkaan tiedä milloin tämä virhe tulee. Pitää vielä tarkistaa.
+# Etäprofiilin tilausjuttua.
 #: ../actions/userauthorization.php:322
-#, fuzzy
 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 ""
-"Päivityksen tilaus on hylätty, mutta vaadittavaa verkko-osoitetta palveluun "
-"ei ole saatu. Tarkista sivun ohjeista miten päivityksen tilaus hylätään "
-"kokonaan."
+"Päivityksen tilaus on hylätty, mutta callback-osoitetta palveluun ei ole "
+"saatu. Tarkista sivuston ohjeet miten päivityksen tilaus hylätään kokonaan."
 
 #: ../actions/subscribers.php:35 actions/subscribers.php:35
 #, php-format
@@ -2347,7 +2362,7 @@ msgstr "Nämä ihmiset seuraavat käyttäjän %s päivityksiä."
 
 #: ../actions/subscribers.php:33 actions/subscribers.php:33
 msgid "These are the people who listen to your notices."
-msgstr "Nämä ihmiset seuraavat sinun päivityksiä."
+msgstr "Nämä ihmiset seuraavat sinun päivityksiäsi."
 
 #: ../actions/subscriptions.php:35 actions/subscriptions.php:35
 #, php-format
@@ -2363,7 +2378,7 @@ msgid ""
 "These people are already users and you were automatically subscribed to them:"
 msgstr ""
 "Nämä ihmiset ovat jo käyttäjiä ja sinä olet automaattisesti tilannut heidän "
-"päivitykset:"
+"päivityksensä:"
 
 #: ../actions/recoverpassword.php:88
 msgid "This confirmation code is too old. Please start again."
@@ -2374,7 +2389,7 @@ msgid ""
 "This form should automatically submit itself. If not, click the submit "
 "button to go to your OpenID provider."
 msgstr ""
-"Lomake pitäisi lähettää automaattisesti tiedot. Jos kuitenkin näin ei "
+"Lomakkeen pitäisi lähettää automaattisesti tiedot. Jos kuitenkaan näin ei "
 "tapahdu, paina lähetä painiketta mennäksesi OpenID-palveluntajoajalle."
 
 #: ../actions/finishopenidlogin.php:56 actions/finishopenidlogin.php:61
@@ -2385,10 +2400,10 @@ msgid ""
 "to a local account. You can either create a new account, or connect with "
 "your existing account, if you have one."
 msgstr ""
-"Tämä on ensimmäinen kerta kun olet sisäänkirjautunut käyttäjän %s, joten "
-"sinun OpenID-tunnus pitää yhdistää johonkin tämän palvelun "
-"käyttäjätunnukseen. Tätä varten voit luoda uuden käyttäjätunnuksen tai "
-"yhdistää olemassa olevaan käyttäjätunnukseen, jos sinulla sellainen jo on."
+"Tämä on ensimmäinen kerta kun olet sisäänkirjautunut %s -palveluun, joten "
+"OpenID-tunnuksesi pitää yhdistää johonkin tämän palvelun käyttäjätunnukseen. "
+"Tätä varten voit luoda uuden käyttäjätunnuksen tai yhdistää OpenID-"
+"tunnuksen olemassa olevaan käyttäjätunnukseen, jos sinulla sellainen jo on."
 
 #: ../actions/twitapifriendships.php:108 ../actions/twitapistatuses.php:586
 #: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
@@ -2405,11 +2420,11 @@ msgstr "Tämä metodi edellyttää joko POST tai DELETE sanoman."
 #: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
 #: actions/twitapistatuses.php:244
 msgid "This method requires a POST."
-msgstr "Tämä metodi edellyttää joko POST sanoman."
+msgstr "Tämä metodi edellyttää POST sanoman."
 
 #: ../lib/util.php:164 lib/util.php:246
 msgid "This page is not available in a media type you accept"
-msgstr "Tämä sivu ei ole saatavilla sinulle sopivassa media tyypissä."
+msgstr "Tämä sivu ei ole saatavilla sinulle sopivassa mediatyypissä."
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:138
@@ -2419,7 +2434,7 @@ msgstr "Aikavyöhyke"
 #: ../actions/profilesettings.php:107 actions/profilesettings.php:222
 #: actions/profilesettings.php:211
 msgid "Timezone not selected."
-msgstr "Aikavyöhyke ei ole valittu."
+msgstr "Aikavyöhykettä ei ole valittu."
 
 #: ../actions/remotesubscribe.php:43
 #, php-format
@@ -2430,9 +2445,9 @@ msgid ""
 msgstr ""
 "Tilataksesi päivitykset, voit [kirjautua sisään](%%action.login%%), tai "
 "[rekisteröidä](%%action.register%%) uuden  käyttäjätunnuksen. Jos sinulla on "
-"jo käyttäjätunnus  jollain [yhteensopivalla mikro-"
-"bloggauspalvelussa](%%doc.openmublog%%),  syötä profiilisi URL-osoite alla "
-"olevaan kenttään."
+"jo käyttäjätunnus  jossain [yhteensopivassa "
+"mikroblogauspalvelussa](%%doc.openmublog%%),  syötä profiilisi URL-osoite "
+"alla olevaan kenttään."
 
 #: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
 #: actions/twitapifriendships.php:132
@@ -2443,12 +2458,12 @@ msgstr "Kaksi käyttäjätunnusta tai nimeä täytyy antaa."
 #: actions/profilesettings.php:81 actions/register.php:183
 #: actions/profilesettings.php:109
 msgid "URL of your homepage, blog, or profile on another site"
-msgstr "URL-osoite kotivulle, blogiin tai toisen sivuston profiilin"
+msgstr "Kotisivusi, blogisi tai toisella sivustolla olevan profiilisi osoite."
 
 #: ../actions/remotesubscribe.php:74 actions/remotesubscribe.php:83
 #: actions/remotesubscribe.php:110
 msgid "URL of your profile on another compatible microblogging service"
-msgstr "URL-osoite toiseen yhteensopivaan mikro-bloggauspalvelun profiilin"
+msgstr "Profiilisi URL-osoite toisessa yhteensopivassa mikroblogauspalvelussa"
 
 #: ../actions/emailsettings.php:130 ../actions/imsettings.php:110
 #: ../actions/recoverpassword.php:39 ../actions/smssettings.php:135
@@ -2468,29 +2483,27 @@ msgstr "Odottamaton salasanan uudelleenasetus."
 
 #: ../index.php:57 index.php:57 actions/recoverpassword.php:202
 msgid "Unknown action"
-msgstr "Tuntematon toiminta"
+msgstr "Tuntematon toiminto"
 
 #: ../actions/finishremotesubscribe.php:58
 #: actions/finishremotesubscribe.php:60 actions/finishremotesubscribe.php:61
 msgid "Unknown version of OMB protocol."
-msgstr "Tuntematon OMB protokollan versio."
+msgstr "Tuntematon OMB-protokollan versio."
 
 #: ../lib/util.php:269 lib/util.php:285
-#, fuzzy
 msgid ""
 "Unless otherwise specified, contents of this site are copyright by the "
 "contributors and available under the "
 msgstr ""
-"Jos muuten ei ole määritelty, tämän palvelun sisältöjen tekijänoikeudet "
-"kuuluvat niiden kirjoittajille ja ovat saatavilla seuraavan lisenssin "
-"mukaisesti "
+"Ellei toisin ilmoitettu, tämän palvelun sisältöjen tekijänoikeudet kuuluvat "
+"niiden kirjoittajille ja ovat saatavilla seuraavalla lisenssillä "
 
 # formaatti/tyyppi
 #: ../actions/confirmaddress.php:48 actions/confirmaddress.php:48
 #: actions/confirmaddress.php:90
 #, php-format
 msgid "Unrecognized address type %s"
-msgstr "Tuntematon osoiteformaatti %s "
+msgstr "Tuntematon osoitetyyppi %s "
 
 #: ../actions/showstream.php:209 actions/showstream.php:219
 #: lib/unsubscribeform.php:137
@@ -2543,9 +2556,11 @@ msgid ""
 "site license, also. Use a picture that belongs to you and that you want to "
 "share."
 msgstr ""
-"Lataa uusi \"avatar\" (kuva käyttäjästa) tästä. Voit editoida kuvaa lataamisen "
-"jälkeen. Kuvan pitää olla palvelun tekijänoikeuslisenssin mukainen. Käytä "
-"sellaista kuvaa, joka kuulu sinulle ja jonka haluat näkyvän muille."
+"Lataa uusi käyttäjäkuva tästä. Et voi muokata kuvaa lataamisen jälkeen, "
+"joten varmista sen olevan suurinpiirtein neliön muotoinen. Kuvan pitää olla "
+"palvelun tekijänoikeuslisenssin mukainen. Sen täytyy myös olla sivuston "
+"lisenssin alla saatavilla. Käytä sellaista kuvaa, joka kuulu sinulle ja "
+"jonka haluat näkyvän muille."
 
 #: ../lib/settingsaction.php:91
 msgid "Upload a new profile image"
@@ -2568,7 +2583,7 @@ msgstr ""
 #: ../actions/finishremotesubscribe.php:86
 #: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
 msgid "User being listened to doesn't exist."
-msgstr "Käyttäjä jota seurataan ei ole olemassa."
+msgstr "Käyttäjää jota seurataan ei ole olemassa."
 
 #: ../actions/all.php:41 ../actions/avatarbynickname.php:48
 #: ../actions/foaf.php:47 ../actions/replies.php:41
@@ -2612,19 +2627,19 @@ msgstr "Mitä teet juuri nyt, %s?"
 #: actions/profilesettings.php:87 actions/register.php:189
 #: actions/profilesettings.php:119
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr "Asuinpaikka kuten \"Kaupunki, Maakunta (tai Lääni), Maa\""
+msgstr "Olinpaikka kuten \"Kaupunki, Maakunta (tai Lääni), Maa\""
 
 #: ../actions/updateprofile.php:128 actions/updateprofile.php:129
 #: actions/updateprofile.php:132
 #, php-format
 msgid "Wrong image type for '%s'"
-msgstr "Väärä kuvatyyppi käyttäjälle '%s'"
+msgstr "Kuvan '%s' tyyppi on väärä"
 
 #: ../actions/updateprofile.php:123 actions/updateprofile.php:124
 #: actions/updateprofile.php:127
 #, php-format
 msgid "Wrong size image at '%s'"
-msgstr "Väärä kuvakoko käyttäjälle '%s'"
+msgstr "Kuvan  '%s' koko on väärä"
 
 #: ../actions/deletenotice.php:63 ../actions/deletenotice.php:72
 #: actions/deletenotice.php:64 actions/deletenotice.php:79
@@ -2658,7 +2673,7 @@ msgstr "Olet jos tilannut seuraavien käyttäjien päivitykset:"
 #: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
 msgid "You are not friends with the specified user."
-msgstr "Ette ole kavereita tämän henkilön kanssa."
+msgstr "Et ole määritellyn käyttäjän kaveri."
 
 #: ../actions/password.php:27
 msgid "You can change your password here. Choose a good one!"
@@ -2673,7 +2688,7 @@ msgstr "Voit luoda uuden käyttäjätunnuksen ja aloittaa päivityksien tekemise
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
 msgstr ""
-"Voit saada SMS viestit sähköpostin välityksellä %%site.name%% palvelussa."
+"Voit saada SMS viestit sähköpostin välityksellä %%site.name%% -palvelusta."
 
 #: ../actions/openidsettings.php:86
 msgid ""
@@ -2687,16 +2702,16 @@ msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
 "doc.im%%). Configure your address and settings below."
 msgstr ""
-"Voit lähettää ja vastaanottaa päivityksiä Jabber/GTalk "
-"[pikaviestintä](%%doc.im%%) käyttäen. Alla voit määrittää sinun osoitteen ja "
-"asetukset. "
+"Voit lähettää ja vastaanottaa päivityksiä "
+"Jabber/GTalk-[pikaviestintä](%%doc.im%%) käyttäen. Alla voit määrittää "
+"osoitteesi ja asetuksesi. "
 
 #: ../actions/profilesettings.php:27
 msgid ""
 "You can update your personal profile info here so people know more about you."
 msgstr ""
-"Voit päivittää täällä sinun henkilötietojasi, jotta muut voivat tietää "
-"enemmän sinusta."
+"Voit päivittää täällä henkilötietojasi, jotta muut saavat tietää sinusta "
+"enemmän."
 
 #: ../actions/finishremotesubscribe.php:31 ../actions/remotesubscribe.php:31
 #: actions/finishremotesubscribe.php:31 actions/remotesubscribe.php:31
@@ -2730,9 +2745,9 @@ msgid ""
 msgstr ""
 "Sinulla on uusi päivityksien lähetysosoite palvelussa %1$s.\n"
 "\n"
-"Lähetä sähköposti osoitteeseen %2$s tehdessäsi uusi päivitys.\n"
+"Lähetä sähköposti osoitteeseen %2$s tehdäksesi uuden päivityksen.\n"
 "\n"
-"Lisää sähköpostiksen ohjeista voit lukea täältä %3$s.\n"
+"Lisää sähköpostin käyttöohjeita voit lukea osoitteesta %3$s.\n"
 "\n"
 "Terveisin,\n"
 "%4$s"
@@ -2746,27 +2761,30 @@ msgstr "Et voi poistaa toisen käyttäjän päivitystä."
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
 msgstr ""
-"Sinun pitää olla kirjautunut sisään, jos haluat kutsua uusia käyttäjiä "
-"palveluun %s"
+"Sinun täytyy olla kirjautuneena sisään kutsuaksesi uusia käyttäjiä palveluun "
+"%s"
 
 #: ../actions/invite.php:103 actions/invite.php:110 actions/invite.php:142
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
 msgstr ""
+"Lähetämme sinulle ilmoituksen, kun joku kutsumistasi henkilöistä hyväksyy "
+"kutsun ja rekisteröityy palveluun. Kiitoksia yhteisön kasvattamisesta!"
 
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
-msgstr ""
+msgstr "Sinut on tunnistettu. Syötä  uusi salasana alle. "
 
 #: ../actions/openidlogin.php:67 actions/openidlogin.php:76
 #: actions/openidlogin.php:104
 msgid "Your OpenID URL"
-msgstr ""
+msgstr "OpenID URL-osoitteesi"
 
 #: ../actions/recoverpassword.php:164
 msgid "Your nickname on this server, or your registered email address."
 msgstr ""
+"Käyttäjätunnuksesi tässä palvelussa tai rekisteröity sähköpostiosoitteesi."
 
 #: ../actions/openidsettings.php:28
 #, php-format
@@ -2774,81 +2792,83 @@ msgid ""
 "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
 "account.  Manage your associated OpenIDs from here."
 msgstr ""
+"[OpenID](%%doc.openid%%) mahdollistaa kirjautumisen sisään useaan palveluun "
+"yhdellä tunnuksella. Voit hallinnoida OpenID-tunnuksiasi täällä."
 
 #: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
 msgid "a few seconds ago"
-msgstr ""
+msgstr "muutama sekunti sitten"
 
 #: ../lib/util.php:955 lib/util.php:1004 lib/util.php:957
 #, php-format
 msgid "about %d days ago"
-msgstr ""
+msgstr "noin %d päivää sitten"
 
 #: ../lib/util.php:951 lib/util.php:1000 lib/util.php:953
 #, php-format
 msgid "about %d hours ago"
-msgstr ""
+msgstr "noin %d tuntia sitten"
 
 #: ../lib/util.php:947 lib/util.php:996 lib/util.php:949
 #, php-format
 msgid "about %d minutes ago"
-msgstr ""
+msgstr "noin %d minuuttia sitten"
 
 #: ../lib/util.php:959 lib/util.php:1008 lib/util.php:961
 #, php-format
 msgid "about %d months ago"
-msgstr ""
+msgstr "noin %d kuukautta sitten"
 
 #: ../lib/util.php:953 lib/util.php:1002 lib/util.php:955
 msgid "about a day ago"
-msgstr ""
+msgstr "noin päivä sitten"
 
 #: ../lib/util.php:945 lib/util.php:994 lib/util.php:947
 msgid "about a minute ago"
-msgstr ""
+msgstr "noin minuutti sitten"
 
 #: ../lib/util.php:957 lib/util.php:1006 lib/util.php:959
 msgid "about a month ago"
-msgstr ""
+msgstr "noin kuukausi sitten"
 
 #: ../lib/util.php:961 lib/util.php:1010 lib/util.php:963
 msgid "about a year ago"
-msgstr ""
+msgstr "noin vuosi sitten"
 
 #: ../lib/util.php:949 lib/util.php:998 lib/util.php:951
 msgid "about an hour ago"
-msgstr ""
+msgstr "noin tunti sitten"
 
 #: ../actions/showstream.php:423 ../lib/stream.php:132
 #: actions/showstream.php:441 lib/stream.php:99
 msgid "delete"
-msgstr ""
+msgstr "poista"
 
 #: ../actions/noticesearch.php:130 ../actions/showstream.php:408
 #: ../lib/stream.php:117 actions/noticesearch.php:136
 #: actions/showstream.php:426 lib/stream.php:84 actions/noticesearch.php:187
 msgid "in reply to..."
-msgstr ""
+msgstr "vastaus viestiin..."
 
 #: ../actions/noticesearch.php:137 ../actions/showstream.php:415
 #: ../lib/stream.php:124 actions/noticesearch.php:143
 #: actions/showstream.php:433 lib/stream.php:91 actions/noticesearch.php:194
 msgid "reply"
-msgstr ""
+msgstr "vastaus"
 
 #: ../actions/password.php:44 actions/profilesettings.php:183
 #: actions/passwordsettings.php:106
 msgid "same as password above"
-msgstr ""
+msgstr "sama salasana kuin yllä"
 
 #: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
 #: actions/twitapistatuses.php:555
 msgid "unsupported file type"
-msgstr ""
+msgstr "tiedoston tyyppi ei ole tuettu"
 
 #: ../lib/util.php:1309 lib/util.php:1443
 msgid "« After"
-msgstr ""
+msgstr "« Myöhemmin"
 
 #: actions/deletenotice.php:74 actions/disfavor.php:43
 #: actions/emailsettings.php:127 actions/favor.php:45
@@ -2865,66 +2885,68 @@ msgstr ""
 #: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
+"Istuntosi avaimen kanssa oli ongelmia. Olisitko ystävällinen ja kokeilisit "
+"uudelleen."
 
 #: actions/disfavor.php:55 actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "Tämä päivitys ei ole suosikki!"
 
 #: actions/disfavor.php:63 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "Ei voitu poistaa suosikkia."
 
 #: actions/disfavor.php:72 lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "Lisää suosikiksi"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
-msgstr ""
+msgstr "Lähetä sähköpostia, jos joku lisää päivitykseni suosikiksi."
 
 #: actions/emailsettings.php:95 actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "Lähetä sähköpostia, jos joku lähettää minulle yksityisviestin."
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "Tämä päivitys on jo suosikki!"
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "Ei voitu lisätä suosikiksi."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "Poista suosikeista"
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "Käyttäjän %s suosikkipäivitykset"
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "Käyttäjän %s suosikkipäivityksien syöte"
 
 #: actions/inbox.php:28 actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "Saapuneet viestit käyttäjälle %s - sivu %d"
 
 #: actions/inbox.php:30 actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "Saapuneet viestit käyttäjälle %s"
 
 #: actions/inbox.php:53 actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
-msgstr ""
+msgstr "Tämä on postilaatikkosi, jossa on sinulle saapuneet yksityisviestit."
 
 #: actions/invite.php:178 actions/invite.php:213
 #, php-format
@@ -2932,95 +2954,103 @@ msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 "\n"
 msgstr ""
+"%1$s on kutsunut sinut liittymään palveluun %2$s (%3$s).\n"
+"\n"
 
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "Kirjaudu sisään automaattisesti tulevaisuudessa; "
 
 #: actions/login.php:122 actions/login.php:264
 msgid "For security reasons, please re-enter your "
-msgstr ""
+msgstr "Ole hyvä ja turvallisuussyistä syötä uudelleen "
 
 #: actions/login.php:126 actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "Kirjaudu sisään käyttäjätunnuksella ja salasanalla. "
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "Liian pitkä päivitys. Maksimikoko päivitykselle on 140 merkkiä."
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
 msgid "No recipient specified."
-msgstr ""
+msgstr "Vastaanottajaa ei ole määritelty."
 
 #: actions/newmessage.php:68 actions/newmessage.php:113
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "Et voi lähettää viestiä tälle käyttäjälle."
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
 #: classes/Command.php:240
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
-msgstr ""
+msgstr "Älä lähetä viestiä itsellesi, vaan kuiskaa se vain hiljaa itsellesi."
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
 #: actions/newmessage.php:163
 msgid "No such user"
-msgstr ""
+msgstr "Tuota käyttäjää ei ole."
 
 #: actions/newmessage.php:117 actions/newmessage.php:67
 msgid "New message"
-msgstr ""
+msgstr "Uusi viesti"
 
 #: actions/noticesearch.php:95 actions/noticesearch.php:146
 msgid "Notice without matching profile"
-msgstr ""
+msgstr "Päivitys ilman vastaavaa profiilia"
 
 #: actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
 msgstr ""
+"[OpenID](%%doc.openid%%) mahdollistaa sisäänkirjautumisen useaan palveluun "
 
 #: actions/openidsettings.php:46 actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
-msgstr ""
+msgstr "Jos haluat lisätä OpenID-tunnuksen käyttäjätiliisi, "
 
+# pitäisi olla ehkä et voi OpenID:llä kirjautua sisään.
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
 msgstr ""
+"Et voisi enää kirjautua palveluun, jos poistaisit ainoan OpenID-tunnuksesi! "
 
 #: actions/openidsettings.php:87 actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
-msgstr ""
+msgstr "Voit poistaa OpenID-tunnuksen käyttäjätililtäsi "
 
 #: actions/outbox.php:28 actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "Käyttäjän %s lähetetyt viestit - sivu %d"
 
 #: actions/outbox.php:30 actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "Käyttäjän %s lähetetyt viestit"
 
 #: actions/outbox.php:53 actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
-msgstr ""
+msgstr "Tämä on postilaatikkosi, jossa on lähettämäsi yksityisviestit."
 
+# olikos se näin aiemminkin
 #: actions/peoplesearch.php:28 actions/peoplesearch.php:52
 #, php-format
 msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
 msgstr ""
+"Etsi ihmisiä palvelussa %%site.name%% heidän nimensä, paikkansa tai "
+"kiinnostustensa perusteella. "
 
 #: actions/profilesettings.php:27 actions/profilesettings.php:69
 msgid "You can update your personal profile info here "
-msgstr ""
+msgstr "Voit päivittää täällä henkilökohtaista profiiliasi "
 
 #: actions/profilesettings.php:115 actions/remotesubscribe.php:320
 #: actions/userauthorization.php:159 actions/userrss.php:76
@@ -3028,35 +3058,35 @@ msgstr ""
 #: actions/grouplogo.php:177 actions/remotesubscribe.php:367
 #: actions/userauthorization.php:176 actions/userrss.php:82
 msgid "User without matching profile"
-msgstr ""
+msgstr "Käyttäjälle ei löydy profiilia"
 
 #: actions/recoverpassword.php:91 actions/recoverpassword.php:97
 msgid "This confirmation code is too old. "
-msgstr ""
+msgstr "Tämä vahvistuskoodi on liian vanha. "
 
 #: actions/recoverpassword.php:141 actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "Jos olet unohtanut tai hukannut"
 
 #: actions/recoverpassword.php:154 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "Sinut on tunnistettu. Syötä "
 
 #: actions/recoverpassword.php:169 actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
-msgstr ""
+msgstr "Käyttäjätunnuksesi tässä palvelussa, "
 
 #: actions/recoverpassword.php:271 actions/recoverpassword.php:304
 msgid "Instructions for recovering your password "
-msgstr ""
+msgstr "Ohjeet salasanan palauttamiseksi "
 
 #: actions/recoverpassword.php:327 actions/recoverpassword.php:361
 msgid "New password successfully saved. "
-msgstr ""
+msgstr "Uuden salasanan tallennus onnistui. "
 
 #: actions/register.php:95 actions/register.php:180
 msgid "Password must be 6 or more characters."
-msgstr ""
+msgstr "Salasanassa pitää olla 6 tai useampia merkkejä."
 
 #: actions/register.php:216
 #, php-format
@@ -3064,102 +3094,109 @@ msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to..."
 msgstr ""
+"Onneksi olkoon, %s! tervetuloa %%%%site.name%%%% palveluun. Tästä haluat "
+"ehkä jatkaa..."
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "Saat pian sähköpostilla viestin, jossa on "
 
 #: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "Tilataksesi päivitykset, voit [kirjautua sisään](%%action.login%%),"
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "Käyttäjän %s suosikkien syöte"
 
+# suosikkipäivitystä?
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "Ei saatu haettua suosikkipäivityksiä."
 
 #: actions/showmessage.php:33 actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "Tuota viestiä ei ole."
 
 #: actions/showmessage.php:42
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "Vain lähettäjä ja vastaanottaja voivat lukea tämän viestin."
 
 #: actions/showmessage.php:61 actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "Viesti käyttäjälle %1$s, %2$s"
 
+# Ei välttämättä kovin hyvä tuo päiväysosa.
 #: actions/showmessage.php:66 actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Viesti käyttäjältä %1$s, %2$s"
 
 #: actions/showstream.php:154
 msgid "Send a message"
-msgstr ""
+msgstr "Lähetä viesti"
 
 #: actions/smssettings.php:312 actions/smssettings.php:464
 #, php-format
 msgid "Mobile carrier for your phone. "
-msgstr ""
+msgstr "Matkapuhelinoperaattorisi"
 
 #: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "Suorat viestit käyttäjälle %s"
 
 #: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "Kaikki suorat viestit käyttäjälle %s"
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "Suorat viestit, jotka sinä olet lähettänyt"
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "Kaikki suorat viestit käytäjältä %s"
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
 msgid "No message text!"
-msgstr ""
+msgstr "Viestissä ei ole tekstiä!"
 
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
 msgid "Recipient user not found."
-msgstr ""
+msgstr "Vastaanottajaa ei löytynyt."
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
 msgstr ""
+"Et voi lähettää suoraa viestiä käyttäjälle, jonka kanssa et ole vielä "
+"kaveri."
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / Käyttäjän %s suosikit"
 
+# ensimmäinen on sivuston/palvelun nimi sorsasta päätellen.
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr " Palvelun %s päivitykset, jotka %s / %s on merkinnyt suosikikseen."
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s lisäsi päivityksesi suosikkeihinsa"
 
 #: actions/twitapifavorites.php:188 lib/mail.php:276
 #: actions/twitapifavorites.php:165
@@ -3168,230 +3205,238 @@ msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s lisäsi päivityksesi ajalta %2$s suosikkeihinsa.\n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
 "Add your Twitter account to automatically send your notices to Twitter, "
 msgstr ""
+"Lisää Twitter käyttäjätunnuksesi lähettääksesi päivitykset automaattisesti "
+"myös Twitteriin, "
 
 #: actions/twittersettings.php:41 actions/twittersettings.php:60
 msgid "Twitter settings"
-msgstr ""
+msgstr "Twitter-asetukset"
 
 #: actions/twittersettings.php:48 actions/twittersettings.php:105
 msgid "Twitter Account"
-msgstr ""
+msgstr "Twitter käyttäjätili"
 
 #: actions/twittersettings.php:56 actions/twittersettings.php:113
 msgid "Current verified Twitter account."
-msgstr ""
+msgstr "Tämänhetkinen vahvistettu Twitter käyttäjätilisi."
 
 #: actions/twittersettings.php:63
 msgid "Twitter Username"
-msgstr ""
+msgstr "Twitter-käyttäjätunnus"
 
 #: actions/twittersettings.php:65 actions/twittersettings.php:123
 msgid "No spaces, please."
-msgstr ""
+msgstr "Ei välilyöntejä, kiitos."
 
 #: actions/twittersettings.php:67
 msgid "Twitter Password"
-msgstr ""
+msgstr "Twitter-salasana"
 
 #: actions/twittersettings.php:72 actions/twittersettings.php:139
 msgid "Automatically send my notices to Twitter."
-msgstr ""
+msgstr "Lähetä päivitykseni automaattisesti Twitteriin."
 
 #: actions/twittersettings.php:75 actions/twittersettings.php:146
 msgid "Send local \"@\" replies to Twitter."
-msgstr ""
+msgstr "Lähetä paikalliset \"@\"-vastaukset Twitteriin."
 
 #: actions/twittersettings.php:78 actions/twittersettings.php:153
 msgid "Subscribe to my Twitter friends here."
-msgstr ""
+msgstr "Tilaa kavereitteni Twitter päivitykset täällä."
 
 #: actions/twittersettings.php:122
 msgid ""
 "Username must have only numbers, upper- and lowercase letters, and "
 "underscore (_). 15 chars max."
 msgstr ""
+"Käyttäjätunnuksessa voi olla vain numeroita, isoja ja pieniä kirjaimia ja "
+"alaviiva (_). 15 merkkiä maksimissaan."
 
 #: actions/twittersettings.php:128 actions/twittersettings.php:334
 msgid "Could not verify your Twitter credentials!"
-msgstr ""
+msgstr "Twitter-tunnustasi ei voitu vahvistaa!"
 
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "Ei pystytty hakemaan käyttäjän \"%s\" tietoja Twitteristä."
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
 msgid "Unable to save your Twitter settings!"
-msgstr ""
+msgstr "Twitter-asetuksia ei voitu tallentaa!"
 
 #: actions/twittersettings.php:174 actions/twittersettings.php:376
 msgid "Twitter settings saved."
-msgstr ""
+msgstr "Twitter-asetukset tallennettu."
 
 #: actions/twittersettings.php:192 actions/twittersettings.php:395
 msgid "That is not your Twitter account."
-msgstr ""
+msgstr "Tämä ei ole sinun Twitter käyttäjätilisi."
 
 #: actions/twittersettings.php:200 actions/twittersettings.php:208
 #: actions/twittersettings.php:403
 msgid "Couldn't remove Twitter user."
-msgstr ""
+msgstr "Twitter käyttäjää ei onnistuttu poistamaan."
 
 #: actions/twittersettings.php:212 actions/twittersettings.php:407
 msgid "Twitter account removed."
-msgstr ""
+msgstr "Twitter käyttäjätili poistettu."
 
 #: actions/twittersettings.php:225 actions/twittersettings.php:239
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "Twitter-asetuksia ei voitu tallentaa."
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
 msgid "Twitter preferences saved."
-msgstr ""
+msgstr "Twitter-asetukset tallennettu."
 
 #: actions/userauthorization.php:84 actions/userauthorization.php:86
 msgid "Please check these details to make sure "
-msgstr ""
+msgstr "Tarkista näistä tiedoista haluatko "
 
+# koodissa jatkuu "but no callback url was passed"...
 #: actions/userauthorization.php:324 actions/userauthorization.php:340
 msgid "The subscription has been authorized, but no "
-msgstr ""
+msgstr "Tilausta ei ole hyväksytty, mutta"
 
+# koodissa jatkuu "but no callback url was passed"
 #: actions/userauthorization.php:334 actions/userauthorization.php:351
 msgid "The subscription has been rejected, but no "
-msgstr ""
+msgstr "Tilaus on hylätty, mutta "
 
 #: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
 msgid "Command results"
-msgstr ""
+msgstr "Komennon tulos"
 
 #: classes/Channel.php:148 classes/Channel.php:204
 msgid "Command complete"
-msgstr ""
+msgstr "Komento suoritettu"
 
 #: classes/Channel.php:158 classes/Channel.php:215
 msgid "Command failed"
-msgstr ""
+msgstr "Komento epäonnistui"
 
 #: classes/Command.php:39 classes/Command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "Valitettavasti tätä komentoa  ei ole vielä toteutettu."
 
 #: classes/Command.php:96 classes/Command.php:113
 #, php-format
 msgid "Subscriptions: %1$s\n"
-msgstr ""
+msgstr "Tilaukset: %1$s\n"
 
 #: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
 #: classes/Command.php:276
 msgid "User has no last notice"
-msgstr ""
+msgstr "Käyttäjällä ei ole viimeistä päivitystä"
 
 #: classes/Command.php:146 classes/Command.php:166
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "Päivitys on merkitty suosikiksi."
 
 #: classes/Command.php:166 classes/Command.php:189
 #, php-format
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s (%2$s)"
 
 #: classes/Command.php:169 classes/Command.php:192
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "Koko nimi: %s"
 
 #: classes/Command.php:172 classes/Command.php:195
 #, php-format
 msgid "Location: %s"
-msgstr ""
+msgstr "Kotipaikka: %s"
 
 #: classes/Command.php:175 classes/Command.php:198
 #, php-format
 msgid "Homepage: %s"
-msgstr ""
+msgstr "Kotisivu: %s"
 
 #: classes/Command.php:178 classes/Command.php:201
 #, php-format
 msgid "About: %s"
-msgstr ""
+msgstr "Tietoa: %s"
 
 #: classes/Command.php:200 classes/Command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
-msgstr ""
+msgstr "Viesti oli liian pitkä - maksimikoko on 140 merkkiä, lähetit %d"
 
 #: classes/Command.php:214 classes/Command.php:245
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "Suora viesti käyttäjälle %s lähetetty"
 
 #: classes/Command.php:216 classes/Command.php:247
 msgid "Error sending direct message."
-msgstr ""
+msgstr "Tapahtui virhe suoran viestin lähetyksessä."
 
 #: classes/Command.php:263 classes/Command.php:300
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "Anna käyttäjätunnus, jonka päivitykset haluat tilata"
 
 #: classes/Command.php:270 classes/Command.php:307
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "Käyttäjän %s päivitykset tilattu"
 
 #: classes/Command.php:288 classes/Command.php:328
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "Anna käyttäjätunnus, jonka päivityksien tilauksen haluat lopettaa"
 
 #: classes/Command.php:295 classes/Command.php:335
 #, php-format
 msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "Käyttäjän %s päivitysten tilaus lopetettu"
 
 #: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
 #: classes/Command.php:376
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "Komentoa ei ole vielä toteutettu."
 
 #: classes/Command.php:313 classes/Command.php:356
 msgid "Notification off."
-msgstr ""
+msgstr "Ilmoitukset pois päältä."
 
 #: classes/Command.php:315 classes/Command.php:358
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "Ilmoituksia ei voi pistää pois päältä."
 
 #: classes/Command.php:333 classes/Command.php:379
 msgid "Notification on."
-msgstr ""
+msgstr "Ilmoitukset päällä."
 
 #: classes/Command.php:335 classes/Command.php:381
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "Ilmoituksia ei voi pistää päälle."
 
 #: classes/Command.php:344 classes/Command.php:392
 msgid "Commands:\n"
-msgstr ""
+msgstr "Komennot:\n"
 
 #: classes/Message.php:53 classes/Message.php:56
 msgid "Could not insert message."
-msgstr ""
+msgstr "Viestin tallennus ei onnistunut."
 
 #: classes/Message.php:63 classes/Message.php:66
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "Viestin päivittäminen uudella URI-osoitteella ei onnistunut."
 
 #: lib/gallery.php:46
 msgid "User without matching profile in system."
-msgstr ""
+msgstr "Käyttäjälle ei löydy vastaavaa profiilia palvelussa."
 
 #: lib/mail.php:147 lib/mail.php:289
 #, php-format
@@ -3399,11 +3444,13 @@ msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgstr ""
+"Sinulla on uusi lähetysosoite palvelussa %1$s.\n"
+"\n"
 
 #: lib/mail.php:249 lib/mail.php:508
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "Uusi yksityisviesti käyttäjältä %s"
 
 #: lib/mail.php:253 lib/mail.php:512
 #, php-format
@@ -3411,88 +3458,89 @@ msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
 msgstr ""
+"%1$s (%2$s) lähetti sinulle yksityisviestin:\n"
+"\n"
 
 #: lib/mailbox.php:43 lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "Vain käyttäjä voi lukea omaa postilaatikkoaan."
 
 #: lib/openid.php:195 lib/openid.php:203
 msgid "This form should automatically submit itself. "
-msgstr ""
+msgstr "Tämän lomakkeen pitäisi automaattisesti lähettää tiedot. "
 
 #: lib/personal.php:65 lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "Suosikit"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "Käyttäjän %s suosikkipäivitykset"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 msgid "User"
-msgstr ""
+msgstr "Käyttäjä"
 
 #: lib/personal.php:75 lib/personalgroupnav.php:123
 msgid "Inbox"
-msgstr ""
+msgstr "Saapuneet"
 
 #: lib/personal.php:76 lib/personalgroupnav.php:124
 msgid "Your incoming messages"
-msgstr ""
+msgstr "Sinulle saapuneet viestit"
 
 #: lib/personal.php:80 lib/personalgroupnav.php:128
 msgid "Outbox"
-msgstr ""
+msgstr "Lähetetyt"
 
 #: lib/personal.php:81 lib/personalgroupnav.php:129
 msgid "Your sent messages"
-msgstr ""
+msgstr "Lähettämäsi viestit"
 
 #: lib/settingsaction.php:99 lib/connectsettingsaction.php:110
 msgid "Twitter"
-msgstr ""
+msgstr "Twitter"
 
 #: lib/settingsaction.php:100 lib/connectsettingsaction.php:111
 msgid "Twitter integration options"
-msgstr ""
+msgstr "Twitter yhdistämisen asetukset"
 
 #: lib/util.php:1718 lib/messageform.php:139 lib/noticelist.php:422
 msgid "To"
-msgstr ""
+msgstr "Vastaanottaja"
 
 #: scripts/maildaemon.php:45 scripts/maildaemon.php:48
 msgid "Could not parse message."
-msgstr ""
+msgstr "Ei voitu lukea viestiä."
 
 #: actions/all.php:63 actions/facebookhome.php:162
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s ja kaverit"
+msgstr "%s ja kaverit, sivu %d"
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
-msgstr ""
+msgstr "Voit ladata oman profiilikuvasi."
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "Sähköpostiasetukset"
+msgstr "Profiilikuva-asetukset"
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "Alkuperäinen"
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "Esikatselu"
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
+msgstr "Rajaa"
 
 #: actions/avatarsettings.php:248 actions/deletenotice.php:133
 #: actions/emailsettings.php:224 actions/grouplogo.php:307
@@ -3504,577 +3552,557 @@ msgstr ""
 #: actions/subedit.php:38 actions/twittersettings.php:290
 #: actions/userauthorization.php:39
 msgid "There was a problem with your session token. "
-msgstr ""
+msgstr "Istuntoavaimesi kanssa oli ongelma."
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Valitse neliön muotoinen alue kuvasta profiilikuvaksi"
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "Tiedoston data hävisi."
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
 msgid "Lost our file."
-msgstr ""
+msgstr "Tiedosto hävisi."
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
 #: classes/User_group.php:129 classes/User_group.php:161
 msgid "Unknown file type"
-msgstr ""
+msgstr "Tunnistamaton tiedoston tyyppi"
 
 #: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
 msgid "No profile specified."
-msgstr ""
+msgstr "Profiilia ei ole määritelty."
 
 #: actions/block.php:74 actions/subedit.php:53 actions/tagother.php:46
 #: actions/unblock.php:75
 msgid "No profile with that ID."
-msgstr ""
+msgstr "Ei profiilia tuolle ID:lle."
 
 #: actions/block.php:111
 msgid "Block user"
-msgstr ""
+msgstr "Estä käyttäjä"
 
 #: actions/block.php:129
 msgid "Are you sure you want to block this user? "
-msgstr ""
+msgstr "Oletko varma että haluat estää tämän käyttäjän?"
 
 #: actions/block.php:162
 msgid "You have already blocked this user."
-msgstr ""
+msgstr "Sinä olet jo estänyt tämän käyttäjän."
 
 #: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "Käyttäjän estotiedon tallennus epäonnistui."
 
 #: actions/confirmaddress.php:159
 #, php-format
 msgid "The address \"%s\" has been "
-msgstr ""
+msgstr "Osoite \"%s\" on "
 
 #: actions/deletenotice.php:73
-#, fuzzy
 msgid "You are about to permanently delete a notice. "
-msgstr "Oletko varma että haluat poistaa tämän päivityksen?"
+msgstr "Olet poistamassa pysyvästi tämän päivityksen. "
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "Lisää suosikkeihin"
 
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "Muokkaa ryhmää %s"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "Toimiakseen postilaatikkojen pitää olla käytössä ryhmille"
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "Sinun pitää olla kirjautunut sisään jotta voit luoda ryhmän."
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "Käyttäjätunnusta ei ole."
+msgstr "Tunnusta ei ole."
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
 #: actions/showgroup.php:128
-#, fuzzy
 msgid "No such group"
-msgstr "Tuota käyttäjää ei ole."
+msgstr "Tuota ryhmää ei ole."
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "Sinun pitää olla ylläpitäjä, jotta voit muokata ryhmää"
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Käytä tätä lomaketta muokataksesi ryhmää."
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
-#, fuzzy
 msgid "Nickname must have only lowercase letters "
-msgstr ""
-"Käyttäjätunnuksessa voi olla ainoastaan pieniä kirjaimia ja numeroita ilman "
-"välilyöntiä."
+msgstr "Tunnuksessa voi olla ainoastaan pieniä kirjaimia "
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
-#, fuzzy
 msgid "description is too long (max 140 chars)."
-msgstr "Bio on liian pitkä (max 140 merkkiä)."
+msgstr "kuvaus on liian pitkä (max 140 merkkiä)."
 
 #: actions/editgroup.php:218
-#, fuzzy
 msgid "Could not update group."
-msgstr "Ei voitu päivittää käyttäjää."
+msgstr "Ei voitu päivittää ryhmää."
 
 #: actions/editgroup.php:226
 msgid "Options saved."
-msgstr ""
+msgstr "Asetukset tallennettu."
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
-#, fuzzy, php-format
+#, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "Odotetaan vahvistusta tälle puhelinnumerolle."
+msgstr "Odotetaan vahvistusta tälle osoitteelle."
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
-#, fuzzy
 msgid "Make a new email address for posting to; "
-msgstr "Uusi sähköpostiosoite päivityksien lähettämiseen on %s"
+msgstr "Tee uusi sähköpostiosoite päivityksien lähettämiseen; "
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "Lähetä sähköpostia kun joku "
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "Salli kavereiden tönäistä minua ja lähetä sähköpostilla ilmoitus."
 
 #: actions/emailsettings.php:321
-#, fuzzy
 msgid "That email address already belongs "
-msgstr "Sähköpostiosoite on jo käytössä."
+msgstr "Sähköpostiosoite on jo käytössä "
 
 #: actions/emailsettings.php:343
-#, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
-msgstr ""
-"Vahvistuskoodi lähetettiin antamaasi IM osoitteeseen. Sinun täytyy antaa "
-"oikeus lähettäjälle %s lähettää viestejä sinulle."
+msgstr "Vahvistuskoodi lähetettiin lisäämääsi sähköpostiosoitteeseen. "
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "Palvelinvirhe - käyttäjän tietoja ei saatu!"
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "Jos haluat %s-sovelluksen automaattisesti päivittävän "
 
 #: actions/facebookhome.php:213 actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "Salli palvelun %s päivittää Facebook-tilani"
 
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "Ohita"
 
 #: actions/facebookhome.php:235
-#, fuzzy
 msgid "No notice content!"
-msgstr "Ei sisältöä!"
+msgstr "Päivityksellä ei ole sisältöä!"
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "Sivutus"
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
 msgid "After"
-msgstr ""
+msgstr "Myöhemmin"
 
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
-#, fuzzy
 msgid "Before"
-msgstr "Ennen Â»"
+msgstr "Aiemmin"
 
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "Kiitos, kun kutsuit kavereitasi käyttämään palvelua %s"
 
 #: actions/facebookinvite.php:72
-#, fuzzy
 msgid "Invitations have been sent to the following users:"
-msgstr "Kutsu(t) lähetettiin seuraaville henkilöille:"
+msgstr "Kutsu lähetettiin seuraaville henkilöille:"
 
 #: actions/facebookinvite.php:96
 #, php-format
 msgid "You have been invited to %s"
-msgstr ""
+msgstr "Sinut on kutsuttu palveluun %s"
 
 #: actions/facebookinvite.php:105
-#, fuzzy, php-format
+#, php-format
 msgid "Invite your friends to use %s"
-msgstr "Syöte käyttäjän %s kavereista"
+msgstr "Kutsu kavereitasi käyttämään %s palvelua"
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "Kaverisi jotka käyttävät jo %s palvelua:"
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "Lähetä kutsut"
 
 #: actions/facebookremove.php:56
 msgid "Couldn't remove Facebook user."
-msgstr ""
+msgstr "Facebook käyttäjää ei voitu poistaa."
 
+# Pitää tarkistaa mitä nuo sync on!
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
-msgstr ""
+msgstr "Synkronointiasetusten tallennus epäonnistui!"
 
 #: actions/facebooksettings.php:67
 msgid "Sync preferences saved."
-msgstr ""
+msgstr "Synkronointiasetukset tallennettiin."
 
 #: actions/facebooksettings.php:90
 msgid "Automatically update my Facebook status with my notices."
-msgstr ""
+msgstr "Päivitä Facebook-tilani automaattisesti."
 
 #: actions/facebooksettings.php:97
 msgid "Send \"@\" replies to Facebook."
-msgstr ""
+msgstr "Lähetä \"@\" vastaukset Facebookiin."
 
 #: actions/facebooksettings.php:106
 msgid "Prefix"
-msgstr ""
+msgstr "Etuliite"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
-msgstr ""
+msgstr "Etuliite päivityksille."
 
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "Jos haluat että %s päivittää automaattisesti "
 
 #: actions/facebooksettings.php:147
 msgid "Sync preferences"
-msgstr ""
+msgstr "Synkronointiasetukset"
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "Poista suosikeista"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
 msgid "Popular notices"
-msgstr ""
+msgstr "Suosituimmat päivitykset"
 
 #: actions/favorited.php:67
 #, php-format
 msgid "Popular notices, page %d"
-msgstr ""
+msgstr "Suosituimmat päivitykset, sivu %d"
 
 #: actions/favorited.php:79
 msgid "The most popular notices on the site right now."
-msgstr ""
+msgstr "Suosituimmat päivitykset sivustolla juuri nyt."
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
 msgid "Featured users"
-msgstr ""
+msgstr "Esittelyssä olevat käyttäjät"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "Esittelyssä olevat käyttäjät, sivu %d"
 
+# Valikoima, joukko
 #: actions/featured.php:99
 #, php-format
 msgid "A selection of some of the great users on %s"
-msgstr ""
+msgstr "Valikoima joitakin loistavia palvelun %s käyttäjiä"
 
 #: actions/finishremotesubscribe.php:188
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "Käyttäjä on estänyt sinua tilaamasta päivityksiä."
 
 #: actions/groupbyid.php:79
 msgid "No ID"
-msgstr ""
+msgstr "ID-tunnusta ei ole"
 
 #: actions/grouplogo.php:138 actions/grouplogo.php:191
 msgid "Group logo"
-msgstr ""
+msgstr "Ryhmän logo"
 
 #: actions/grouplogo.php:149
 msgid "You can upload a logo image for your group."
-msgstr ""
+msgstr "Voit ladata ryhmälle logon."
 
 #: actions/grouplogo.php:448
-#, fuzzy
 msgid "Logo updated."
-msgstr "Avatar päivitetty"
+msgstr "Logo päivitetty."
 
 #: actions/grouplogo.php:450
-#, fuzzy
 msgid "Failed updating logo."
-msgstr "Avatarin päivittäminen epäonnistui."
+msgstr "Logon päivittäminen epäonnistui."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:91
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "Ryhmän %s jäsenet"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "Ryhmän %s jäsenet, sivu %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "Lista ryhmän käyttäjistä."
 
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "Ryhmät"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Ryhmät, sivu %d"
 
 #: actions/groups.php:90
 #, php-format
 msgid "%%%%site.name%%%% groups let you find and talk with "
-msgstr ""
+msgstr "%%%%site.name%%%%-ryhmissä voit löytää ja keskustella "
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
-#, fuzzy
 msgid "Create a new group"
-msgstr "Luo uusi käyttäjätili"
+msgstr "Luo uusi ryhmä"
 
 #: actions/groupsearch.php:57
 #, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
 msgstr ""
+"Hae %%site.name%% ryhmiä niiden nimen, paikan tai kuvauksen perusteella. "
 
 #: actions/groupsearch.php:63
 msgid "Group search"
-msgstr ""
+msgstr "Ryhmähaku"
 
 #: actions/imsettings.php:70
 msgid "You can send and receive notices through "
-msgstr ""
+msgstr "Voit lähettää ja vastaaottaa päivityksiä "
 
 #: actions/imsettings.php:120
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Jabber tai GTalk -osoite, "
 
 #: actions/imsettings.php:147
 msgid "Send me replies through Jabber/GTalk "
-msgstr ""
+msgstr "Lähetä minulle vastaukset Jabberin/GTalkin kautta "
 
 #: actions/imsettings.php:321
-#, fuzzy, php-format
+#, php-format
 msgid "A confirmation code was sent "
-msgstr "Varmistuskoodia ei ole annettu."
+msgstr "Varmistuskoodi lähetettiin "
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "Sinun pitää olla kirjautunut sisään, jos haluat liittyä ryhmään."
 
 #: actions/joingroup.php:95
 msgid "You are already a member of that group"
-msgstr ""
+msgstr "Sinä kuulut jo tähän ryhmään "
 
 #: actions/joingroup.php:128
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "Ei voitu tilata käyttäjää: Käyttäjää ei löytynyt."
+msgstr "Käyttäjää %s ei voinut liittää ryhmään %s"
 
 #: actions/joingroup.php:135
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s liittyi ryhmään %s"
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
 msgstr ""
+"Postilaatikkojen täytyy olla otettu käyttöön, jotta ryhmäominaisuus toimii."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "Sinun pitää olla kirjautunut sisään, jotta voit erota ryhmästä."
 
 #: actions/leavegroup.php:88
-#, fuzzy
 msgid "No such group."
-msgstr "Tuota käyttäjää ei ole."
+msgstr "Tuota ryhmää ei ole."
 
 #: actions/leavegroup.php:95
 msgid "You are not a member of that group."
-msgstr ""
+msgstr "Sinä et kuulu tähän ryhmään."
 
 #: actions/leavegroup.php:100
 msgid "You may not leave a group while you are its administrator."
-msgstr ""
+msgstr "Et voi erota ryhmästä, kun olet sen ylläpitäjä."
 
 #: actions/leavegroup.php:130
-#, fuzzy
 msgid "Could not find membership record."
-msgstr "Ei voitu päivittää käyttäjätietoja."
+msgstr "Ei löydetty käyttäjän jäsenyystietoja."
 
 #: actions/leavegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "Ei voitu tilata käyttäjää: Käyttäjää ei löytynyt."
+msgstr "Ei voitu poistaa käyttäjää %s ryhmästä %s"
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s erosi ryhmästä %s"
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Kirjaudu sisään"
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "Ei nykyistä tilatietoa"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Uusi ryhmä"
 
 #: actions/newgroup.php:115
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "Käytä tätä lomaketta luodaksesi ryhmän."
 
 #: actions/newgroup.php:177
-#, fuzzy
 msgid "Could not create group."
-msgstr "Ei voitu tilata toista"
+msgstr "Ryhmän luonti ei onnistunut."
 
 #: actions/newgroup.php:191
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Ei voitu tilata"
+msgstr "Ryhmän jäsenyystietoja ei voitu asettaa."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
 msgid "That's too long. "
-msgstr ""
+msgstr "Liikaa merkkejä. "
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "Älä lähetä viestiä itsellesi; "
 
 #: actions/newnotice.php:166
 msgid "Notice posted"
-msgstr ""
+msgstr "Päivitys lähetetty"
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
-msgstr ""
+msgstr "Ajax-virhe"
 
 #: actions/nudge.php:85
 msgid ""
 "This user doesn't allow nudges or hasn't confirmed or set his email yet."
 msgstr ""
+"Käyttäjä ei ole sallinut tönäisyjä tai ei ole vahvistanut "
+"sähköpostiosoitettaan."
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr ""
+msgstr "Tönäisy lähetetty"
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr ""
+msgstr "Tönäisy lähetetty!"
 
 #: actions/openidlogin.php:97
-#, fuzzy
 msgid "OpenID login"
-msgstr "OpenID Sisäänkirjautuminen"
+msgstr "OpenID sisäänkirjautuminen"
 
 #: actions/openidsettings.php:128
 msgid "Removing your only OpenID "
-msgstr ""
+msgstr "Viimeisen OpenID-tunnuksesi poistaminen  "
 
 #: actions/othersettings.php:60
 msgid "Other Settings"
-msgstr ""
+msgstr "Muita Asetuksia"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "Hallinnoi muita asetuksia."
 
 #: actions/othersettings.php:93
 msgid "URL Auto-shortening"
-msgstr ""
+msgstr "URL-osoitteen automaattinen lyhennys"
 
 #: actions/othersettings.php:112
 msgid "Service"
-msgstr ""
+msgstr "Palvelu"
 
 #: actions/othersettings.php:113
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "Käytettävä automaattinen lyhennyspalvelu."
 
 #: actions/othersettings.php:144
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr ""
+msgstr "URL-lyhennyspalvelun nimi on liian pitkä (max 50 merkkiä)."
 
 #: actions/passwordsettings.php:69
-#, fuzzy
 msgid "Change your password."
-msgstr "Vaihda salasanasi"
+msgstr "Vaihda salasanasi."
 
 #: actions/passwordsettings.php:89
 msgid "Password change"
-msgstr ""
+msgstr "Salasanan vaihto"
 
 #: actions/peopletag.php:35
 #, php-format
 msgid "Not a valid people tag: %s"
-msgstr ""
+msgstr "Ei sallittu henkilötagi: %s"
 
 #: actions/peopletag.php:47
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "Käyttäjät joilla henkilötagi %s - sivu %d"
 
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "Näillä käyttäjillä on henkilötagi \"%s\" "
 
 #: actions/profilesettings.php:91
 msgid "Profile information"
-msgstr ""
+msgstr "Profiilitieto"
 
 #: actions/profilesettings.php:124
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
+"Kuvaa itseäsi henkilötageilla (sanoja joissa voi olla muita kirjaimia kuin "
+"ääkköset, numeroita, -, ., ja _), pilkulla tai välilyönnillä erotettuna"
 
 #: actions/profilesettings.php:144
-#, fuzzy
 msgid "Automatically subscribe to whoever "
-msgstr ""
-"Tilaa automaattisesti kaikki, jotka tilaavat minun päivitykset (ei sovi  "
-"hyvin ihmiskäyttäjille)"
+msgstr "Tilaa automaattisesti kaikki, jotka "
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
 #, php-format
 msgid "Invalid tag: \"%s\""
-msgstr ""
+msgstr "Virheellinen tagi: \"%s\""
 
 #: actions/profilesettings.php:311
 msgid "Couldn't save tags."
-msgstr ""
+msgstr "Tageja ei voitu tallentaa."
 
 #: actions/public.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "%s julkiset päivitykset"
+msgstr "Julkinen aikajana, sivu %d"
 
 #: actions/public.php:173
 msgid "Could not retrieve public stream."
-msgstr ""
+msgstr "Julkista päivitysvirtaa ei saatu."
 
 #: actions/public.php:220
 #, php-format
@@ -4082,134 +4110,132 @@ msgid ""
 "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
 "blogging) service "
 msgstr ""
+"Tämä on %%site.name%%, [mikroblogaus](http://en.wikipedia.org/wiki/Micro-"
+"blogging)palvelu "
 
 #: actions/publictagcloud.php:57
 msgid "Public tag cloud"
-msgstr ""
+msgstr "Julkinen tagipilvi"
 
+# ssa pääte ensimmäistä kertaa
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "Nämä ovat suosituimmat viimeaikaiset tagit %s -palvelussa"
 
 #: actions/publictagcloud.php:119
 msgid "Tag cloud"
-msgstr ""
+msgstr "Tagipilvi"
 
 #: actions/register.php:139 actions/register.php:349
 msgid "Sorry, only invited people can register."
-msgstr ""
+msgstr "Valitettavasti vain kutsutut ihmiset voivat rekisteröityä."
 
 #: actions/register.php:149
 msgid "You can't register if you don't "
-msgstr ""
+msgstr "Et voi rekisteröityä, jos sinulla ei ole "
 
 #: actions/register.php:286
 msgid "With this form you can create "
-msgstr ""
+msgstr "Tällä lomakkeella voit luoda "
 
 #: actions/register.php:368
-#, fuzzy
 msgid "1-64 lowercase letters or numbers, "
-msgstr "1-64 pientä kirjainta tai numeroa, ei välimerkkejä tai välilyöntejä"
+msgstr "1-64 pientä kirjainta tai numeroa, ei ääkkösiä"
 
 #: actions/register.php:382 actions/register.php:386
 msgid "Used only for updates, announcements, "
-msgstr ""
+msgstr "Käytetään ainoastaan päivityksiin, ilmoituksiin, "
 
 #: actions/register.php:398
 msgid "URL of your homepage, blog, "
-msgstr ""
+msgstr "Verkko-osoite kotivullesi, blogiin, "
 
 #: actions/register.php:404
-#, fuzzy
 msgid "Describe yourself and your "
-msgstr "Kuvaile itseäsi ja kiinnostuksia 140 merkillä"
+msgstr "Kuvaile itseäsi ja"
 
 #: actions/register.php:410
 msgid "Where you are, like \"City, "
-msgstr ""
+msgstr "Missä olet, kuten \"Kaupunki, "
 
 #: actions/register.php:432
-#, fuzzy
 msgid " except this private data: password, "
-msgstr ""
-" poislukien yksityinen tieto: salasana, sähköpostiosoite, IM osoite, "
-"puhelinnumero."
+msgstr " poislukien yksityinen tieto: salasana, "
 
 #: actions/register.php:471
 #, php-format
 msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. "
-msgstr ""
+msgstr "Onnittelut, %s! Ja tervetuloa palveluun %%%%site.name%%%%. "
 
 #: actions/register.php:495
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(Sinun pitäisi saada viesti sähköpostilla "
 
 #: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
 msgstr ""
+"Tämä on paikallinen profiili. Kirjaudu sisään, jotta voit tilata "
+"päivitykset."
 
 #: actions/replies.php:118
 #, php-format
 msgid "Replies to %s, page %d"
-msgstr ""
+msgstr "Vastaukset käyttäjälle %s, sivu %d"
 
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "Käyttäjän %s suosikkipäivitykset, sivu %d"
 
 #: actions/showgroup.php:77 lib/groupnav.php:85
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "Ryhmä %s"
 
 #: actions/showgroup.php:79
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "Ryhmä %s, sivu %d"
 
 #: actions/showgroup.php:206
-#, fuzzy
 msgid "Group profile"
-msgstr "Virhe tapahtui profiilin päivittämisessä"
+msgstr "Ryhmän profiili"
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
-# Notice suomennos vielä hakusessa
+# Missähän yhteydessä tämä oikein on. pitää tarkistaa vielä
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
-#, fuzzy
 msgid "Note"
-msgstr "Päivitykset"
+msgstr "Huomaa"
 
+# Pitää tarkistaa
 #: actions/showgroup.php:270
 msgid "Group actions"
-msgstr ""
+msgstr "Ryhmän toiminnot"
 
 #: actions/showgroup.php:323
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group"
-msgstr "Päivityksien syöte käyttäjälle %s"
+msgstr "Päivityssyöte ryhmälle %s"
 
 #: actions/showgroup.php:357 lib/groupnav.php:90
-#, fuzzy
 msgid "Members"
-msgstr "Käyttäjä alkaen"
+msgstr "Jäsenet"
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(Tyhjä)"
 
 #: actions/showgroup.php:370
 msgid "All members"
-msgstr ""
+msgstr "Kaikki jäsenet"
 
 #: actions/showgroup.php:378
 #, php-format
@@ -4217,49 +4243,49 @@ msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** on ryhmä palvelussa %%%%site.name%%%%, joka on "
+"[mikroblogauspalvelu](http://en.wikipedia.org/wiki/Micro-blogging)"
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient "
-msgstr ""
+msgstr "Vain lähettäjä ja vastaanottaja "
 
 #: actions/showstream.php:73
 #, php-format
 msgid "%s, page %d"
-msgstr ""
+msgstr "%s, sivu %d"
 
 #: actions/showstream.php:143
-#, fuzzy
 msgid "'s profile"
-msgstr "Ei voitu tallettaa profiilia."
+msgstr "nimisen käyttäjän profiili"
 
 #: actions/showstream.php:236 actions/tagother.php:77
 msgid "User profile"
-msgstr ""
+msgstr "Käyttäjän profiili"
 
 #: actions/showstream.php:240 actions/tagother.php:81
 msgid "Photo"
-msgstr ""
+msgstr "Kuva"
 
 #: actions/showstream.php:317
 msgid "User actions"
-msgstr ""
+msgstr "Käyttäjän toiminnot"
 
 #: actions/showstream.php:342
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "Lähetä suora viesti tälle käyttäjälle"
 
 #: actions/showstream.php:343
 msgid "Message"
-msgstr ""
+msgstr "Viesti"
 
 #: actions/showstream.php:451
-#, fuzzy
 msgid "All subscribers"
-msgstr "Kaikki tilaukset"
+msgstr "Kaikki tilaajat"
 
 #: actions/showstream.php:533
 msgid "All groups"
-msgstr ""
+msgstr "Kaikki ryhmät"
 
 #: actions/showstream.php:542
 #, php-format
@@ -4267,457 +4293,451 @@ msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"Käyttäjällä **%s** on käyttäjätili palvelussa %%%%site.name%%%%, joka on "
+"[mikroblogauspalvelu](http://en.wikipedia.org/wiki/Micro-blogging)"
 
 #: actions/smssettings.php:128
-#, fuzzy
 msgid "Phone number, no punctuation or spaces, "
-msgstr "1-64 pientä kirjainta tai numeroa, ei välimerkkejä tai välilyöntejä"
+msgstr "Puhelinnumero, ei välimerkkejä tai välilyöntejä, "
 
 #: actions/smssettings.php:162
 msgid "Send me notices through SMS; "
-msgstr ""
+msgstr "Lähetä minulle päivitykset SMS:n välityksellä; "
 
 #: actions/smssettings.php:335
-#, fuzzy
 msgid "A confirmation code was sent to the phone number you added. "
-msgstr "Odotetaan vahvistusta tälle puhelinnumerolle."
+msgstr "Vahvistuskoodi on lähetetty antamaasi puhelinnumeroon. "
 
 #: actions/smssettings.php:453
 msgid "Mobile carrier"
-msgstr ""
+msgstr "Matkapuhelinoperaattori"
 
 #: actions/subedit.php:70
 msgid "You are not subscribed to that profile."
-msgstr ""
+msgstr "Et ole tilannut tämän käyttäjän päivityksiä."
 
 #: actions/subedit.php:83
 msgid "Could not save subscription."
-msgstr ""
+msgstr "Tilausta ei onnistuttu tallentamaan."
 
 #: actions/subscribe.php:55
 msgid "Not a local user."
-msgstr ""
+msgstr "Käyttäjä ei ole rekisteröitynyt tähän palveluun."
 
 #: actions/subscribe.php:69
 msgid "Subscribed"
-msgstr ""
+msgstr "Tilattu"
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "Ei ole tilattu!."
+msgstr "Käyttäjän %s tilaajat"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "Käyttäjän %s tilaajat, sivu %d"
 
 #: actions/subscribers.php:63
 msgid "These are the people who listen to "
-msgstr ""
+msgstr "Tässä ovat ihmiset, jotka seuraavat "
 
 #: actions/subscribers.php:67
 #, php-format
 msgid "These are the people who "
-msgstr ""
+msgstr "Tässä ovat ihmiset, jotka "
 
 #: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions"
-msgstr "Kaikki tilaukset"
+msgstr "Käyttäjän %s tilaukset"
 
 #: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions, page %d"
-msgstr "Kaikki tilaukset"
+msgstr "Käyttäjän %s tilaukset, sivu %d"
 
 #: actions/subscriptions.php:65
 msgid "These are the people whose notices "
-msgstr ""
+msgstr "Tässä ovat ihmiset, joiden päivityksiä "
 
 #: actions/subscriptions.php:69
 #, php-format
 msgid "These are the people whose "
-msgstr ""
+msgstr "Tässä ovat ihmiset, joiden "
 
 #: actions/subscriptions.php:122
 msgid "Jabber"
-msgstr ""
+msgstr "Jabber"
 
 # tagi, tägätty, tagätty, tagatty, tagitetty,
 #: actions/tag.php:43
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "Päivitykset joilla on tägi %s"
+msgstr "Päivitykset joissa on tagi %s, sivu %d"
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "Viestit joissa on tagi %s, uusimmat ensin"
 
 #: actions/tagother.php:33
 msgid "Not logged in"
-msgstr ""
+msgstr "Et ole kirjautunut sisään"
 
 #: actions/tagother.php:39
 msgid "No id argument."
-msgstr ""
+msgstr "Ei id parametria."
 
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr ""
+msgstr "Tagi %s"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "Tagaa käyttäjä"
 
 #: actions/tagother.php:149
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
+"Käyttäjän tagit (kirjaimet, numerot, -, ., ja _), pilkulla tai välilyönnillä "
+"erotettuna"
 
 #: actions/tagother.php:164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "Istuntoavaimesi kanssa oli ongelma."
 
 #: actions/tagother.php:191
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr ""
+"Voit tagata ainoastaan ihmisiä, joita tilaat tai jotka tilaavat sinun "
+"päivityksiäsi."
 
 #: actions/tagother.php:198
 msgid "Could not save tags."
-msgstr ""
+msgstr "Tagien tallennus epäonnistui."
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
+"Käytä tätä lomaketta lisätäksesi tageja tilaajillesi ja käyttäjille jotka "
+"tilaavat päivityksiäsi."
 
 #: actions/tagrss.php:35
 msgid "No such tag."
-msgstr ""
+msgstr "Tuota tagia ei ole."
 
 #: actions/tagrss.php:66
 #, php-format
 msgid "Microblog tagged with %s"
-msgstr ""
+msgstr "Mikroblogi merkitty tageillä %s"
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
-msgstr ""
+msgstr "Käyttäjän esto epäonnistui."
 
 #: actions/twitapiblocks.php:69
 msgid "Unblock user failed."
-msgstr ""
+msgstr "Käyttäjän eston poisto epäonnistui."
 
 #: actions/twitapiusers.php:48
 msgid "Not found."
-msgstr ""
+msgstr "Ei löytynyt."
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
-msgstr ""
+msgstr "Lisää Twitter käyttäjätilisi lähettääksesi automaattisesti "
 
 #: actions/twittersettings.php:119
 msgid "Twitter user name"
-msgstr ""
+msgstr "Twitter käyttäjätunnus"
 
 #: actions/twittersettings.php:126
 msgid "Twitter password"
-msgstr ""
+msgstr "Twitter salasana"
 
 #: actions/twittersettings.php:228
 msgid "Twitter Friends"
-msgstr ""
+msgstr "Twitter kaverit"
 
 #: actions/twittersettings.php:327
 msgid "Username must have only numbers, "
-msgstr ""
+msgstr "Käyttäjätunnuksessa voi olla ainoastaan numeroita, "
 
 #: actions/twittersettings.php:341
 #, php-format
 msgid "Unable to retrieve account information "
-msgstr ""
+msgstr "Käyttäjätietoa ei saatu "
 
 #: actions/unblock.php:108
 msgid "Error removing the block."
-msgstr ""
+msgstr "Tapahtui virhe, kun estoa poistettiin."
 
 #: actions/unsubscribe.php:50
 msgid "No profile id in request."
-msgstr ""
+msgstr "Ei profiili id:tä kyselyssä."
 
 #: actions/unsubscribe.php:57
 msgid "No profile with that id."
-msgstr ""
+msgstr "Ei profiilia tuolla id:llä."
 
 #: actions/unsubscribe.php:71
 msgid "Unsubscribed"
-msgstr ""
+msgstr "Tilaus lopetettu"
 
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "Käyttäjän %s ryhmät"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "Käyttäjän %s ryhmät, sivu %d"
 
 #: classes/Notice.php:104
 msgid "Problem saving notice. Unknown user."
-msgstr ""
+msgstr "Virhe tapahtui päivityksen tallennuksessa. Tuntematon käyttäjä."
 
 #: classes/Notice.php:109
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
+"Liian monta päivitystä liian nopeasti; pidä pieni hengähdystauko ja jatka "
+"päivityksien lähettämista muutaman minuutin päästä."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "Päivityksesi tähän palveluun on estetty."
 
 #: lib/accountsettingsaction.php:108
-#, fuzzy
 msgid "Upload an avatar"
-msgstr "Avatarin päivittäminen epäonnistui."
+msgstr "Lataa kuva"
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
-msgstr ""
+msgstr "Muut"
 
 #: lib/accountsettingsaction.php:120
 msgid "Other options"
-msgstr ""
+msgstr "Muita asetuksia"
 
 #: lib/action.php:130
-#, fuzzy, php-format
+#, php-format
 msgid "%s - %s"
-msgstr "%s (%s)"
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "Nimetön sivu"
 
 #: lib/action.php:316
 msgid "Primary site navigation"
-msgstr ""
+msgstr "Ensisijainen sivunavigointi"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "Henkilökohtainen profiili ja kavereiden aikajana"
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "Hae ihmisiä tai tekstiä"
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Account"
-msgstr "Tietoa"
+msgstr "Käyttäjätili"
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Change your email, avatar, password, profile"
-msgstr "Vaihda salasanasi"
+msgstr "Muuta sähköpostiosoitettasi, kuvaasi, salasanaasi, profiiliasi"
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Yhdistä pikaviestimeen, SMS, Twitteriin"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Kirjaudu ulos palvelusta"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Kirjaudu sisään palveluun"
 
 #: lib/action.php:338
-#, fuzzy
 msgid "Create an account"
 msgstr "Luo uusi käyttäjätili"
 
 #: lib/action.php:341
-#, fuzzy
 msgid "Login with OpenID"
-msgstr "Tuota OpenID-tunnusta ei ole."
+msgstr "Kirjaudu sisään OpenID-tunnuksella"
 
 #: lib/action.php:344
-#, fuzzy
 msgid "Help me!"
-msgstr "Ohjeet"
+msgstr "Auta minua!"
 
 #: lib/action.php:362
-#, fuzzy
 msgid "Site notice"
-msgstr "Uusi päivitys"
+msgstr "Palvelun ilmoitus"
 
 #: lib/action.php:417
 msgid "Local views"
-msgstr ""
+msgstr "Paikalliset näkymät"
 
 #: lib/action.php:472
-#, fuzzy
 msgid "Page notice"
-msgstr "Uusi päivitys"
+msgstr "Sivuilmoitus"
 
 #: lib/action.php:562
 msgid "Secondary site navigation"
-msgstr ""
+msgstr "Toissijainen sivunavigointi"
 
 #: lib/action.php:602 lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "Laconica-ohjelmiston lisenssi"
 
 #: lib/action.php:630
 msgid "All "
-msgstr ""
+msgstr "Kaikki "
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "lisenssi."
 
 #: lib/blockform.php:123 lib/blockform.php:153
 msgid "Block this user"
-msgstr ""
+msgstr "Estä tämä käyttäjä"
 
 #: lib/blockform.php:153
 msgid "Block"
-msgstr ""
+msgstr "Estä"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "Poista tämä päivitys suosikeista"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "Käyttääksesi %s Facebook-sovellusta sinun pitää kirjautua sisään "
 
 #: lib/facebookaction.php:271
-#, fuzzy
 msgid " a new account."
-msgstr "Luo uusi käyttäjätili"
+msgstr " uusi käyttäjätili."
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
 msgid "Published"
-msgstr ""
+msgstr "Julkaistu"
 
 #: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
 msgid "Favor this notice"
-msgstr "Tuota päivitystä ei ole."
+msgstr "Merkitse päivitys suosikkeihin"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "Vie tietoja"
 
+# Filtteröi, erota,...
 #: lib/galleryaction.php:121
 msgid "Filter tags"
-msgstr ""
+msgstr "Suodata tagien perusteella"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "Kaikki"
 
 #: lib/galleryaction.php:137
 msgid "Tag"
-msgstr ""
+msgstr "Tagi"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "Valitse tagi lyhentääksesi listaa"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr ""
+msgstr "Mene"
 
 #: lib/groupeditform.php:148
 msgid "URL of the homepage or blog of the group or topic"
-msgstr ""
+msgstr "Ryhmän tai aiheen kotisivun tai blogin osoite"
 
 #: lib/groupeditform.php:151
-#, fuzzy
 msgid "Description"
-msgstr "Kaikki tilaukset"
+msgstr "Kuvaus"
 
 #: lib/groupeditform.php:153
-#, fuzzy
 msgid "Describe the group or topic in 140 chars"
-msgstr "Kuvaile itseäsi ja kiinnostuksia 140 merkillä"
+msgstr "Kuvaile ryhmää tai aihetta 140 merkillä"
 
 #: lib/groupeditform.php:158
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
 msgstr ""
+"Ryhmän paikka, jos sellainen on, kuten \"Kaupunki, Maakunta (tai Lääni), Maa\""
 
 #: lib/groupnav.php:84 lib/searchgroupnav.php:84
 msgid "Group"
-msgstr ""
+msgstr "Ryhmä"
 
+# Hallinnointi, ylläpitäjä
 #: lib/groupnav.php:100
 msgid "Admin"
-msgstr ""
+msgstr "Ylläpito"
 
 #: lib/groupnav.php:101
 #, php-format
 msgid "Edit %s group properties"
-msgstr ""
+msgstr "Muokkaa %s ryhmän ominaisuuksia"
 
 #: lib/groupnav.php:106
-#, fuzzy
 msgid "Logo"
-msgstr "Kirjaudu ulos"
+msgstr "Logo"
 
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr ""
+msgstr "Lisää ryhmälle %s logo tai muokkaa sitä "
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "Ryhmät, joissa eniten jäseniä"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "Ryhmät, joissa eniten päivityksiä"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "Tagit ryhmän %s päivityksissä"
 
 #: lib/htmloutputter.php:104
-#, fuzzy
 msgid "This page is not available in a "
-msgstr "Kotisivun verkko-osoite ei ole toimiva."
+msgstr "Tämä sivu ei ole saatavilla "
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "Kirjaudu sisään"
+msgstr "Liity"
 
 #: lib/leaveform.php:114
 msgid "Leave"
-msgstr ""
+msgstr "Eroa"
 
 #: lib/logingroupnav.php:76
-#, fuzzy
 msgid "Login with a username and password"
-msgstr "Käyttäjätunnus tai salasana ei kelpaa."
+msgstr "Kirjaudu sisään käyttäjätunnuksella ja salasanalla"
 
 #: lib/logingroupnav.php:79
-#, fuzzy
 msgid "Sign up for a new account"
 msgstr "Luo uusi käyttäjätili"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Kirjaudu sisään tai rekisteröidy OpenID-tunnuksella"
 
 #: lib/mail.php:175
 #, php-format
@@ -4725,21 +4745,23 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"Hei, %s.\n"
+"\n"
 
 #: lib/mail.php:236
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s kuuntelee nyt sinun viestejäsi palvelussa %2$s."
+msgstr "%1$s seuraa nyt käyttäjää"
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "Kotipaikka"
+msgstr "Kotipaikka: %s\n"
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
-msgstr "Kotisivu"
+msgstr "Kotisivu: %s\n"
 
 #: lib/mail.php:258
 #, php-format
@@ -4747,166 +4769,159 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"Tietoja: %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
 msgid "You've been nudged by %s"
-msgstr ""
+msgstr "%s tönäisi sinua"
 
+# joo, vähän hämärä
 #: lib/mail.php:465
 #, php-format
 msgid "%1$s (%2$s) is wondering what you are up to "
-msgstr ""
+msgstr "%1$s (%2$s) miettii mitä hommailet "
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr "%1$s kuuntelee nyt sinun viestejäsi palvelussa %2$s."
+msgstr "%1$s lisäsi juuri päivityksesi ajalta %2$s"
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
-#, fuzzy
 msgid "From"
-msgstr " lähetetty "
+msgstr "Lähettäjä"
 
 #: lib/messageform.php:110
-#, fuzzy
 msgid "Send a direct notice"
-msgstr "Poista päivitys"
+msgstr "Lähetä suora viesti"
 
 #: lib/noticeform.php:125
-#, fuzzy
 msgid "Send a notice"
-msgstr "Uusi päivitys"
+msgstr "Lähetä päivitys"
 
 #: lib/noticeform.php:152
-#, fuzzy
 msgid "Available characters"
-msgstr "6 tai useampi merkki"
+msgstr "Sallitut merkit"
 
 #: lib/noticelist.php:426
 msgid "in reply to"
-msgstr ""
+msgstr "vastaus viestiin"
 
 #: lib/noticelist.php:447 lib/noticelist.php:450
-#, fuzzy
 msgid "Reply to this notice"
-msgstr "Tätä päivitystä ei voi poistaa."
+msgstr "Vastaa tähän päivitykseen"
 
 #: lib/noticelist.php:451
 msgid "Reply"
-msgstr ""
+msgstr "Vastaus"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
-#, fuzzy
 msgid "Delete this notice"
-msgstr "Poista päivitys"
+msgstr "Poista tämä päivitys"
 
 #: lib/noticelist.php:474
-#, fuzzy
 msgid "Delete"
-msgstr "Poista päivitys"
+msgstr "Poista"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
-msgstr ""
+msgstr "Tönäise tätä käyttäjää"
 
 #: lib/nudgeform.php:128
 msgid "Nudge"
-msgstr ""
+msgstr "Tönäise"
 
 #: lib/nudgeform.php:128
 msgid "Send a nudge to this user"
-msgstr ""
+msgstr "Lähetä tönäisy tälle käyttäjälle"
 
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "Tagit käyttäjän %s päivityksissä"
 
 #: lib/profilelist.php:182
 msgid "(none)"
-msgstr ""
+msgstr "(tyhjä)"
 
 #: lib/publicgroupnav.php:76
 msgid "Public"
-msgstr ""
+msgstr "Julkinen"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Käyttäjäryhmät"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
 msgid "Recent tags"
-msgstr ""
+msgstr "Viimeaikaiset tagit"
 
 #: lib/publicgroupnav.php:86
 msgid "Featured"
-msgstr ""
+msgstr "Esittelyssä"
 
 #: lib/publicgroupnav.php:90
 msgid "Popular"
-msgstr ""
+msgstr "Suosituimmat"
 
 # Notice suomennos vielä hakusessa
 #: lib/searchgroupnav.php:82
-#, fuzzy
 msgid "Notice"
-msgstr "Päivitykset"
+msgstr "Päivitys"
 
 #: lib/searchgroupnav.php:85
-#, fuzzy
 msgid "Find groups on this site"
-msgstr "Hae ihmisiä tältä sivustolta"
+msgstr "Etsi ryhmiä tästä palvelusta"
 
 #: lib/section.php:89
 msgid "Untitled section"
-msgstr ""
+msgstr "Nimetön osa"
 
 #: lib/subgroupnav.php:81
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "Ei voitu tilata"
+msgstr "Ihmiset joiden tilaaja %s on"
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Ei ole tilattu!."
+msgstr "Ihmiset jotka ovat käyttäjän %s tilaajia"
 
 #: lib/subgroupnav.php:97
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "Ryhmät, joiden jäsen %s on"
 
 #: lib/subgroupnav.php:104
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "Kutsu kavereita ja työkavereita liittymään palveluun %s"
 
 #: lib/subs.php:53
 msgid "User has blocked you."
-msgstr ""
+msgstr "Käyttäjä on asettanut eston sinulle."
 
 #: lib/subscribeform.php:115 lib/subscribeform.php:139
 msgid "Subscribe to this user"
-msgstr ""
+msgstr "Tilaa tämä käyttäjä"
 
 #: lib/tagcloudsection.php:56
-#, fuzzy
 msgid "None"
-msgstr "Ei"
+msgstr "Ei mitään"
 
 #: lib/topposterssection.php:74
 msgid "Top posters"
-msgstr ""
+msgstr "Eniten päivityksiä"
 
 #: lib/unblockform.php:120 lib/unblockform.php:150
 msgid "Unblock this user"
-msgstr ""
+msgstr "Poista esto tältä käyttäjältä"
 
 #: lib/unblockform.php:150
 msgid "Unblock"
-msgstr ""
+msgstr "Poista esto"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
-msgstr ""
+msgstr "Peruuta tämän käyttäjän tilaus"
index 612d3ade14e80e844d73a1bc21606e74ae16666e..8945fe44a8f0163aa4d9ab60021ba5cbe5009128 100644 (file)
Binary files a/locale/fr_FR/LC_MESSAGES/laconica.mo and b/locale/fr_FR/LC_MESSAGES/laconica.mo differ
index 6a90a53cb21213fc7600456188c7744ff1eccb62..756b49605d191931921bcbfd4bba119b793f1d37 100644 (file)
@@ -4,23 +4,23 @@
 # Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the Laconica package.
 # Florian Birée <florian@biree.name>, 2008.
-#
 # For translation choices and other informations, please read
 # <http://dev.filyb.info/laconica/wiki/french-translation>
-#
 # #-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
+#
+#
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-26 23:40+0000\n"
-"Last-Translator: Pierre-Luc Daoust <courriel@pierrelucdaoust.com>\n"
+"PO-Revision-Date: 2009-03-07 19:21+0000\n"
+"Last-Translator: Anarcat <anarcat@anarcat.ath.cx>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -28,48 +28,52 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Pootle 1.1.0\n"
 
-#: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
+#: ../actions/noticesearchrss.php:64
+#: actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
 #, php-format
 msgid " Search Stream for \"%s\""
 msgstr " Flux de recherche pour « %s »"
 
-#: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
-#: actions/finishopenidlogin.php:88 actions/register.php:205
+# à l'exception de ces données personnelles : mot de passe, adresse e-mail, adresse de messagerie instantanée, numéro de téléphone.
+#: ../actions/finishopenidlogin.php:82
+#: ../actions/register.php:191
+#: actions/finishopenidlogin.php:88
+#: actions/register.php:205
 #: actions/finishopenidlogin.php:110
-msgid ""
-" except this private data: password, email address, IM address, phone number."
-msgstr ""
-"sauf ces données privées : mot de passe, adresse email, adresse de "
-"messagerie instantanée, numéro de télephone"
-
-#: ../actions/showstream.php:400 ../lib/stream.php:109
-#: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
+msgid " except this private data: password, email address, IM address, phone number."
+msgstr "à l'exception de ces données personnelles : mot de passe, adresse e-mail, adresse de messagerie instantanée, numéro de téléphone. "
+
+#: ../actions/showstream.php:400
+#: ../lib/stream.php:109
+#: actions/showstream.php:418
+#: lib/mailbox.php:164
+#: lib/stream.php:76
 msgid " from "
 msgstr "de"
 
-#: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
+#: ../actions/twitapistatuses.php:478
+#: actions/twitapistatuses.php:412
 #: actions/twitapistatuses.php:347
 #, php-format
 msgid "%1$s / Updates replying to %2$s"
-msgstr "%1$s / Mises à jour répondant à %2$s"
+msgstr "%1$s / Réponses à %2$s"
 
-#: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
+#: ../actions/invite.php:168
+#: actions/invite.php:176
+#: actions/invite.php:211
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr "%1$s vous a invité à le joindre sur %2$s"
+msgstr "%1$s vous invite à vous inscrire à %2$s"
 
 #: ../actions/invite.php:170
 #, 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"
+"%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"
+"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"
@@ -79,47 +83,43 @@ msgid ""
 "\n"
 "%5$s\n"
 "\n"
-"If you'd like to try the service, click on the link below to accept the "
-"invitation.\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"
+"If not, you can ignore this message. Thanks for your patience and your time.\n"
 "\n"
 "Sincerely, %2$s\n"
 msgstr ""
-"%1$s vous a invité à le joindre sur %2$s (%3$s).\n"
+"%1$s vous invite à vous inscrire à %2$s (%3$s).\n"
 "\n"
-"%2$s est un service de micro-blogging qui vous laisse garder contact avec "
-"des personnes que vous connaissez et des personnes qui vous intéressent.\n"
+"%2$s est un service de micro-blogging qui vous laisse garder contact avec des personnes que vous connaissez et des personnes qui vous intéressent.\n"
 "\n"
-"Vous pouvez aussi partager des nouvelles à propos de vous, vos pensées, ou "
-"votre vie en ligne avec les personnes qui vous connaissent. C'est également "
-"génial pour rencontrer de nouvelles personnes qui partagent vos intérêts.\n"
+"Vous pouvez aussi partager des nouvelles à propos de vous, vos pensées, ou votre vie en ligne avec les personnes qui vous connaissent. C'est également un outil utile pour rencontrer de nouvelles personnes qui partagent vos intérêts.\n"
 "\n"
 "%1$s dit:\n"
 "\n"
 "%4$s\n"
 "\n"
-"Vous pouvez voir la page du profil de %1$s sur %2$s ici:\n"
+"Vous pouvez voir le profil de %1$s sur %2$s ici:\n"
 "\n"
 "%5$s\n"
 "\n"
-"Si vous souhaitez essayez ce service, cliquez sur le lien si dessous pour "
-"accepter l'invitation\n"
+"Si vous souhaitez essayez ce service, cliquez sur le lien si dessous pour accepter l'invitation\n"
 "\n"
 "%6$s\n"
 "\n"
-"Sinon vous pouvez ignorer ce message. Merci de votre patience et votre "
-"temps.\n"
+"Sinon, vous pouvez ignorer ce message. Merci pour votre patience et votre temps.\n"
 "\n"
 "Cordialement, %2$s\n"
 
-#: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
+#: ../lib/mail.php:124
+#: lib/mail.php:124
+#: lib/mail.php:126
+#: lib/mail.php:241
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s est occupé d'écouter vos notifications dans %2$s."
+msgstr "%1$s suit maintenant vos statuts dans %2$s."
 
 #: ../lib/mail.php:126
 #, php-format
@@ -131,435 +131,545 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s.\n"
 msgstr ""
-"%1$s est occupé d'écouter vos notifications dans %2$s.\n"
+"%1$s suit maintenant vos statuts dans %2$s.\n"
 "\n"
 "\t%3$s\n"
 "\n"
 "Cordialement,\n"
 "%4$s.\n"
 
-#: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
+#: ../actions/twitapistatuses.php:482
+#: actions/twitapistatuses.php:415
 #: actions/twitapistatuses.php:350
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr "%1$s mises à jour qui répondent aux mises à jour de %2$s / %3$s."
+msgstr "%1$s statuts en réponses aux statuts de %2$s / %3$s."
 
-#: ../actions/shownotice.php:45 actions/shownotice.php:45
+#: ../actions/shownotice.php:45
+#: actions/shownotice.php:45
 #: actions/shownotice.php:161
 #, php-format
 msgid "%1$s's status on %2$s"
 msgstr "Statut de %1$s sur %2$s"
 
-#: ../actions/invite.php:84 ../actions/invite.php:92 actions/invite.php:91
-#: actions/invite.php:99 actions/invite.php:123 actions/invite.php:131
+#: ../actions/invite.php:84
+#: ../actions/invite.php:92
+#: actions/invite.php:91
+#: actions/invite.php:99
+#: actions/invite.php:123
+#: actions/invite.php:131
 #, php-format
 msgid "%s (%s)"
 msgstr "%s (%s)"
 
-#: ../actions/publicrss.php:62 actions/publicrss.php:48
+#: ../actions/publicrss.php:62
+#: actions/publicrss.php:48
 #: actions/publicrss.php:90
 #, php-format
 msgid "%s Public Stream"
 msgstr "Flux public de %s"
 
-#: ../actions/all.php:47 ../actions/allrss.php:60
-#: ../actions/twitapistatuses.php:238 ../lib/stream.php:51 actions/all.php:47
-#: actions/allrss.php:60 actions/twitapistatuses.php:155 lib/personal.php:51
-#: actions/all.php:65 actions/allrss.php:103 actions/facebookhome.php:164
-#: actions/twitapistatuses.php:126 lib/personalgroupnav.php:99
+#: ../actions/all.php:47
+#: ../actions/allrss.php:60
+#: ../actions/twitapistatuses.php:238
+#: ../lib/stream.php:51
+#: actions/all.php:47
+#: actions/allrss.php:60
+#: actions/twitapistatuses.php:155
+#: lib/personal.php:51
+#: actions/all.php:65
+#: actions/allrss.php:103
+#: actions/facebookhome.php:164
+#: actions/twitapistatuses.php:126
+#: lib/personalgroupnav.php:99
 #, php-format
 msgid "%s and friends"
 msgstr "%s et ses amis"
 
-#: ../actions/twitapistatuses.php:49 actions/twitapistatuses.php:49
+#: ../actions/twitapistatuses.php:49
+#: actions/twitapistatuses.php:49
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr "%s tableau public"
+msgstr "Activité publique %s"
 
-#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
+#: ../lib/mail.php:206
+#: lib/mail.php:212
+#: lib/mail.php:411
 #, php-format
 msgid "%s status"
 msgstr "Statut de %s"
 
-#: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
+#: ../actions/twitapistatuses.php:338
+#: actions/twitapistatuses.php:265
 #: actions/twitapistatuses.php:199
 #, php-format
 msgid "%s timeline"
-msgstr "%s tableaux"
+msgstr "Activité de %s"
 
-#: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
+#: ../actions/twitapistatuses.php:52
+#: actions/twitapistatuses.php:52
 #: actions/twitapistatuses.php:36
 #, php-format
 msgid "%s updates from everyone!"
-msgstr "%s mises à jour de tout le monde"
+msgstr "%s statuts  "
 
 #: ../actions/register.php:213
-msgid ""
-"(You should receive a message by email momentarily, with instructions on how "
-"to confirm your email address.)"
-msgstr ""
-"(Vous devriez recevoir un message par e-mail dans un moment, avec les "
-"instructions pour confirmer votre adresse e-mail.)"
+msgid "(You should receive a message by email momentarily, with instructions on how to confirm your email address.)"
+msgstr "(Vous recevrez bientôt un courriel contenant les instructions pour confirmer votre adresse.)"
 
-#: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
+#: ../lib/util.php:257
+#: lib/util.php:273
+#: lib/action.php:605
 #, php-format
-msgid ""
-"**%%site.name%%** is a microblogging service brought to you by [%%site."
-"broughtby%%](%%site.broughtbyurl%%). "
-msgstr ""
-"**%%site.name%%** est un service de microblogging qui vous est proposé par  "
-"[%%site.broughtby%%](%%site.broughtbyurl%%)."
+msgid "**%%site.name%%** is a microblogging service brought to you by [%%site.broughtby%%](%%site.broughtbyurl%%). "
+msgstr "**%%site.name%%** est un service de microblogging qui vous est proposé par  [%%site.broughtby%%](%%site.broughtbyurl%%)."
 
-#: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
+#: ../lib/util.php:259
+#: lib/util.php:275
+#: lib/action.php:607
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr "**%%site.name%%** est un service de micro-blogging."
 
-#: ../lib/util.php:274 lib/util.php:290
+#: ../lib/util.php:274
+#: lib/util.php:290
 msgid ". Contributors should be attributed by full name or nickname."
-msgstr ""
-"Les contributeurs doivent être désignés par leur nom complet ou leur pseudo."
-
-#: ../actions/finishopenidlogin.php:73 ../actions/profilesettings.php:43
-#: actions/finishopenidlogin.php:79 actions/profilesettings.php:76
-#: actions/finishopenidlogin.php:101 actions/profilesettings.php:100
+msgstr "Les utilisateurs doivent être désignés par leur nom complet ou leur pseudo."
+
+#: ../actions/finishopenidlogin.php:73
+#: ../actions/profilesettings.php:43
+#: actions/finishopenidlogin.php:79
+#: actions/profilesettings.php:76
+#: actions/finishopenidlogin.php:101
+#: actions/profilesettings.php:100
 #: lib/groupeditform.php:139
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 lettres minuscules ou chiffres, pas de ponctuation ou d'espaces"
+msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
 
-#: ../actions/register.php:152 actions/register.php:166
+#: ../actions/register.php:152
+#: actions/register.php:166
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
 msgstr ""
-"1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces\n"
-"Requis."
+"1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces. Requis."
 
-#: ../actions/password.php:42 actions/profilesettings.php:181
+#: ../actions/password.php:42
+#: actions/profilesettings.php:181
 #: actions/passwordsettings.php:102
 msgid "6 or more characters"
 msgstr "6 caractères ou plus"
 
-#: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
+#: ../actions/recoverpassword.php:180
+#: actions/recoverpassword.php:186
 #: actions/recoverpassword.php:220
 msgid "6 or more characters, and don't forget it!"
 msgstr "6 caractères ou plus, et ne l'oubliez pas !"
 
-#: ../actions/register.php:154 actions/register.php:168
+#: ../actions/register.php:154
+#: actions/register.php:168
 #: actions/register.php:373
 msgid "6 or more characters. Required."
 msgstr "6 caractères ou plus. Requis."
 
-#: ../actions/imsettings.php:197 actions/imsettings.php:205
-#, php-format
-msgid ""
-"A confirmation code was sent to the IM address you added. You must approve %"
-"s for sending messages to you."
-msgstr ""
-"Un code de confirmation a été envoyé à votre adresse de messagerie "
-"instantanée. Vous devez approuvez %s pour vous envoyer des messages."
-
-#: ../actions/emailsettings.php:213 actions/emailsettings.php:231
-msgid ""
-"A confirmation code was sent to the email address you added. Check your "
-"inbox (and spam box!) for the code and instructions on how to use it."
-msgstr ""
-"Un code de confirmation a été envoyé à l'adresse e-mail que vous avez "
-"ajouté. Vérifiez votre boite de réception (peut-être dans les spams) pour "
-"récupérer le code et les instructions."
-
-#: ../actions/smssettings.php:216 actions/smssettings.php:224
-#, fuzzy
-msgid ""
-"A confirmation code was sent to the phone number you added. Check your inbox "
-"(and spam box!) for the code and instructions on how to use it."
-msgstr ""
-"Un code de confirmation a été envoyé au numéro de téléphone que vous avez "
-"ajouté. Vérifiez votre boite de réception pour récupérer le code et les "
-"instructions."
-
-#: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
-#: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
-#: ../actions/twitapistatuses.php:370 ../actions/twitapistatuses.php:532
-#: ../actions/twitapiusers.php:122 actions/twitapiaccount.php:49
-#: actions/twitapidirect_messages.php:104 actions/twitapifavorites.php:111
-#: actions/twitapifavorites.php:120 actions/twitapifriendships.php:156
-#: actions/twitapihelp.php:46 actions/twitapistatuses.php:93
-#: actions/twitapistatuses.php:176 actions/twitapistatuses.php:288
-#: actions/twitapistatuses.php:298 actions/twitapistatuses.php:454
-#: actions/twitapistatuses.php:463 actions/twitapistatuses.php:504
-#: actions/twitapiusers.php:55 actions/twitapiaccount.php:37
-#: actions/twitapidirect_messages.php:111 actions/twitapifavorites.php:85
-#: actions/twitapifavorites.php:102 actions/twitapifriendships.php:121
-#: actions/twitapihelp.php:44 actions/twitapilaconica.php:82
-#: actions/twitapilaconica.php:151 actions/twitapistatuses.php:79
-#: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228
-#: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392
-#: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
+#: ../actions/imsettings.php:197
+#: actions/imsettings.php:205
+#, php-format
+msgid "A confirmation code was sent to the IM address you added. You must approve %s for sending messages to you."
+msgstr "Un code de confirmation a été envoyé à votre adresse de messagerie instantanée. Vous devez approuver %s pour recevoir des messages."
+
+#: ../actions/emailsettings.php:213
+#: actions/emailsettings.php:231
+msgid "A confirmation code was sent to the email address you added. Check your inbox (and spam box!) for the code and instructions on how to use it."
+msgstr "Un code de confirmation a été envoyé à l'adresse courriel indiquée. Vérifiez votre boite de réception pour récupérer le code et les instructions."
+
+#: ../actions/smssettings.php:216
+#: actions/smssettings.php:224
+msgid "A confirmation code was sent to the phone number you added. Check your inbox (and spam box!) for the code and instructions on how to use it."
+msgstr "Un code de confirmation a été envoyé au numéro de téléphone indiqué. Vérifiez votre boite de réception pour récupérer le code et les instructions."
+
+#: ../actions/twitapiaccount.php:49
+#: ../actions/twitapihelp.php:45
+#: ../actions/twitapistatuses.php:88
+#: ../actions/twitapistatuses.php:259
+#: ../actions/twitapistatuses.php:370
+#: ../actions/twitapistatuses.php:532
+#: ../actions/twitapiusers.php:122
+#: actions/twitapiaccount.php:49
+#: actions/twitapidirect_messages.php:104
+#: actions/twitapifavorites.php:111
+#: actions/twitapifavorites.php:120
+#: actions/twitapifriendships.php:156
+#: actions/twitapihelp.php:46
+#: actions/twitapistatuses.php:93
+#: actions/twitapistatuses.php:176
+#: actions/twitapistatuses.php:288
+#: actions/twitapistatuses.php:298
+#: actions/twitapistatuses.php:454
+#: actions/twitapistatuses.php:463
+#: actions/twitapistatuses.php:504
+#: actions/twitapiusers.php:55
+#: actions/twitapiaccount.php:37
+#: actions/twitapidirect_messages.php:111
+#: actions/twitapifavorites.php:85
+#: actions/twitapifavorites.php:102
+#: actions/twitapifriendships.php:121
+#: actions/twitapihelp.php:44
+#: actions/twitapilaconica.php:82
+#: actions/twitapilaconica.php:151
+#: actions/twitapistatuses.php:79
+#: actions/twitapistatuses.php:147
+#: actions/twitapistatuses.php:228
+#: actions/twitapistatuses.php:239
+#: actions/twitapistatuses.php:392
+#: actions/twitapistatuses.php:402
+#: actions/twitapistatuses.php:429
 #: actions/twitapiusers.php:32
 msgid "API method not found!"
-msgstr "Méthode API non trouvée!"
-
-#: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
-#: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
-#: ../actions/twitapiblocks.php:34 ../actions/twitapidirect_messages.php:43
+msgstr "Méthode API non trouvée !"
+
+#: ../actions/twitapiaccount.php:57
+#: ../actions/twitapiaccount.php:113
+#: ../actions/twitapiaccount.php:119
+#: ../actions/twitapiblocks.php:28
+#: ../actions/twitapiblocks.php:34
+#: ../actions/twitapidirect_messages.php:43
 #: ../actions/twitapidirect_messages.php:49
 #: ../actions/twitapidirect_messages.php:56
-#: ../actions/twitapidirect_messages.php:62 ../actions/twitapifavorites.php:41
-#: ../actions/twitapifavorites.php:47 ../actions/twitapifavorites.php:53
-#: ../actions/twitapihelp.php:52 ../actions/twitapinotifications.php:29
-#: ../actions/twitapinotifications.php:35 ../actions/twitapistatuses.php:768
-#: actions/twitapiaccount.php:56 actions/twitapiaccount.php:109
-#: actions/twitapiaccount.php:114 actions/twitapiblocks.php:28
-#: actions/twitapiblocks.php:33 actions/twitapidirect_messages.php:170
-#: actions/twitapifavorites.php:168 actions/twitapihelp.php:53
-#: actions/twitapinotifications.php:29 actions/twitapinotifications.php:34
-#: actions/twitapistatuses.php:690 actions/twitapiaccount.php:45
-#: actions/twitapiaccount.php:97 actions/twitapiaccount.php:103
-#: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143
-#: actions/twitapihelp.php:52 actions/twitapilaconica.php:172
-#: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
+#: ../actions/twitapidirect_messages.php:62
+#: ../actions/twitapifavorites.php:41
+#: ../actions/twitapifavorites.php:47
+#: ../actions/twitapifavorites.php:53
+#: ../actions/twitapihelp.php:52
+#: ../actions/twitapinotifications.php:29
+#: ../actions/twitapinotifications.php:35
+#: ../actions/twitapistatuses.php:768
+#: actions/twitapiaccount.php:56
+#: actions/twitapiaccount.php:109
+#: actions/twitapiaccount.php:114
+#: actions/twitapiblocks.php:28
+#: actions/twitapiblocks.php:33
+#: actions/twitapidirect_messages.php:170
+#: actions/twitapifavorites.php:168
+#: actions/twitapihelp.php:53
+#: actions/twitapinotifications.php:29
+#: actions/twitapinotifications.php:34
+#: actions/twitapistatuses.php:690
+#: actions/twitapiaccount.php:45
+#: actions/twitapiaccount.php:97
+#: actions/twitapiaccount.php:103
+#: actions/twitapidirect_messages.php:184
+#: actions/twitapifavorites.php:143
+#: actions/twitapihelp.php:52
+#: actions/twitapilaconica.php:172
+#: actions/twitapinotifications.php:31
+#: actions/twitapinotifications.php:37
 #: actions/twitapistatuses.php:562
 msgid "API method under construction."
 msgstr "Méthode API en construction."
 
-#: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
+#: ../lib/util.php:324
+#: lib/util.php:340
+#: lib/action.php:568
 msgid "About"
 msgstr "À propos"
 
-#: ../actions/userauthorization.php:119 actions/userauthorization.php:126
+#: ../actions/userauthorization.php:119
+#: actions/userauthorization.php:126
 #: actions/userauthorization.php:143
 msgid "Accept"
 msgstr "Accepter"
 
-#: ../actions/emailsettings.php:62 ../actions/imsettings.php:63
-#: ../actions/openidsettings.php:57 ../actions/smssettings.php:71
-#: actions/emailsettings.php:63 actions/imsettings.php:64
-#: actions/openidsettings.php:58 actions/smssettings.php:71
-#: actions/twittersettings.php:85 actions/emailsettings.php:120
-#: actions/imsettings.php:127 actions/openidsettings.php:111
-#: actions/smssettings.php:133 actions/twittersettings.php:163
+#: ../actions/emailsettings.php:62
+#: ../actions/imsettings.php:63
+#: ../actions/openidsettings.php:57
+#: ../actions/smssettings.php:71
+#: actions/emailsettings.php:63
+#: actions/imsettings.php:64
+#: actions/openidsettings.php:58
+#: actions/smssettings.php:71
+#: actions/twittersettings.php:85
+#: actions/emailsettings.php:120
+#: actions/imsettings.php:127
+#: actions/openidsettings.php:111
+#: actions/smssettings.php:133
+#: actions/twittersettings.php:163
 msgid "Add"
 msgstr "Ajouter"
 
-#: ../actions/openidsettings.php:43 actions/openidsettings.php:44
+#: ../actions/openidsettings.php:43
+#: actions/openidsettings.php:44
 #: actions/openidsettings.php:93
 msgid "Add OpenID"
-msgstr "Ajouter un OpenID"
+msgstr "Ajouter un identifiant OpenID"
 
-#: ../lib/settingsaction.php:97 lib/settingsaction.php:91
+#: ../lib/settingsaction.php:97
+#: lib/settingsaction.php:91
 #: lib/accountsettingsaction.php:117
 msgid "Add or remove OpenIDs"
-msgstr "Ajouter ou supprimer vos OpenIDs"
-
-#: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
-#: ../actions/smssettings.php:39 actions/emailsettings.php:39
-#: actions/imsettings.php:40 actions/smssettings.php:39
-#: actions/emailsettings.php:94 actions/imsettings.php:94
+msgstr "Ajouter ou supprimer des identifiants OpenIDs"
+
+#: ../actions/emailsettings.php:38
+#: ../actions/imsettings.php:39
+#: ../actions/smssettings.php:39
+#: actions/emailsettings.php:39
+#: actions/imsettings.php:40
+#: actions/smssettings.php:39
+#: actions/emailsettings.php:94
+#: actions/imsettings.php:94
 #: actions/smssettings.php:92
 msgid "Address"
 msgstr "Adresse"
 
-#: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
+#: ../actions/invite.php:131
+#: actions/invite.php:139
+#: actions/invite.php:176
 msgid "Addresses of friends to invite (one per line)"
 msgstr "Adresses d'amis à inviter (un par ligne)"
 
-#: ../actions/showstream.php:273 actions/showstream.php:288
+#: ../actions/showstream.php:273
+#: actions/showstream.php:288
 #: actions/showstream.php:422
 msgid "All subscriptions"
-msgstr "Toutes les inscriptions"
+msgstr "Tous les abonnements"
 
-#: ../actions/publicrss.php:64 actions/publicrss.php:50
+#: ../actions/publicrss.php:64
+#: actions/publicrss.php:50
 #: actions/publicrss.php:92
 #, php-format
 msgid "All updates for %s"
-msgstr "Toutes les mises à jour pour %s"
+msgstr "Tous les statuts de %s"
 
-#: ../actions/noticesearchrss.php:66 actions/noticesearchrss.php:70
+#: ../actions/noticesearchrss.php:66
+#: actions/noticesearchrss.php:70
 #: actions/noticesearchrss.php:90
 #, php-format
 msgid "All updates matching search term \"%s\""
-msgstr "Toutes les mises à jour correspondantes au terme cherché \"%s\""
-
-#: ../actions/finishopenidlogin.php:29 ../actions/login.php:31
-#: ../actions/openidlogin.php:29 ../actions/register.php:30
-#: actions/finishopenidlogin.php:29 actions/login.php:31
-#: actions/openidlogin.php:29 actions/register.php:30
-#: actions/finishopenidlogin.php:34 actions/login.php:77
-#: actions/openidlogin.php:30 actions/register.php:92
+msgstr "Statuts correspondant au(x) terme(s) \"%s\""
+
+#: ../actions/finishopenidlogin.php:29
+#: ../actions/login.php:31
+#: ../actions/openidlogin.php:29
+#: ../actions/register.php:30
+#: actions/finishopenidlogin.php:29
+#: actions/login.php:31
+#: actions/openidlogin.php:29
+#: actions/register.php:30
+#: actions/finishopenidlogin.php:34
+#: actions/login.php:77
+#: actions/openidlogin.php:30
+#: actions/register.php:92
 msgid "Already logged in."
 msgstr "Déjà connecté."
 
-#: ../lib/subs.php:42 lib/subs.php:42 lib/subs.php:49
+#: ../lib/subs.php:42
+#: lib/subs.php:42
+#: lib/subs.php:49
 msgid "Already subscribed!."
-msgstr "Déjà inscrit."
+msgstr "Déjà abonné !"
 
-#: ../actions/deletenotice.php:54 actions/deletenotice.php:55
+#: ../actions/deletenotice.php:54
+#: actions/deletenotice.php:55
 #: actions/deletenotice.php:113
 msgid "Are you sure you want to delete this notice?"
-msgstr "Êtes-vous sur de vouloir effacer cet avertissement ?"
+msgstr "Êtes-vous sûr(e) de vouloir supprimer ce statut ?"
 
-#: ../actions/userauthorization.php:77 actions/userauthorization.php:83
+#: ../actions/userauthorization.php:77
+#: actions/userauthorization.php:83
 #: actions/userauthorization.php:81
 msgid "Authorize subscription"
-msgstr "Autoriser l'inscription"
+msgstr "Autoriser l'abonnement"
 
-#: ../actions/login.php:104 ../actions/register.php:178
+#: ../actions/login.php:104
+#: ../actions/register.php:178
 #: actions/register.php:192
 msgid "Automatically login in the future; not for shared computers!"
-msgstr ""
-"Me connecter automatiquement dans le futur; déconseillé pour les ordinateurs "
-"partagés/publics!"
-
-#: ../actions/profilesettings.php:65 actions/profilesettings.php:98
-msgid ""
-"Automatically subscribe to whoever subscribes to me (best for non-humans)"
-msgstr ""
-"M'abonner automatiquement à quiconque s'abonne à moi (meilleur pour les non-"
-"humains)"
-
-#: ../actions/avatar.php:32 ../lib/settingsaction.php:90
-#: actions/profilesettings.php:34 actions/avatarsettings.php:65
-#: actions/showgroup.php:209 lib/accountsettingsaction.php:107
+msgstr "Ouvrir automatiquement ma session à l'avenir (déconseillé pour les ordinateurs publics ou partagés)"
+
+#: ../actions/profilesettings.php:65
+#: actions/profilesettings.php:98
+msgid "Automatically subscribe to whoever subscribes to me (best for non-humans)"
+msgstr "M'abonner automatiquement à tous ceux qui s'abonnent à moi (recommandé pour les utilisateurs non-humains)"
+
+#: ../actions/avatar.php:32
+#: ../lib/settingsaction.php:90
+#: actions/profilesettings.php:34
+#: actions/avatarsettings.php:65
+#: actions/showgroup.php:209
+#: lib/accountsettingsaction.php:107
 msgid "Avatar"
 msgstr "Avatar"
 
-#: ../actions/avatar.php:113 actions/profilesettings.php:350
+#: ../actions/avatar.php:113
+#: actions/profilesettings.php:350
 #: actions/avatarsettings.php:395
 msgid "Avatar updated."
 msgstr "Avatar mis à jour."
 
-#: ../actions/imsettings.php:55 actions/imsettings.php:56
+#: ../actions/imsettings.php:55
+#: actions/imsettings.php:56
 #, 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 ""
-"En attente d'une confirmation pour cette adresse. Vérifiez votre compte "
-"Jabber/GTalk pour recevoir un message avec de plus amples instructions. "
-"(Avez-vous ajouté %s à votre liste de contacts ?)"
+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 "En attente d'une confirmation pour cette adresse. Vérifiez votre compte Jabber/GTalk pour recevoir de nouvelles instructions. (Avez-vous ajouté %s à votre liste de contacts ?)"
 
-#: ../actions/emailsettings.php:54 actions/emailsettings.php:55
-msgid ""
-"Awaiting confirmation on this address. Check your inbox (and spam box!) for "
-"a message with further instructions."
-msgstr ""
-"En attente d'une confirmation pour cette adresse. Vérifiez votre compte "
-"Jabber/GTalk pour recevoir un message avec de nouvelles instructions."
+#: ../actions/emailsettings.php:54
+#: actions/emailsettings.php:55
+msgid "Awaiting confirmation on this address. Check your inbox (and spam box!) for a message with further instructions."
+msgstr "En attente d'une confirmation pour cette adresse. Vérifiez votre compte Jabber/GTalk pour recevoir de nouvelles instructions."
 
-#: ../actions/smssettings.php:58 actions/smssettings.php:58
+#: ../actions/smssettings.php:58
+#: actions/smssettings.php:58
 #: actions/smssettings.php:111
 msgid "Awaiting confirmation on this phone number."
-msgstr "En attente de confirmation à ce numéro de téléphone."
+msgstr "Numéro de téléphone en attente de confirmation."
 
-#: ../lib/util.php:1318 lib/util.php:1452
-#, fuzzy
+#: ../lib/util.php:1318
+#: lib/util.php:1452
 msgid "Before »"
 msgstr "Avant »"
 
-#: ../actions/profilesettings.php:49 ../actions/register.php:170
-#: actions/profilesettings.php:82 actions/register.php:184
-#: actions/profilesettings.php:112 actions/register.php:402
+#: ../actions/profilesettings.php:49
+#: ../actions/register.php:170
+#: actions/profilesettings.php:82
+#: actions/register.php:184
+#: actions/profilesettings.php:112
+#: actions/register.php:402
 msgid "Bio"
-msgstr "Biographie"
-
-#: ../actions/profilesettings.php:101 ../actions/register.php:82
-#: ../actions/updateprofile.php:103 actions/profilesettings.php:216
-#: actions/register.php:89 actions/updateprofile.php:104
-#: actions/profilesettings.php:205 actions/register.php:174
+msgstr "Bio"
+
+#: ../actions/profilesettings.php:101
+#: ../actions/register.php:82
+#: ../actions/updateprofile.php:103
+#: actions/profilesettings.php:216
+#: actions/register.php:89
+#: actions/updateprofile.php:104
+#: actions/profilesettings.php:205
+#: actions/register.php:174
 #: actions/updateprofile.php:107
 msgid "Bio is too long (max 140 chars)."
-msgstr "La biographie est trop longue (140 caractères maximum)."
+msgstr "La bio est trop longue (140 caractères maximum)."
 
-#: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
+#: ../lib/deleteaction.php:41
+#: lib/deleteaction.php:41
+#: lib/deleteaction.php:69
 msgid "Can't delete this notice."
-msgstr "Impossible de supprimer cet avertissement."
+msgstr "Impossible de supprimer ce statut."
 
-#: ../actions/updateprofile.php:119 actions/updateprofile.php:120
+#: ../actions/updateprofile.php:119
+#: actions/updateprofile.php:120
 #: actions/updateprofile.php:123
 #, php-format
 msgid "Can't read avatar URL '%s'"
-msgstr "Impossible de lire l'URL de l'avatar '%s'"
-
-#: ../actions/password.php:85 ../actions/recoverpassword.php:300
-#: actions/profilesettings.php:404 actions/recoverpassword.php:313
-#: actions/passwordsettings.php:169 actions/recoverpassword.php:347
+msgstr "Impossible de lire l'URL '%s'"
+
+#: ../actions/password.php:85
+#: ../actions/recoverpassword.php:300
+#: actions/profilesettings.php:404
+#: actions/recoverpassword.php:313
+#: actions/passwordsettings.php:169
+#: actions/recoverpassword.php:347
 msgid "Can't save new password."
 msgstr "Impossible de sauvegarder le nouveau mot de passe."
 
-#: ../actions/emailsettings.php:57 ../actions/imsettings.php:58
-#: ../actions/smssettings.php:62 actions/emailsettings.php:58
-#: actions/imsettings.php:59 actions/smssettings.php:62
-#: actions/emailsettings.php:111 actions/imsettings.php:114
+#: ../actions/emailsettings.php:57
+#: ../actions/imsettings.php:58
+#: ../actions/smssettings.php:62
+#: actions/emailsettings.php:58
+#: actions/imsettings.php:59
+#: actions/smssettings.php:62
+#: actions/emailsettings.php:111
+#: actions/imsettings.php:114
 #: actions/smssettings.php:114
 msgid "Cancel"
 msgstr "Annuler"
 
-#: ../lib/openid.php:121 lib/openid.php:121 lib/openid.php:130
+#: ../lib/openid.php:121
+#: lib/openid.php:121
+#: lib/openid.php:130
 msgid "Cannot instantiate OpenID consumer object."
-msgstr "Impossible d'instancier l'objet client pour OpenID"
+msgstr "Impossible d'instancier l'objet client pour OpenID."
 
-#: ../actions/imsettings.php:163 actions/imsettings.php:171
+#: ../actions/imsettings.php:163
+#: actions/imsettings.php:171
 #: actions/imsettings.php:286
 msgid "Cannot normalize that Jabber ID"
 msgstr "Impossible d'utiliser cet identifiant Jabber"
 
-#: ../actions/emailsettings.php:181 actions/emailsettings.php:199
+#: ../actions/emailsettings.php:181
+#: actions/emailsettings.php:199
 #: actions/emailsettings.php:311
 msgid "Cannot normalize that email address"
-msgstr "Impossible d'utiliser cette adresse e-mail"
+msgstr "Impossible d'utiliser cette adresse courriel"
 
-#: ../actions/password.php:45 actions/profilesettings.php:184
+#: ../actions/password.php:45
+#: actions/profilesettings.php:184
 #: actions/passwordsettings.php:110
 msgid "Change"
-msgstr "Changer"
+msgstr "Modifier"
 
-#: ../lib/settingsaction.php:88 lib/settingsaction.php:88
+#: ../lib/settingsaction.php:88
+#: lib/settingsaction.php:88
 #: lib/accountsettingsaction.php:114
 msgid "Change email handling"
-msgstr "Changer le traitement de l'email"
+msgstr "Modifier le traitement des courriels"
 
-#: ../actions/password.php:32 actions/profilesettings.php:36
+#: ../actions/password.php:32
+#: actions/profilesettings.php:36
 #: actions/passwordsettings.php:58
 msgid "Change password"
-msgstr "Changer de mot de passe"
+msgstr "Modifier le mot de passe"
 
-#: ../lib/settingsaction.php:94 lib/accountsettingsaction.php:111
+#: ../lib/settingsaction.php:94
+#: lib/accountsettingsaction.php:111
 msgid "Change your password"
-msgstr "Changer votre mot de passe"
+msgstr "Modifier votre mot de passe"
 
-#: ../lib/settingsaction.php:85 lib/settingsaction.php:85
+#: ../lib/settingsaction.php:85
+#: lib/settingsaction.php:85
 #: lib/accountsettingsaction.php:105
 msgid "Change your profile settings"
-msgstr "Changer vos paramètres de profil"
-
-#: ../actions/password.php:43 ../actions/recoverpassword.php:181
-#: ../actions/register.php:155 ../actions/smssettings.php:65
-#: actions/profilesettings.php:182 actions/recoverpassword.php:187
-#: actions/register.php:169 actions/smssettings.php:65
-#: actions/passwordsettings.php:105 actions/recoverpassword.php:221
-#: actions/register.php:376 actions/smssettings.php:122
+msgstr "Modifier vos paramètres de profil"
+
+#: ../actions/password.php:43
+#: ../actions/recoverpassword.php:181
+#: ../actions/register.php:155
+#: ../actions/smssettings.php:65
+#: actions/profilesettings.php:182
+#: actions/recoverpassword.php:187
+#: actions/register.php:169
+#: actions/smssettings.php:65
+#: actions/passwordsettings.php:105
+#: actions/recoverpassword.php:221
+#: actions/register.php:376
+#: actions/smssettings.php:122
 msgid "Confirm"
 msgstr "Confirmer"
 
-#: ../actions/confirmaddress.php:90 actions/confirmaddress.php:90
+#: ../actions/confirmaddress.php:90
+#: actions/confirmaddress.php:90
 #: actions/confirmaddress.php:144
 msgid "Confirm Address"
 msgstr "Confirmer l'adresse"
 
-#: ../actions/emailsettings.php:238 ../actions/imsettings.php:222
-#: ../actions/smssettings.php:245 actions/emailsettings.php:256
-#: actions/imsettings.php:230 actions/smssettings.php:253
-#: actions/emailsettings.php:379 actions/imsettings.php:361
+#: ../actions/emailsettings.php:238
+#: ../actions/imsettings.php:222
+#: ../actions/smssettings.php:245
+#: actions/emailsettings.php:256
+#: actions/imsettings.php:230
+#: actions/smssettings.php:253
+#: actions/emailsettings.php:379
+#: actions/imsettings.php:361
 #: actions/smssettings.php:374
 msgid "Confirmation cancelled."
 msgstr "Confirmation annulée."
 
-#: ../actions/smssettings.php:63 actions/smssettings.php:63
+#: ../actions/smssettings.php:63
+#: actions/smssettings.php:63
 #: actions/smssettings.php:118
 msgid "Confirmation code"
 msgstr "Code de confirmation"
 
-#: ../actions/confirmaddress.php:38 actions/confirmaddress.php:38
+#: ../actions/confirmaddress.php:38
+#: actions/confirmaddress.php:38
 #: actions/confirmaddress.php:80
 msgid "Confirmation code not found."
 msgstr "Code de confirmation non trouvé."
@@ -567,2245 +677,2721 @@ msgstr "Code de confirmation non trouvé."
 #: ../actions/register.php:202
 #, php-format
 msgid ""
-"Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
-"want to...\n"
+"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"
+"* 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 ""
-"Félicitations, %s! Bienvenue chez %%%%site.name%%%%. D'ici, vous pourriez "
-"vouloir...\n"
+"Félicitations, %s! Bienvenue dans %%%%site.name%%%%. Vous pouvez maintenant :\n"
 "\n"
-"* Aller à [votre profil](%s) et publier votre premier message.\n"
-"* Ajouter une adresse [Jabber/GTalk](%%%%action.imsettings%%%%) et ainsi "
-"envoyez vos notifications via message instantané.\n"
-"* [Chercher des personnes](%%%%action.peoplesearch%%%%) que vous pourriez "
-"connaître ou qui partagent vos intêrets.\n"
-"* Mettre votre [profil](%%%%action.profilesettings%%%%) à jour pour en dire "
-"plus sur vous aux autres.\n"
-"* Parcourir la [documentation](%%%%doc.help%%%%) en ligne pour en savoir "
-"plus sur les fonctions que vous avez ratées.\n"
+"* Visiter [votre profil](%s) et publier votre premier statut.\n"
+"* Ajouter une adresse [Jabber/GTalk](%%%%action.imsettings%%%%) afin d'envoyer et recevoir vos statuts par messagerie instantanée.\n"
+"* [Chercher des personnes](%%%%action.peoplesearch%%%%) que vous pourriez connaître ou qui partagent vos intêrets.\n"
+"* Mettre votre [profil](%%%%action.profilesettings%%%%) à jour pour en dire plus à votre sujet.\n"
+"* Parcourir la [documentation](%%%%doc.help%%%%) en ligne pour en savoir plus sur le fonctionnement du service.\n"
 "\n"
-"Merci pour votre inscription et nous vous souhaitons d'apprécier ce service."
+"Merci pour votre inscription ! Nous vous souhaitons d'apprécier notre service."
 
-#: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
-#: actions/finishopenidlogin.php:119 lib/action.php:330
+#: ../actions/finishopenidlogin.php:91
+#: actions/finishopenidlogin.php:97
+#: actions/finishopenidlogin.php:119
+#: lib/action.php:330
 msgid "Connect"
 msgstr "Connecter"
 
-#: ../actions/finishopenidlogin.php:86 actions/finishopenidlogin.php:92
+#: ../actions/finishopenidlogin.php:86
+#: actions/finishopenidlogin.php:92
 #: actions/finishopenidlogin.php:114
 msgid "Connect existing account"
-msgstr "Connecté à un compte existant"
+msgstr "Connecter à un compte existant"
 
-#: ../lib/util.php:332 lib/util.php:348 lib/action.php:576
+#: ../lib/util.php:332
+#: lib/util.php:348
+#: lib/action.php:576
 msgid "Contact"
 msgstr "Contact"
 
-#: ../lib/openid.php:178 lib/openid.php:178 lib/openid.php:187
+#: ../lib/openid.php:178
+#: lib/openid.php:178
+#: lib/openid.php:187
 #, php-format
 msgid "Could not create OpenID form: %s"
 msgstr "Impossible de créer le formulaire OpenID : %s"
 
-#: ../actions/twitapifriendships.php:60 ../actions/twitapifriendships.php:76
-#: actions/twitapifriendships.php:60 actions/twitapifriendships.php:76
-#: actions/twitapifriendships.php:48 actions/twitapifriendships.php:64
+#: ../actions/twitapifriendships.php:60
+#: ../actions/twitapifriendships.php:76
+#: actions/twitapifriendships.php:60
+#: actions/twitapifriendships.php:76
+#: actions/twitapifriendships.php:48
+#: actions/twitapifriendships.php:64
 #, php-format
 msgid "Could not follow user: %s is already on your list."
-msgstr "Impossible de suivre l'utilisateur: %s est déjà dans votre liste."
+msgstr "Impossible de suivre l'utilisateur : %s est déjà dans votre liste."
 
-#: ../actions/twitapifriendships.php:53 actions/twitapifriendships.php:53
+#: ../actions/twitapifriendships.php:53
+#: actions/twitapifriendships.php:53
 #: actions/twitapifriendships.php:41
 msgid "Could not follow user: User not found."
-msgstr "Impossible de suivre l'utilisateur: Utilisateur non trouvé."
+msgstr "Impossible de suivre l'utilisateur : Utilisateur non trouvé."
 
-#: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
+#: ../lib/openid.php:160
+#: lib/openid.php:160
+#: lib/openid.php:169
 #, php-format
 msgid "Could not redirect to server: %s"
 msgstr "Impossible de rediriger vers le serveur : %s"
 
-#: ../actions/updateprofile.php:162 actions/updateprofile.php:163
+#: ../actions/updateprofile.php:162
+#: actions/updateprofile.php:163
 #: actions/updateprofile.php:166
 msgid "Could not save avatar info"
 msgstr "Impossible de sauvegarder les informations de l'avatar"
 
-#: ../actions/updateprofile.php:155 actions/updateprofile.php:156
+#: ../actions/updateprofile.php:155
+#: actions/updateprofile.php:156
 #: actions/updateprofile.php:159
 msgid "Could not save new profile info"
 msgstr "Impossible de sauvegarder les informations du nouveau profil"
 
-#: ../lib/subs.php:54 lib/subs.php:61 lib/subs.php:72
+#: ../lib/subs.php:54
+#: lib/subs.php:61
+#: lib/subs.php:72
 msgid "Could not subscribe other to you."
-msgstr "Impossible de s'abonner à vous."
+msgstr "Impossible d'abonner une autre personne à votre profil."
 
-#: ../lib/subs.php:46 lib/subs.php:46 lib/subs.php:57
-#, fuzzy
+#: ../lib/subs.php:46
+#: lib/subs.php:46
+#: lib/subs.php:57
 msgid "Could not subscribe."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Non inscrit !\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Impossible de s'abonner."
 
-#: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
+#: ../actions/recoverpassword.php:102
+#: actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
-#, fuzzy
 msgid "Could not update user with confirmed email address."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Adresse Jabber/GTalk actuellement confirmée.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Impossible de mettre l'utilisateur à jour avec l'adresse courriel confirmée."
 
 #: ../actions/finishremotesubscribe.php:99
-#: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
+#: actions/finishremotesubscribe.php:101
+#: actions/finishremotesubscribe.php:114
 msgid "Couldn't convert request tokens to access tokens."
 msgstr "Impossible de convertir les jetons de requête en jetons d'accès"
 
-#: ../actions/confirmaddress.php:84 ../actions/emailsettings.php:234
-#: ../actions/imsettings.php:218 ../actions/smssettings.php:241
-#: actions/confirmaddress.php:84 actions/emailsettings.php:252
-#: actions/imsettings.php:226 actions/smssettings.php:249
-#: actions/confirmaddress.php:126 actions/emailsettings.php:375
-#: actions/imsettings.php:357 actions/smssettings.php:370
+#: ../actions/confirmaddress.php:84
+#: ../actions/emailsettings.php:234
+#: ../actions/imsettings.php:218
+#: ../actions/smssettings.php:241
+#: actions/confirmaddress.php:84
+#: actions/emailsettings.php:252
+#: actions/imsettings.php:226
+#: actions/smssettings.php:249
+#: actions/confirmaddress.php:126
+#: actions/emailsettings.php:375
+#: actions/imsettings.php:357
+#: actions/smssettings.php:370
 msgid "Couldn't delete email confirmation."
-msgstr ""
+msgstr "Impossible de supprimer le courriel de confirmation."
 
-#: ../lib/subs.php:103 lib/subs.php:116 lib/subs.php:134
+#: ../lib/subs.php:103
+#: lib/subs.php:116
+#: lib/subs.php:134
 msgid "Couldn't delete subscription."
-msgstr "Impossible de supprimer l'abonnement"
+msgstr "Impossible de cesser l'abonnement"
 
-#: ../actions/twitapistatuses.php:93 actions/twitapistatuses.php:98
+#: ../actions/twitapistatuses.php:93
+#: actions/twitapistatuses.php:98
 #: actions/twitapistatuses.php:84
 msgid "Couldn't find any statuses."
-msgstr ""
+msgstr "Aucun statut n'a été trouvé."
 
-#: ../actions/remotesubscribe.php:127 actions/remotesubscribe.php:136
+#: ../actions/remotesubscribe.php:127
+#: actions/remotesubscribe.php:136
 #: actions/remotesubscribe.php:178
 msgid "Couldn't get a request token."
 msgstr "Impossible d'obtenir le jeton de requête."
 
-#: ../actions/emailsettings.php:205 ../actions/imsettings.php:187
-#: ../actions/smssettings.php:206 actions/emailsettings.php:223
-#: actions/imsettings.php:195 actions/smssettings.php:214
-#: actions/emailsettings.php:337 actions/imsettings.php:311
+#: ../actions/emailsettings.php:205
+#: ../actions/imsettings.php:187
+#: ../actions/smssettings.php:206
+#: actions/emailsettings.php:223
+#: actions/imsettings.php:195
+#: actions/smssettings.php:214
+#: actions/emailsettings.php:337
+#: actions/imsettings.php:311
 #: actions/smssettings.php:325
 msgid "Couldn't insert confirmation code."
 msgstr "Impossible d'insérer le code de confirmation."
 
 #: ../actions/finishremotesubscribe.php:180
-#: actions/finishremotesubscribe.php:182 actions/finishremotesubscribe.php:218
+#: actions/finishremotesubscribe.php:182
+#: actions/finishremotesubscribe.php:218
 msgid "Couldn't insert new subscription."
-msgstr "Impossible d'insérer une nouvelle inscription."
-
-#: ../actions/profilesettings.php:184 ../actions/twitapiaccount.php:96
-#: actions/profilesettings.php:299 actions/twitapiaccount.php:94
-#: actions/profilesettings.php:302 actions/twitapiaccount.php:81
+msgstr "Impossible d'insérer un nouvel abonnement."
+
+#: ../actions/profilesettings.php:184
+#: ../actions/twitapiaccount.php:96
+#: actions/profilesettings.php:299
+#: actions/twitapiaccount.php:94
+#: actions/profilesettings.php:302
+#: actions/twitapiaccount.php:81
 msgid "Couldn't save profile."
-msgstr "Impossible de sauvegarder le profil."
+msgstr "Impossible d'enregistrer le profil."
 
-#: ../actions/profilesettings.php:161 actions/profilesettings.php:276
+#: ../actions/profilesettings.php:161
+#: actions/profilesettings.php:276
 #: actions/profilesettings.php:279
-#, fuzzy
 msgid "Couldn't update user for autosubscribe."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Impossible de mettre à jour l'utilisateur.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
-
-#: ../actions/emailsettings.php:280 ../actions/emailsettings.php:294
-#: actions/emailsettings.php:298 actions/emailsettings.php:312
-#: actions/emailsettings.php:440 actions/emailsettings.php:462
-#, fuzzy
+msgstr "Impossible de mettre à jour l'auto-abonnement."
+
+#: ../actions/emailsettings.php:280
+#: ../actions/emailsettings.php:294
+#: actions/emailsettings.php:298
+#: actions/emailsettings.php:312
+#: actions/emailsettings.php:440
+#: actions/emailsettings.php:462
 msgid "Couldn't update user record."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Impossible de mettre à jour l'utilisateur.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
-
-#: ../actions/confirmaddress.php:72 ../actions/emailsettings.php:156
-#: ../actions/emailsettings.php:259 ../actions/imsettings.php:138
-#: ../actions/imsettings.php:243 ../actions/profilesettings.php:141
-#: ../actions/smssettings.php:157 ../actions/smssettings.php:269
-#: actions/confirmaddress.php:72 actions/emailsettings.php:174
-#: actions/emailsettings.php:277 actions/imsettings.php:146
-#: actions/imsettings.php:251 actions/profilesettings.php:256
-#: actions/smssettings.php:165 actions/smssettings.php:277
-#: actions/confirmaddress.php:114 actions/emailsettings.php:280
-#: actions/emailsettings.php:411 actions/imsettings.php:252
-#: actions/imsettings.php:395 actions/othersettings.php:162
-#: actions/profilesettings.php:259 actions/smssettings.php:266
+msgstr "Impossible de mettre à jour le dossier de l'utilisateur."
+
+#: ../actions/confirmaddress.php:72
+#: ../actions/emailsettings.php:156
+#: ../actions/emailsettings.php:259
+#: ../actions/imsettings.php:138
+#: ../actions/imsettings.php:243
+#: ../actions/profilesettings.php:141
+#: ../actions/smssettings.php:157
+#: ../actions/smssettings.php:269
+#: actions/confirmaddress.php:72
+#: actions/emailsettings.php:174
+#: actions/emailsettings.php:277
+#: actions/imsettings.php:146
+#: actions/imsettings.php:251
+#: actions/profilesettings.php:256
+#: actions/smssettings.php:165
+#: actions/smssettings.php:277
+#: actions/confirmaddress.php:114
+#: actions/emailsettings.php:280
+#: actions/emailsettings.php:411
+#: actions/imsettings.php:252
+#: actions/imsettings.php:395
+#: actions/othersettings.php:162
+#: actions/profilesettings.php:259
+#: actions/smssettings.php:266
 #: actions/smssettings.php:408
 msgid "Couldn't update user."
 msgstr "Impossible de mettre à jour l'utilisateur."
 
-#: ../actions/finishopenidlogin.php:84 actions/finishopenidlogin.php:90
+#: ../actions/finishopenidlogin.php:84
+#: actions/finishopenidlogin.php:90
 #: actions/finishopenidlogin.php:112
 msgid "Create"
 msgstr "Créer"
 
-#: ../actions/finishopenidlogin.php:70 actions/finishopenidlogin.php:76
+#: ../actions/finishopenidlogin.php:70
+#: actions/finishopenidlogin.php:76
 #: actions/finishopenidlogin.php:98
 msgid "Create a new user with this nickname."
-msgstr "Créer un nouvel utilisateur avec ce surnom."
+msgstr "Créer un nouvel utilisateur avec ce pseudo."
 
-#: ../actions/finishopenidlogin.php:68 actions/finishopenidlogin.php:74
+#: ../actions/finishopenidlogin.php:68
+#: actions/finishopenidlogin.php:74
 #: actions/finishopenidlogin.php:96
 msgid "Create new account"
 msgstr "Créer un nouveau compte"
 
-#: ../actions/finishopenidlogin.php:191 actions/finishopenidlogin.php:197
+#: ../actions/finishopenidlogin.php:191
+#: actions/finishopenidlogin.php:197
 #: actions/finishopenidlogin.php:231
 msgid "Creating new account for OpenID that already has a user."
 msgstr "Création d'un nouveau compte pour un OpenID qui a déjà un utilisateur."
 
-#: ../actions/imsettings.php:45 actions/imsettings.php:46
+#: ../actions/imsettings.php:45
+#: actions/imsettings.php:46
 #: actions/imsettings.php:100
 msgid "Current confirmed Jabber/GTalk address."
 msgstr "Adresse Jabber/GTalk actuellement confirmée."
 
-#: ../actions/smssettings.php:46 actions/smssettings.php:46
+#: ../actions/smssettings.php:46
+#: actions/smssettings.php:46
 #: actions/smssettings.php:100
 msgid "Current confirmed SMS-enabled phone number."
-msgstr ""
+msgstr "Numéro de téléphone actuellement confirmé pour recevoir les SMS."
 
-#: ../actions/emailsettings.php:44 actions/emailsettings.php:45
+#: ../actions/emailsettings.php:44
+#: actions/emailsettings.php:45
 #: actions/emailsettings.php:99
-#, fuzzy
 msgid "Current confirmed email address."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Adresse Jabber/GTalk actuellement confirmée.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Adresse courriel actuellement confirmée."
 
-#: ../actions/showstream.php:356 actions/showstream.php:367
+#: ../actions/showstream.php:356
+#: actions/showstream.php:367
 msgid "Currently"
-msgstr ""
+msgstr "Actuellement"
 
-#: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
-#, fuzzy, php-format
+#: ../classes/Notice.php:72
+#: classes/Notice.php:86
+#: classes/Notice.php:91
+#, php-format
 msgid "DB error inserting hashtag: %s"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Erreur de base de donnée en insérant la réponse : %s\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Erreur de base de donnée en insérant le hashtag : %s"
 
-#: ../lib/util.php:1061 lib/util.php:1110 classes/Notice.php:698
+#: ../lib/util.php:1061
+#: lib/util.php:1110
+#: classes/Notice.php:698
 #, php-format
 msgid "DB error inserting reply: %s"
-msgstr ""
+msgstr "Erreur de base de donnée en insérant la réponse :%s"
 
 # De #-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n
 # Nouveau message\n
 # #-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n
-#
 # à "Supprimer l'avis"
-#: ../actions/deletenotice.php:41 actions/deletenotice.php:41
+#: ../actions/deletenotice.php:41
+#: actions/deletenotice.php:41
 #: actions/deletenotice.php:79
-#, fuzzy
 msgid "Delete notice"
-msgstr "Supprimer l'avis"
+msgstr "Supprimer ce statut"
 
-#: ../actions/profilesettings.php:51 ../actions/register.php:172
-#: actions/profilesettings.php:84 actions/register.php:186
+#: ../actions/profilesettings.php:51
+#: ../actions/register.php:172
+#: actions/profilesettings.php:84
+#: actions/register.php:186
 #: actions/profilesettings.php:114
 msgid "Describe yourself and your interests in 140 chars"
-msgstr "Description et intérêts (140 caractères maximum)"
-
-#: ../actions/register.php:158 ../actions/register.php:161
-#: ../lib/settingsaction.php:87 actions/register.php:172
-#: actions/register.php:175 lib/settingsaction.php:87 actions/register.php:381
-#: actions/register.php:385 lib/accountsettingsaction.php:113
+msgstr "Décrivez vos intérêts en 140 caractères"
+
+#: ../actions/register.php:158
+#: ../actions/register.php:161
+#: ../lib/settingsaction.php:87
+#: actions/register.php:172
+#: actions/register.php:175
+#: lib/settingsaction.php:87
+#: actions/register.php:381
+#: actions/register.php:385
+#: lib/accountsettingsaction.php:113
 msgid "Email"
-msgstr "Email"
+msgstr "Courriel"
 
-#: ../actions/emailsettings.php:59 actions/emailsettings.php:60
+#: ../actions/emailsettings.php:59
+#: actions/emailsettings.php:60
 #: actions/emailsettings.php:115
-#, fuzzy
 msgid "Email Address"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Adresse email\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Adresse courriel"
 
-#: ../actions/emailsettings.php:32 actions/emailsettings.php:32
+#: ../actions/emailsettings.php:32
+#: actions/emailsettings.php:32
 #: actions/emailsettings.php:60
-#, fuzzy
 msgid "Email Settings"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Paramètres\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Paramètres du courriel"
 
-#: ../actions/register.php:73 actions/register.php:80 actions/register.php:163
+#: ../actions/register.php:73
+#: actions/register.php:80
+#: actions/register.php:163
 msgid "Email address already exists."
-msgstr "Cette adresse email est déjà utilisée."
+msgstr "Cette adresse courriel est déjà utilisée."
 
-#: ../lib/mail.php:90 lib/mail.php:90 lib/mail.php:173
+#: ../lib/mail.php:90
+#: lib/mail.php:90
+#: lib/mail.php:173
 msgid "Email address confirmation"
-msgstr "Adresse email de confirmation"
+msgstr "Confirmation de l'adresse courriel"
 
-#: ../actions/emailsettings.php:61 actions/emailsettings.php:62
+#: ../actions/emailsettings.php:61
+#: actions/emailsettings.php:62
 #: actions/emailsettings.php:117
 msgid "Email address, like \"UserName@example.org\""
-msgstr "Adresse email (ex: nom@mondomaine.fr)"
+msgstr "Adresse courriel (ex : nom@mondomaine.com)"
 
-#: ../actions/invite.php:129 actions/invite.php:137 actions/invite.php:174
+#: ../actions/invite.php:129
+#: actions/invite.php:137
+#: actions/invite.php:174
 msgid "Email addresses"
-msgstr "Adresses email"
+msgstr "Adresses courriel"
 
-#: ../actions/recoverpassword.php:191 actions/recoverpassword.php:197
+#: ../actions/recoverpassword.php:191
+#: actions/recoverpassword.php:197
 #: actions/recoverpassword.php:231
 msgid "Enter a nickname or email address."
-msgstr "Entrer un pseudo ou une adresse email."
+msgstr "Entrez un pseudo ou une adresse courriel."
 
-#: ../actions/smssettings.php:64 actions/smssettings.php:64
+#: ../actions/smssettings.php:64
+#: actions/smssettings.php:64
 #: actions/smssettings.php:119
 msgid "Enter the code you received on your phone."
-msgstr "Entrer le code que vous avez reçu sur votre téléphone."
+msgstr "Entrez le code que vous avez reçu sur votre téléphone."
 
-#: ../actions/userauthorization.php:137 actions/userauthorization.php:144
+#: ../actions/userauthorization.php:137
+#: actions/userauthorization.php:144
 #: actions/userauthorization.php:161
 msgid "Error authorizing token"
-msgstr ""
+msgstr "Erreur d'autorisation du jeton"
 
-#: ../actions/finishopenidlogin.php:253 actions/finishopenidlogin.php:259
+#: ../actions/finishopenidlogin.php:253
+#: actions/finishopenidlogin.php:259
 #: actions/finishopenidlogin.php:297
 msgid "Error connecting user to OpenID."
 msgstr "Erreur lors de la connexion de l'utilisateur sur OpenID"
 
-#: ../actions/finishaddopenid.php:78 actions/finishaddopenid.php:78
+#: ../actions/finishaddopenid.php:78
+#: actions/finishaddopenid.php:78
 #: actions/finishaddopenid.php:126
 msgid "Error connecting user."
-msgstr "Erreur de connexion d'utilisateur."
+msgstr "Erreur lors de la connexion de l'utilisateur."
 
 #: ../actions/finishremotesubscribe.php:151
-#: actions/finishremotesubscribe.php:153 actions/finishremotesubscribe.php:166
+#: actions/finishremotesubscribe.php:153
+#: actions/finishremotesubscribe.php:166
 msgid "Error inserting avatar"
-msgstr "Erreur lors de l'insertion d'un avatar"
+msgstr "Erreur lors de l'insertion de l'avatar"
 
 #: ../actions/finishremotesubscribe.php:143
-#: actions/finishremotesubscribe.php:145 actions/finishremotesubscribe.php:158
+#: actions/finishremotesubscribe.php:145
+#: actions/finishremotesubscribe.php:158
 msgid "Error inserting new profile"
-msgstr "Erreur lors de l'insertion d'un nouveau profil"
+msgstr "Erreur lors de l'insertion du nouveau profil"
 
 #: ../actions/finishremotesubscribe.php:167
-#: actions/finishremotesubscribe.php:169 actions/finishremotesubscribe.php:182
+#: actions/finishremotesubscribe.php:169
+#: actions/finishremotesubscribe.php:182
 msgid "Error inserting remote profile"
-msgstr "Erreur lors de l'insertion d'un profil distant"
+msgstr "Erreur lors de l'insertion du profil distant"
 
-#: ../actions/recoverpassword.php:240 actions/recoverpassword.php:246
+#: ../actions/recoverpassword.php:240
+#: actions/recoverpassword.php:246
 #: actions/recoverpassword.php:280
 msgid "Error saving address confirmation."
-msgstr "Erreur lors de la sauvegarde de l'email de confirmation."
+msgstr "Erreur lors de l'enregistrement de la confirmation du courriel."
 
-#: ../actions/userauthorization.php:140 actions/userauthorization.php:147
+#: ../actions/userauthorization.php:140
+#: actions/userauthorization.php:147
 #: actions/userauthorization.php:164
 msgid "Error saving remote profile"
-msgstr "Erreur lors de la sauvegarde du profil distant"
+msgstr "Erreur lors de l'enregistrement du profil distant"
 
-#: ../lib/openid.php:226 lib/openid.php:226 lib/openid.php:235
+#: ../lib/openid.php:226
+#: lib/openid.php:226
+#: lib/openid.php:235
 msgid "Error saving the profile."
-msgstr "Erreur lors de la sauvegarde du profil."
+msgstr "Erreur lors de l'enregistrement du profil."
 
-#: ../lib/openid.php:237 lib/openid.php:237 lib/openid.php:246
+#: ../lib/openid.php:237
+#: lib/openid.php:237
+#: lib/openid.php:246
 msgid "Error saving the user."
 msgstr "Erreur lors de l'enregistrement de l'utilisateur."
 
-#: ../actions/password.php:80 actions/profilesettings.php:399
+#: ../actions/password.php:80
+#: actions/profilesettings.php:399
 #: actions/passwordsettings.php:164
 msgid "Error saving user; invalid."
 msgstr "Erreur lors de l'enregistrement de l'utilisateur ; invalide."
 
-#: ../actions/login.php:47 ../actions/login.php:73
-#: ../actions/recoverpassword.php:307 ../actions/register.php:98
-#: actions/login.php:47 actions/login.php:73 actions/recoverpassword.php:320
-#: actions/register.php:108 actions/login.php:112 actions/login.php:138
-#: actions/recoverpassword.php:354 actions/register.php:198
+#: ../actions/login.php:47
+#: ../actions/login.php:73
+#: ../actions/recoverpassword.php:307
+#: ../actions/register.php:98
+#: actions/login.php:47
+#: actions/login.php:73
+#: actions/recoverpassword.php:320
+#: actions/register.php:108
+#: actions/login.php:112
+#: actions/login.php:138
+#: actions/recoverpassword.php:354
+#: actions/register.php:198
 msgid "Error setting user."
-msgstr "Erreur dans les options de l'utilisateur."
+msgstr "Erreur lors de la configuration de l'utilisateur."
 
-#: ../actions/finishaddopenid.php:83 actions/finishaddopenid.php:83
+#: ../actions/finishaddopenid.php:83
+#: actions/finishaddopenid.php:83
 #: actions/finishaddopenid.php:131
 msgid "Error updating profile"
 msgstr "Erreur lors de la mise à jour du profil"
 
 #: ../actions/finishremotesubscribe.php:161
-#: actions/finishremotesubscribe.php:163 actions/finishremotesubscribe.php:176
+#: actions/finishremotesubscribe.php:163
+#: actions/finishremotesubscribe.php:176
 msgid "Error updating remote profile"
 msgstr "Erreur lors de la mise à jour du profil distant"
 
-#: ../actions/recoverpassword.php:80 actions/recoverpassword.php:80
+#: ../actions/recoverpassword.php:80
+#: actions/recoverpassword.php:80
 #: actions/recoverpassword.php:86
 msgid "Error with confirmation code."
 msgstr "Erreur dans le code de confirmation."
 
-#: ../actions/finishopenidlogin.php:89 actions/finishopenidlogin.php:95
+#: ../actions/finishopenidlogin.php:89
+#: actions/finishopenidlogin.php:95
 #: actions/finishopenidlogin.php:117
 msgid "Existing nickname"
-msgstr "Surnom existant"
+msgstr "Ce pseudo est déjà utilisé"
 
-#: ../lib/util.php:326 lib/util.php:342 lib/action.php:570
+#: ../lib/util.php:326
+#: lib/util.php:342
+#: lib/action.php:570
 msgid "FAQ"
 msgstr "FAQ"
 
-#: ../actions/avatar.php:115 actions/profilesettings.php:352
+#: ../actions/avatar.php:115
+#: actions/profilesettings.php:352
 #: actions/avatarsettings.php:397
 msgid "Failed updating avatar."
 msgstr "La mise à jour de l'avatar a échoué."
 
-#: ../actions/all.php:61 ../actions/allrss.php:64 actions/all.php:61
-#: actions/allrss.php:64 actions/all.php:75 actions/allrss.php:107
+#: ../actions/all.php:61
+#: ../actions/allrss.php:64
+#: actions/all.php:61
+#: actions/allrss.php:64
+#: actions/all.php:75
+#: actions/allrss.php:107
 #, php-format
 msgid "Feed for friends of %s"
-msgstr ""
+msgstr "Flux des amis de %s"
 
-#: ../actions/replies.php:65 ../actions/repliesrss.php:80
-#: actions/replies.php:65 actions/repliesrss.php:66 actions/replies.php:134
+#: ../actions/replies.php:65
+#: ../actions/repliesrss.php:80
+#: actions/replies.php:65
+#: actions/repliesrss.php:66
+#: actions/replies.php:134
 #: actions/repliesrss.php:71
 #, php-format
 msgid "Feed for replies to %s"
-msgstr ""
+msgstr "Flux des réponses à %s"
 
-#: ../actions/tag.php:55 actions/tag.php:55 actions/tag.php:61
-#, fuzzy, php-format
+#: ../actions/tag.php:55
+#: actions/tag.php:55
+#: actions/tag.php:61
+#, php-format
 msgid "Feed for tag %s"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Fil des réponses à %s\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Flux du marquage %s"
 
-#: ../lib/searchaction.php:105 lib/searchaction.php:105
+#: ../lib/searchaction.php:105
+#: lib/searchaction.php:105
 #: lib/searchgroupnav.php:83
 msgid "Find content of notices"
-msgstr ""
+msgstr "Chercher dans le contenu des statuts"
 
-#: ../lib/searchaction.php:101 lib/searchaction.php:101
+#: ../lib/searchaction.php:101
+#: lib/searchaction.php:101
 #: lib/searchgroupnav.php:81
 msgid "Find people on this site"
-msgstr "Trouver des personnes sur ce site"
+msgstr "Chercher des personnes sur ce site"
 
 #: ../actions/login.php:122
-msgid ""
-"For security reasons, please re-enter your user name and password before "
-"changing your settings."
-msgstr ""
-"Pour des raisons de sécurité, merci de rentrer à nouveau votre nom "
-"d'utilisateur et votre mot de passe avant de sauvegarde vos préférences."
-
-#: ../actions/profilesettings.php:44 ../actions/register.php:164
-#: actions/profilesettings.php:77 actions/register.php:178
-#: actions/profilesettings.php:103 actions/register.php:391
-#: actions/showgroup.php:235 actions/showstream.php:262
-#: actions/tagother.php:105 lib/groupeditform.php:142
+msgid "For security reasons, please re-enter your user name and password before changing your settings."
+msgstr "Pour des raisons de sécurité, veuillez entrer à nouveau votre identifiant et votre mot de passe afin d'enregistrer vos préférences."
+
+#: ../actions/profilesettings.php:44
+#: ../actions/register.php:164
+#: actions/profilesettings.php:77
+#: actions/register.php:178
+#: actions/profilesettings.php:103
+#: actions/register.php:391
+#: actions/showgroup.php:235
+#: actions/showstream.php:262
+#: actions/tagother.php:105
+#: lib/groupeditform.php:142
 msgid "Full name"
 msgstr "Nom complet"
 
-#: ../actions/profilesettings.php:98 ../actions/register.php:79
-#: ../actions/updateprofile.php:93 actions/profilesettings.php:213
-#: actions/register.php:86 actions/updateprofile.php:94
-#: actions/editgroup.php:195 actions/newgroup.php:146
-#: actions/profilesettings.php:202 actions/register.php:171
+#: ../actions/profilesettings.php:98
+#: ../actions/register.php:79
+#: ../actions/updateprofile.php:93
+#: actions/profilesettings.php:213
+#: actions/register.php:86
+#: actions/updateprofile.php:94
+#: actions/editgroup.php:195
+#: actions/newgroup.php:146
+#: actions/profilesettings.php:202
+#: actions/register.php:171
 #: actions/updateprofile.php:97
 msgid "Full name is too long (max 255 chars)."
 msgstr "Nom complet trop long (maximum de 255 caractères)."
 
-#: ../lib/util.php:322 lib/util.php:338 lib/action.php:344 lib/action.php:566
+#: ../lib/util.php:322
+#: lib/util.php:338
+#: lib/action.php:344
+#: lib/action.php:566
 msgid "Help"
 msgstr "Aide"
 
-#: ../lib/util.php:298 lib/util.php:314 lib/action.php:322
+#: ../lib/util.php:298
+#: lib/util.php:314
+#: lib/action.php:322
 #: lib/facebookaction.php:200
 msgid "Home"
 msgstr "Accueil"
 
-#: ../actions/profilesettings.php:46 ../actions/register.php:167
-#: actions/profilesettings.php:79 actions/register.php:181
-#: actions/profilesettings.php:107 actions/register.php:396
+#: ../actions/profilesettings.php:46
+#: ../actions/register.php:167
+#: actions/profilesettings.php:79
+#: actions/register.php:181
+#: actions/profilesettings.php:107
+#: actions/register.php:396
 #: lib/groupeditform.php:146
 msgid "Homepage"
-msgstr "Page d'accueil"
-
-#: ../actions/profilesettings.php:95 ../actions/register.php:76
-#: actions/profilesettings.php:210 actions/register.php:83
-#: actions/editgroup.php:192 actions/newgroup.php:143
-#: actions/profilesettings.php:199 actions/register.php:168
+msgstr "Site personnel"
+
+#: ../actions/profilesettings.php:95
+#: ../actions/register.php:76
+#: actions/profilesettings.php:210
+#: actions/register.php:83
+#: actions/editgroup.php:192
+#: actions/newgroup.php:143
+#: actions/profilesettings.php:199
+#: actions/register.php:168
 msgid "Homepage is not a valid URL."
-msgstr "Page d'accueil non valide."
+msgstr "L'adresse du site personnel n'est pas un URL valide. "
 
-#: ../actions/emailsettings.php:91 actions/emailsettings.php:98
+#: ../actions/emailsettings.php:91
+#: actions/emailsettings.php:98
 #: actions/emailsettings.php:173
 msgid "I want to post notices by email."
-msgstr "Je veux envoyer des avis par email."
+msgstr "Je veux envoyer mes statuts par courriel."
 
-#: ../lib/settingsaction.php:102 lib/settingsaction.php:96
+#: ../lib/settingsaction.php:102
+#: lib/settingsaction.php:96
 #: lib/connectsettingsaction.php:104
 msgid "IM"
 msgstr "IM"
 
-#: ../actions/imsettings.php:60 actions/imsettings.php:61
+#: ../actions/imsettings.php:60
+#: actions/imsettings.php:61
 #: actions/imsettings.php:118
 msgid "IM Address"
-msgstr "Adresse de messagerie instantannée"
+msgstr "Adresse de messagerie instantanée"
 
-#: ../actions/imsettings.php:33 actions/imsettings.php:33
+#: ../actions/imsettings.php:33
+#: actions/imsettings.php:33
 #: actions/imsettings.php:59
 msgid "IM Settings"
 msgstr "Paramètres de messagerie instantanée"
 
-#: ../actions/finishopenidlogin.php:88 actions/finishopenidlogin.php:94
+#: ../actions/finishopenidlogin.php:88
+#: actions/finishopenidlogin.php:94
 #: actions/finishopenidlogin.php:116
-msgid ""
-"If you already have an account, login with your username and password to "
-"connect it to your OpenID."
-msgstr ""
-"Si vous avez déjà un compte, connectez-vous avec votre nom d'utilisateur et "
-"votre mot de passe pour les relier à votre OpenID."
+msgid "If you already have an account, login with your username and password to connect it to your OpenID."
+msgstr "Si vous avez déjà un compte, ouvrez une session avec votre identifiant et votre mot de passe pour les relier à votre OpenID."
 
 #: ../actions/openidsettings.php:45
-msgid ""
-"If you want to add an OpenID to your account, enter it in the box below and "
-"click \"Add\"."
-msgstr ""
-"Si vous voulez ajouter un OpenID à votre compte, entrez-le dans le champ ci-"
-"dessous et cliquez sur « Ajouter »."
+msgid "If you want to add an OpenID to your account, enter it in the box below and click \"Add\"."
+msgstr "Pour ajouter un OpenID à votre compte, entrez-le dans le champ ci-dessous et cliquez sur « Ajouter »."
 
 #: ../actions/recoverpassword.php:137
-msgid ""
-"If you've forgotten or lost your password, you can get a new one sent to the "
-"email address you have stored  in your account."
-msgstr ""
-"Si vous avez oublié ou perdu votre mot de passe, vous pouvez vous en faire "
-"envoyé un nouveau sur l'email correspondant à votre compte."
-
-#: ../actions/emailsettings.php:67 ../actions/smssettings.php:76
-#: actions/emailsettings.php:68 actions/smssettings.php:76
-#: actions/emailsettings.php:127 actions/smssettings.php:140
+msgid "If you've forgotten or lost your password, you can get a new one sent to the email address you have stored  in your account."
+msgstr "Si vous avez oublié ou perdu votre mot de passe, vous pouvez en recevoir un nouveau à l'adresse courriel indiquée dans votre compte. "
+
+#: ../actions/emailsettings.php:67
+#: ../actions/smssettings.php:76
+#: actions/emailsettings.php:68
+#: actions/smssettings.php:76
+#: actions/emailsettings.php:127
+#: actions/smssettings.php:140
 msgid "Incoming email"
-msgstr ""
+msgstr "Courriel entrant"
 
-#: ../actions/emailsettings.php:283 actions/emailsettings.php:301
+#: ../actions/emailsettings.php:283
+#: actions/emailsettings.php:301
 #: actions/emailsettings.php:443
-#, fuzzy
 msgid "Incoming email address removed."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"L'adresse a été enlevée.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "L'adresse de courriel entrant a été supprimée."
 
-#: ../actions/password.php:69 actions/profilesettings.php:388
+#: ../actions/password.php:69
+#: actions/profilesettings.php:388
 #: actions/passwordsettings.php:153
 msgid "Incorrect old password"
 msgstr "Ancien mot de passe incorrect"
 
-#: ../actions/login.php:67 actions/login.php:67 actions/facebookhome.php:131
+#: ../actions/login.php:67
+#: actions/login.php:67
+#: actions/facebookhome.php:131
 #: actions/login.php:132
 msgid "Incorrect username or password."
-msgstr "Nom d'utilisateur ou mot de passe incorrect."
+msgstr "Identifiant ou mot de passe incorrect."
 
 #: ../actions/recoverpassword.php:265
-msgid ""
-"Instructions for recovering your password have been sent to the email "
-"address registered to your account."
-msgstr ""
-"Les instructions pour récupérer votre mot de passe viennent d'être envoyé "
-"par email à l'adresse email indiquée dans votre compte."
+msgid "Instructions for recovering your password have been sent to the email address registered to your account."
+msgstr "Les instructions pour récupérer votre mot de passe ont été envoyées à l'adresse courriel indiquée dans votre compte."
 
-#: ../actions/updateprofile.php:114 actions/updateprofile.php:115
+#: ../actions/updateprofile.php:114
+#: actions/updateprofile.php:115
 #: actions/updateprofile.php:118
 #, php-format
 msgid "Invalid avatar URL '%s'"
-msgstr "URL de l'avatar invalide: '%s'"
+msgstr "URL de l'avatar invalide : '%s'"
 
-#: ../actions/invite.php:55 actions/invite.php:62 actions/invite.php:70
+#: ../actions/invite.php:55
+#: actions/invite.php:62
+#: actions/invite.php:70
 #, php-format
 msgid "Invalid email address: %s"
-msgstr "Adresse email invalide: %s"
+msgstr "Adresse courriel invalide : %s"
 
-#: ../actions/updateprofile.php:98 actions/updateprofile.php:99
+#: ../actions/updateprofile.php:98
+#: actions/updateprofile.php:99
 #: actions/updateprofile.php:102
 #, php-format
 msgid "Invalid homepage '%s'"
-msgstr "Page d'accueil invalide '%s'"
+msgstr "Site personnel invalide '%s'"
 
-#: ../actions/updateprofile.php:82 actions/updateprofile.php:83
+#: ../actions/updateprofile.php:82
+#: actions/updateprofile.php:83
 #: actions/updateprofile.php:86
 #, php-format
 msgid "Invalid license URL '%s'"
 msgstr "URL de la licence invalide '%s'"
 
-#: ../actions/postnotice.php:61 actions/postnotice.php:62
+#: ../actions/postnotice.php:61
+#: actions/postnotice.php:62
 #: actions/postnotice.php:66
 msgid "Invalid notice content"
-msgstr "Contenu du message invalide"
+msgstr "Contenu invalide"
 
-#: ../actions/postnotice.php:67 actions/postnotice.php:68
+#: ../actions/postnotice.php:67
+#: actions/postnotice.php:68
 #: actions/postnotice.php:72
 msgid "Invalid notice uri"
-msgstr "URI du message invalide"
+msgstr "URI du statut invalide"
 
-#: ../actions/postnotice.php:72 actions/postnotice.php:73
+#: ../actions/postnotice.php:72
+#: actions/postnotice.php:73
 #: actions/postnotice.php:77
 msgid "Invalid notice url"
-msgstr "URL du message invalide"
+msgstr "URL du statut invalide"
 
-#: ../actions/updateprofile.php:87 actions/updateprofile.php:88
+#: ../actions/updateprofile.php:87
+#: actions/updateprofile.php:88
 #: actions/updateprofile.php:91
 #, php-format
 msgid "Invalid profile URL '%s'."
 msgstr "URL du profil invalide '%s'."
 
-#: ../actions/remotesubscribe.php:96 actions/remotesubscribe.php:105
+#: ../actions/remotesubscribe.php:96
+#: actions/remotesubscribe.php:105
 #: actions/remotesubscribe.php:135
 msgid "Invalid profile URL (bad format)"
 msgstr "URL du profil invalide (mauvais format)"
 
 #: ../actions/finishremotesubscribe.php:77
-#: actions/finishremotesubscribe.php:79 actions/finishremotesubscribe.php:80
+#: actions/finishremotesubscribe.php:79
+#: actions/finishremotesubscribe.php:80
 msgid "Invalid profile URL returned by server."
-msgstr "URL du profil retourné par le serveur invalide."
+msgstr "URL du profil invalide, retourné par le serveur."
 
-#: ../actions/avatarbynickname.php:37 actions/avatarbynickname.php:37
+#: ../actions/avatarbynickname.php:37
+#: actions/avatarbynickname.php:37
 #: actions/avatarbynickname.php:69
 msgid "Invalid size."
-msgstr "Taille invalide."
-
-#: ../actions/finishopenidlogin.php:235 ../actions/register.php:93
-#: ../actions/register.php:111 actions/finishopenidlogin.php:241
-#: actions/register.php:103 actions/register.php:121
-#: actions/finishopenidlogin.php:279 actions/register.php:193
+msgstr "Taille incorrecte."
+
+#: ../actions/finishopenidlogin.php:235
+#: ../actions/register.php:93
+#: ../actions/register.php:111
+#: actions/finishopenidlogin.php:241
+#: actions/register.php:103
+#: actions/register.php:121
+#: actions/finishopenidlogin.php:279
+#: actions/register.php:193
 #: actions/register.php:211
 msgid "Invalid username or password."
-msgstr "Nom d'utilisateur ou mot de passe invalide."
+msgstr "Identifiant ou mot de passe incorrect."
 
-#: ../actions/invite.php:79 actions/invite.php:86 actions/invite.php:102
+#: ../actions/invite.php:79
+#: actions/invite.php:86
+#: actions/invite.php:102
 msgid "Invitation(s) sent"
 msgstr "Invitation(s) envoyée(s)"
 
-#: ../actions/invite.php:97 actions/invite.php:104 actions/invite.php:136
+#: ../actions/invite.php:97
+#: actions/invite.php:104
+#: actions/invite.php:136
 msgid "Invitation(s) sent to the following people:"
-msgstr "Invitation(s) envoyée(s) aux personnes suivantes:"
+msgstr "Invitation(s) envoyée(s) aux personnes suivantes :"
 
-#: ../lib/util.php:306 lib/util.php:322 lib/facebookaction.php:207
+#: ../lib/util.php:306
+#: lib/util.php:322
+#: lib/facebookaction.php:207
 #: lib/subgroupnav.php:103
 msgid "Invite"
 msgstr "Inviter"
 
-#: ../actions/invite.php:123 actions/invite.php:130 actions/invite.php:104
+#: ../actions/invite.php:123
+#: actions/invite.php:130
+#: actions/invite.php:104
 msgid "Invite new users"
-msgstr "Inviter de nouveau utilisateurs"
+msgstr "Inviter de nouveaux utilisateurs"
 
-#: ../lib/util.php:261 lib/util.php:277 lib/action.php:609
-#, fuzzy, php-format
-msgid ""
-"It runs the [Laconica](http://laconi.ca/) microblogging software, version %"
-"s, available under the [GNU Affero General Public License](http://www.fsf."
-"org/licensing/licenses/agpl-3.0.html)."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Il utilise le logiciel de microblog [Laconica](http://laconi.ca/), version %"
-"s, disponible sous la licence [GNU Affero General Public License] (http://"
-"www.fsf.org/licensing/licenses/agpl-3.0.html).\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+#: ../lib/util.php:261
+#: lib/util.php:277
+#: lib/action.php:609
+#, php-format
+msgid "It runs the [Laconica](http://laconi.ca/) microblogging software, version %s, available under the [GNU Affero General Public License](http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
+msgstr "Il utilise le logiciel de micro-blogging [Laconica](http://laconi.ca/), version %s, disponible sous la licence [GNU Affero General Public License] (http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#: ../actions/imsettings.php:173 actions/imsettings.php:181
+#: ../actions/imsettings.php:173
+#: actions/imsettings.php:181
 #: actions/imsettings.php:296
 msgid "Jabber ID already belongs to another user."
-msgstr "ID Jabber déjà utilisé par un autre utilisateur."
+msgstr "Identifiant Jabber déjà utilisé par un autre utilisateur."
 
-#: ../actions/imsettings.php:62 actions/imsettings.php:63
+#: ../actions/imsettings.php:62
+#: actions/imsettings.php:63
 #, 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 ""
-"Adresse Jabber ou GTAlk (ex: nom@mondomaine.fr). Tout d'abord, ajouter bien %"
-"s à votre liste d'amis dans votre client de messagerie instantanée ou dans "
-"GTalk."
+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 "Adresse Jabber ou GTalk (ex : nom@mondomaine.com). Assurez-vous d'ajouter %s à votre liste d'amis dans votre logiciel de messagerie instantanée ou dans GTalk."
 
-#: ../actions/profilesettings.php:57 actions/profilesettings.php:90
+#: ../actions/profilesettings.php:57
+#: actions/profilesettings.php:90
 #: actions/profilesettings.php:128
 msgid "Language"
 msgstr "Langue"
 
-#: ../actions/profilesettings.php:113 actions/profilesettings.php:228
+#: ../actions/profilesettings.php:113
+#: actions/profilesettings.php:228
 #: actions/profilesettings.php:217
-#, fuzzy
 msgid "Language is too long (max 50 chars)."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"La langue est trop longue (255 caractères maximum).\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
-
-#: ../actions/profilesettings.php:52 ../actions/register.php:173
-#: actions/profilesettings.php:85 actions/register.php:187
-#: actions/profilesettings.php:117 actions/register.php:408
-#: actions/showgroup.php:244 actions/showstream.php:271
-#: actions/tagother.php:113 lib/groupeditform.php:156 lib/grouplist.php:126
+msgstr "La langue est trop longue (255 caractères maximum)."
+
+#: ../actions/profilesettings.php:52
+#: ../actions/register.php:173
+#: actions/profilesettings.php:85
+#: actions/register.php:187
+#: actions/profilesettings.php:117
+#: actions/register.php:408
+#: actions/showgroup.php:244
+#: actions/showstream.php:271
+#: actions/tagother.php:113
+#: lib/groupeditform.php:156
+#: lib/grouplist.php:126
 #: lib/profilelist.php:125
 msgid "Location"
-msgstr "Localisation"
-
-#: ../actions/profilesettings.php:104 ../actions/register.php:85
-#: ../actions/updateprofile.php:108 actions/profilesettings.php:219
-#: actions/register.php:92 actions/updateprofile.php:109
-#: actions/editgroup.php:201 actions/newgroup.php:152
-#: actions/profilesettings.php:208 actions/register.php:177
+msgstr "Emplacement"
+
+#: ../actions/profilesettings.php:104
+#: ../actions/register.php:85
+#: ../actions/updateprofile.php:108
+#: actions/profilesettings.php:219
+#: actions/register.php:92
+#: actions/updateprofile.php:109
+#: actions/editgroup.php:201
+#: actions/newgroup.php:152
+#: actions/profilesettings.php:208
+#: actions/register.php:177
 #: actions/updateprofile.php:112
 msgid "Location is too long (max 255 chars)."
-msgstr "Localisation trop longue (maximum de 255 caractères)."
-
-#: ../actions/login.php:97 ../actions/login.php:106
-#: ../actions/openidlogin.php:68 ../lib/util.php:310 actions/login.php:97
-#: actions/login.php:106 actions/openidlogin.php:77 lib/util.php:326
-#: actions/facebooklogin.php:93 actions/login.php:186 actions/login.php:239
-#: actions/openidlogin.php:112 lib/action.php:335 lib/facebookaction.php:288
-#: lib/facebookaction.php:315 lib/logingroupnav.php:75
+msgstr "Emplacement trop long (maximum de 255 caractères)."
+
+#: ../actions/login.php:97
+#: ../actions/login.php:106
+#: ../actions/openidlogin.php:68
+#: ../lib/util.php:310
+#: actions/login.php:97
+#: actions/login.php:106
+#: actions/openidlogin.php:77
+#: lib/util.php:326
+#: actions/facebooklogin.php:93
+#: actions/login.php:186
+#: actions/login.php:239
+#: actions/openidlogin.php:112
+#: lib/action.php:335
+#: lib/facebookaction.php:288
+#: lib/facebookaction.php:315
+#: lib/logingroupnav.php:75
 #, php-format
 msgid "Login"
-msgstr "Se connecter"
+msgstr "Ouvrir une session"
 
-#: ../actions/openidlogin.php:44 actions/openidlogin.php:52
+#: ../actions/openidlogin.php:44
+#: actions/openidlogin.php:52
 #: actions/openidlogin.php:62
 #, php-format
 msgid "Login with an [OpenID](%%doc.openid%%) account."
-msgstr "Se connecter avec un compte [OpenID](%%doc.openid%%)."
+msgstr "Ouvrir une session avec un compte [OpenID](%%doc.openid%%)."
 
 #: ../actions/login.php:126
 #, php-format
-msgid ""
-"Login with your username and password. Don't have a username yet? [Register]"
-"(%%action.register%%) a new account, or try [OpenID](%%action.openidlogin%"
-"%). "
-msgstr ""
-"Se connecter avec un nom d'utilisateur et un mot de passe. Pas encore "
-"inscrit ? [Register](%%action.register%%) un nouveau compte, ou essayer "
-"[OpenID](%%action.openidlogin%%)."
+msgid "Login with your username and password. Don't have a username yet? [Register](%%action.register%%) a new account, or try [OpenID](%%action.openidlogin%%). "
+msgstr "Ouvrez une session avec votre identifiant et votre mot de passe, ou [créez un compte](%%action.register%%), ou utilisez un identifiant [OpenID](%%action.openidlogin%%)."
 
-#: ../lib/util.php:308 lib/util.php:324 lib/action.php:332
+#: ../lib/util.php:308
+#: lib/util.php:324
+#: lib/action.php:332
 msgid "Logout"
-msgstr "Déconnexion"
+msgstr "Fermeture de session"
 
-#: ../actions/register.php:166 actions/register.php:180
+#: ../actions/register.php:166
+#: actions/register.php:180
 #: actions/register.php:393
 msgid "Longer name, preferably your \"real\" name"
-msgstr ""
+msgstr "Nom plus long, votre \"vrai\" nom de préférence"
 
-#: ../actions/login.php:110 actions/login.php:110 actions/login.php:245
+#: ../actions/login.php:110
+#: actions/login.php:110
+#: actions/login.php:245
 #: lib/facebookaction.php:320
 msgid "Lost or forgotten password?"
-msgstr "Mot de passe perdu ou oublié?"
+msgstr "Mot de passe perdu ?"
 
-#: ../actions/emailsettings.php:80 ../actions/smssettings.php:89
-#: actions/emailsettings.php:81 actions/smssettings.php:89
+#: ../actions/emailsettings.php:80
+#: ../actions/smssettings.php:89
+#: actions/emailsettings.php:81
+#: actions/smssettings.php:89
 msgid "Make a new email address for posting to; cancels the old one."
-msgstr ""
+msgstr "Nouvelle adresse courriel pour poster ; annule l'ancienne."
 
-#: ../actions/emailsettings.php:27 actions/emailsettings.php:27
+#: ../actions/emailsettings.php:27
+#: actions/emailsettings.php:27
 #: actions/emailsettings.php:71
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
-msgstr ""
+msgstr "Configurez les courriels que vous souhaitez recevoir de %%site.name%%."
 
-#: ../actions/showstream.php:300 actions/showstream.php:315
+#: ../actions/showstream.php:300
+#: actions/showstream.php:315
 #: actions/showstream.php:480
 msgid "Member since"
 msgstr "Membre depuis"
 
-#: ../actions/userrss.php:70 actions/userrss.php:67 actions/userrss.php:72
+#: ../actions/userrss.php:70
+#: actions/userrss.php:67
+#: actions/userrss.php:72
 #, php-format
 msgid "Microblog by %s"
-msgstr "Microblog par %s"
+msgstr "Micro-blogging par %s"
 
 #: ../actions/smssettings.php:304
 #, 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 ""
+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 "Votre fournisseur de téléphonie mobile. Si vous connaissez un fournisseur qui accepte la réception de SMS par courriel mais qui n'est pas listé ici, écrivez-nous à %s."
 
-#: ../actions/finishopenidlogin.php:79 ../actions/register.php:188
-#: actions/finishopenidlogin.php:85 actions/register.php:202
-#: actions/finishopenidlogin.php:107 actions/register.php:429
+#: ../actions/finishopenidlogin.php:79
+#: ../actions/register.php:188
+#: actions/finishopenidlogin.php:85
+#: actions/register.php:202
+#: actions/finishopenidlogin.php:107
+#: actions/register.php:429
 msgid "My text and files are available under "
 msgstr "Mes textes et mes fichiers sont disponibles sous"
 
-#: ../actions/emailsettings.php:82 ../actions/smssettings.php:91
-#: actions/emailsettings.php:83 actions/smssettings.php:91
-#: actions/emailsettings.php:142 actions/smssettings.php:152
+#: ../actions/emailsettings.php:82
+#: ../actions/smssettings.php:91
+#: actions/emailsettings.php:83
+#: actions/smssettings.php:91
+#: actions/emailsettings.php:142
+#: actions/smssettings.php:152
 msgid "New"
 msgstr "Nouveau"
 
-#: ../lib/mail.php:144 lib/mail.php:144 lib/mail.php:286
-#, fuzzy, php-format
+#: ../lib/mail.php:144
+#: lib/mail.php:144
+#: lib/mail.php:286
+#, php-format
 msgid "New email address for posting to %s"
-msgstr "Nouvelle adresse email pour envoyer à %s"
+msgstr "Nouvelle adresse courriel pour poster dans %s"
 
-#: ../actions/emailsettings.php:297 actions/emailsettings.php:315
+#: ../actions/emailsettings.php:297
+#: actions/emailsettings.php:315
 #: actions/emailsettings.php:465
-#, fuzzy
 msgid "New incoming email address added."
-msgstr "Nouvelle adresse email ajoutée."
+msgstr "Nouvelle adresse courriel ajoutée."
 
-#: ../actions/finishopenidlogin.php:71 actions/finishopenidlogin.php:77
+#: ../actions/finishopenidlogin.php:71
+#: actions/finishopenidlogin.php:77
 #: actions/finishopenidlogin.php:99
 msgid "New nickname"
-msgstr "Nouveau surnom"
+msgstr "Nouveau pseudo"
 
-#: ../actions/newnotice.php:87 actions/newnotice.php:96
+#: ../actions/newnotice.php:87
+#: actions/newnotice.php:96
 #: actions/newnotice.php:68
 msgid "New notice"
-msgstr "Nouveau message"
-
-#: ../actions/password.php:41 ../actions/recoverpassword.php:179
-#: actions/profilesettings.php:180 actions/recoverpassword.php:185
-#: actions/passwordsettings.php:101 actions/recoverpassword.php:219
+msgstr "Nouveau statut"
+
+#: ../actions/password.php:41
+#: ../actions/recoverpassword.php:179
+#: actions/profilesettings.php:180
+#: actions/recoverpassword.php:185
+#: actions/passwordsettings.php:101
+#: actions/recoverpassword.php:219
 msgid "New password"
 msgstr "Nouveau mot de passe"
 
 #: ../actions/recoverpassword.php:314
 msgid "New password successfully saved. You are now logged in."
-msgstr "Nouveau mot de passe créé avec succès. Vous êtes maintenant connecté."
-
-#: ../actions/login.php:101 ../actions/profilesettings.php:41
-#: ../actions/register.php:151 actions/login.php:101
-#: actions/profilesettings.php:74 actions/register.php:165
-#: actions/login.php:228 actions/profilesettings.php:98
-#: actions/register.php:367 actions/showgroup.php:224
-#: actions/showstream.php:251 actions/tagother.php:95
-#: lib/facebookaction.php:308 lib/groupeditform.php:137
+msgstr "Nouveau mot de passe créé avec succès. Votre session est maintenant ouverte."
+
+#: ../actions/login.php:101
+#: ../actions/profilesettings.php:41
+#: ../actions/register.php:151
+#: actions/login.php:101
+#: actions/profilesettings.php:74
+#: actions/register.php:165
+#: actions/login.php:228
+#: actions/profilesettings.php:98
+#: actions/register.php:367
+#: actions/showgroup.php:224
+#: actions/showstream.php:251
+#: actions/tagother.php:95
+#: lib/facebookaction.php:308
+#: lib/groupeditform.php:137
 msgid "Nickname"
 msgstr "Pseudo"
 
-#: ../actions/finishopenidlogin.php:175 ../actions/profilesettings.php:110
-#: ../actions/register.php:69 actions/finishopenidlogin.php:181
-#: actions/profilesettings.php:225 actions/register.php:76
-#: actions/editgroup.php:183 actions/finishopenidlogin.php:215
-#: actions/newgroup.php:134 actions/profilesettings.php:214
+#: ../actions/finishopenidlogin.php:175
+#: ../actions/profilesettings.php:110
+#: ../actions/register.php:69
+#: actions/finishopenidlogin.php:181
+#: actions/profilesettings.php:225
+#: actions/register.php:76
+#: actions/editgroup.php:183
+#: actions/finishopenidlogin.php:215
+#: actions/newgroup.php:134
+#: actions/profilesettings.php:214
 #: actions/register.php:159
 msgid "Nickname already in use. Try another one."
-msgstr "Pseudo déjà utilisé. Essayer en un autre"
-
-#: ../actions/finishopenidlogin.php:165 ../actions/profilesettings.php:88
-#: ../actions/register.php:67 ../actions/updateprofile.php:77
-#: actions/finishopenidlogin.php:171 actions/profilesettings.php:203
-#: actions/register.php:74 actions/updateprofile.php:78
-#: actions/finishopenidlogin.php:205 actions/profilesettings.php:192
+msgstr "Pseudo déjà utilisé. Essayez-en un autre."
+
+#: ../actions/finishopenidlogin.php:165
+#: ../actions/profilesettings.php:88
+#: ../actions/register.php:67
+#: ../actions/updateprofile.php:77
+#: actions/finishopenidlogin.php:171
+#: actions/profilesettings.php:203
+#: actions/register.php:74
+#: actions/updateprofile.php:78
+#: actions/finishopenidlogin.php:205
+#: actions/profilesettings.php:192
 #: actions/updateprofile.php:81
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr ""
-"Les pseudos ne peuvent contenir que des caractères minuscules et des nombres "
-"et aucuns espaces."
+msgstr "Les pseudos ne peuvent contenir que des caractères minuscules et des chiffres, sans espaces."
 
-#: ../actions/finishopenidlogin.php:170 actions/finishopenidlogin.php:176
+#: ../actions/finishopenidlogin.php:170
+#: actions/finishopenidlogin.php:176
 #: actions/finishopenidlogin.php:210
 msgid "Nickname not allowed."
-msgstr "Pseudo non-autorisé."
+msgstr "Pseudo non autorisé."
 
-#: ../actions/remotesubscribe.php:72 actions/remotesubscribe.php:81
+#: ../actions/remotesubscribe.php:72
+#: actions/remotesubscribe.php:81
 #: actions/remotesubscribe.php:106
 msgid "Nickname of the user you want to follow"
-msgstr "Pseudo de l'utilisateur à surveiller"
+msgstr "Pseudo de l'utilisateur que vous voulez suivre"
 
-#: ../actions/recoverpassword.php:162 actions/recoverpassword.php:167
+#: ../actions/recoverpassword.php:162
+#: actions/recoverpassword.php:167
 #: actions/recoverpassword.php:186
 msgid "Nickname or email"
-msgstr "Pseudo ou email"
+msgstr "Pseudo ou courriel"
 
-#: ../actions/deletenotice.php:59 actions/deletenotice.php:60
-#: actions/block.php:147 actions/deletenotice.php:118
+#: ../actions/deletenotice.php:59
+#: actions/deletenotice.php:60
+#: actions/block.php:147
+#: actions/deletenotice.php:118
 msgid "No"
 msgstr "Non"
 
-#: ../actions/imsettings.php:156 actions/imsettings.php:164
+#: ../actions/imsettings.php:156
+#: actions/imsettings.php:164
 #: actions/imsettings.php:279
 msgid "No Jabber ID."
-msgstr "Pas d'ID Jabber"
+msgstr "Aucun identifiant Jabber"
 
-#: ../actions/userauthorization.php:129 actions/userauthorization.php:136
+#: ../actions/userauthorization.php:129
+#: actions/userauthorization.php:136
 #: actions/userauthorization.php:153
 msgid "No authorization request!"
-msgstr ""
+msgstr "Pas de requête d'autorisation !"
 
-#: ../actions/smssettings.php:181 actions/smssettings.php:189
+#: ../actions/smssettings.php:181
+#: actions/smssettings.php:189
 #: actions/smssettings.php:299
 msgid "No carrier selected."
-msgstr ""
+msgstr "Aucun fournisseur sélectionné."
 
-#: ../actions/smssettings.php:316 actions/smssettings.php:324
+#: ../actions/smssettings.php:316
+#: actions/smssettings.php:324
 #: actions/smssettings.php:486
-#, fuzzy
 msgid "No code entered"
-msgstr "Pas de code entré"
+msgstr "Aucun code entré"
 
-#: ../actions/confirmaddress.php:33 actions/confirmaddress.php:33
+#: ../actions/confirmaddress.php:33
+#: actions/confirmaddress.php:33
 #: actions/confirmaddress.php:75
 msgid "No confirmation code."
-msgstr "Pas de code de confirmation."
-
-#: ../actions/newnotice.php:44 actions/newmessage.php:53
-#: actions/newnotice.php:44 classes/Command.php:197 actions/newmessage.php:109
-#: actions/newnotice.php:126 classes/Command.php:223
+msgstr "Aucun code de confirmation."
+
+#: ../actions/newnotice.php:44
+#: actions/newmessage.php:53
+#: actions/newnotice.php:44
+#: classes/Command.php:197
+#: actions/newmessage.php:109
+#: actions/newnotice.php:126
+#: classes/Command.php:223
 msgid "No content!"
-msgstr "Pas de contenu!"
+msgstr "Aucun contenu !"
 
-#: ../actions/emailsettings.php:174 actions/emailsettings.php:192
+#: ../actions/emailsettings.php:174
+#: actions/emailsettings.php:192
 #: actions/emailsettings.php:304
-#, fuzzy
 msgid "No email address."
-msgstr "Pas d'adresse email."
+msgstr "Aucune adresse courriel."
 
-#: ../actions/userbyid.php:32 actions/userbyid.php:32 actions/userbyid.php:70
+#: ../actions/userbyid.php:32
+#: actions/userbyid.php:32
+#: actions/userbyid.php:70
 msgid "No id."
-msgstr "Pas d'id."
+msgstr "Aucun identifiant."
 
-#: ../actions/emailsettings.php:271 actions/emailsettings.php:289
+#: ../actions/emailsettings.php:271
+#: actions/emailsettings.php:289
 #: actions/emailsettings.php:430
-#, fuzzy
 msgid "No incoming email address."
-msgstr "Pas d'adresse email."
+msgstr "Aucune adresse pour le courriel entrant."
 
 #: ../actions/finishremotesubscribe.php:65
-#: actions/finishremotesubscribe.php:67 actions/finishremotesubscribe.php:68
+#: actions/finishremotesubscribe.php:67
+#: actions/finishremotesubscribe.php:68
 msgid "No nickname provided by remote server."
-msgstr "Pas de surnom proposé par le serveur distant."
+msgstr "Aucun pseudo proposé par le serveur distant."
 
-#: ../actions/avatarbynickname.php:27 actions/avatarbynickname.php:27
-#: actions/avatarbynickname.php:59 actions/leavegroup.php:81
+#: ../actions/avatarbynickname.php:27
+#: actions/avatarbynickname.php:27
+#: actions/avatarbynickname.php:59
+#: actions/leavegroup.php:81
 msgid "No nickname."
-msgstr "Pas de surnom."
-
-#: ../actions/emailsettings.php:222 ../actions/imsettings.php:206
-#: ../actions/smssettings.php:229 actions/emailsettings.php:240
-#: actions/imsettings.php:214 actions/smssettings.php:237
-#: actions/emailsettings.php:363 actions/imsettings.php:345
+msgstr "Aucun pseudo."
+
+#: ../actions/emailsettings.php:222
+#: ../actions/imsettings.php:206
+#: ../actions/smssettings.php:229
+#: actions/emailsettings.php:240
+#: actions/imsettings.php:214
+#: actions/smssettings.php:237
+#: actions/emailsettings.php:363
+#: actions/imsettings.php:345
 #: actions/smssettings.php:358
 msgid "No pending confirmation to cancel."
-msgstr "Aucune confirmation en attente pour l'annulation."
+msgstr "Aucune confirmation à annuler."
 
-#: ../actions/smssettings.php:176 actions/smssettings.php:184
+#: ../actions/smssettings.php:176
+#: actions/smssettings.php:184
 #: actions/smssettings.php:294
-#, fuzzy
 msgid "No phone number."
-msgstr "Pas de numéro de téléphone."
+msgstr "Aucun numéro de téléphone."
 
 #: ../actions/finishremotesubscribe.php:72
-#: actions/finishremotesubscribe.php:74 actions/finishremotesubscribe.php:75
+#: actions/finishremotesubscribe.php:74
+#: actions/finishremotesubscribe.php:75
 msgid "No profile URL returned by server."
-msgstr "Pas d'URL de profil retourné par le serveur."
+msgstr "Aucun URL de profil renvoyé par le serveur."
 
-#: ../actions/recoverpassword.php:226 actions/recoverpassword.php:232
+#: ../actions/recoverpassword.php:226
+#: actions/recoverpassword.php:232
 #: actions/recoverpassword.php:266
 msgid "No registered email address for that user."
-msgstr "Pas d'email enregistré pour cet utilisateur."
+msgstr "Aucune adresse courriel enregistrée pour cet utilisateur."
 
-#: ../actions/userauthorization.php:49 actions/userauthorization.php:55
+#: ../actions/userauthorization.php:49
+#: actions/userauthorization.php:55
 #: actions/userauthorization.php:57
 msgid "No request found!"
-msgstr "Requête non trouvée !"
-
-#: ../actions/noticesearch.php:64 ../actions/peoplesearch.php:64
-#: actions/noticesearch.php:69 actions/peoplesearch.php:69
-#: actions/groupsearch.php:81 actions/noticesearch.php:104
+msgstr "Aucune requête trouvée !"
+
+#: ../actions/noticesearch.php:64
+#: ../actions/peoplesearch.php:64
+#: actions/noticesearch.php:69
+#: actions/peoplesearch.php:69
+#: actions/groupsearch.php:81
+#: actions/noticesearch.php:104
 #: actions/peoplesearch.php:85
 msgid "No results"
-msgstr "Pas de résultats"
+msgstr "Aucun résultat "
 
-#: ../actions/avatarbynickname.php:32 actions/avatarbynickname.php:32
+#: ../actions/avatarbynickname.php:32
+#: actions/avatarbynickname.php:32
 #: actions/avatarbynickname.php:64
 msgid "No size."
-msgstr "Pas de taille."
+msgstr "Aucune taille"
 
-#: ../actions/twitapistatuses.php:595 actions/twitapifavorites.php:136
-#: actions/twitapistatuses.php:520 actions/twitapifavorites.php:112
+#: ../actions/twitapistatuses.php:595
+#: actions/twitapifavorites.php:136
+#: actions/twitapistatuses.php:520
+#: actions/twitapifavorites.php:112
 #: actions/twitapistatuses.php:446
 msgid "No status found with that ID."
-msgstr "Pas de status trouvés avec cet ID."
+msgstr "Aucun statut trouvé avec cet identifiant. "
 
-#: ../actions/twitapistatuses.php:555 actions/twitapistatuses.php:478
+#: ../actions/twitapistatuses.php:555
+#: actions/twitapistatuses.php:478
 #: actions/twitapistatuses.php:418
 msgid "No status with that ID found."
-msgstr "Pas de status avec cet ID trouvé."
+msgstr "Aucun statut trouvé avec cet identifiant."
 
-#: ../actions/openidsettings.php:135 actions/openidsettings.php:144
+#: ../actions/openidsettings.php:135
+#: actions/openidsettings.php:144
 #: actions/openidsettings.php:222
 msgid "No such OpenID."
-msgstr "Il n'y a pas cet OpenID."
+msgstr "OpenID non trouvé."
 
-#: ../actions/doc.php:29 actions/doc.php:29 actions/doc.php:64
+#: ../actions/doc.php:29
+#: actions/doc.php:29
+#: actions/doc.php:64
 msgid "No such document."
-msgstr "Il n'y a pas ce document."
-
-#: ../actions/shownotice.php:32 ../actions/shownotice.php:83
-#: ../lib/deleteaction.php:30 actions/shownotice.php:32
-#: actions/shownotice.php:83 lib/deleteaction.php:30 actions/shownotice.php:87
+msgstr "Document non trouvé. "
+
+#: ../actions/shownotice.php:32
+#: ../actions/shownotice.php:83
+#: ../lib/deleteaction.php:30
+#: actions/shownotice.php:32
+#: actions/shownotice.php:83
+#: lib/deleteaction.php:30
+#: actions/shownotice.php:87
 #: lib/deleteaction.php:51
 msgid "No such notice."
-msgstr "Il n'y a pas cet avis."
+msgstr "Statut non trouvé. "
 
-#: ../actions/recoverpassword.php:56 actions/recoverpassword.php:56
+#: ../actions/recoverpassword.php:56
+#: actions/recoverpassword.php:56
 #: actions/recoverpassword.php:62
 msgid "No such recovery code."
-msgstr "Il n'y a pas ce code de récupération."
+msgstr "Code de récupération non trouvé. "
 
-#: ../actions/postnotice.php:56 actions/postnotice.php:57
+#: ../actions/postnotice.php:56
+#: actions/postnotice.php:57
 #: actions/postnotice.php:60
 msgid "No such subscription"
-msgstr "Il n'y a pas cette inscription"
-
-#: ../actions/all.php:34 ../actions/allrss.php:35
-#: ../actions/avatarbynickname.php:43 ../actions/foaf.php:40
-#: ../actions/remotesubscribe.php:84 ../actions/remotesubscribe.php:91
-#: ../actions/replies.php:57 ../actions/repliesrss.php:35
-#: ../actions/showstream.php:110 ../actions/userbyid.php:36
-#: ../actions/userrss.php:35 ../actions/xrds.php:35 ../lib/gallery.php:57
-#: ../lib/subs.php:33 ../lib/subs.php:82 actions/all.php:34
-#: actions/allrss.php:35 actions/avatarbynickname.php:43
-#: actions/favoritesrss.php:35 actions/foaf.php:40 actions/ical.php:31
-#: actions/remotesubscribe.php:93 actions/remotesubscribe.php:100
-#: actions/replies.php:57 actions/repliesrss.php:35
-#: actions/showfavorites.php:34 actions/showstream.php:110
-#: actions/userbyid.php:36 actions/userrss.php:35 actions/xrds.php:35
-#: classes/Command.php:120 classes/Command.php:162 classes/Command.php:203
-#: classes/Command.php:237 lib/gallery.php:62 lib/mailbox.php:36
-#: lib/subs.php:33 lib/subs.php:95 actions/all.php:53 actions/allrss.php:66
-#: actions/avatarbynickname.php:75 actions/favoritesrss.php:64
-#: actions/foaf.php:41 actions/remotesubscribe.php:123
-#: actions/remotesubscribe.php:130 actions/replies.php:73
-#: actions/repliesrss.php:38 actions/showfavorites.php:105
-#: actions/showstream.php:100 actions/userbyid.php:74
-#: actions/usergroups.php:92 actions/userrss.php:38 actions/xrds.php:73
-#: classes/Command.php:140 classes/Command.php:185 classes/Command.php:234
-#: classes/Command.php:271 lib/galleryaction.php:60 lib/mailbox.php:82
-#: lib/subs.php:34 lib/subs.php:109
+msgstr "Abonnement non trouvé "
+
+#: ../actions/all.php:34
+#: ../actions/allrss.php:35
+#: ../actions/avatarbynickname.php:43
+#: ../actions/foaf.php:40
+#: ../actions/remotesubscribe.php:84
+#: ../actions/remotesubscribe.php:91
+#: ../actions/replies.php:57
+#: ../actions/repliesrss.php:35
+#: ../actions/showstream.php:110
+#: ../actions/userbyid.php:36
+#: ../actions/userrss.php:35
+#: ../actions/xrds.php:35
+#: ../lib/gallery.php:57
+#: ../lib/subs.php:33
+#: ../lib/subs.php:82
+#: actions/all.php:34
+#: actions/allrss.php:35
+#: actions/avatarbynickname.php:43
+#: actions/favoritesrss.php:35
+#: actions/foaf.php:40
+#: actions/ical.php:31
+#: actions/remotesubscribe.php:93
+#: actions/remotesubscribe.php:100
+#: actions/replies.php:57
+#: actions/repliesrss.php:35
+#: actions/showfavorites.php:34
+#: actions/showstream.php:110
+#: actions/userbyid.php:36
+#: actions/userrss.php:35
+#: actions/xrds.php:35
+#: classes/Command.php:120
+#: classes/Command.php:162
+#: classes/Command.php:203
+#: classes/Command.php:237
+#: lib/gallery.php:62
+#: lib/mailbox.php:36
+#: lib/subs.php:33
+#: lib/subs.php:95
+#: actions/all.php:53
+#: actions/allrss.php:66
+#: actions/avatarbynickname.php:75
+#: actions/favoritesrss.php:64
+#: actions/foaf.php:41
+#: actions/remotesubscribe.php:123
+#: actions/remotesubscribe.php:130
+#: actions/replies.php:73
+#: actions/repliesrss.php:38
+#: actions/showfavorites.php:105
+#: actions/showstream.php:100
+#: actions/userbyid.php:74
+#: actions/usergroups.php:92
+#: actions/userrss.php:38
+#: actions/xrds.php:73
+#: classes/Command.php:140
+#: classes/Command.php:185
+#: classes/Command.php:234
+#: classes/Command.php:271
+#: lib/galleryaction.php:60
+#: lib/mailbox.php:82
+#: lib/subs.php:34
+#: lib/subs.php:109
 msgid "No such user."
-msgstr "Il n'y a pas cet utilisateur"
+msgstr "Utilisateur non trouvé."
 
-#: ../actions/recoverpassword.php:211 actions/recoverpassword.php:217
+#: ../actions/recoverpassword.php:211
+#: actions/recoverpassword.php:217
 #: actions/recoverpassword.php:251
-#, fuzzy
 msgid "No user with that email address or username."
-msgstr "Pas d'utilisateur avec cet email ou ce nom d'utilisateur"
+msgstr "Aucun utilisateur trouvé avec ce courriel ou ce nom."
 
-#: ../lib/gallery.php:80 lib/gallery.php:85
+#: ../lib/gallery.php:80
+#: lib/gallery.php:85
 msgid "Nobody to show!"
-msgstr "Personne à montrer!"
+msgstr "Il n'y a personne à montrer !"
 
-#: ../actions/recoverpassword.php:60 actions/recoverpassword.php:60
+#: ../actions/recoverpassword.php:60
+#: actions/recoverpassword.php:60
 #: actions/recoverpassword.php:66
 msgid "Not a recovery code."
-msgstr "Ce n'est pas un code de récupération."
+msgstr "Ceci n'est pas un code de récupération."
 
-#: ../scripts/maildaemon.php:50 scripts/maildaemon.php:50
+#: ../scripts/maildaemon.php:50
+#: scripts/maildaemon.php:50
 #: scripts/maildaemon.php:53
-#, fuzzy
 msgid "Not a registered user."
-msgstr "Ce n'est pas un utilisateur inscrit."
-
-#: ../lib/twitterapi.php:226 ../lib/twitterapi.php:247
-#: ../lib/twitterapi.php:332 lib/twitterapi.php:391 lib/twitterapi.php:418
-#: lib/twitterapi.php:502 lib/twitterapi.php:448 lib/twitterapi.php:476
+msgstr "Ceci n'est pas un utilisateur inscrit."
+
+#: ../lib/twitterapi.php:226
+#: ../lib/twitterapi.php:247
+#: ../lib/twitterapi.php:332
+#: lib/twitterapi.php:391
+#: lib/twitterapi.php:418
+#: lib/twitterapi.php:502
+#: lib/twitterapi.php:448
+#: lib/twitterapi.php:476
 #: lib/twitterapi.php:566
 msgid "Not a supported data format."
-msgstr "Ce n'est pas un format supporté."
+msgstr "Format de données non supporté."
 
-#: ../actions/imsettings.php:167 actions/imsettings.php:175
+#: ../actions/imsettings.php:167
+#: actions/imsettings.php:175
 #: actions/imsettings.php:290
 msgid "Not a valid Jabber ID"
-msgstr "Ce n'est pas un ID Jabber valide"
+msgstr "Identifiant Jabber invalide."
 
-#: ../lib/openid.php:131 lib/openid.php:131 lib/openid.php:140
+#: ../lib/openid.php:131
+#: lib/openid.php:131
+#: lib/openid.php:140
 msgid "Not a valid OpenID."
-msgstr "Ce n'est pas un OpenID valide."
+msgstr "OpenID invalide."
 
-#: ../actions/emailsettings.php:185 actions/emailsettings.php:203
+#: ../actions/emailsettings.php:185
+#: actions/emailsettings.php:203
 #: actions/emailsettings.php:315
-#, fuzzy
 msgid "Not a valid email address"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Ce n'est pas une adresse email valide.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Adresse courriel invalide"
 
-#: ../actions/register.php:63 actions/register.php:70 actions/register.php:152
+#: ../actions/register.php:63
+#: actions/register.php:70
+#: actions/register.php:152
 msgid "Not a valid email address."
-msgstr "Ce n'est pas une adresse email valide."
-
-#: ../actions/profilesettings.php:91 ../actions/register.php:71
-#: actions/profilesettings.php:206 actions/register.php:78
-#: actions/editgroup.php:186 actions/newgroup.php:137
-#: actions/profilesettings.php:195 actions/register.php:161
+msgstr "Adresse courriel invalide."
+
+#: ../actions/profilesettings.php:91
+#: ../actions/register.php:71
+#: actions/profilesettings.php:206
+#: actions/register.php:78
+#: actions/editgroup.php:186
+#: actions/newgroup.php:137
+#: actions/profilesettings.php:195
+#: actions/register.php:161
 msgid "Not a valid nickname."
-msgstr "Ce n'est pas un pseudo valide."
+msgstr "Pseudo invalide."
 
-#: ../actions/remotesubscribe.php:120 actions/remotesubscribe.php:129
+#: ../actions/remotesubscribe.php:120
+#: actions/remotesubscribe.php:129
 #: actions/remotesubscribe.php:159
 msgid "Not a valid profile URL (incorrect services)."
-msgstr "Ce n'est pas un URL de profil valide (services incorrects)."
+msgstr "URL de profil invalide (services incorrects)."
 
-#: ../actions/remotesubscribe.php:113 actions/remotesubscribe.php:122
+#: ../actions/remotesubscribe.php:113
+#: actions/remotesubscribe.php:122
 #: actions/remotesubscribe.php:152
 msgid "Not a valid profile URL (no XRDS defined)."
-msgstr "Ce n'est pas un URL de profil valide (pas de XRDS défini)."
+msgstr "URL de profil invalide (aucun XRDS défini)."
 
-#: ../actions/remotesubscribe.php:104 actions/remotesubscribe.php:113
+#: ../actions/remotesubscribe.php:104
+#: actions/remotesubscribe.php:113
 #: actions/remotesubscribe.php:143
 msgid "Not a valid profile URL (no YADIS document)."
-msgstr "Ce n'est pas un URL de profil valide (pas de document YADIS)."
+msgstr "URL de profil invalide (aucun document YADIS)."
 
-#: ../actions/avatar.php:95 actions/profilesettings.php:332
+#: ../actions/avatar.php:95
+#: actions/profilesettings.php:332
 #: lib/imagefile.php:87
 msgid "Not an image or corrupt file."
-msgstr "Ce n'est pas une image, ou c'est un fichier corrompu."
+msgstr "Ceci n'est pas une image, ou c'est un fichier corrompu."
 
 #: ../actions/finishremotesubscribe.php:51
-#: actions/finishremotesubscribe.php:53 actions/finishremotesubscribe.php:54
+#: actions/finishremotesubscribe.php:53
+#: actions/finishremotesubscribe.php:54
 msgid "Not authorized."
 msgstr "Non autorisé."
 
 #: ../actions/finishremotesubscribe.php:38
-#: actions/finishremotesubscribe.php:38 actions/finishremotesubscribe.php:40
+#: actions/finishremotesubscribe.php:38
+#: actions/finishremotesubscribe.php:40
 msgid "Not expecting this response!"
-msgstr "Cette réponse n'était pas attendue !"
+msgstr "Réponse inattendue !"
 
-#: ../actions/twitapistatuses.php:422 actions/twitapistatuses.php:361
+#: ../actions/twitapistatuses.php:422
+#: actions/twitapistatuses.php:361
 #: actions/twitapistatuses.php:309
 msgid "Not found"
-msgstr "Pas trouvé"
-
-#: ../actions/finishaddopenid.php:29 ../actions/logout.php:33
-#: ../actions/newnotice.php:29 ../actions/subscribe.php:28
-#: ../actions/unsubscribe.php:25 ../lib/deleteaction.php:38
-#: ../lib/settingsaction.php:27 actions/disfavor.php:29 actions/favor.php:30
-#: actions/finishaddopenid.php:29 actions/logout.php:33
-#: actions/newmessage.php:28 actions/newnotice.php:29 actions/subscribe.php:28
-#: actions/unsubscribe.php:25 lib/deleteaction.php:38
-#: lib/settingsaction.php:27 actions/block.php:59 actions/disfavor.php:61
-#: actions/favor.php:64 actions/finishaddopenid.php:67 actions/logout.php:71
-#: actions/newmessage.php:83 actions/newnotice.php:90 actions/nudge.php:63
-#: actions/subedit.php:31 actions/subscribe.php:30 actions/unblock.php:60
-#: actions/unsubscribe.php:27 lib/deleteaction.php:66
+msgstr "Non trouvé"
+
+#: ../actions/finishaddopenid.php:29
+#: ../actions/logout.php:33
+#: ../actions/newnotice.php:29
+#: ../actions/subscribe.php:28
+#: ../actions/unsubscribe.php:25
+#: ../lib/deleteaction.php:38
+#: ../lib/settingsaction.php:27
+#: actions/disfavor.php:29
+#: actions/favor.php:30
+#: actions/finishaddopenid.php:29
+#: actions/logout.php:33
+#: actions/newmessage.php:28
+#: actions/newnotice.php:29
+#: actions/subscribe.php:28
+#: actions/unsubscribe.php:25
+#: lib/deleteaction.php:38
+#: lib/settingsaction.php:27
+#: actions/block.php:59
+#: actions/disfavor.php:61
+#: actions/favor.php:64
+#: actions/finishaddopenid.php:67
+#: actions/logout.php:71
+#: actions/newmessage.php:83
+#: actions/newnotice.php:90
+#: actions/nudge.php:63
+#: actions/subedit.php:31
+#: actions/subscribe.php:30
+#: actions/unblock.php:60
+#: actions/unsubscribe.php:27
+#: lib/deleteaction.php:66
 #: lib/settingsaction.php:72
 msgid "Not logged in."
 msgstr "Non connecté."
 
-#: ../lib/subs.php:91 lib/subs.php:104 lib/subs.php:122
+#: ../lib/subs.php:91
+#: lib/subs.php:104
+#: lib/subs.php:122
 msgid "Not subscribed!."
-msgstr ""
+msgstr "Pas abonné !"
 
-#: ../actions/opensearch.php:35 actions/opensearch.php:35
+#: ../actions/opensearch.php:35
+#: actions/opensearch.php:35
 #: actions/opensearch.php:67
-#, fuzzy
 msgid "Notice Search"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Recherche\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Recherche de statut"
 
-#: ../actions/showstream.php:82 actions/showstream.php:82
-#: actions/showstream.php:180 actions/showstream.php:187
+#: ../actions/showstream.php:82
+#: actions/showstream.php:82
+#: actions/showstream.php:180
+#: actions/showstream.php:187
 #: actions/showstream.php:192
 #, php-format
 msgid "Notice feed for %s"
-msgstr "Fil des messages de %s"
+msgstr "Flux des statuts de %s"
 
-#: ../actions/shownotice.php:39 actions/shownotice.php:39
+#: ../actions/shownotice.php:39
+#: actions/shownotice.php:39
 #: actions/shownotice.php:94
 msgid "Notice has no profile"
-msgstr "Le message n'a pas de profil"
+msgstr "Le statut n'a pas de profil"
 
-#: ../actions/showstream.php:316 actions/showstream.php:331
-#: actions/showstream.php:504 lib/facebookaction.php:477 lib/mailbox.php:116
+#: ../actions/showstream.php:316
+#: actions/showstream.php:331
+#: actions/showstream.php:504
+#: lib/facebookaction.php:477
+#: lib/mailbox.php:116
 #: lib/noticelist.php:87
 msgid "Notices"
-msgstr "Messages"
+msgstr "Statuts"
 
-#: ../actions/tag.php:35 ../actions/tag.php:81 actions/tag.php:35
-#: actions/tag.php:81 actions/tag.php:41
-#, fuzzy, php-format
+#: ../actions/tag.php:35
+#: ../actions/tag.php:81
+#: actions/tag.php:35
+#: actions/tag.php:81
+#: actions/tag.php:41
+#, php-format
 msgid "Notices tagged with %s"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Fil des messages de %s\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Statuts marqués avec %s"
 
-#: ../actions/password.php:39 actions/profilesettings.php:178
+#: ../actions/password.php:39
+#: actions/profilesettings.php:178
 #: actions/passwordsettings.php:97
 msgid "Old password"
 msgstr "Ancien mot de passe"
 
-#: ../lib/settingsaction.php:96 ../lib/util.php:314 lib/settingsaction.php:90
-#: lib/util.php:330 lib/accountsettingsaction.php:116 lib/action.php:341
+#: ../lib/settingsaction.php:96
+#: ../lib/util.php:314
+#: lib/settingsaction.php:90
+#: lib/util.php:330
+#: lib/accountsettingsaction.php:116
+#: lib/action.php:341
 #: lib/logingroupnav.php:81
 msgid "OpenID"
 msgstr "OpenID"
 
-#: ../actions/finishopenidlogin.php:61 actions/finishopenidlogin.php:66
+#: ../actions/finishopenidlogin.php:61
+#: actions/finishopenidlogin.php:66
 #: actions/finishopenidlogin.php:73
 msgid "OpenID Account Setup"
-msgstr "Mise en place du compte OpenID"
+msgstr "Configuration du compte OpenID"
 
-#: ../lib/openid.php:180 lib/openid.php:180 lib/openid.php:266
+#: ../lib/openid.php:180
+#: lib/openid.php:180
+#: lib/openid.php:266
 msgid "OpenID Auto-Submit"
 msgstr "Soumission automatique OpenID"
 
-#: ../actions/finishaddopenid.php:99 ../actions/finishopenidlogin.php:140
-#: ../actions/openidlogin.php:60 actions/finishaddopenid.php:99
-#: actions/finishopenidlogin.php:146 actions/openidlogin.php:68
-#: actions/finishaddopenid.php:170 actions/openidlogin.php:80
+#: ../actions/finishaddopenid.php:99
+#: ../actions/finishopenidlogin.php:140
+#: ../actions/openidlogin.php:60
+#: actions/finishaddopenid.php:99
+#: actions/finishopenidlogin.php:146
+#: actions/openidlogin.php:68
+#: actions/finishaddopenid.php:170
+#: actions/openidlogin.php:80
 msgid "OpenID Login"
 msgstr "Connexion OpenID"
 
-#: ../actions/openidlogin.php:65 ../actions/openidsettings.php:49
-#: actions/openidlogin.php:74 actions/openidsettings.php:50
-#: actions/openidlogin.php:102 actions/openidsettings.php:101
+#: ../actions/openidlogin.php:65
+#: ../actions/openidsettings.php:49
+#: actions/openidlogin.php:74
+#: actions/openidsettings.php:50
+#: actions/openidlogin.php:102
+#: actions/openidsettings.php:101
 msgid "OpenID URL"
 msgstr "URL OpenID"
 
-#: ../actions/finishaddopenid.php:42 ../actions/finishopenidlogin.php:103
-#: actions/finishaddopenid.php:42 actions/finishopenidlogin.php:109
-#: actions/finishaddopenid.php:88 actions/finishopenidlogin.php:130
+#: ../actions/finishaddopenid.php:42
+#: ../actions/finishopenidlogin.php:103
+#: actions/finishaddopenid.php:42
+#: actions/finishopenidlogin.php:109
+#: actions/finishaddopenid.php:88
+#: actions/finishopenidlogin.php:130
 msgid "OpenID authentication cancelled."
 msgstr "Authentification OpenID annulée."
 
-#: ../actions/finishaddopenid.php:46 ../actions/finishopenidlogin.php:107
-#: actions/finishaddopenid.php:46 actions/finishopenidlogin.php:113
-#: actions/finishaddopenid.php:92 actions/finishopenidlogin.php:134
+#: ../actions/finishaddopenid.php:46
+#: ../actions/finishopenidlogin.php:107
+#: actions/finishaddopenid.php:46
+#: actions/finishopenidlogin.php:113
+#: actions/finishaddopenid.php:92
+#: actions/finishopenidlogin.php:134
 #, php-format
 msgid "OpenID authentication failed: %s"
-msgstr "L'authentification OpenID a échouée : %s'"
+msgstr "L'authentification OpenID a échoué : %s'"
 
-#: ../lib/openid.php:133 lib/openid.php:133 lib/openid.php:142
+#: ../lib/openid.php:133
+#: lib/openid.php:133
+#: lib/openid.php:142
 #, php-format
 msgid "OpenID failure: %s"
 msgstr "Erreur OpenID : %s"
 
-#: ../actions/openidsettings.php:144 actions/openidsettings.php:153
+#: ../actions/openidsettings.php:144
+#: actions/openidsettings.php:153
 #: actions/openidsettings.php:231
 msgid "OpenID removed."
-msgstr "OpenID enlevé."
+msgstr "OpenID retiré."
 
-#: ../actions/openidsettings.php:37 actions/openidsettings.php:37
+#: ../actions/openidsettings.php:37
+#: actions/openidsettings.php:37
 #: actions/openidsettings.php:59
 msgid "OpenID settings"
 msgstr "Paramètres OpenID"
 
-#: ../actions/invite.php:135 actions/invite.php:143 actions/invite.php:180
+#: ../actions/invite.php:135
+#: actions/invite.php:143
+#: actions/invite.php:180
 msgid "Optionally add a personal message to the invitation."
-msgstr "Ajouter un message personnel à l'invitation (optionnel)"
+msgstr "Ajouter un message personnel à l'invitation (optionnel)."
 
-#: ../actions/avatar.php:84 actions/profilesettings.php:321
+#: ../actions/avatar.php:84
+#: actions/profilesettings.php:321
 #: lib/imagefile.php:75
 msgid "Partial upload."
 msgstr "Transfert partiel."
 
-#: ../actions/finishopenidlogin.php:90 ../actions/login.php:102
-#: ../actions/register.php:153 ../lib/settingsaction.php:93
-#: actions/finishopenidlogin.php:96 actions/login.php:102
-#: actions/register.php:167 actions/finishopenidlogin.php:118
-#: actions/login.php:231 actions/register.php:372
-#: lib/accountsettingsaction.php:110 lib/facebookaction.php:311
+#: ../actions/finishopenidlogin.php:90
+#: ../actions/login.php:102
+#: ../actions/register.php:153
+#: ../lib/settingsaction.php:93
+#: actions/finishopenidlogin.php:96
+#: actions/login.php:102
+#: actions/register.php:167
+#: actions/finishopenidlogin.php:118
+#: actions/login.php:231
+#: actions/register.php:372
+#: lib/accountsettingsaction.php:110
+#: lib/facebookaction.php:311
 msgid "Password"
 msgstr "Mot de passe"
 
-#: ../actions/recoverpassword.php:288 actions/recoverpassword.php:301
+#: ../actions/recoverpassword.php:288
+#: actions/recoverpassword.php:301
 #: actions/recoverpassword.php:335
 msgid "Password and confirmation do not match."
-msgstr "Le mot de passe et la confirmation sont différents."
+msgstr "Le mot de passe et sa confirmation ne correspondent pas."
 
-#: ../actions/recoverpassword.php:284 actions/recoverpassword.php:297
+#: ../actions/recoverpassword.php:284
+#: actions/recoverpassword.php:297
 #: actions/recoverpassword.php:331
 msgid "Password must be 6 chars or more."
-msgstr "Le mot de passe doit être composés d'au moins 6 caractères."
-
-#: ../actions/recoverpassword.php:261 ../actions/recoverpassword.php:263
-#: actions/recoverpassword.php:267 actions/recoverpassword.php:269
-#: actions/recoverpassword.php:199 actions/recoverpassword.php:301
+msgstr "Le mot de passe doit contenir au moins 6 caractères."
+
+#: ../actions/recoverpassword.php:261
+#: ../actions/recoverpassword.php:263
+#: actions/recoverpassword.php:267
+#: actions/recoverpassword.php:269
+#: actions/recoverpassword.php:199
+#: actions/recoverpassword.php:301
 msgid "Password recovery requested"
-msgstr "Demande de nouveau mot de passe demandée"
-
-#: ../actions/password.php:89 ../actions/recoverpassword.php:313
-#: actions/profilesettings.php:408 actions/recoverpassword.php:326
-#: actions/passwordsettings.php:173 actions/recoverpassword.php:200
+msgstr "Récupération de mot de passe demandée"
+
+#: ../actions/password.php:89
+#: ../actions/recoverpassword.php:313
+#: actions/profilesettings.php:408
+#: actions/recoverpassword.php:326
+#: actions/passwordsettings.php:173
+#: actions/recoverpassword.php:200
 msgid "Password saved."
-msgstr "Mot de passe sauvegardé."
-
-#: ../actions/password.php:61 ../actions/register.php:88
-#: actions/profilesettings.php:380 actions/register.php:98
-#: actions/passwordsettings.php:145 actions/register.php:183
+msgstr "Mot de passe enregistré."
+
+#: ../actions/password.php:61
+#: ../actions/register.php:88
+#: actions/profilesettings.php:380
+#: actions/register.php:98
+#: actions/passwordsettings.php:145
+#: actions/register.php:183
 msgid "Passwords don't match."
 msgstr "Les mots de passe ne correspondent pas."
 
-#: ../lib/searchaction.php:100 lib/searchaction.php:100
+#: ../lib/searchaction.php:100
+#: lib/searchaction.php:100
 #: lib/searchgroupnav.php:80
-#, fuzzy
 msgid "People"
-msgstr "Personne"
+msgstr "Personnes"
 
-#: ../actions/opensearch.php:33 actions/opensearch.php:33
+#: ../actions/opensearch.php:33
+#: actions/opensearch.php:33
 #: actions/opensearch.php:64
-#, fuzzy
 msgid "People Search"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Recherche de personne#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-"
-"#\n"
+msgstr "Recherche de personnes"
 
-#: ../actions/peoplesearch.php:33 actions/peoplesearch.php:33
+#: ../actions/peoplesearch.php:33
+#: actions/peoplesearch.php:33
 #: actions/peoplesearch.php:58
 msgid "People search"
-msgstr "Rechercher des personnes"
+msgstr "Recherche de personnes"
 
-#: ../lib/stream.php:50 lib/personal.php:50 lib/personalgroupnav.php:98
+#: ../lib/stream.php:50
+#: lib/personal.php:50
+#: lib/personalgroupnav.php:98
 msgid "Personal"
 msgstr "Personnel"
 
-#: ../actions/invite.php:133 actions/invite.php:141 actions/invite.php:178
+#: ../actions/invite.php:133
+#: actions/invite.php:141
+#: actions/invite.php:178
 msgid "Personal message"
 msgstr "Message personnel"
 
-#: ../actions/smssettings.php:69 actions/smssettings.php:69
-#, fuzzy
+#: ../actions/smssettings.php:69
+#: actions/smssettings.php:69
 msgid "Phone number, no punctuation or spaces, with area code"
-msgstr ""
-"Numéro de téléphone, pas de ponctuation ou d'espace, avec le code "
-"international."
+msgstr "Numéro de téléphone, sans ponctuation ni espaces, incluant le code régional"
 
 #: ../actions/userauthorization.php:78
-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 \"Cancel\"."
-msgstr ""
+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 \"Cancel\"."
+msgstr "Veuillez vérifier ces détails pour vous assurer que vous souhaitez vous abonner aux statuts de cet utilisateur. Si vous n'avez pas demandé à vous abonner aux statuts de quelqu'un, cliquez \"Annuler\"."
 
-#: ../actions/imsettings.php:73 actions/imsettings.php:74
+#: ../actions/imsettings.php:73
+#: actions/imsettings.php:74
 #: actions/imsettings.php:142
 msgid "Post a notice when my Jabber/GTalk status changes."
-msgstr ""
-
-#: ../actions/emailsettings.php:85 ../actions/imsettings.php:67
-#: ../actions/smssettings.php:94 actions/emailsettings.php:86
-#: actions/imsettings.php:68 actions/smssettings.php:94
-#: actions/twittersettings.php:70 actions/emailsettings.php:147
-#: actions/imsettings.php:133 actions/smssettings.php:157
+msgstr "Publier un statut chaque fois que mon statut est modifié dans Jabber/GTalk"
+
+#: ../actions/emailsettings.php:85
+#: ../actions/imsettings.php:67
+#: ../actions/smssettings.php:94
+#: actions/emailsettings.php:86
+#: actions/imsettings.php:68
+#: actions/smssettings.php:94
+#: actions/twittersettings.php:70
+#: actions/emailsettings.php:147
+#: actions/imsettings.php:133
+#: actions/smssettings.php:157
 #: actions/twittersettings.php:134
 msgid "Preferences"
 msgstr "Préférences"
 
-#: ../actions/emailsettings.php:162 ../actions/imsettings.php:144
-#: ../actions/smssettings.php:163 actions/emailsettings.php:180
-#: actions/imsettings.php:152 actions/smssettings.php:171
-#: actions/emailsettings.php:286 actions/imsettings.php:258
-#: actions/othersettings.php:168 actions/smssettings.php:272
+#: ../actions/emailsettings.php:162
+#: ../actions/imsettings.php:144
+#: ../actions/smssettings.php:163
+#: actions/emailsettings.php:180
+#: actions/imsettings.php:152
+#: actions/smssettings.php:171
+#: actions/emailsettings.php:286
+#: actions/imsettings.php:258
+#: actions/othersettings.php:168
+#: actions/smssettings.php:272
 msgid "Preferences saved."
-msgstr "Préférences sauvegardées"
+msgstr "Préférences enregistrées"
 
-#: ../actions/profilesettings.php:57 actions/profilesettings.php:90
+#: ../actions/profilesettings.php:57
+#: actions/profilesettings.php:90
 #: actions/profilesettings.php:129
-#, fuzzy
 msgid "Preferred language"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Préférences de la langue#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-"
-"#-#\n"
+msgstr "Langue préférée"
 
-#: ../lib/util.php:328 lib/util.php:344 lib/action.php:572
+#: ../lib/util.php:328
+#: lib/util.php:344
+#: lib/action.php:572
 msgid "Privacy"
 msgstr "Confidentialité"
 
-#: ../classes/Notice.php:95 ../classes/Notice.php:106 classes/Notice.php:109
-#: classes/Notice.php:119 classes/Notice.php:145 classes/Notice.php:155
+#: ../classes/Notice.php:95
+#: ../classes/Notice.php:106
+#: classes/Notice.php:109
+#: classes/Notice.php:119
+#: classes/Notice.php:145
+#: classes/Notice.php:155
 msgid "Problem saving notice."
-msgstr "Problème lors de la sauvegarde du message."
+msgstr "Problème lors de l'enregistrement du statut."
 
-#: ../lib/settingsaction.php:84 ../lib/stream.php:60 lib/personal.php:60
-#: lib/settingsaction.php:84 lib/accountsettingsaction.php:104
+#: ../lib/settingsaction.php:84
+#: ../lib/stream.php:60
+#: lib/personal.php:60
+#: lib/settingsaction.php:84
+#: lib/accountsettingsaction.php:104
 #: lib/personalgroupnav.php:108
 msgid "Profile"
-msgstr "Profile"
+msgstr "Profil"
 
-#: ../actions/remotesubscribe.php:73 actions/remotesubscribe.php:82
+#: ../actions/remotesubscribe.php:73
+#: actions/remotesubscribe.php:82
 #: actions/remotesubscribe.php:109
 msgid "Profile URL"
 msgstr "URL du profil"
 
-#: ../actions/profilesettings.php:34 actions/profilesettings.php:32
+#: ../actions/profilesettings.php:34
+#: actions/profilesettings.php:32
 #: actions/profilesettings.php:58
 msgid "Profile settings"
 msgstr "Paramètres du profil"
 
-#: ../actions/postnotice.php:51 ../actions/updateprofile.php:52
-#: actions/postnotice.php:52 actions/updateprofile.php:53
-#: actions/postnotice.php:55 actions/updateprofile.php:56
+#: ../actions/postnotice.php:51
+#: ../actions/updateprofile.php:52
+#: actions/postnotice.php:52
+#: actions/updateprofile.php:53
+#: actions/postnotice.php:55
+#: actions/updateprofile.php:56
 msgid "Profile unknown"
 msgstr "Profil inconnu"
 
-#: ../actions/public.php:54 actions/public.php:54 actions/public.php:124
+#: ../actions/public.php:54
+#: actions/public.php:54
+#: actions/public.php:124
 msgid "Public Stream Feed"
 msgstr "Fil du flux public"
 
-#: ../actions/public.php:33 actions/public.php:33 actions/public.php:109
+#: ../actions/public.php:33
+#: actions/public.php:33
+#: actions/public.php:109
 #: lib/publicgroupnav.php:77
 msgid "Public timeline"
-msgstr "Évolution publique"
+msgstr "Flux public"
 
-#: ../actions/imsettings.php:79 actions/imsettings.php:80
+#: ../actions/imsettings.php:79
+#: actions/imsettings.php:80
 #: actions/imsettings.php:153
-#, fuzzy
 msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr "Publier un MicroID pour mon adresse Jabber/GTalk."
 
-#: ../actions/emailsettings.php:94 actions/emailsettings.php:101
+#: ../actions/emailsettings.php:94
+#: actions/emailsettings.php:101
 #: actions/emailsettings.php:178
-#, fuzzy
 msgid "Publish a MicroID for my email address."
-msgstr "Publier un MicroID pour mon adresse email."
+msgstr "Publier un MicroID pour mon adresse courriel."
 
-#: ../actions/tag.php:75 ../actions/tag.php:76 actions/tag.php:75
+#: ../actions/tag.php:75
+#: ../actions/tag.php:76
+#: actions/tag.php:75
 #: actions/tag.php:76
 msgid "Recent Tags"
-msgstr "Tags recents"
+msgstr "Marquages récents"
 
-#: ../actions/recoverpassword.php:166 actions/recoverpassword.php:171
+#: ../actions/recoverpassword.php:166
+#: actions/recoverpassword.php:171
 #: actions/recoverpassword.php:190
 msgid "Recover"
 msgstr "Récupérer"
 
-#: ../actions/recoverpassword.php:156 actions/recoverpassword.php:161
+#: ../actions/recoverpassword.php:156
+#: actions/recoverpassword.php:161
 #: actions/recoverpassword.php:198
 msgid "Recover password"
 msgstr "Récupérer le mot de passe"
 
-#: ../actions/recoverpassword.php:67 actions/recoverpassword.php:67
+#: ../actions/recoverpassword.php:67
+#: actions/recoverpassword.php:67
 #: actions/recoverpassword.php:73
 msgid "Recovery code for unknown user."
 msgstr "Code de récupération d'un utilisateur inconnu."
 
-#: ../actions/register.php:142 ../actions/register.php:193 ../lib/util.php:312
-#: actions/register.php:152 actions/register.php:207 lib/util.php:328
-#: actions/register.php:69 actions/register.php:436 lib/action.php:338
-#: lib/facebookaction.php:277 lib/logingroupnav.php:78
+#: ../actions/register.php:142
+#: ../actions/register.php:193
+#: ../lib/util.php:312
+#: actions/register.php:152
+#: actions/register.php:207
+#: lib/util.php:328
+#: actions/register.php:69
+#: actions/register.php:436
+#: lib/action.php:338
+#: lib/facebookaction.php:277
+#: lib/logingroupnav.php:78
 msgid "Register"
-msgstr "Inscription"
+msgstr "Créer un compte"
 
-#: ../actions/register.php:28 actions/register.php:28
-#: actions/finishopenidlogin.php:196 actions/register.php:90
-#, fuzzy
+#: ../actions/register.php:28
+#: actions/register.php:28
+#: actions/finishopenidlogin.php:196
+#: actions/register.php:90
 msgid "Registration not allowed."
-msgstr "Inscription non autorisée."
+msgstr "Création de compte non autorisée."
 
-#: ../actions/register.php:200 actions/register.php:214
+#: ../actions/register.php:200
+#: actions/register.php:214
 #: actions/register.php:67
 msgid "Registration successful"
-msgstr "Inscription effectuée avec succès"
+msgstr "Compte créé avec succès"
 
-#: ../actions/userauthorization.php:120 actions/userauthorization.php:127
+#: ../actions/userauthorization.php:120
+#: actions/userauthorization.php:127
 #: actions/userauthorization.php:144
 msgid "Reject"
-msgstr "Refusé"
-
-#: ../actions/login.php:103 ../actions/register.php:176 actions/login.php:103
-#: actions/register.php:190 actions/login.php:234 actions/openidlogin.php:107
+msgstr "Refuser"
+
+#: ../actions/login.php:103
+#: ../actions/register.php:176
+#: actions/login.php:103
+#: actions/register.php:190
+#: actions/login.php:234
+#: actions/openidlogin.php:107
 #: actions/register.php:414
 msgid "Remember me"
 msgstr "Se souvenir de moi"
 
-#: ../actions/updateprofile.php:70 actions/updateprofile.php:71
+#: ../actions/updateprofile.php:70
+#: actions/updateprofile.php:71
 #: actions/updateprofile.php:74
 msgid "Remote profile with no matching profile"
-msgstr ""
+msgstr "Profil distant sans profil correspondant"
 
-#: ../actions/remotesubscribe.php:65 actions/remotesubscribe.php:73
+#: ../actions/remotesubscribe.php:65
+#: actions/remotesubscribe.php:73
 #: actions/remotesubscribe.php:88
 msgid "Remote subscribe"
-msgstr "Inscription distante"
-
-#: ../actions/emailsettings.php:47 ../actions/emailsettings.php:75
-#: ../actions/imsettings.php:48 ../actions/openidsettings.php:106
-#: ../actions/smssettings.php:50 ../actions/smssettings.php:84
-#: actions/emailsettings.php:48 actions/emailsettings.php:76
-#: actions/imsettings.php:49 actions/openidsettings.php:108
-#: actions/smssettings.php:50 actions/smssettings.php:84
-#: actions/twittersettings.php:59 actions/emailsettings.php:101
-#: actions/emailsettings.php:134 actions/imsettings.php:102
-#: actions/openidsettings.php:166 actions/smssettings.php:103
-#: actions/smssettings.php:146 actions/twittersettings.php:115
+msgstr "Abonnement à distance "
+
+#: ../actions/emailsettings.php:47
+#: ../actions/emailsettings.php:75
+#: ../actions/imsettings.php:48
+#: ../actions/openidsettings.php:106
+#: ../actions/smssettings.php:50
+#: ../actions/smssettings.php:84
+#: actions/emailsettings.php:48
+#: actions/emailsettings.php:76
+#: actions/imsettings.php:49
+#: actions/openidsettings.php:108
+#: actions/smssettings.php:50
+#: actions/smssettings.php:84
+#: actions/twittersettings.php:59
+#: actions/emailsettings.php:101
+#: actions/emailsettings.php:134
+#: actions/imsettings.php:102
+#: actions/openidsettings.php:166
+#: actions/smssettings.php:103
+#: actions/smssettings.php:146
+#: actions/twittersettings.php:115
 msgid "Remove"
-msgstr "Enlever"
+msgstr "Retirer "
 
-#: ../actions/openidsettings.php:68 actions/openidsettings.php:69
+#: ../actions/openidsettings.php:68
+#: actions/openidsettings.php:69
 #: actions/openidsettings.php:123
 msgid "Remove OpenID"
-msgstr "Enlever l'OpenID"
+msgstr "Retirer l'OpenID"
 
 #: ../actions/openidsettings.php:73
-msgid ""
-"Removing your only OpenID would make it impossible to log in! If you need to "
-"remove it, add another OpenID first."
-msgstr ""
-"Enlever votre seul OpenID vous empêcherai de vous connecter ! Si vous avez "
-"besoin de l'enlever, ajoutez un autre OpenID d'abord."
+msgid "Removing your only OpenID would make it impossible to log in! If you need to remove it, add another OpenID first."
+msgstr "Vous ne pourrez plus ouvrir de session si vous retirez votre seul OpenID ! Si vous avez besoin de le retirer, ajoutez d'abord un autre OpenID."
 
-#: ../lib/stream.php:55 lib/personal.php:55 lib/personalgroupnav.php:103
+#: ../lib/stream.php:55
+#: lib/personal.php:55
+#: lib/personalgroupnav.php:103
 msgid "Replies"
 msgstr "Réponses"
 
-#: ../actions/replies.php:47 ../actions/repliesrss.php:76 ../lib/stream.php:56
-#: actions/replies.php:47 actions/repliesrss.php:62 lib/personal.php:56
-#: actions/replies.php:116 actions/repliesrss.php:67
+#: ../actions/replies.php:47
+#: ../actions/repliesrss.php:76
+#: ../lib/stream.php:56
+#: actions/replies.php:47
+#: actions/repliesrss.php:62
+#: lib/personal.php:56
+#: actions/replies.php:116
+#: actions/repliesrss.php:67
 #: lib/personalgroupnav.php:104
 #, php-format
 msgid "Replies to %s"
 msgstr "Réponses à %s"
 
-#: ../actions/recoverpassword.php:183 actions/recoverpassword.php:189
+#: ../actions/recoverpassword.php:183
+#: actions/recoverpassword.php:189
 #: actions/recoverpassword.php:223
 msgid "Reset"
 msgstr "Réinitialiser"
 
-#: ../actions/recoverpassword.php:173 actions/recoverpassword.php:178
+#: ../actions/recoverpassword.php:173
+#: actions/recoverpassword.php:178
 #: actions/recoverpassword.php:197
 msgid "Reset password"
-msgstr "Réinitialiser mon mot de passe"
+msgstr "Réinitialiser le mot de passe"
 
-#: ../lib/settingsaction.php:99 lib/settingsaction.php:93
-#: actions/subscriptions.php:123 lib/connectsettingsaction.php:107
+#: ../lib/settingsaction.php:99
+#: lib/settingsaction.php:93
+#: actions/subscriptions.php:123
+#: lib/connectsettingsaction.php:107
 msgid "SMS"
 msgstr "SMS"
 
-#: ../actions/smssettings.php:67 actions/smssettings.php:67
+#: ../actions/smssettings.php:67
+#: actions/smssettings.php:67
 #: actions/smssettings.php:126
 msgid "SMS Phone number"
-msgstr ""
+msgstr "Numéro SMS"
 
-#: ../actions/smssettings.php:33 actions/smssettings.php:33
+#: ../actions/smssettings.php:33
+#: actions/smssettings.php:33
 #: actions/smssettings.php:58
-#, fuzzy
 msgid "SMS Settings"
 msgstr "Paramètres SMS"
 
-#: ../lib/mail.php:219 lib/mail.php:225 lib/mail.php:437
-#, fuzzy
+#: ../lib/mail.php:219
+#: lib/mail.php:225
+#: lib/mail.php:437
 msgid "SMS confirmation"
 msgstr "Confirmation SMS"
 
-#: ../actions/recoverpassword.php:182 actions/recoverpassword.php:188
+#: ../actions/recoverpassword.php:182
+#: actions/recoverpassword.php:188
 #: actions/recoverpassword.php:222
 msgid "Same as password above"
 msgstr "Identique au mot de passe ci-dessus"
 
-#: ../actions/register.php:156 actions/register.php:170
+#: ../actions/register.php:156
+#: actions/register.php:170
 #: actions/register.php:377
-#, fuzzy
 msgid "Same as password above. Required."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Identique au mot de passe ci-dessus. Requis.#-#-#-#-#  laconica.new.pot "
-"(PACKAGE VERSION)  #-#-#-#-#\n"
-
-#: ../actions/emailsettings.php:97 ../actions/imsettings.php:81
-#: ../actions/profilesettings.php:67 ../actions/smssettings.php:100
-#: actions/emailsettings.php:104 actions/imsettings.php:82
-#: actions/profilesettings.php:101 actions/smssettings.php:100
-#: actions/twittersettings.php:83 actions/emailsettings.php:182
-#: actions/facebooksettings.php:114 actions/imsettings.php:157
-#: actions/othersettings.php:117 actions/profilesettings.php:150
-#: actions/smssettings.php:169 actions/subscriptions.php:124
-#: actions/tagother.php:152 actions/twittersettings.php:161
+"Identique au mot de passe ci-dessus. Requis."
+
+#: ../actions/emailsettings.php:97
+#: ../actions/imsettings.php:81
+#: ../actions/profilesettings.php:67
+#: ../actions/smssettings.php:100
+#: actions/emailsettings.php:104
+#: actions/imsettings.php:82
+#: actions/profilesettings.php:101
+#: actions/smssettings.php:100
+#: actions/twittersettings.php:83
+#: actions/emailsettings.php:182
+#: actions/facebooksettings.php:114
+#: actions/imsettings.php:157
+#: actions/othersettings.php:117
+#: actions/profilesettings.php:150
+#: actions/smssettings.php:169
+#: actions/subscriptions.php:124
+#: actions/tagother.php:152
+#: actions/twittersettings.php:161
 #: lib/groupeditform.php:171
 msgid "Save"
-msgstr "Sauvegarder"
+msgstr "Enregistrer"
 
-#: ../lib/searchaction.php:84 ../lib/util.php:300 lib/searchaction.php:84
-#: lib/util.php:316 lib/action.php:325
+#: ../lib/searchaction.php:84
+#: ../lib/util.php:300
+#: lib/searchaction.php:84
+#: lib/util.php:316
+#: lib/action.php:325
 msgid "Search"
 msgstr "Rechercher"
 
-#: ../actions/noticesearch.php:80 actions/noticesearch.php:85
+#: ../actions/noticesearch.php:80
+#: actions/noticesearch.php:85
 #: actions/noticesearch.php:127
 msgid "Search Stream Feed"
-msgstr "Fil du flux de recherche"
+msgstr "Rechercher dans le flux de recherche"
 
-#: ../actions/noticesearch.php:30 actions/noticesearch.php:30
+#: ../actions/noticesearch.php:30
+#: actions/noticesearch.php:30
 #: actions/noticesearch.php:57
 #, 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 ""
-"Recherche des messages sur %%site.name%% par leur contenu. Séparez les "
-"termes de la recherches par des espaces ; ils doivent être de 3 caractères "
-"ou plus."
+msgid "Search for notices on %%site.name%% by their contents. Separate search terms by spaces; they must be 3 characters or more."
+msgstr "Recherchez les statuts %%site.name%% par leur contenu. Séparez les termes de recherche par des espaces. Ils doivent contenir au moins 3 caractères."
 
 #: ../actions/peoplesearch.php:28
 #, 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 ""
-"Recherche de personne sur %%site.name%% par leur nom, localisation ou "
-"intérêt. Séparez les termes de la recherches par des espaces ; ils doivent "
-"être de 3 caractères ou plus."
+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 "Recherchez des personnes dans %%site.name%% par leur nom, leur emplacement ou leurs intérêts. Séparez les termes de recherche par des espaces. Ils doivent contenir au moins 3 caractères."
 
-#: ../actions/smssettings.php:296 actions/smssettings.php:304
+#: ../actions/smssettings.php:296
+#: actions/smssettings.php:304
 #: actions/smssettings.php:457
 msgid "Select a carrier"
-msgstr ""
-
-#: ../actions/invite.php:137 ../lib/util.php:1172 actions/invite.php:145
-#: lib/util.php:1306 lib/util.php:1731 actions/invite.php:182
-#: lib/messageform.php:167 lib/noticeform.php:177
+msgstr "Sélectionnez un fournisseur de téléphone mobile"
+
+#: ../actions/invite.php:137
+#: ../lib/util.php:1172
+#: actions/invite.php:145
+#: lib/util.php:1306
+#: lib/util.php:1731
+#: actions/invite.php:182
+#: lib/messageform.php:167
+#: lib/noticeform.php:177
 msgid "Send"
-msgstr ""
-
-#: ../actions/emailsettings.php:73 ../actions/smssettings.php:82
-#: actions/emailsettings.php:74 actions/smssettings.php:82
-#: actions/emailsettings.php:132 actions/smssettings.php:145
+msgstr "Envoyer"
+
+#: ../actions/emailsettings.php:73
+#: ../actions/smssettings.php:82
+#: actions/emailsettings.php:74
+#: actions/smssettings.php:82
+#: actions/emailsettings.php:132
+#: actions/smssettings.php:145
 msgid "Send email to this address to post new notices."
-msgstr ""
+msgstr "Écrivez à cette adresse courriel pour publier de nouveaux statuts. "
 
-#: ../actions/emailsettings.php:88 actions/emailsettings.php:89
+#: ../actions/emailsettings.php:88
+#: actions/emailsettings.php:89
 #: actions/emailsettings.php:152
-#, fuzzy
 msgid "Send me notices of new subscriptions through email."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"M'envoyer des messages par Jabber/GTalk.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Avertissez-moi par courriel des nouveaux abonnements."
 
-#: ../actions/imsettings.php:70 actions/imsettings.php:71
+#: ../actions/imsettings.php:70
+#: actions/imsettings.php:71
 #: actions/imsettings.php:137
 msgid "Send me notices through Jabber/GTalk."
-msgstr ""
+msgstr "Envoyez-moi les statuts par Jabber/GTalk."
 
-#: ../actions/smssettings.php:97 actions/smssettings.php:97
-msgid ""
-"Send me notices through SMS; I understand I may incur exorbitant charges "
-"from my carrier."
-msgstr ""
+#: ../actions/smssettings.php:97
+#: actions/smssettings.php:97
+msgid "Send me notices through SMS; I understand I may incur exorbitant charges from my carrier."
+msgstr "Envoyez-moi les statuts par SMS ; je comprends que cela pourrait affecter ma facture de téléphonie mobile."
 
-#: ../actions/imsettings.php:76 actions/imsettings.php:77
-#, fuzzy
+#: ../actions/imsettings.php:76
+#: actions/imsettings.php:77
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"M'envoyer des messages par Jabber/GTalk.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Envoyez-moi par Jabber/GTalk les réponses des personnes auxquelles je ne suis pas abonné."
 
-#: ../lib/util.php:304 lib/util.php:320 lib/facebookaction.php:215
+#: ../lib/util.php:304
+#: lib/util.php:320
+#: lib/facebookaction.php:215
 msgid "Settings"
-msgstr ""
+msgstr "Préférences"
 
-#: ../actions/profilesettings.php:192 actions/profilesettings.php:307
+#: ../actions/profilesettings.php:192
+#: actions/profilesettings.php:307
 #: actions/profilesettings.php:319
 msgid "Settings saved."
-msgstr ""
+msgstr "Préférences enregistrées."
 
-#: ../actions/tag.php:60 actions/tag.php:60
+#: ../actions/tag.php:60
+#: actions/tag.php:60
 msgid "Showing most popular tags from the last week"
-msgstr ""
+msgstr "Marquages les plus populaires des 7 derniers jours"
 
-#: ../actions/finishaddopenid.php:66 actions/finishaddopenid.php:66
+#: ../actions/finishaddopenid.php:66
+#: actions/finishaddopenid.php:66
 #: actions/finishaddopenid.php:114
 msgid "Someone else already has this OpenID."
-msgstr "Quelqu'un d'autre a déjà cet OpenID."
-
-#: ../actions/finishopenidlogin.php:42 ../actions/openidsettings.php:126
-#: actions/finishopenidlogin.php:47 actions/openidsettings.php:135
-#: actions/finishopenidlogin.php:52 actions/openidsettings.php:202
+msgstr "Quelqu'un utilise déjà cet OpenID."
+
+#: ../actions/finishopenidlogin.php:42
+#: ../actions/openidsettings.php:126
+#: actions/finishopenidlogin.php:47
+#: actions/openidsettings.php:135
+#: actions/finishopenidlogin.php:52
+#: actions/openidsettings.php:202
 msgid "Something weird happened."
 msgstr "Quelque chose de bizarre est arrivé."
 
-#: ../scripts/maildaemon.php:58 scripts/maildaemon.php:58
+#: ../scripts/maildaemon.php:58
+#: scripts/maildaemon.php:58
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
-msgstr ""
+msgstr "Désolé, la réception de courriels n'est pas permise. "
 
-#: ../scripts/maildaemon.php:54 scripts/maildaemon.php:54
+#: ../scripts/maildaemon.php:54
+#: scripts/maildaemon.php:54
 #: scripts/maildaemon.php:57
-#, fuzzy
 msgid "Sorry, that is not your incoming email address."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"C'est la mauvaise adresse de messagerie instantanée.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Désolé, ceci n'est pas votre adresse de courriel entrant."
 
-#: ../lib/util.php:330 lib/util.php:346 lib/action.php:574
+#: ../lib/util.php:330
+#: lib/util.php:346
+#: lib/action.php:574
 msgid "Source"
-msgstr ""
+msgstr "Provenance"
 
-#: ../actions/showstream.php:296 actions/showstream.php:311
+#: ../actions/showstream.php:296
+#: actions/showstream.php:311
 #: actions/showstream.php:476
 msgid "Statistics"
-msgstr ""
-
-#: ../actions/finishopenidlogin.php:182 ../actions/finishopenidlogin.php:246
-#: actions/finishopenidlogin.php:188 actions/finishopenidlogin.php:252
-#: actions/finishopenidlogin.php:222 actions/finishopenidlogin.php:290
+msgstr "Statistiques"
+
+#: ../actions/finishopenidlogin.php:182
+#: ../actions/finishopenidlogin.php:246
+#: actions/finishopenidlogin.php:188
+#: actions/finishopenidlogin.php:252
+#: actions/finishopenidlogin.php:222
+#: actions/finishopenidlogin.php:290
 msgid "Stored OpenID not found."
-msgstr ""
-
-#: ../actions/remotesubscribe.php:75 ../actions/showstream.php:188
-#: ../actions/showstream.php:197 actions/remotesubscribe.php:84
-#: actions/showstream.php:197 actions/showstream.php:206
-#: actions/remotesubscribe.php:113 actions/showstream.php:376
+msgstr "OpenID non trouvé."
+
+#: ../actions/remotesubscribe.php:75
+#: ../actions/showstream.php:188
+#: ../actions/showstream.php:197
+#: actions/remotesubscribe.php:84
+#: actions/showstream.php:197
+#: actions/showstream.php:206
+#: actions/remotesubscribe.php:113
+#: actions/showstream.php:376
 #: lib/subscribeform.php:139
 msgid "Subscribe"
-msgstr ""
-
-#: ../actions/showstream.php:313 ../actions/subscribers.php:27
-#: actions/showstream.php:328 actions/subscribers.php:27
-#: actions/showstream.php:436 actions/showstream.php:498
+msgstr "S'abonner"
+
+#: ../actions/showstream.php:313
+#: ../actions/subscribers.php:27
+#: actions/showstream.php:328
+#: actions/subscribers.php:27
+#: actions/showstream.php:436
+#: actions/showstream.php:498
 #: lib/subgroupnav.php:88
 msgid "Subscribers"
-msgstr ""
+msgstr "Abonnés"
 
-#: ../actions/userauthorization.php:310 actions/userauthorization.php:322
+#: ../actions/userauthorization.php:310
+#: actions/userauthorization.php:322
 #: actions/userauthorization.php:338
 msgid "Subscription authorized"
-msgstr ""
+msgstr "Abonnement autorisé"
 
-#: ../actions/userauthorization.php:320 actions/userauthorization.php:332
+#: ../actions/userauthorization.php:320
+#: actions/userauthorization.php:332
 #: actions/userauthorization.php:349
 msgid "Subscription rejected"
-msgstr ""
-
-#: ../actions/showstream.php:230 ../actions/showstream.php:307
-#: ../actions/subscriptions.php:27 actions/showstream.php:240
-#: actions/showstream.php:322 actions/subscriptions.php:27
-#: actions/showstream.php:407 actions/showstream.php:489
+msgstr "Abonnement refusé"
+
+#: ../actions/showstream.php:230
+#: ../actions/showstream.php:307
+#: ../actions/subscriptions.php:27
+#: actions/showstream.php:240
+#: actions/showstream.php:322
+#: actions/subscriptions.php:27
+#: actions/showstream.php:407
+#: actions/showstream.php:489
 #: lib/subgroupnav.php:80
 msgid "Subscriptions"
-msgstr ""
+msgstr "Abonnements"
 
-#: ../actions/avatar.php:87 actions/profilesettings.php:324
+#: ../actions/avatar.php:87
+#: actions/profilesettings.php:324
 #: lib/imagefile.php:78
 msgid "System error uploading file."
-msgstr "Erreur système en transférant le fichier."
-
-#: ../actions/tag.php:41 ../lib/util.php:301 actions/tag.php:41
-#: lib/util.php:317 actions/profilesettings.php:122 actions/showstream.php:297
-#: actions/tagother.php:147 actions/tagother.php:207 lib/profilelist.php:162
+msgstr "Erreur système lors du transfert du fichier."
+
+#: ../actions/tag.php:41
+#: ../lib/util.php:301
+#: actions/tag.php:41
+#: lib/util.php:317
+#: actions/profilesettings.php:122
+#: actions/showstream.php:297
+#: actions/tagother.php:147
+#: actions/tagother.php:207
+#: lib/profilelist.php:162
 #: lib/profilelist.php:164
 msgid "Tags"
-msgstr ""
+msgstr "Marquages"
 
-#: ../lib/searchaction.php:104 lib/searchaction.php:104
+#: ../lib/searchaction.php:104
+#: lib/searchaction.php:104
 msgid "Text"
-msgstr ""
+msgstr "Texte"
 
-#: ../actions/noticesearch.php:34 actions/noticesearch.php:34
+#: ../actions/noticesearch.php:34
+#: actions/noticesearch.php:34
 #: actions/noticesearch.php:67
 msgid "Text search"
-msgstr "Texte cherché"
+msgstr "Recherche de texte"
 
-#: ../actions/openidsettings.php:140 actions/openidsettings.php:149
+#: ../actions/openidsettings.php:140
+#: actions/openidsettings.php:149
 #: actions/openidsettings.php:227
 msgid "That OpenID does not belong to you."
 msgstr "Cet OpenID ne vous appartient pas."
 
-#: ../actions/confirmaddress.php:52 actions/confirmaddress.php:52
+#: ../actions/confirmaddress.php:52
+#: actions/confirmaddress.php:52
 #: actions/confirmaddress.php:94
 msgid "That address has already been confirmed."
 msgstr "Cette adresse a déjà été confirmée."
 
-#: ../actions/confirmaddress.php:43 actions/confirmaddress.php:43
+#: ../actions/confirmaddress.php:43
+#: actions/confirmaddress.php:43
 #: actions/confirmaddress.php:85
 msgid "That confirmation code is not for you!"
 msgstr "Ce code de confirmation n'est pas pour vous !"
 
-#: ../actions/emailsettings.php:191 actions/emailsettings.php:209
-#, fuzzy
+#: ../actions/emailsettings.php:191
+#: actions/emailsettings.php:209
 msgid "That email address already belongs to another user."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Cet identifiant Jabber appartient déjà à un autre utilisateur.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Cette adresse courriel appartient déjà à un autre utilisateur."
 
-#: ../actions/avatar.php:80 actions/profilesettings.php:317
+#: ../actions/avatar.php:80
+#: actions/profilesettings.php:317
 #: lib/imagefile.php:71
 msgid "That file is too big."
 msgstr "Ce fichier est trop gros."
 
-#: ../actions/imsettings.php:170 actions/imsettings.php:178
+#: ../actions/imsettings.php:170
+#: actions/imsettings.php:178
 #: actions/imsettings.php:293
 msgid "That is already your Jabber ID."
-msgstr ""
+msgstr "Vous utilisez déjà cet idenfiant Jabber."
 
-#: ../actions/emailsettings.php:188 actions/emailsettings.php:206
+#: ../actions/emailsettings.php:188
+#: actions/emailsettings.php:206
 #: actions/emailsettings.php:318
-#, fuzzy
 msgid "That is already your email address."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"C'est déjà votre identifiant Jabber.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Vous utilisez déjà cette adresse courriel."
 
-#: ../actions/smssettings.php:188 actions/smssettings.php:196
+#: ../actions/smssettings.php:188
+#: actions/smssettings.php:196
 #: actions/smssettings.php:306
-#, fuzzy
 msgid "That is already your phone number."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"C'est déjà votre identifiant Jabber.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Vous utilisez déjà ce numéro de téléphone."
 
-#: ../actions/imsettings.php:233 actions/imsettings.php:241
+#: ../actions/imsettings.php:233
+#: actions/imsettings.php:241
 #: actions/imsettings.php:381
 msgid "That is not your Jabber ID."
-msgstr ""
+msgstr "Ceci n'est pas votre identifiant Jabber."
 
-#: ../actions/emailsettings.php:249 actions/emailsettings.php:267
+#: ../actions/emailsettings.php:249
+#: actions/emailsettings.php:267
 #: actions/emailsettings.php:397
-#, fuzzy
 msgid "That is not your email address."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"C'est la mauvaise adresse de messagerie instantanée.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ceci n'est pas votre adresse courriel."
 
-#: ../actions/smssettings.php:257 actions/smssettings.php:265
+#: ../actions/smssettings.php:257
+#: actions/smssettings.php:265
 #: actions/smssettings.php:393
-#, fuzzy
 msgid "That is not your phone number."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Ce n'est pas votre identifiant Jabber.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ceci n'est pas votre numéro de téléphone."
 
-#: ../actions/emailsettings.php:226 ../actions/imsettings.php:210
-#: actions/emailsettings.php:244 actions/imsettings.php:218
-#: actions/emailsettings.php:367 actions/imsettings.php:349
+#: ../actions/emailsettings.php:226
+#: ../actions/imsettings.php:210
+#: actions/emailsettings.php:244
+#: actions/imsettings.php:218
+#: actions/emailsettings.php:367
+#: actions/imsettings.php:349
 msgid "That is the wrong IM address."
-msgstr ""
+msgstr "Cette adresse de messagerie instantanée est erronée."
 
-#: ../actions/smssettings.php:233 actions/smssettings.php:241
+#: ../actions/smssettings.php:233
+#: actions/smssettings.php:241
 #: actions/smssettings.php:362
-#, fuzzy
 msgid "That is the wrong confirmation number."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"C'est la mauvaise adresse de messagerie instantanée.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ce code de confirmation est incorrect."
 
-#: ../actions/smssettings.php:191 actions/smssettings.php:199
+#: ../actions/smssettings.php:191
+#: actions/smssettings.php:199
 #: actions/smssettings.php:309
-#, fuzzy
 msgid "That phone number already belongs to another user."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Cet identifiant Jabber appartient déjà à un autre utilisateur.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ce numéro de téléphone est déjà utilisé."
 
-#: ../actions/newnotice.php:49 ../actions/twitapistatuses.php:408
-#: actions/newnotice.php:49 actions/twitapistatuses.php:330
-#: actions/facebookhome.php:243 actions/twitapistatuses.php:276
+#: ../actions/newnotice.php:49
+#: ../actions/twitapistatuses.php:408
+#: actions/newnotice.php:49
+#: actions/twitapistatuses.php:330
+#: actions/facebookhome.php:243
+#: actions/twitapistatuses.php:276
 msgid "That's too long. Max notice size is 140 chars."
-msgstr ""
+msgstr "C'est trop long ! Vous n'avez droit qu'à 140 caractères."
 
-#: ../actions/twitapiaccount.php:74 actions/twitapiaccount.php:72
+#: ../actions/twitapiaccount.php:74
+#: actions/twitapiaccount.php:72
 #: actions/twitapiaccount.php:62
 msgid "That's too long. Max notice size is 255 chars."
-msgstr ""
+msgstr "C'est trop long ! Vous n'avez droit qu'à 255 caractères."
 
-#: ../actions/confirmaddress.php:92 actions/confirmaddress.php:92
+#: ../actions/confirmaddress.php:92
+#: actions/confirmaddress.php:92
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
-msgstr ""
-
-#: ../actions/emailsettings.php:264 ../actions/imsettings.php:250
-#: ../actions/smssettings.php:274 actions/emailsettings.php:282
-#: actions/imsettings.php:258 actions/smssettings.php:282
-#: actions/emailsettings.php:416 actions/imsettings.php:402
+msgstr "L'adresse \"%s\" a été validée pour votre compte."
+
+#: ../actions/emailsettings.php:264
+#: ../actions/imsettings.php:250
+#: ../actions/smssettings.php:274
+#: actions/emailsettings.php:282
+#: actions/imsettings.php:258
+#: actions/smssettings.php:282
+#: actions/emailsettings.php:416
+#: actions/imsettings.php:402
 #: actions/smssettings.php:413
 msgid "The address was removed."
-msgstr ""
+msgstr "L'adresse a été supprimée."
 
 #: ../actions/userauthorization.php:312
-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 ""
+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 "L'abonnement a été autorisé, mais l'URL de rappel n'a pas été validé. Vérifiez les instructions du site pour savoir comment compléter l'autorisation de l'abonnement. Votre jeton d'abonnement est :"
 
 #: ../actions/userauthorization.php:322
-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 ""
+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 "L'abonnement a été refusé, mais l'URL de rappel n'a pas été validé. Vérifiez les instructions du site pour savoir comment refuser pleinement l'abonnement. "
 
-#: ../actions/subscribers.php:35 actions/subscribers.php:35
+#: ../actions/subscribers.php:35
+#: actions/subscribers.php:35
 #, php-format
 msgid "These are the people who listen to %s's notices."
-msgstr "Ce sont les personnes qui suivent les messages de %s."
+msgstr "Ces personnes suivent les statuts de %s."
 
-#: ../actions/subscribers.php:33 actions/subscribers.php:33
+#: ../actions/subscribers.php:33
+#: actions/subscribers.php:33
 msgid "These are the people who listen to your notices."
-msgstr "Ce sont les personnes qui suivent vos messages."
+msgstr "Ces personnes suivent vos statuts. "
 
-#: ../actions/subscriptions.php:35 actions/subscriptions.php:35
+#: ../actions/subscriptions.php:35
+#: actions/subscriptions.php:35
 #, php-format
 msgid "These are the people whose notices %s listens to."
-msgstr "Ce sont les personnes dont les messages sont suivis par %s."
+msgstr "Les statuts de ces personnes sont suivis par %s."
 
-#: ../actions/subscriptions.php:33 actions/subscriptions.php:33
+#: ../actions/subscriptions.php:33
+#: actions/subscriptions.php:33
 msgid "These are the people whose notices you listen to."
-msgstr "Ce sont les personnes dont vous suivez les messages."
+msgstr "Vous suivez les statuts de ces personnes. "
 
-#: ../actions/invite.php:89 actions/invite.php:96 actions/invite.php:128
-msgid ""
-"These people are already users and you were automatically subscribed to them:"
-msgstr ""
+#: ../actions/invite.php:89
+#: actions/invite.php:96
+#: actions/invite.php:128
+msgid "These people are already users and you were automatically subscribed to them:"
+msgstr "Vous avez été automatiquement abonné aux utilisateurs suivants :"
 
 #: ../actions/recoverpassword.php:88
 msgid "This confirmation code is too old. Please start again."
-msgstr ""
+msgstr "Ce code de validation est périmé. Veuillez recommencer. "
 
 #: ../lib/openid.php:195
-msgid ""
-"This form should automatically submit itself. If not, click the submit "
-"button to go to your OpenID provider."
-msgstr ""
-"Ce formulaire devrait se transmettre automatiquement. Si ce n'est pas le "
-"cas, cliquez sur le bouton de soumission pour aller chez votre fournisseur "
-"OpenID."
+msgid "This form should automatically submit itself. If not, click the submit button to go to your OpenID provider."
+msgstr "Ce formulaire devrait se transmettre automatiquement. Si ce n'est pas le cas, cliquez sur le bouton de soumission pour accéder à votre fournisseur OpenID."
 
-#: ../actions/finishopenidlogin.php:56 actions/finishopenidlogin.php:61
+#: ../actions/finishopenidlogin.php:56
+#: actions/finishopenidlogin.php:61
 #: actions/finishopenidlogin.php:67
 #, php-format
-msgid ""
-"This is the first time you've logged into %s so we must connect your OpenID "
-"to a local account. You can either create a new account, or connect with "
-"your existing account, if you have one."
-msgstr ""
-"Ce la première fois que vous vous êtes connectés à %s, donc nous devons "
-"connecter votre OpenID à un compte local. Vous pouvez soit créer un nouveau "
-"compte, soit vous connectez avec un compte existant, si vous en avez "
-
-#: ../actions/twitapifriendships.php:108 ../actions/twitapistatuses.php:586
-#: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
-#: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
-#: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
+msgid "This is the first time you've logged into %s so we must connect your OpenID to a local account. You can either create a new account, or connect with your existing account, if you have one."
+msgstr "C'est votre première ouverture de session dans %s, et nous devons relier votre OpenID à un compte local. Vous pouvez soit créer un nouveau compte, soit relier votre OpenID à un compte existant."
+
+#: ../actions/twitapifriendships.php:108
+#: ../actions/twitapistatuses.php:586
+#: actions/twitapifavorites.php:127
+#: actions/twitapifriendships.php:108
+#: actions/twitapistatuses.php:511
+#: actions/twitapifavorites.php:97
+#: actions/twitapifriendships.php:85
+#: actions/twitapistatuses.php:436
 msgid "This method requires a POST or DELETE."
-msgstr ""
-
-#: ../actions/twitapiaccount.php:65 ../actions/twitapifriendships.php:44
-#: ../actions/twitapistatuses.php:381 actions/twitapiaccount.php:63
-#: actions/twitapidirect_messages.php:114 actions/twitapifriendships.php:44
-#: actions/twitapistatuses.php:303 actions/twitapiaccount.php:53
-#: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
+msgstr "Ce processus requiert un POST ou un DELETE."
+
+#: ../actions/twitapiaccount.php:65
+#: ../actions/twitapifriendships.php:44
+#: ../actions/twitapistatuses.php:381
+#: actions/twitapiaccount.php:63
+#: actions/twitapidirect_messages.php:114
+#: actions/twitapifriendships.php:44
+#: actions/twitapistatuses.php:303
+#: actions/twitapiaccount.php:53
+#: actions/twitapidirect_messages.php:122
+#: actions/twitapifriendships.php:32
 #: actions/twitapistatuses.php:244
 msgid "This method requires a POST."
-msgstr ""
+msgstr "Ce processus requiert un POST."
 
-#: ../lib/util.php:164 lib/util.php:246
+#: ../lib/util.php:164
+#: lib/util.php:246
 msgid "This page is not available in a media type you accept"
-msgstr ""
+msgstr "Cette page n'est pas disponible dans un des formats que vous avez autorisés."
 
-#: ../actions/profilesettings.php:63 actions/profilesettings.php:96
+#: ../actions/profilesettings.php:63
+#: actions/profilesettings.php:96
 #: actions/profilesettings.php:138
 msgid "Timezone"
-msgstr ""
+msgstr "Fuseau horaire"
 
-#: ../actions/profilesettings.php:107 actions/profilesettings.php:222
+#: ../actions/profilesettings.php:107
+#: actions/profilesettings.php:222
 #: actions/profilesettings.php:211
 msgid "Timezone not selected."
-msgstr ""
+msgstr "Aucun fuseau horaire n'a été choisi."
 
 #: ../actions/remotesubscribe.php:43
 #, 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 ""
-"Pour s'inscrire, vous pouvez [vous connecter](%%action.login%%), ou [créer "
-"unnouveau compte](%%action.register%%). Si vous avez déjà un compte sur un "
-"[site de microblog compatible](%%doc.openmublog%%), entrez l'URL de votre "
-"profil ci-dessous."
+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 "Pour vous abonner, vous devez [ouvrir une session](%%action.login%%), ou [créer un nouveau compte](%%action.register%%). Si vous avez déjà un compte sur un [site de micro-blogging compatible](%%doc.openmublog%%), entrez l'URL de votre profil ci-dessous."
 
-#: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
+#: ../actions/twitapifriendships.php:163
+#: actions/twitapifriendships.php:167
 #: actions/twitapifriendships.php:132
 msgid "Two user ids or screen_names must be supplied."
-msgstr ""
+msgstr "Vous devez fournir 2 identifiants ou pseudos."
 
-#: ../actions/profilesettings.php:48 ../actions/register.php:169
-#: actions/profilesettings.php:81 actions/register.php:183
+#: ../actions/profilesettings.php:48
+#: ../actions/register.php:169
+#: actions/profilesettings.php:81
+#: actions/register.php:183
 #: actions/profilesettings.php:109
 msgid "URL of your homepage, blog, or profile on another site"
-msgstr ""
+msgstr "Adresse de votre site Web, blogue, ou profil dans un autre site"
 
-#: ../actions/remotesubscribe.php:74 actions/remotesubscribe.php:83
+#: ../actions/remotesubscribe.php:74
+#: actions/remotesubscribe.php:83
 #: actions/remotesubscribe.php:110
 msgid "URL of your profile on another compatible microblogging service"
-msgstr "URL de votre profil sur un autre service de microblog compatible"
-
-#: ../actions/emailsettings.php:130 ../actions/imsettings.php:110
-#: ../actions/recoverpassword.php:39 ../actions/smssettings.php:135
-#: actions/emailsettings.php:144 actions/imsettings.php:118
-#: actions/recoverpassword.php:39 actions/smssettings.php:143
-#: actions/twittersettings.php:108 actions/avatarsettings.php:258
-#: actions/emailsettings.php:242 actions/grouplogo.php:317
-#: actions/imsettings.php:214 actions/recoverpassword.php:44
-#: actions/smssettings.php:236 actions/twittersettings.php:302
+msgstr "URL de votre profil sur un autre service de micro-blogging compatible"
+
+#: ../actions/emailsettings.php:130
+#: ../actions/imsettings.php:110
+#: ../actions/recoverpassword.php:39
+#: ../actions/smssettings.php:135
+#: actions/emailsettings.php:144
+#: actions/imsettings.php:118
+#: actions/recoverpassword.php:39
+#: actions/smssettings.php:143
+#: actions/twittersettings.php:108
+#: actions/avatarsettings.php:258
+#: actions/emailsettings.php:242
+#: actions/grouplogo.php:317
+#: actions/imsettings.php:214
+#: actions/recoverpassword.php:44
+#: actions/smssettings.php:236
+#: actions/twittersettings.php:302
 msgid "Unexpected form submission."
-msgstr ""
+msgstr "Soumission de formulaire inattendue."
 
-#: ../actions/recoverpassword.php:276 actions/recoverpassword.php:289
+#: ../actions/recoverpassword.php:276
+#: actions/recoverpassword.php:289
 #: actions/recoverpassword.php:323
 msgid "Unexpected password reset."
-msgstr ""
+msgstr "Réinitialisation inattendue du mot de passe."
 
-#: ../index.php:57 index.php:57 actions/recoverpassword.php:202
+#: ../index.php:57
+#: index.php:57
+#: actions/recoverpassword.php:202
 msgid "Unknown action"
-msgstr ""
+msgstr "Action inconnue"
 
 #: ../actions/finishremotesubscribe.php:58
-#: actions/finishremotesubscribe.php:60 actions/finishremotesubscribe.php:61
+#: actions/finishremotesubscribe.php:60
+#: actions/finishremotesubscribe.php:61
 msgid "Unknown version of OMB protocol."
 msgstr "Version inconnue du protocole OMB"
 
-#: ../lib/util.php:269 lib/util.php:285
-msgid ""
-"Unless otherwise specified, contents of this site are copyright by the "
-"contributors and available under the "
-msgstr ""
+#: ../lib/util.php:269
+#: lib/util.php:285
+msgid "Unless otherwise specified, contents of this site are copyright by the contributors and available under the "
+msgstr "Sauf précision contraire, les contenus de ce site sont la propriété de leurs auteurs et sont disponibles sous"
 
-#: ../actions/confirmaddress.php:48 actions/confirmaddress.php:48
+#: ../actions/confirmaddress.php:48
+#: actions/confirmaddress.php:48
 #: actions/confirmaddress.php:90
 #, php-format
 msgid "Unrecognized address type %s"
 msgstr "Type d'adresse non reconnu : %s"
 
-#: ../actions/showstream.php:209 actions/showstream.php:219
+#: ../actions/showstream.php:209
+#: actions/showstream.php:219
 #: lib/unsubscribeform.php:137
 msgid "Unsubscribe"
-msgstr ""
-
-#: ../actions/postnotice.php:44 ../actions/updateprofile.php:45
-#: actions/postnotice.php:45 actions/updateprofile.php:46
-#: actions/postnotice.php:48 actions/updateprofile.php:49
+msgstr "Désabonnement"
+
+#: ../actions/postnotice.php:44
+#: ../actions/updateprofile.php:45
+#: actions/postnotice.php:45
+#: actions/updateprofile.php:46
+#: actions/postnotice.php:48
+#: actions/updateprofile.php:49
 msgid "Unsupported OMB version"
-msgstr ""
+msgstr "Version de OMB non supportée"
 
-#: ../actions/avatar.php:105 actions/profilesettings.php:342
+#: ../actions/avatar.php:105
+#: actions/profilesettings.php:342
 #: lib/imagefile.php:102
 msgid "Unsupported image file format."
-msgstr "Format de fichier d'image non-supporté."
+msgstr "Format de fichier d'image non supporté."
 
-#: ../lib/settingsaction.php:100 lib/settingsaction.php:94
+#: ../lib/settingsaction.php:100
+#: lib/settingsaction.php:94
 #: lib/connectsettingsaction.php:108
 msgid "Updates by SMS"
-msgstr ""
+msgstr "Suivi des statuts par SMS"
 
-#: ../lib/settingsaction.php:103 lib/settingsaction.php:97
+#: ../lib/settingsaction.php:103
+#: lib/settingsaction.php:97
 #: lib/connectsettingsaction.php:105
 msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "Suivi des statuts par messagerie instantanée"
 
-#: ../actions/twitapistatuses.php:241 actions/twitapistatuses.php:158
+#: ../actions/twitapistatuses.php:241
+#: actions/twitapistatuses.php:158
 #: actions/twitapistatuses.php:129
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
-msgstr ""
+msgstr "Statuts de %1$s et ses amis dans %2$s!"
 
-#: ../actions/twitapistatuses.php:341 actions/twitapistatuses.php:268
+#: ../actions/twitapistatuses.php:341
+#: actions/twitapistatuses.php:268
 #: actions/twitapistatuses.php:202
 #, php-format
 msgid "Updates from %1$s on %2$s!"
-msgstr ""
+msgstr "Statuts de %1$s dans %2$s!"
 
-#: ../actions/avatar.php:68 actions/profilesettings.php:161
-#: actions/avatarsettings.php:162 actions/grouplogo.php:232
+#: ../actions/avatar.php:68
+#: actions/profilesettings.php:161
+#: actions/avatarsettings.php:162
+#: actions/grouplogo.php:232
 msgid "Upload"
-msgstr "Transfert."
+msgstr "Transfert"
 
 #: ../actions/avatar.php:27
-msgid ""
-"Upload a new \"avatar\" (user image) here. You can't edit the picture after "
-"you upload it, so make sure it's more or less square. It must be under the "
-"site license, also. Use a picture that belongs to you and that you want to "
-"share."
-msgstr ""
-"Transférez ici un nouvel « avatar » (image utilisateur). Vous ne pouvez "
-"modifier l'image après l'envoi, alors faites en sorte qu'elle soit plus ou "
-"moins carrée. Elle doit aussi être soumise à la licence du site. Utilisez "
-"une image qui vous appartient et que vous voulez partager."
+msgid "Upload a new \"avatar\" (user image) here. You can't edit the picture after you upload it, so make sure it's more or less square. It must be under the site license, also. Use a picture that belongs to you and that you want to share."
+msgstr "Ajoutez un nouvel « avatar » (votre image d'utilisateur). Vous ne pouvez modifier l'image après l'envoi, alors faites en sorte qu'elle soit plus ou moins carrée. Elle doit aussi être compatible avec la licence d'utilisation du site ; utilisez de préférence une image qui vous appartient et que vous voulez partager."
 
 #: ../lib/settingsaction.php:91
-#, fuzzy
 msgid "Upload a new profile image"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Impossible d'enregistrer les informations du nouveau profil\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ajouter une nouvelle image pour le profil"
 
-#: ../actions/invite.php:114 actions/invite.php:121 actions/invite.php:154
-msgid ""
-"Use this form to invite your friends and colleagues to use this service."
-msgstr ""
+#: ../actions/invite.php:114
+#: actions/invite.php:121
+#: actions/invite.php:154
+msgid "Use this form to invite your friends and colleagues to use this service."
+msgstr "Remplissez ce formulaire pour inviter vos amis et collègues à utiliser ce service."
 
-#: ../actions/register.php:159 ../actions/register.php:162
-#: actions/register.php:173 actions/register.php:176
+#: ../actions/register.php:159
+#: ../actions/register.php:162
+#: actions/register.php:173
+#: actions/register.php:176
 msgid "Used only for updates, announcements, and password recovery"
-msgstr ""
+msgstr "Utilisé uniquement pour les mises à jour de statut, les avertissements, et la récupération de mot de passe"
 
 #: ../actions/finishremotesubscribe.php:86
-#: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
+#: actions/finishremotesubscribe.php:88
+#: actions/finishremotesubscribe.php:94
 msgid "User being listened to doesn't exist."
-msgstr "L'utilisateur à suivre n'existe pas."
-
-#: ../actions/all.php:41 ../actions/avatarbynickname.php:48
-#: ../actions/foaf.php:47 ../actions/replies.php:41
-#: ../actions/showstream.php:44 ../actions/twitapiaccount.php:82
-#: ../actions/twitapistatuses.php:319 ../actions/twitapistatuses.php:685
-#: ../actions/twitapiusers.php:82 actions/all.php:41
-#: actions/avatarbynickname.php:48 actions/foaf.php:47 actions/replies.php:41
-#: actions/showfavorites.php:41 actions/showstream.php:44
-#: actions/twitapiaccount.php:80 actions/twitapifavorites.php:68
-#: actions/twitapistatuses.php:235 actions/twitapistatuses.php:609
-#: actions/twitapiusers.php:87 lib/mailbox.php:50
-#: actions/avatarbynickname.php:80 actions/foaf.php:48 actions/replies.php:80
-#: actions/showstream.php:107 actions/twitapiaccount.php:70
-#: actions/twitapifavorites.php:42 actions/twitapistatuses.php:167
-#: actions/twitapistatuses.php:503 actions/twitapiusers.php:55
-#: actions/usergroups.php:99 lib/galleryaction.php:67 lib/twitterapi.php:626
+msgstr "L'utilisateur suivi n'existe pas."
+
+#: ../actions/all.php:41
+#: ../actions/avatarbynickname.php:48
+#: ../actions/foaf.php:47
+#: ../actions/replies.php:41
+#: ../actions/showstream.php:44
+#: ../actions/twitapiaccount.php:82
+#: ../actions/twitapistatuses.php:319
+#: ../actions/twitapistatuses.php:685
+#: ../actions/twitapiusers.php:82
+#: actions/all.php:41
+#: actions/avatarbynickname.php:48
+#: actions/foaf.php:47
+#: actions/replies.php:41
+#: actions/showfavorites.php:41
+#: actions/showstream.php:44
+#: actions/twitapiaccount.php:80
+#: actions/twitapifavorites.php:68
+#: actions/twitapistatuses.php:235
+#: actions/twitapistatuses.php:609
+#: actions/twitapiusers.php:87
+#: lib/mailbox.php:50
+#: actions/avatarbynickname.php:80
+#: actions/foaf.php:48
+#: actions/replies.php:80
+#: actions/showstream.php:107
+#: actions/twitapiaccount.php:70
+#: actions/twitapifavorites.php:42
+#: actions/twitapistatuses.php:167
+#: actions/twitapistatuses.php:503
+#: actions/twitapiusers.php:55
+#: actions/usergroups.php:99
+#: lib/galleryaction.php:67
+#: lib/twitterapi.php:626
 msgid "User has no profile."
-msgstr ""
+msgstr "Aucun profil ne correspond à cet utilisateur."
 
-#: ../actions/remotesubscribe.php:71 actions/remotesubscribe.php:80
+#: ../actions/remotesubscribe.php:71
+#: actions/remotesubscribe.php:80
 #: actions/remotesubscribe.php:105
 msgid "User nickname"
-msgstr "Surnom de l'utilisateur"
+msgstr "Pseudo de l'utilisateur"
 
-#: ../actions/twitapiusers.php:75 actions/twitapiusers.php:80
+#: ../actions/twitapiusers.php:75
+#: actions/twitapiusers.php:80
 msgid "User not found."
-msgstr ""
+msgstr "Utilisateur non trouvé."
 
-#: ../actions/profilesettings.php:63 actions/profilesettings.php:96
+#: ../actions/profilesettings.php:63
+#: actions/profilesettings.php:96
 #: actions/profilesettings.php:139
 msgid "What timezone are you normally in?"
-msgstr ""
+msgstr "Quel est votre fuseau horaire habituel ?"
 
-#: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
+#: ../lib/util.php:1159
+#: lib/util.php:1293
+#: lib/noticeform.php:141
 #, php-format
 msgid "What's up, %s?"
-msgstr ""
+msgstr "Quoi de neuf, %s ?"
 
-#: ../actions/profilesettings.php:54 ../actions/register.php:175
-#: actions/profilesettings.php:87 actions/register.php:189
+#: ../actions/profilesettings.php:54
+#: ../actions/register.php:175
+#: actions/profilesettings.php:87
+#: actions/register.php:189
 #: actions/profilesettings.php:119
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr ""
+msgstr "Indiquez votre emplacement, ex.: \"Ville, État (ou région), Pays\""
 
-#: ../actions/updateprofile.php:128 actions/updateprofile.php:129
+#: ../actions/updateprofile.php:128
+#: actions/updateprofile.php:129
 #: actions/updateprofile.php:132
 #, php-format
 msgid "Wrong image type for '%s'"
-msgstr ""
+msgstr "Format d'image invalide pour '%s'"
 
-#: ../actions/updateprofile.php:123 actions/updateprofile.php:124
+#: ../actions/updateprofile.php:123
+#: actions/updateprofile.php:124
 #: actions/updateprofile.php:127
 #, php-format
 msgid "Wrong size image at '%s'"
-msgstr ""
+msgstr "Dimensions d'image invalides pour '%s'"
 
-#: ../actions/deletenotice.php:63 ../actions/deletenotice.php:72
-#: actions/deletenotice.php:64 actions/deletenotice.php:79
-#: actions/block.php:148 actions/deletenotice.php:122
+#: ../actions/deletenotice.php:63
+#: ../actions/deletenotice.php:72
+#: actions/deletenotice.php:64
+#: actions/deletenotice.php:79
+#: actions/block.php:148
+#: actions/deletenotice.php:122
 #: actions/deletenotice.php:141
 msgid "Yes"
-msgstr ""
+msgstr "Oui"
 
-#: ../actions/finishaddopenid.php:64 actions/finishaddopenid.php:64
+#: ../actions/finishaddopenid.php:64
+#: actions/finishaddopenid.php:64
 #: actions/finishaddopenid.php:112
 msgid "You already have this OpenID!"
-msgstr "Vous avez déjà cet OpenID !"
+msgstr "Vous utilisez déjà cet OpenID !"
 
-#: ../actions/deletenotice.php:37 actions/deletenotice.php:37
-msgid ""
-"You are about to permanently delete a notice.  Once this is done, it cannot "
-"be undone."
-msgstr ""
+#: ../actions/deletenotice.php:37
+#: actions/deletenotice.php:37
+msgid "You are about to permanently delete a notice.  Once this is done, it cannot be undone."
+msgstr "Ce message va être définitivement supprimé. Il sera impossible de le récupérer."
 
-#: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
+#: ../actions/recoverpassword.php:31
+#: actions/recoverpassword.php:31
 #: actions/recoverpassword.php:36
 msgid "You are already logged in!"
-msgstr "Vous êtes déjà connecté !"
+msgstr "Votre session est déjà ouverte !"
 
-#: ../actions/invite.php:81 actions/invite.php:88 actions/invite.php:120
+#: ../actions/invite.php:81
+#: actions/invite.php:88
+#: actions/invite.php:120
 msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "Vous êtes déjà abonné à ces utilisateurs :"
 
-#: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
+#: ../actions/twitapifriendships.php:128
+#: actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
 msgid "You are not friends with the specified user."
-msgstr ""
+msgstr "Vous n'êtes pas ami(e) avec l'utilisateur spécifié."
 
 #: ../actions/password.php:27
 msgid "You can change your password here. Choose a good one!"
-msgstr "Vous pouvez changer ici votre mot de passe. Choisissez-en un bon !"
+msgstr "Vous pouvez modifier ici votre mot de passe. Choisissez-en un bon !"
 
-#: ../actions/register.php:135 actions/register.php:145
+#: ../actions/register.php:135
+#: actions/register.php:145
 msgid "You can create a new account to start posting notices."
-msgstr ""
+msgstr "Créez un nouveau compte pour commencer à envoyer des messages."
 
-#: ../actions/smssettings.php:28 actions/smssettings.php:28
+#: ../actions/smssettings.php:28
+#: actions/smssettings.php:28
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr ""
+msgstr "Vous pouvez recevoir des messages SMS par courriel en provenance de %%site.name%%."
 
 #: ../actions/openidsettings.php:86
-msgid ""
-"You can remove an OpenID from your account by clicking the button marked "
-"\"Remove\"."
-msgstr ""
-"Vous pouvez enlever un OpenID de votre compte en cliquant sur le bouton « "
-"Enlever »."
+msgid "You can remove an OpenID from your account by clicking the button marked \"Remove\"."
+msgstr "Vous pouvez retirer un OpenID de votre compte en cliquant sur le bouton « Retirer »."
 
-#: ../actions/imsettings.php:28 actions/imsettings.php:28
+#: ../actions/imsettings.php:28
+#: actions/imsettings.php:28
 #, php-format
-msgid ""
-"You can send and receive notices through Jabber/GTalk [instant messages](%%"
-"doc.im%%). Configure your address and settings below."
-msgstr ""
-"Vous pouvez envoyer et recevoir des messages via [la messagerie instantanée]"
-"(%%doc.im%%)Jabber/GTalk. Configurez votre adresse et vos paramètres ci-"
-"dessous."
+msgid "You can send and receive notices through Jabber/GTalk [instant messages](%%doc.im%%). Configure your address and settings below."
+msgstr "Vous pouvez envoyer et recevoir des messages via [la messagerie instantanée](%%doc.im%%) Jabber/GTalk. Configurez votre adresse et vos paramètres ci-dessous."
 
 #: ../actions/profilesettings.php:27
-msgid ""
-"You can update your personal profile info here so people know more about you."
-msgstr ""
-"Vous pouvez mettre à jour les informations de votre profil personnel pour "
-"que l'on en sache plus sur vous."
-
-#: ../actions/finishremotesubscribe.php:31 ../actions/remotesubscribe.php:31
-#: actions/finishremotesubscribe.php:31 actions/remotesubscribe.php:31
-#: actions/finishremotesubscribe.php:33 actions/finishremotesubscribe.php:85
-#: actions/finishremotesubscribe.php:101 actions/remotesubscribe.php:35
+msgid "You can update your personal profile info here so people know more about you."
+msgstr "Vous pouvez mettre à jour les informations de votre profil pour qu'on en sache plus à votre sujet."
+
+#: ../actions/finishremotesubscribe.php:31
+#: ../actions/remotesubscribe.php:31
+#: actions/finishremotesubscribe.php:31
+#: actions/remotesubscribe.php:31
+#: actions/finishremotesubscribe.php:33
+#: actions/finishremotesubscribe.php:85
+#: actions/finishremotesubscribe.php:101
+#: actions/remotesubscribe.php:35
 msgid "You can use the local subscription!"
-msgstr "Vous pouvez utiliser l'inscription locale !"
+msgstr "Vous pouvez utiliser l'abonnement local."
 
-#: ../actions/finishopenidlogin.php:33 ../actions/register.php:61
-#: actions/finishopenidlogin.php:38 actions/register.php:68
+#: ../actions/finishopenidlogin.php:33
+#: ../actions/register.php:61
+#: actions/finishopenidlogin.php:38
+#: actions/register.php:68
 #: actions/finishopenidlogin.php:43
 msgid "You can't register if you don't agree to the license."
-msgstr ""
+msgstr "Vous devez accepter les termes de la licence pour créer un compte."
 
-#: ../actions/updateprofile.php:63 actions/updateprofile.php:64
+#: ../actions/updateprofile.php:63
+#: actions/updateprofile.php:64
 #: actions/updateprofile.php:67
 msgid "You did not send us that profile"
-msgstr ""
+msgstr "Vous n'avez pas envoyé ce profil"
 
 #: ../lib/mail.php:147
 #, php-format
@@ -2819,2016 +3405,2218 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s"
 msgstr ""
+"Une nouvelle adresse vous a été attribuée pour publier vos statuts dans %1$s.\n"
+"\n"
+"Écrivez à %2$s pour mettre à jour votre statut.\n"
+"\n"
+"Plus d'info : %3$s.\n"
+"\n"
+"Amicalement vôtre,\n"
+"%4$s"
 
-#: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
+#: ../actions/twitapistatuses.php:612
+#: actions/twitapistatuses.php:537
 #: actions/twitapistatuses.php:463
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "Vous ne pouvez pas supprimer le statut d'un autre utilisateur."
 
-#: ../actions/invite.php:31 actions/invite.php:31 actions/invite.php:39
+#: ../actions/invite.php:31
+#: actions/invite.php:31
+#: actions/invite.php:39
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "Vous devez ouvrir une session pour inviter d'autres utilisateurs dans %s"
 
-#: ../actions/invite.php:103 actions/invite.php:110 actions/invite.php:142
-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:103
+#: actions/invite.php:110
+#: actions/invite.php:142
+msgid "You will be notified when your invitees accept the invitation and register on the site. Thanks for growing the community!"
+msgstr "Un avertissement vous sera envoyé quand vos invités auront accepté votre invitation et se seront inscrits sur le site. Merci de faire grandir notre communauté !"
 
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
-msgstr ""
+msgstr "Vous avez été identifié(e) avec succès. Veuillez entrer votre nouveau mot de passe ci-dessous."
 
-#: ../actions/openidlogin.php:67 actions/openidlogin.php:76
+#: ../actions/openidlogin.php:67
+#: actions/openidlogin.php:76
 #: actions/openidlogin.php:104
 msgid "Your OpenID URL"
 msgstr "Votre URL OpenID"
 
 #: ../actions/recoverpassword.php:164
 msgid "Your nickname on this server, or your registered email address."
-msgstr ""
+msgstr "Votre pseudo sur ce serveur, ou l'adresse courriel que vous avez enregistrée."
 
 #: ../actions/openidsettings.php:28
 #, php-format
-msgid ""
-"[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
-"account.  Manage your associated OpenIDs from here."
-msgstr ""
-"[OpenID](%%doc.openid%%) vous permet de vous connecter à différents sites "
-"avec le même compte utilisateur. Gérez vos OpenID associés d'ici."
+msgid "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user account.  Manage your associated OpenIDs from here."
+msgstr "[OpenID](%%doc.openid%%) vous permet de vous connecter à différents sites avec le même compte utilisateur. Gérez vos OpenID associés à partir d'ici."
 
-#: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
+#: ../lib/util.php:943
+#: lib/util.php:992
+#: lib/util.php:945
 msgid "a few seconds ago"
-msgstr ""
+msgstr "il y a quelques secondes "
 
-#: ../lib/util.php:955 lib/util.php:1004 lib/util.php:957
+#: ../lib/util.php:955
+#: lib/util.php:1004
+#: lib/util.php:957
 #, php-format
 msgid "about %d days ago"
-msgstr ""
+msgstr "il y a %d jours"
 
-#: ../lib/util.php:951 lib/util.php:1000 lib/util.php:953
+#: ../lib/util.php:951
+#: lib/util.php:1000
+#: lib/util.php:953
 #, php-format
 msgid "about %d hours ago"
-msgstr ""
+msgstr "il y a %d heures"
 
-#: ../lib/util.php:947 lib/util.php:996 lib/util.php:949
+#: ../lib/util.php:947
+#: lib/util.php:996
+#: lib/util.php:949
 #, php-format
 msgid "about %d minutes ago"
-msgstr ""
+msgstr "il y a %d minutes"
 
-#: ../lib/util.php:959 lib/util.php:1008 lib/util.php:961
+#: ../lib/util.php:959
+#: lib/util.php:1008
+#: lib/util.php:961
 #, php-format
 msgid "about %d months ago"
-msgstr ""
+msgstr "il y a %d mois"
 
-#: ../lib/util.php:953 lib/util.php:1002 lib/util.php:955
+#: ../lib/util.php:953
+#: lib/util.php:1002
+#: lib/util.php:955
 msgid "about a day ago"
-msgstr ""
+msgstr "il y a 1 jour"
 
-#: ../lib/util.php:945 lib/util.php:994 lib/util.php:947
+#: ../lib/util.php:945
+#: lib/util.php:994
+#: lib/util.php:947
 msgid "about a minute ago"
-msgstr ""
+msgstr "il y a 1 minute"
 
-#: ../lib/util.php:957 lib/util.php:1006 lib/util.php:959
+#: ../lib/util.php:957
+#: lib/util.php:1006
+#: lib/util.php:959
 msgid "about a month ago"
-msgstr ""
+msgstr "il y a 1 mois"
 
-#: ../lib/util.php:961 lib/util.php:1010 lib/util.php:963
+#: ../lib/util.php:961
+#: lib/util.php:1010
+#: lib/util.php:963
 msgid "about a year ago"
-msgstr ""
+msgstr "il y a environ 1 an"
 
-#: ../lib/util.php:949 lib/util.php:998 lib/util.php:951
+#: ../lib/util.php:949
+#: lib/util.php:998
+#: lib/util.php:951
 msgid "about an hour ago"
-msgstr ""
+msgstr "il y a 1 heure"
 
-#: ../actions/showstream.php:423 ../lib/stream.php:132
-#: actions/showstream.php:441 lib/stream.php:99
+#: ../actions/showstream.php:423
+#: ../lib/stream.php:132
+#: actions/showstream.php:441
+#: lib/stream.php:99
 msgid "delete"
-msgstr ""
-
-#: ../actions/noticesearch.php:130 ../actions/showstream.php:408
-#: ../lib/stream.php:117 actions/noticesearch.php:136
-#: actions/showstream.php:426 lib/stream.php:84 actions/noticesearch.php:187
+msgstr "supprimer"
+
+#: ../actions/noticesearch.php:130
+#: ../actions/showstream.php:408
+#: ../lib/stream.php:117
+#: actions/noticesearch.php:136
+#: actions/showstream.php:426
+#: lib/stream.php:84
+#: actions/noticesearch.php:187
 msgid "in reply to..."
-msgstr ""
-
-#: ../actions/noticesearch.php:137 ../actions/showstream.php:415
-#: ../lib/stream.php:124 actions/noticesearch.php:143
-#: actions/showstream.php:433 lib/stream.php:91 actions/noticesearch.php:194
+msgstr "en réponse à..."
+
+#: ../actions/noticesearch.php:137
+#: ../actions/showstream.php:415
+#: ../lib/stream.php:124
+#: actions/noticesearch.php:143
+#: actions/showstream.php:433
+#: lib/stream.php:91
+#: actions/noticesearch.php:194
 msgid "reply"
-msgstr ""
+msgstr "répondre"
 
-#: ../actions/password.php:44 actions/profilesettings.php:183
+#: ../actions/password.php:44
+#: actions/profilesettings.php:183
 #: actions/passwordsettings.php:106
 msgid "same as password above"
 msgstr "identique au mot de passe ci-dessus"
 
-#: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
+#: ../actions/twitapistatuses.php:755
+#: actions/twitapistatuses.php:678
 #: actions/twitapistatuses.php:555
-#, fuzzy
 msgid "unsupported file type"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Format de fichier d'image non-supporté.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"type de fichier non supporté"
 
-#: ../lib/util.php:1309 lib/util.php:1443
+#: ../lib/util.php:1309
+#: lib/util.php:1443
 msgid "« After"
-msgstr ""
-
-#: actions/deletenotice.php:74 actions/disfavor.php:43
-#: actions/emailsettings.php:127 actions/favor.php:45
-#: actions/finishopenidlogin.php:33 actions/imsettings.php:105
-#: actions/invite.php:46 actions/newmessage.php:45 actions/openidlogin.php:36
-#: actions/openidsettings.php:123 actions/profilesettings.php:47
-#: actions/recoverpassword.php:282 actions/register.php:42
-#: actions/remotesubscribe.php:40 actions/smssettings.php:124
-#: actions/subscribe.php:44 actions/twittersettings.php:97
-#: actions/unsubscribe.php:41 actions/userauthorization.php:35
-#: actions/block.php:64 actions/disfavor.php:74 actions/favor.php:77
-#: actions/finishopenidlogin.php:38 actions/invite.php:54 actions/nudge.php:80
-#: actions/openidlogin.php:37 actions/recoverpassword.php:316
-#: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
+msgstr "« Après"
+
+#: actions/deletenotice.php:74
+#: actions/disfavor.php:43
+#: actions/emailsettings.php:127
+#: actions/favor.php:45
+#: actions/finishopenidlogin.php:33
+#: actions/imsettings.php:105
+#: actions/invite.php:46
+#: actions/newmessage.php:45
+#: actions/openidlogin.php:36
+#: actions/openidsettings.php:123
+#: actions/profilesettings.php:47
+#: actions/recoverpassword.php:282
+#: actions/register.php:42
+#: actions/remotesubscribe.php:40
+#: actions/smssettings.php:124
+#: actions/subscribe.php:44
+#: actions/twittersettings.php:97
+#: actions/unsubscribe.php:41
+#: actions/userauthorization.php:35
+#: actions/block.php:64
+#: actions/disfavor.php:74
+#: actions/favor.php:77
+#: actions/finishopenidlogin.php:38
+#: actions/invite.php:54
+#: actions/nudge.php:80
+#: actions/openidlogin.php:37
+#: actions/recoverpassword.php:316
+#: actions/subscribe.php:46
+#: actions/unblock.php:65
+#: actions/unsubscribe.php:43
 msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "Un problème est survenu avec votre jeton de session. Veuillez essayer à nouveau."
 
-#: actions/disfavor.php:55 actions/disfavor.php:81
+#: actions/disfavor.php:55
+#: actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "Ce statut n'est pas un favori !"
 
-#: actions/disfavor.php:63 actions/disfavor.php:87
+#: actions/disfavor.php:63
+#: actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "Impossible de supprimer le favori."
 
-#: actions/disfavor.php:72 lib/favorform.php:140
+#: actions/disfavor.php:72
+#: lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "Ajouter à mes favoris"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
-msgstr ""
+msgstr "Envoyez-moi un courriel quand un utilisateur ajoute un de mes statuts à ses favoris."
 
-#: actions/emailsettings.php:95 actions/emailsettings.php:163
+#: actions/emailsettings.php:95
+#: actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "Envoyez-moi un courriel quand quelqu'un m'envoie un message personnel."
 
-#: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
+#: actions/favor.php:53
+#: actions/twitapifavorites.php:142
+#: actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
-
-#: actions/favor.php:60 actions/twitapifavorites.php:151
-#: classes/Command.php:132 actions/favor.php:86
-#: actions/twitapifavorites.php:125 classes/Command.php:152
+msgstr "Ce statut a déjà été ajouté à vos favoris !"
+
+#: actions/favor.php:60
+#: actions/twitapifavorites.php:151
+#: classes/Command.php:132
+#: actions/favor.php:86
+#: actions/twitapifavorites.php:125
+#: classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "Impossible de créer le favori."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "Retirer des favoris"
 
-#: actions/favoritesrss.php:60 actions/showfavorites.php:47
-#: actions/favoritesrss.php:100 actions/showfavorites.php:77
+#: actions/favoritesrss.php:60
+#: actions/showfavorites.php:47
+#: actions/favoritesrss.php:100
+#: actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "Statuts favoris de %s"
 
-#: actions/favoritesrss.php:64 actions/favoritesrss.php:104
+#: actions/favoritesrss.php:64
+#: actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "Fil des statuts favoris de %s"
 
-#: actions/inbox.php:28 actions/inbox.php:59
+#: actions/inbox.php:28
+#: actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "Boîte de réception de %s - page %d"
 
-#: actions/inbox.php:30 actions/inbox.php:62
+#: actions/inbox.php:30
+#: actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "Boîte de réception de %s"
 
-#: actions/inbox.php:53 actions/inbox.php:115
+#: actions/inbox.php:53
+#: actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
-msgstr ""
+msgstr "Cette boîte de réception regroupe les messages personnels qui vous sont envoyés."
 
-#: actions/invite.php:178 actions/invite.php:213
+#: actions/invite.php:178
+#: actions/invite.php:213
 #, php-format
 msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 "\n"
 msgstr ""
+"%1$s vous invite à vous inscrire à %2$s (%3$s).\n"
+"\n"
 
-#: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
+#: actions/login.php:104
+#: actions/login.php:235
+#: actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "Ouvrez automatiquement une session à l'avenir ;"
 
-#: actions/login.php:122 actions/login.php:264
+#: actions/login.php:122
+#: actions/login.php:264
 msgid "For security reasons, please re-enter your "
-msgstr ""
+msgstr "Pour des raisons de sécurité, veuillez entrer à nouveau votre "
 
-#: actions/login.php:126 actions/login.php:268
+#: actions/login.php:126
+#: actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "Entrez votre identifiant et votre mot de passe."
 
-#: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
+#: actions/newmessage.php:58
+#: actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "C'est trop long ! Vous n'avez droit qu'à 140 caractères."
 
-#: actions/newmessage.php:65 actions/newmessage.php:128
+#: actions/newmessage.php:65
+#: actions/newmessage.php:128
 msgid "No recipient specified."
-msgstr ""
-
-#: actions/newmessage.php:68 actions/newmessage.php:113
-#: classes/Command.php:206 actions/newmessage.php:131
-#: actions/newmessage.php:168 classes/Command.php:237
+msgstr "Aucun destinataire n'a été spécifié."
+
+#: actions/newmessage.php:68
+#: actions/newmessage.php:113
+#: classes/Command.php:206
+#: actions/newmessage.php:131
+#: actions/newmessage.php:168
+#: classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "Vous ne pouvez pas envoyer de messages à cet utilisateur."
 
-#: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
-#: classes/Command.php:209 actions/twitapidirect_messages.php:158
+#: actions/newmessage.php:71
+#: actions/twitapidirect_messages.php:146
+#: classes/Command.php:209
+#: actions/twitapidirect_messages.php:158
 #: classes/Command.php:240
-msgid ""
-"Don't send a message to yourself; just say it to yourself quietly instead."
-msgstr ""
+msgid "Don't send a message to yourself; just say it to yourself quietly instead."
+msgstr "N'envoyez pas de message à vous-même ; dites-le plutôt dans votre tête..."
 
-#: actions/newmessage.php:108 actions/microsummary.php:62
+#: actions/newmessage.php:108
+#: actions/microsummary.php:62
 #: actions/newmessage.php:163
 msgid "No such user"
-msgstr ""
+msgstr "Utilisateur inexistant"
 
-#: actions/newmessage.php:117 actions/newmessage.php:67
+#: actions/newmessage.php:117
+#: actions/newmessage.php:67
 msgid "New message"
-msgstr ""
+msgstr "Nouveau message"
 
-#: actions/noticesearch.php:95 actions/noticesearch.php:146
+#: actions/noticesearch.php:95
+#: actions/noticesearch.php:146
 msgid "Notice without matching profile"
-msgstr ""
+msgstr "Message sans profil correspondant"
 
-#: actions/openidsettings.php:28 actions/openidsettings.php:70
+#: actions/openidsettings.php:28
+#: actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
-msgstr ""
+msgstr "[OpenID](%%doc.openid%%) permet de vous connecter à de nombreux sites "
 
-#: actions/openidsettings.php:46 actions/openidsettings.php:96
+#: actions/openidsettings.php:46
+#: actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
-msgstr ""
+msgstr "Si vous ne souhaitez pas ajouter un identifiant OpenID à votre compte, "
 
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
-msgstr ""
+msgstr "C'est votre seul identifiant OpenID ; si vous le supprimez, vous ne pourrez plus vous identifier !"
 
-#: actions/openidsettings.php:87 actions/openidsettings.php:143
+#: actions/openidsettings.php:87
+#: actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
-msgstr ""
+msgstr "Vous pouvez retirer un identifiant OpenID de votre compte "
 
-#: actions/outbox.php:28 actions/outbox.php:58
+#: actions/outbox.php:28
+#: actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "Boîte d'envoi de %s - page %d"
 
-#: actions/outbox.php:30 actions/outbox.php:61
+#: actions/outbox.php:30
+#: actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "Boîte d'envoi de %s"
 
-#: actions/outbox.php:53 actions/outbox.php:116
+#: actions/outbox.php:53
+#: actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
-msgstr ""
+msgstr "Cette boîte d'envoi regroupe les messages personnels que vous avez envoyés."
 
-#: actions/peoplesearch.php:28 actions/peoplesearch.php:52
+#: actions/peoplesearch.php:28
+#: actions/peoplesearch.php:52
 #, php-format
-msgid ""
-"Search for people on %%site.name%% by their name, location, or interests. "
-msgstr ""
+msgid "Search for people on %%site.name%% by their name, location, or interests. "
+msgstr "Recherchez des utilisateurs de %%site.name%% par nom, par emplacement, ou par intérêts. "
 
-#: actions/profilesettings.php:27 actions/profilesettings.php:69
+#: actions/profilesettings.php:27
+#: actions/profilesettings.php:69
 msgid "You can update your personal profile info here "
-msgstr ""
-
-#: actions/profilesettings.php:115 actions/remotesubscribe.php:320
-#: actions/userauthorization.php:159 actions/userrss.php:76
-#: actions/avatarsettings.php:104 actions/avatarsettings.php:179
-#: actions/grouplogo.php:177 actions/remotesubscribe.php:367
-#: actions/userauthorization.php:176 actions/userrss.php:82
+msgstr "Vous pouvez mettre votre profil à jour ici  "
+
+#: actions/profilesettings.php:115
+#: actions/remotesubscribe.php:320
+#: actions/userauthorization.php:159
+#: actions/userrss.php:76
+#: actions/avatarsettings.php:104
+#: actions/avatarsettings.php:179
+#: actions/grouplogo.php:177
+#: actions/remotesubscribe.php:367
+#: actions/userauthorization.php:176
+#: actions/userrss.php:82
 msgid "User without matching profile"
-msgstr ""
+msgstr "Utilisateur sans profil correspondant"
 
-#: actions/recoverpassword.php:91 actions/recoverpassword.php:97
+#: actions/recoverpassword.php:91
+#: actions/recoverpassword.php:97
 msgid "This confirmation code is too old. "
-msgstr ""
+msgstr "Ce code de validation est périmé."
 
-#: actions/recoverpassword.php:141 actions/recoverpassword.php:152
+#: actions/recoverpassword.php:141
+#: actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "Si vous avez oublié ou perdu votre "
 
-#: actions/recoverpassword.php:154 actions/recoverpassword.php:158
+# Entrez un : masculin ou féminin ? De quoi s'agit-il ? Contexte ?
+#: actions/recoverpassword.php:154
+#: actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "Vous avez été identifié(e) avec succès. Entrez un "
 
-#: actions/recoverpassword.php:169 actions/recoverpassword.php:188
+#: actions/recoverpassword.php:169
+#: actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
-msgstr ""
+msgstr "Votre pseudo sur ce serveur, "
 
-#: actions/recoverpassword.php:271 actions/recoverpassword.php:304
+#: actions/recoverpassword.php:271
+#: actions/recoverpassword.php:304
 msgid "Instructions for recovering your password "
-msgstr ""
+msgstr "Instructions pour récupérer votre mot de passe"
 
-#: actions/recoverpassword.php:327 actions/recoverpassword.php:361
+#: actions/recoverpassword.php:327
+#: actions/recoverpassword.php:361
 msgid "New password successfully saved. "
-msgstr ""
+msgstr "Votre nouveau mot de passe a été enregistré avec succès."
 
-#: actions/register.php:95 actions/register.php:180
+#: actions/register.php:95
+#: actions/register.php:180
 msgid "Password must be 6 or more characters."
-msgstr ""
+msgstr "Votre mot de passe doit contenir au moins 6 caractères."
 
 #: actions/register.php:216
 #, php-format
-msgid ""
-"Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
-"want to..."
-msgstr ""
+msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may want to..."
+msgstr "Félicitations, %s ! Bienvenue dans %%%%site.name%%%%. Plusieurs choix s'offrent maintenant à vous :"
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "(Vous recevrez sous peu un courriel avec "
 
-#: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
+#: actions/remotesubscribe.php:51
+#: actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "Pour vous abonner, vous pouvez [login](%%action.login%%), "
 
-#: actions/showfavorites.php:61 actions/showfavorites.php:145
+#: actions/showfavorites.php:61
+#: actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "Fil des favoris de %s"
 
-#: actions/showfavorites.php:84 actions/twitapifavorites.php:85
-#: actions/showfavorites.php:202 actions/twitapifavorites.php:59
+#: actions/showfavorites.php:84
+#: actions/twitapifavorites.php:85
+#: actions/showfavorites.php:202
+#: actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "Impossible d'afficher les favoris."
 
-#: actions/showmessage.php:33 actions/showmessage.php:81
+#: actions/showmessage.php:33
+#: actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "Message introuvable."
 
 #: actions/showmessage.php:42
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "Ce message personnel ne peut être lu que par son expéditeur et son destinataire."
 
-#: actions/showmessage.php:61 actions/showmessage.php:108
+#: actions/showmessage.php:61
+#: actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "Message adressé à %1$s le %2$s"
 
-#: actions/showmessage.php:66 actions/showmessage.php:113
+#: actions/showmessage.php:66
+#: actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Message reçu de %1$s le %2$s"
 
 #: actions/showstream.php:154
 msgid "Send a message"
-msgstr ""
+msgstr "Envoyer un message"
 
-#: actions/smssettings.php:312 actions/smssettings.php:464
+#: actions/smssettings.php:312
+#: actions/smssettings.php:464
 #, php-format
 msgid "Mobile carrier for your phone. "
-msgstr ""
+msgstr "Votre fournisseur de téléphone mobile."
 
-#: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
+#: actions/twitapidirect_messages.php:76
+#: actions/twitapidirect_messages.php:68
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "Messages envoyés à %s"
 
-#: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
+#: actions/twitapidirect_messages.php:77
+#: actions/twitapidirect_messages.php:69
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "Tous les messages envoyés à %s"
 
-#: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
+#: actions/twitapidirect_messages.php:81
+#: actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "Messages envoyés"
 
-#: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
+#: actions/twitapidirect_messages.php:82
+#: actions/twitapidirect_messages.php:74
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "Tous les messages envoyés par %s"
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
 msgid "No message text!"
-msgstr ""
+msgstr "Message sans texte !"
 
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
 msgid "Recipient user not found."
-msgstr ""
+msgstr "Destinataire non trouvé."
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "Vous ne pouvez envoyer des messages personnels qu'aux utilisateurs inscrits comme amis."
 
-#: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
+#: actions/twitapifavorites.php:92
+#: actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / Favoris de %s"
 
-#: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
+#: actions/twitapifavorites.php:95
+#: actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s statuts ont été ajoutés aux favoris de %s / %s."
 
-#: actions/twitapifavorites.php:187 lib/mail.php:275
-#: actions/twitapifavorites.php:164 lib/mail.php:553
+#: actions/twitapifavorites.php:187
+#: lib/mail.php:275
+#: actions/twitapifavorites.php:164
+#: lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s a ajouté un de vos messages à ses favoris"
 
-#: actions/twitapifavorites.php:188 lib/mail.php:276
+#: actions/twitapifavorites.php:188
+#: lib/mail.php:276
 #: actions/twitapifavorites.php:165
 #, php-format
 msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s a ajouté à ses favoris un de vos statuts dans %2$s.\n"
+"\n"
 
 #: actions/twittersettings.php:27
-msgid ""
-"Add your Twitter account to automatically send your notices to Twitter, "
-msgstr ""
+msgid "Add your Twitter account to automatically send your notices to Twitter, "
+msgstr "Inscrivez votre compte Twitter pour transférer automatiquement vos statuts vers Twitter, "
 
-#: actions/twittersettings.php:41 actions/twittersettings.php:60
+#: actions/twittersettings.php:41
+#: actions/twittersettings.php:60
 msgid "Twitter settings"
-msgstr ""
+msgstr "Préférences Twitter"
 
-#: actions/twittersettings.php:48 actions/twittersettings.php:105
+#: actions/twittersettings.php:48
+#: actions/twittersettings.php:105
 msgid "Twitter Account"
-msgstr ""
+msgstr "Votre compte Twitter"
 
-#: actions/twittersettings.php:56 actions/twittersettings.php:113
+#: actions/twittersettings.php:56
+#: actions/twittersettings.php:113
 msgid "Current verified Twitter account."
-msgstr ""
+msgstr "Compte Twitter actuellement utilisé."
 
 #: actions/twittersettings.php:63
 msgid "Twitter Username"
-msgstr ""
+msgstr "Identifiant Twitter"
 
-#: actions/twittersettings.php:65 actions/twittersettings.php:123
+#: actions/twittersettings.php:65
+#: actions/twittersettings.php:123
 msgid "No spaces, please."
-msgstr ""
+msgstr "Veuillez éviter les espaces."
 
 #: actions/twittersettings.php:67
 msgid "Twitter Password"
-msgstr ""
+msgstr "Mot de passe Twitter"
 
-#: actions/twittersettings.php:72 actions/twittersettings.php:139
+#: actions/twittersettings.php:72
+#: actions/twittersettings.php:139
 msgid "Automatically send my notices to Twitter."
-msgstr ""
+msgstr "Envoyer automatiquement mes statuts dans Twitter."
 
-#: actions/twittersettings.php:75 actions/twittersettings.php:146
+#: actions/twittersettings.php:75
+#: actions/twittersettings.php:146
 msgid "Send local \"@\" replies to Twitter."
-msgstr ""
+msgstr "Envoyer mes réponses locales \"@\" dans Twitter."
 
-#: actions/twittersettings.php:78 actions/twittersettings.php:153
+#: actions/twittersettings.php:78
+#: actions/twittersettings.php:153
 msgid "Subscribe to my Twitter friends here."
-msgstr ""
+msgstr "Je veux m'abonner à mes amis de Twitter qui ont enregistré un compte ici."
 
 #: actions/twittersettings.php:122
-msgid ""
-"Username must have only numbers, upper- and lowercase letters, and "
-"underscore (_). 15 chars max."
-msgstr ""
+msgid "Username must have only numbers, upper- and lowercase letters, and underscore (_). 15 chars max."
+msgstr "L'identifiant ne doit pas dépasser 15 caractères, et ne peut contenir que des chiffres, des lettres minuscules ou majuscules, et des barres de soulignement (_). "
 
-#: actions/twittersettings.php:128 actions/twittersettings.php:334
+#: actions/twittersettings.php:128
+#: actions/twittersettings.php:334
 msgid "Could not verify your Twitter credentials!"
-msgstr ""
+msgstr "La vérification de vos informations de Twitter a échoué !"
 
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "Impossible de récupérer l'information du compte de \"%s\" dans Twitter."
 
-#: actions/twittersettings.php:151 actions/twittersettings.php:170
-#: actions/twittersettings.php:348 actions/twittersettings.php:368
+#: actions/twittersettings.php:151
+#: actions/twittersettings.php:170
+#: actions/twittersettings.php:348
+#: actions/twittersettings.php:368
 msgid "Unable to save your Twitter settings!"
-msgstr ""
+msgstr "L'enregistrement de votre configuration Twitter a échoué !"
 
-#: actions/twittersettings.php:174 actions/twittersettings.php:376
+#: actions/twittersettings.php:174
+#: actions/twittersettings.php:376
 msgid "Twitter settings saved."
-msgstr ""
+msgstr "Configuration Twitter enregistrée avec succès."
 
-#: actions/twittersettings.php:192 actions/twittersettings.php:395
+#: actions/twittersettings.php:192
+#: actions/twittersettings.php:395
 msgid "That is not your Twitter account."
-msgstr ""
+msgstr "Ce compte Twitter ne vous appartient pas."
 
-#: actions/twittersettings.php:200 actions/twittersettings.php:208
+#: actions/twittersettings.php:200
+#: actions/twittersettings.php:208
 #: actions/twittersettings.php:403
 msgid "Couldn't remove Twitter user."
-msgstr ""
+msgstr "Impossible de retirer cet utilisateur de Twitter."
 
-#: actions/twittersettings.php:212 actions/twittersettings.php:407
+#: actions/twittersettings.php:212
+#: actions/twittersettings.php:407
 msgid "Twitter account removed."
-msgstr ""
+msgstr "Le compte Twitter a été retiré."
 
-#: actions/twittersettings.php:225 actions/twittersettings.php:239
-#: actions/twittersettings.php:428 actions/twittersettings.php:439
+#: actions/twittersettings.php:225
+#: actions/twittersettings.php:239
+#: actions/twittersettings.php:428
+#: actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "Impossible d'enregistrer vos préférences Twitter."
 
-#: actions/twittersettings.php:245 actions/twittersettings.php:461
+#: actions/twittersettings.php:245
+#: actions/twittersettings.php:461
 msgid "Twitter preferences saved."
-msgstr ""
+msgstr "Préférences Twitter enregistrées avec succès."
 
-#: actions/userauthorization.php:84 actions/userauthorization.php:86
+#: actions/userauthorization.php:84
+#: actions/userauthorization.php:86
 msgid "Please check these details to make sure "
-msgstr ""
+msgstr "Veuillez vérifier ces informations pour vous assurer que "
 
-#: actions/userauthorization.php:324 actions/userauthorization.php:340
+# we are missing context here
+#: actions/userauthorization.php:324
+#: actions/userauthorization.php:340
+#, fuzzy
 msgid "The subscription has been authorized, but no "
-msgstr ""
+msgstr "L'abonnement a été autorisé, mais pas "
 
-#: actions/userauthorization.php:334 actions/userauthorization.php:351
+# missing context
+#: actions/userauthorization.php:334
+#: actions/userauthorization.php:351
+#, fuzzy
 msgid "The subscription has been rejected, but no "
-msgstr ""
+msgstr "L'abonnement a été refusé, mais pas "
 
-#: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
+#: classes/Channel.php:113
+#: classes/Channel.php:132
+#: classes/Channel.php:151
 msgid "Command results"
-msgstr ""
+msgstr "Résultats de la commande"
 
-#: classes/Channel.php:148 classes/Channel.php:204
+#: classes/Channel.php:148
+#: classes/Channel.php:204
 msgid "Command complete"
-msgstr ""
+msgstr "Commande complétée"
 
-#: classes/Channel.php:158 classes/Channel.php:215
+#: classes/Channel.php:158
+#: classes/Channel.php:215
 msgid "Command failed"
-msgstr ""
+msgstr "Échec de la commande"
 
-#: classes/Command.php:39 classes/Command.php:44
+#: classes/Command.php:39
+#: classes/Command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "Désolé, cette commande n'a pas encore été implémantée."
 
-#: classes/Command.php:96 classes/Command.php:113
+#: classes/Command.php:96
+#: classes/Command.php:113
 #, php-format
 msgid "Subscriptions: %1$s\n"
-msgstr ""
+msgstr "Abonnements : %1$s\n"
 
-#: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
+#: classes/Command.php:125
+#: classes/Command.php:242
+#: classes/Command.php:145
 #: classes/Command.php:276
 msgid "User has no last notice"
-msgstr ""
+msgstr "Aucun statut récent pour cet utilisateur"
 
-#: classes/Command.php:146 classes/Command.php:166
+#: classes/Command.php:146
+#: classes/Command.php:166
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "Statut ajouté aux favoris."
 
-#: classes/Command.php:166 classes/Command.php:189
+#: classes/Command.php:166
+#: classes/Command.php:189
 #, php-format
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s (%2$s)"
 
-#: classes/Command.php:169 classes/Command.php:192
+#: classes/Command.php:169
+#: classes/Command.php:192
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "Nom complet : %s"
 
-#: classes/Command.php:172 classes/Command.php:195
+#: classes/Command.php:172
+#: classes/Command.php:195
 #, php-format
 msgid "Location: %s"
-msgstr ""
+msgstr "Emplacement : %s"
 
-#: classes/Command.php:175 classes/Command.php:198
+#: classes/Command.php:175
+#: classes/Command.php:198
 #, php-format
 msgid "Homepage: %s"
-msgstr ""
+msgstr "Site Web : %s"
 
-#: classes/Command.php:178 classes/Command.php:201
+#: classes/Command.php:178
+#: classes/Command.php:201
 #, php-format
 msgid "About: %s"
-msgstr ""
+msgstr "À propos : %s"
 
-#: classes/Command.php:200 classes/Command.php:228
+#: classes/Command.php:200
+#: classes/Command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
-msgstr ""
+msgstr "Message trop long ! La taille maximale est de 140 caractères ; vous en avez entré %d."
 
-#: classes/Command.php:214 classes/Command.php:245
+#: classes/Command.php:214
+#: classes/Command.php:245
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "Votre message a été envoyé à %s"
 
-#: classes/Command.php:216 classes/Command.php:247
+#: classes/Command.php:216
+#: classes/Command.php:247
 msgid "Error sending direct message."
-msgstr ""
+msgstr "Une erreur est survenue pendant l'envoi de votre message."
 
-#: classes/Command.php:263 classes/Command.php:300
+#: classes/Command.php:263
+#: classes/Command.php:300
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "Indiquez le nom de l'utilisateur auquel vous souhaitez vous abonner "
 
-#: classes/Command.php:270 classes/Command.php:307
+# could it be plural?
+#: classes/Command.php:270
+#: classes/Command.php:307
+#, fuzzy
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "Abonné à %s"
 
-#: classes/Command.php:288 classes/Command.php:328
+#: classes/Command.php:288
+#: classes/Command.php:328
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "Indiquez le nom de l'utilisateur duquel vous souhaitez vous désabonner"
 
-#: classes/Command.php:295 classes/Command.php:335
+#: classes/Command.php:295
+#: classes/Command.php:335
 #, php-format
 msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "Désabonné de %s"
 
-#: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
+#: classes/Command.php:310
+#: classes/Command.php:330
+#: classes/Command.php:353
 #: classes/Command.php:376
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "Cette commande n'a pas encore été implémantée."
 
-#: classes/Command.php:313 classes/Command.php:356
+#: classes/Command.php:313
+#: classes/Command.php:356
 msgid "Notification off."
-msgstr ""
+msgstr "Avertissements désactivés."
 
-#: classes/Command.php:315 classes/Command.php:358
+#: classes/Command.php:315
+#: classes/Command.php:358
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "Impossible de désactiver les avertissements."
 
-#: classes/Command.php:333 classes/Command.php:379
+#: classes/Command.php:333
+#: classes/Command.php:379
 msgid "Notification on."
-msgstr ""
+msgstr "Avertissements activés."
 
-#: classes/Command.php:335 classes/Command.php:381
+#: classes/Command.php:335
+#: classes/Command.php:381
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "Impossible d'activer les avertissements."
 
-#: classes/Command.php:344 classes/Command.php:392
+#: classes/Command.php:344
+#: classes/Command.php:392
 msgid "Commands:\n"
-msgstr ""
+msgstr "Commandes : \n"
 
-#: classes/Message.php:53 classes/Message.php:56
+#: classes/Message.php:53
+#: classes/Message.php:56
 msgid "Could not insert message."
-msgstr ""
+msgstr "Impossible d'insérer le message."
 
-#: classes/Message.php:63 classes/Message.php:66
+#: classes/Message.php:63
+#: classes/Message.php:66
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "Impossible de mettre à jour le message avec un nouvel URI."
 
 #: lib/gallery.php:46
 msgid "User without matching profile in system."
-msgstr ""
+msgstr "Utilisateur sans profil correspondant dans le système."
 
-#: lib/mail.php:147 lib/mail.php:289
+#: lib/mail.php:147
+#: lib/mail.php:289
 #, php-format
 msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgstr ""
+"Vous avez une nouvelle adresse pour publier vos statuts dans %1$s.\n"
+"\n"
 
-#: lib/mail.php:249 lib/mail.php:508
+#: lib/mail.php:249
+#: lib/mail.php:508
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "Nouveau message personnel de %s"
 
-#: lib/mail.php:253 lib/mail.php:512
+#: lib/mail.php:253
+#: lib/mail.php:512
 #, php-format
 msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
 msgstr ""
+"%1$s (%2$s) vous a envoyé un message personnel :\n"
+"\n"
 
-#: lib/mailbox.php:43 lib/mailbox.php:89
+#: lib/mailbox.php:43
+#: lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "L'accès à cette boîte de réception est réservé à son utilisateur."
 
-#: lib/openid.php:195 lib/openid.php:203
+#: lib/openid.php:195
+#: lib/openid.php:203
 msgid "This form should automatically submit itself. "
-msgstr ""
+msgstr "Ce formulaire devrait être soumis automatiquement."
 
-#: lib/personal.php:65 lib/personalgroupnav.php:113
+#: lib/personal.php:65
+#: lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "Favoris"
 
-#: lib/personal.php:66 lib/personalgroupnav.php:114
+#: lib/personal.php:66
+#: lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "Statuts favoris de %s"
 
-#: lib/personal.php:66 lib/personalgroupnav.php:114
+#: lib/personal.php:66
+#: lib/personalgroupnav.php:114
 msgid "User"
-msgstr ""
+msgstr "Utilisateur"
 
-#: lib/personal.php:75 lib/personalgroupnav.php:123
+#: lib/personal.php:75
+#: lib/personalgroupnav.php:123
 msgid "Inbox"
-msgstr ""
+msgstr "Boîte de réception"
 
-#: lib/personal.php:76 lib/personalgroupnav.php:124
+#: lib/personal.php:76
+#: lib/personalgroupnav.php:124
 msgid "Your incoming messages"
-msgstr ""
+msgstr "Vos messages reçus"
 
-#: lib/personal.php:80 lib/personalgroupnav.php:128
+#: lib/personal.php:80
+#: lib/personalgroupnav.php:128
 msgid "Outbox"
-msgstr ""
+msgstr "Boîte d'envoi"
 
-#: lib/personal.php:81 lib/personalgroupnav.php:129
+#: lib/personal.php:81
+#: lib/personalgroupnav.php:129
 msgid "Your sent messages"
-msgstr ""
+msgstr "Vos messages envoyés"
 
-#: lib/settingsaction.php:99 lib/connectsettingsaction.php:110
+#: lib/settingsaction.php:99
+#: lib/connectsettingsaction.php:110
 msgid "Twitter"
-msgstr ""
+msgstr "Twitter"
 
-#: lib/settingsaction.php:100 lib/connectsettingsaction.php:111
+#: lib/settingsaction.php:100
+#: lib/connectsettingsaction.php:111
 msgid "Twitter integration options"
-msgstr ""
+msgstr "Configuration Twitter"
 
-#: lib/util.php:1718 lib/messageform.php:139 lib/noticelist.php:422
+#: lib/util.php:1718
+#: lib/messageform.php:139
+#: lib/noticelist.php:422
 msgid "To"
-msgstr ""
+msgstr "À "
 
-#: scripts/maildaemon.php:45 scripts/maildaemon.php:48
+#: scripts/maildaemon.php:45
+#: scripts/maildaemon.php:48
 msgid "Could not parse message."
-msgstr ""
+msgstr "Impossible de déchiffrer ce message."
 
-#: actions/all.php:63 actions/facebookhome.php:162
-#, fuzzy, php-format
+#: actions/all.php:63
+#: actions/facebookhome.php:162
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s et ses amis"
+msgstr "%s et ses amis - page %d"
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
-msgstr ""
+msgstr "Vous pouvez associer un « avatar » (image personnelle) à votre profil."
 
-#: actions/avatarsettings.php:117 actions/avatarsettings.php:191
+#: actions/avatarsettings.php:117
+#: actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "Paramètres de messagerie instantanée"
+msgstr "Paramètres de l'avatar"
 
-#: actions/avatarsettings.php:124 actions/avatarsettings.php:199
-#: actions/grouplogo.php:198 actions/grouplogo.php:258
+#: actions/avatarsettings.php:124
+#: actions/avatarsettings.php:199
+#: actions/grouplogo.php:198
+#: actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "Image originale"
 
-#: actions/avatarsettings.php:139 actions/avatarsettings.php:211
-#: actions/grouplogo.php:209 actions/grouplogo.php:270
+#: actions/avatarsettings.php:139
+#: actions/avatarsettings.php:211
+#: actions/grouplogo.php:209
+#: actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "Aperçu"
 
-#: actions/avatarsettings.php:225 actions/grouplogo.php:284
+#: actions/avatarsettings.php:225
+#: actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
-
-#: actions/avatarsettings.php:248 actions/deletenotice.php:133
-#: actions/emailsettings.php:224 actions/grouplogo.php:307
-#: actions/imsettings.php:200 actions/login.php:102 actions/newmessage.php:100
-#: actions/newnotice.php:96 actions/openidsettings.php:188
-#: actions/othersettings.php:136 actions/passwordsettings.php:131
-#: actions/profilesettings.php:172 actions/register.php:113
-#: actions/remotesubscribe.php:53 actions/smssettings.php:216
-#: actions/subedit.php:38 actions/twittersettings.php:290
+msgstr "Recadrer"
+
+#: actions/avatarsettings.php:248
+#: actions/deletenotice.php:133
+#: actions/emailsettings.php:224
+#: actions/grouplogo.php:307
+#: actions/imsettings.php:200
+#: actions/login.php:102
+#: actions/newmessage.php:100
+#: actions/newnotice.php:96
+#: actions/openidsettings.php:188
+#: actions/othersettings.php:136
+#: actions/passwordsettings.php:131
+#: actions/profilesettings.php:172
+#: actions/register.php:113
+#: actions/remotesubscribe.php:53
+#: actions/smssettings.php:216
+#: actions/subedit.php:38
+#: actions/twittersettings.php:290
 #: actions/userauthorization.php:39
 msgid "There was a problem with your session token. "
-msgstr ""
+msgstr "Un problème est survenu avec vos informations de session. "
 
-#: actions/avatarsettings.php:303 actions/grouplogo.php:360
+#: actions/avatarsettings.php:303
+#: actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Sélectionnez une zone de forme carrée pour définir votre avatar"
 
-#: actions/avatarsettings.php:327 actions/grouplogo.php:384
+#: actions/avatarsettings.php:327
+#: actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "Données perdues."
 
-#: actions/avatarsettings.php:334 actions/grouplogo.php:391
+#: actions/avatarsettings.php:334
+#: actions/grouplogo.php:391
 #: classes/User_group.php:112
-#, fuzzy
 msgid "Lost our file."
-msgstr "Il n'y a pas cet OpenID."
-
-#: actions/avatarsettings.php:349 actions/avatarsettings.php:383
-#: actions/grouplogo.php:406 actions/grouplogo.php:440
-#: classes/User_group.php:129 classes/User_group.php:161
-#, fuzzy
+msgstr "Fichier perdu."
+
+#: actions/avatarsettings.php:349
+#: actions/avatarsettings.php:383
+#: actions/grouplogo.php:406
+#: actions/grouplogo.php:440
+#: classes/User_group.php:129
+#: classes/User_group.php:161
 msgid "Unknown file type"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Format de fichier d'image non-supporté.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Type de fichier inconnu"
 
-#: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
+#: actions/block.php:69
+#: actions/subedit.php:46
+#: actions/unblock.php:70
 msgid "No profile specified."
-msgstr ""
+msgstr "Aucun profil n'a été spécifié."
 
-#: actions/block.php:74 actions/subedit.php:53 actions/tagother.php:46
+#: actions/block.php:74
+#: actions/subedit.php:53
+#: actions/tagother.php:46
 #: actions/unblock.php:75
 msgid "No profile with that ID."
-msgstr ""
+msgstr "Aucun profil ne correspond à cet identifiant."
 
 #: actions/block.php:111
 msgid "Block user"
-msgstr ""
+msgstr "Bloquer cet utilisateur"
 
 #: actions/block.php:129
 msgid "Are you sure you want to block this user? "
-msgstr ""
+msgstr "Êtes-vous sûr(e) de bloquer cet utilisateur ?"
 
 #: actions/block.php:162
-#, fuzzy
 msgid "You have already blocked this user."
-msgstr "Vous êtes déjà connecté !"
+msgstr "Vous avez déjà bloqué cet utilisateur."
 
 #: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "Impossible d'enregistrer les informations de blocage."
 
 #: actions/confirmaddress.php:159
-#, fuzzy, php-format
+#, php-format
 msgid "The address \"%s\" has been "
-msgstr "Cette adresse a déjà été confirmée."
+msgstr "L'adresse \"%s\" a été "
 
 #: actions/deletenotice.php:73
-#, fuzzy
 msgid "You are about to permanently delete a notice. "
-msgstr "Êtes-vous sur de vouloir effacer cet avertissement ?"
+msgstr "Ce statut va être définitivement supprimé. "
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "Ajouter aux favoris"
 
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
-
-#: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
-#: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
+msgstr "Modifier le groupe %s"
+
+#: actions/editgroup.php:66
+#: actions/groupbyid.php:72
+#: actions/grouplogo.php:66
+#: actions/joingroup.php:60
+#: actions/newgroup.php:65
+#: actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "Les boîtes de réception doivent être activées pour que les groupes fonctionnent "
 
-#: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
+#: actions/editgroup.php:71
+#: actions/grouplogo.php:71
+#: actions/newgroup.php:70
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "Vous devez ouvrir une session pour créer un groupe."
 
-#: actions/editgroup.php:87 actions/grouplogo.php:87
-#: actions/groupmembers.php:76 actions/joingroup.php:81
+#: actions/editgroup.php:87
+#: actions/grouplogo.php:87
+#: actions/groupmembers.php:76
+#: actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "Pas de surnom."
+msgstr "Aucun pseudo"
 
-#: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
-#: actions/groupmembers.php:83 actions/joingroup.php:88
+#: actions/editgroup.php:99
+#: actions/groupbyid.php:88
+#: actions/grouplogo.php:100
+#: actions/groupmembers.php:83
+#: actions/joingroup.php:88
 #: actions/showgroup.php:128
-#, fuzzy
 msgid "No such group"
-msgstr "Il n'y a pas ce document.'"
+msgstr "Aucun groupe trouvé"
 
-#: actions/editgroup.php:106 actions/editgroup.php:165
+#: actions/editgroup.php:106
+#: actions/editgroup.php:165
 #: actions/grouplogo.php:107
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "Seuls les administrateurs d'un groupe peuvent le modifier."
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Remplissez ce formulaire pour modifier les options du groupe."
 
-#: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
-#, fuzzy
+#: actions/editgroup.php:179
+#: actions/newgroup.php:130
+#: actions/register.php:156
 msgid "Nickname must have only lowercase letters "
-msgstr ""
-"Les pseudos ne peuvent contenir que des caractères minuscules et des nombres "
-"et aucuns espaces."
+msgstr "Le pseudo ne peut contenir que des caractères minuscules "
 
-#: actions/editgroup.php:198 actions/newgroup.php:149
-#, fuzzy
+#: actions/editgroup.php:198
+#: actions/newgroup.php:149
 msgid "description is too long (max 140 chars)."
-msgstr "La biographie est trop longue (140 caractères maximum)."
+msgstr "la description est trop longue (140 caractères maximum)."
 
 #: actions/editgroup.php:218
-#, fuzzy
 msgid "Could not update group."
-msgstr "Impossible de mettre à jour l'utilisateur."
+msgstr "Impossible de mettre à jour le groupe."
 
 #: actions/editgroup.php:226
 msgid "Options saved."
-msgstr ""
+msgstr "Vos options ont été enregistrées."
 
-#: actions/emailsettings.php:107 actions/imsettings.php:108
-#, fuzzy, php-format
+#: actions/emailsettings.php:107
+#: actions/imsettings.php:108
+#, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "En attente de confirmation à ce numéro de téléphone."
+msgstr "En attente de confirmation de cette adresse."
 
-#: actions/emailsettings.php:139 actions/smssettings.php:150
-#, fuzzy
+# using the infinitive form here?
+#: actions/emailsettings.php:139
+#: actions/smssettings.php:150
 msgid "Make a new email address for posting to; "
-msgstr "Nouvelle adresse email pour envoyer à %s"
+msgstr "Créer une nouvelle adresse courriel pour publier vos statuts ; "
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "Envoyez-moi un courriel quand quelqu'un "
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "Autoriser mes amis à m'envoyer des courriels et des clins d'oeil."
 
+# Missing context
 #: actions/emailsettings.php:321
 #, fuzzy
 msgid "That email address already belongs "
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Cet identifiant Jabber appartient déjà à un autre utilisateur.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Cette adresse courriel appartient déjà "
 
 #: actions/emailsettings.php:343
-#, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
-msgstr ""
-"Un code de confirmation a été envoyé à votre adresse de messagerie "
-"instantanée. Vous devez approuvez %s pour vous envoyer des messages."
+msgstr "Un code de confirmation a été envoyé à l'adresse courriel indiquée."
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "Erreur du serveur - impossible d'accéder à cet utilisateur !"
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "Si vous souhaitez que l'application %s soit mise à jour automatiquement "
 
-#: actions/facebookhome.php:213 actions/facebooksettings.php:137
+#: actions/facebookhome.php:213
+#: actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "Autoriser %s à mettre à jour mon statut dans Facebook"
 
+# context???
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "Sauter"
 
+# i originally put 'aucun statut!' here, but the original translation seems better
 #: actions/facebookhome.php:235
 #, fuzzy
 msgid "No notice content!"
-msgstr "Pas de contenu!"
+msgstr "Statut sans contenu!"
 
-#: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
+#: actions/facebookhome.php:295
+#: lib/action.php:870
+#: lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "Pagination"
 
-#: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
+#: actions/facebookhome.php:304
+#: lib/action.php:879
+#: lib/facebookaction.php:408
 msgid "After"
-msgstr ""
+msgstr "Après"
 
-#: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
-#, fuzzy
+#: actions/facebookhome.php:312
+#: lib/action.php:887
+#: lib/facebookaction.php:416
 msgid "Before"
-msgstr "Avant »"
+msgstr "Avant"
 
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "Merci d'inviter vos amis à utiliser %s"
 
 #: actions/facebookinvite.php:72
-#, fuzzy
 msgid "Invitations have been sent to the following users:"
-msgstr "Invitation(s) envoyée(s) aux personnes suivantes:"
+msgstr "Invitation(s) envoyée(s) aux personnes suivantes :"
 
 #: actions/facebookinvite.php:96
 #, php-format
 msgid "You have been invited to %s"
-msgstr ""
+msgstr "Vous avez reçu une invitation à %s"
 
 #: actions/facebookinvite.php:105
 #, php-format
 msgid "Invite your friends to use %s"
-msgstr ""
+msgstr "Invitez vos amis dans %s"
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "Amis déjà inscrits à %s :"
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "Envoyer des invitations"
 
 #: actions/facebookremove.php:56
-#, fuzzy
 msgid "Couldn't remove Facebook user."
-msgstr "Impossible de créer l'inscription."
+msgstr "Impossible de retirer l'utilisateur Facebook."
 
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
-msgstr ""
+msgstr "Un problème est survenu lors de l'enregistrement de vos préférences de synchronisation !"
 
 #: actions/facebooksettings.php:67
-#, fuzzy
 msgid "Sync preferences saved."
-msgstr "Préférences sauvegardées"
+msgstr "Préférences de synchronisation enregistrées."
 
 #: actions/facebooksettings.php:90
 msgid "Automatically update my Facebook status with my notices."
-msgstr ""
+msgstr "Mettre à jour automatiquement mon statut Facebook."
 
 #: actions/facebooksettings.php:97
 msgid "Send \"@\" replies to Facebook."
-msgstr ""
+msgstr "Envoyer mes réponses \"@\" dans Facebook."
 
 #: actions/facebooksettings.php:106
-#, fuzzy
 msgid "Prefix"
-msgstr "Profile"
+msgstr "Préfixe"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
-msgstr ""
+msgstr "Préfixe à insérer dans les statuts."
 
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "Si vous souhaitez une mise à jour automatique de %s "
 
 #: actions/facebooksettings.php:147
-#, fuzzy
 msgid "Sync preferences"
-msgstr "Préférences"
+msgstr "Préférences de synchronisation"
 
-#: actions/favor.php:94 lib/disfavorform.php:140
+#: actions/favor.php:94
+#: lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "Retirer ce favori"
 
-#: actions/favorited.php:65 lib/popularnoticesection.php:76
+#: actions/favorited.php:65
+#: lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
 msgid "Popular notices"
-msgstr ""
+msgstr "Statuts populaires"
 
 #: actions/favorited.php:67
 #, php-format
 msgid "Popular notices, page %d"
-msgstr ""
+msgstr "Statuts populaires - page %d"
 
 #: actions/favorited.php:79
 msgid "The most popular notices on the site right now."
-msgstr ""
+msgstr "Statuts les plus populaires sur le site en ce moment."
 
-#: actions/featured.php:69 lib/featureduserssection.php:82
+#: actions/featured.php:69
+#: lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
 msgid "Featured users"
-msgstr ""
+msgstr "Utilisateurs en vedette"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "Utilisateurs en vedette - page %d"
 
 #: actions/featured.php:99
 #, php-format
 msgid "A selection of some of the great users on %s"
-msgstr ""
+msgstr "Les utilisateurs à ne pas manquer dans %s"
 
 #: actions/finishremotesubscribe.php:188
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "Cet utilisateur vous a empêché de vous inscrire."
 
 #: actions/groupbyid.php:79
 msgid "No ID"
-msgstr ""
+msgstr "Aucun identifiant"
 
-#: actions/grouplogo.php:138 actions/grouplogo.php:191
+#: actions/grouplogo.php:138
+#: actions/grouplogo.php:191
 msgid "Group logo"
-msgstr ""
+msgstr "Logo du groupe"
 
 #: actions/grouplogo.php:149
 msgid "You can upload a logo image for your group."
-msgstr ""
+msgstr "Choisissez un logo pour votre groupe."
 
 #: actions/grouplogo.php:448
-#, fuzzy
 msgid "Logo updated."
-msgstr "Avatar mis à jour."
+msgstr "Logo mis à jour."
 
 #: actions/grouplogo.php:450
-#, fuzzy
 msgid "Failed updating logo."
-msgstr "La mise à jour de l'avatar a échoué."
+msgstr "La mise à jour du logo a échoué."
 
-#: actions/groupmembers.php:93 lib/groupnav.php:91
+#: actions/groupmembers.php:93
+#: lib/groupnav.php:91
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "Membres du groupe %s"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "Membres du groupe %s - page %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "Liste des utilisateurs inscrits à ce groupe."
 
-#: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
+#: actions/groups.php:62
+#: actions/showstream.php:518
+#: lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "Groupes"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Groupes - page %d"
 
+# missing context
 #: actions/groups.php:90
+#, fuzzy
 #, php-format
 msgid "%%%%site.name%%%% groups let you find and talk with "
-msgstr ""
+msgstr "Les groupes %%%%site.name%%%% vous permettent d'échanger avec "
 
-#: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
-#, fuzzy
+#: actions/groups.php:106
+#: actions/usergroups.php:124
+#: lib/groupeditform.php:123
 msgid "Create a new group"
-msgstr "Créer un nouveau compte"
+msgstr "Créer un nouveau groupe"
 
 #: actions/groupsearch.php:57
-#, fuzzy, php-format
-msgid ""
-"Search for groups on %%site.name%% by their name, location, or description. "
-msgstr ""
-"Recherche de personne sur %%site.name%% par leur nom, localisation ou "
-"intérêt. Séparez les termes de la recherches par des espaces ; ils doivent "
-"être de 3 caractères ou plus."
+#, php-format
+msgid "Search for groups on %%site.name%% by their name, location, or description. "
+msgstr "Recherchez des groupes dans %%site.name%% par nom, par emplacement ou par intérêts. Séparez les termes de recherches par des espaces. Ils doivent contenir au moins 3 caractères."
 
 #: actions/groupsearch.php:63
-#, fuzzy
 msgid "Group search"
-msgstr "Rechercher des personnes"
+msgstr "Rechercher des groupes"
 
+# missing context
 #: actions/imsettings.php:70
+#, fuzzy
 msgid "You can send and receive notices through "
-msgstr ""
+msgstr "Vous pouvez publier et lire les statuts via "
 
+# missing context
 #: actions/imsettings.php:120
+#, fuzzy
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Adresse Jabber ou GTalk, "
 
 #: actions/imsettings.php:147
-#, fuzzy
 msgid "Send me replies through Jabber/GTalk "
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"M'envoyer des messages par Jabber/GTalk.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Envoyez-moi les réponses par Jabber/GTalk"
 
 #: actions/imsettings.php:321
-#, fuzzy, php-format
+#, php-format
 msgid "A confirmation code was sent "
-msgstr "Pas de code de confirmation."
+msgstr "Un code de confirmation a été envoyé "
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "Vous devez ouvrir une session pour rejoindre un groupe."
 
 #: actions/joingroup.php:95
-#, fuzzy
 msgid "You are already a member of that group"
-msgstr "Vous êtes déjà connecté !"
+msgstr "Vous êtes déjà membre de ce groupe "
 
 #: actions/joingroup.php:128
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "Impossible de suivre l'utilisateur: Utilisateur non trouvé."
+msgstr "Impossible d'inscrire l'utilisateur %s au groupe %s"
 
 #: actions/joingroup.php:135
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s a rejoint le groupe %s"
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "Les boîtes de réception doivent être activées pour que les groupes fonctionnent."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "Vous devez ouvrir une session pour quitter un groupe."
 
 #: actions/leavegroup.php:88
-#, fuzzy
 msgid "No such group."
-msgstr "Il n'y a pas ce document.'"
+msgstr "Aucun groupe trouvé."
 
 #: actions/leavegroup.php:95
 msgid "You are not a member of that group."
-msgstr ""
+msgstr "Vous n'êtes pas membre de ce groupe."
 
 #: actions/leavegroup.php:100
 msgid "You may not leave a group while you are its administrator."
-msgstr ""
+msgstr "Il est recommandé de ne pas quitter un groupe dont vous êtes administrateur."
 
 #: actions/leavegroup.php:130
-#, fuzzy
 msgid "Could not find membership record."
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Impossible de mettre à jour l'utilisateur.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Aucun enregistrement à ce groupe n'a été trouvé."
 
 #: actions/leavegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "Impossible de suivre l'utilisateur: Utilisateur non trouvé."
+msgstr "Impossible de retirer l'utilisateur %s du groupe %s"
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s a quitté le groupe %s"
 
-#: actions/login.php:225 lib/facebookaction.php:304
+#: actions/login.php:225
+#: lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Ouverture de session"
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "Aucun statut "
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Nouveau groupe"
 
 #: actions/newgroup.php:115
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "Remplissez les champs ci-dessous pour créer un nouveau groupe :"
 
 #: actions/newgroup.php:177
-#, fuzzy
 msgid "Could not create group."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Non inscrit !\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Impossible de créer le groupe."
 
 #: actions/newgroup.php:191
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Impossible de créer l'inscription."
+msgstr "Impossible d'établir l'inscription au groupe."
 
-#: actions/newmessage.php:119 actions/newnotice.php:132
-#, fuzzy
+#: actions/newmessage.php:119
+#: actions/newnotice.php:132
 msgid "That's too long. "
-msgstr "Ce fichier est trop gros."
+msgstr "C'est trop long."
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "N'envoyez pas de message à vous-même ; "
 
 #: actions/newnotice.php:166
-#, fuzzy
 msgid "Notice posted"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Recherche\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Statut publié"
 
-#: actions/newnotice.php:200 classes/Channel.php:163
+#: actions/newnotice.php:200
+#: classes/Channel.php:163
 msgid "Ajax Error"
-msgstr ""
+msgstr "Erreur Ajax"
 
 #: actions/nudge.php:85
-msgid ""
-"This user doesn't allow nudges or hasn't confirmed or set his email yet."
-msgstr ""
+msgid "This user doesn't allow nudges or hasn't confirmed or set his email yet."
+msgstr "Cet utilisateur n'accepte pas les clins d'œil ou n'a pas encore validé son adresse courriel."
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr ""
+msgstr "Clin d'œil envoyé"
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr ""
+msgstr "Clin d'œil envoyé !"
 
 #: actions/openidlogin.php:97
-#, fuzzy
 msgid "OpenID login"
 msgstr "Connexion OpenID"
 
 #: actions/openidsettings.php:128
-#, fuzzy
 msgid "Removing your only OpenID "
-msgstr "Enlever l'OpenID"
+msgstr "Retirer votre OpenID "
 
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "Paramètres de messagerie instantanée"
+msgstr "Autres paramètres"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "Autres options à configurer"
 
 #: actions/othersettings.php:93
 msgid "URL Auto-shortening"
-msgstr ""
+msgstr "Réduction automatique des adresses Web (URL)"
 
 #: actions/othersettings.php:112
 msgid "Service"
-msgstr ""
+msgstr "Service"
 
 #: actions/othersettings.php:113
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "Sélectionnez un service de réduction d'URL."
 
 #: actions/othersettings.php:144
-#, fuzzy
 msgid "URL shortening service is too long (max 50 chars)."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"La localisation est trop longue (255 caractères maximum).\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Le service de réduction d'URL est trop long (50 caractères maximum)."
 
 #: actions/passwordsettings.php:69
-#, fuzzy
 msgid "Change your password."
-msgstr "Changer votre mot de passe"
+msgstr "Modifier votre mot de passe."
 
 #: actions/passwordsettings.php:89
-#, fuzzy
 msgid "Password change"
-msgstr "Mot de passe sauvegardé."
+msgstr "Modification du mot de passe"
 
 #: actions/peopletag.php:35
-#, fuzzy, php-format
+#, php-format
 msgid "Not a valid people tag: %s"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Ce n'est pas une adresse email valide.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ce marquage est invalide : %s"
 
+# can it be plural?
 #: actions/peopletag.php:47
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "Utilisateurs marqués &s - page %d"
 
+# can it be plural?
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "Les utilisateurs suivants se sont marqués  \"%s\" :"
 
 #: actions/profilesettings.php:91
-#, fuzzy
 msgid "Profile information"
-msgstr "Profil inconnu"
+msgstr "Information de profil"
 
 #: actions/profilesettings.php:124
-msgid ""
-"Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
-msgstr ""
+msgid "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
+msgstr "Marquages (tags) pour votre profil, séparés par des virgules ou des espaces"
 
+# missing context
 #: actions/profilesettings.php:144
 #, fuzzy
 msgid "Automatically subscribe to whoever "
-msgstr ""
-"M'abonner automatiquement à quiconque s'abonne à moi (meilleur pour les non-"
-"humains)"
+msgstr "M'abonner automatiquement à quiconque "
 
-#: actions/profilesettings.php:229 actions/tagother.php:176
-#, fuzzy, php-format
+#: actions/profilesettings.php:229
+#: actions/tagother.php:176
+#, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "Taille invalide."
+msgstr "Marquage invalide : \"%s\""
 
 #: actions/profilesettings.php:311
 msgid "Couldn't save tags."
-msgstr ""
+msgstr "Impossible d'enregistrer les marquages. "
 
 #: actions/public.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "Évolution publique"
+msgstr "Flux public - page %d"
 
 #: actions/public.php:173
-#, fuzzy
 msgid "Could not retrieve public stream."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Non inscrit !\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Impossible de récupérer le flux public."
 
 #: actions/public.php:220
 #, php-format
-msgid ""
-"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
-"blogging) service "
-msgstr ""
+msgid "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service "
+msgstr "%%site.name%% est un service de [micro-blogging](http://fr.wikipedia.org/wiki/Microblog) "
 
 #: actions/publictagcloud.php:57
 #, fuzzy
 msgid "Public tag cloud"
-msgstr "Fil du flux public"
+msgstr "Marquages publics"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "Derniers marquages les plus populaires dans %s "
 
 #: actions/publictagcloud.php:119
+#, fuzzy
 msgid "Tag cloud"
-msgstr ""
+msgstr "Marquages "
 
-#: actions/register.php:139 actions/register.php:349
+#: actions/register.php:139
+#: actions/register.php:349
 msgid "Sorry, only invited people can register."
-msgstr ""
+msgstr "Désolé ! Seules les personnes invitées peuvent s'inscrire."
 
+# missing context
 #: actions/register.php:149
+#, fuzzy
 msgid "You can't register if you don't "
-msgstr ""
+msgstr "Vous ne pouvez pas créer un compte si vous ne "
 
+# missing context
 #: actions/register.php:286
+#, fuzzy
 msgid "With this form you can create "
-msgstr ""
+msgstr "Ce formulaire permet de créer "
 
+# missing context
 #: actions/register.php:368
 #, fuzzy
 msgid "1-64 lowercase letters or numbers, "
-msgstr "1-64 lettres minuscules ou chiffres, pas de ponctuation ou d'espaces"
+msgstr "1 à 64 lettres minuscules ou chiffres, "
 
-#: actions/register.php:382 actions/register.php:386
+# missing context
+#: actions/register.php:382
+#: actions/register.php:386
+#, fuzzy
 msgid "Used only for updates, announcements, "
-msgstr ""
+msgstr "Utilisé seulement pour les mises à jour, nouvelles du site, "
 
+# missing context
 #: actions/register.php:398
+#, fuzzy
 msgid "URL of your homepage, blog, "
-msgstr ""
+msgstr "URL de votre site Web, blogue, "
 
+# missing context
 #: actions/register.php:404
 #, fuzzy
 msgid "Describe yourself and your "
-msgstr "Description et intérêts (140 caractères maximum)"
+msgstr "Décrivez qui vous êtes et vos "
 
+# missing context
 #: actions/register.php:410
+#, fuzzy
 msgid "Where you are, like \"City, "
-msgstr ""
+msgstr "Votre emplacement, ex.: \"Ville, "
 
+# missing context
 #: actions/register.php:432
 #, fuzzy
 msgid " except this private data: password, "
-msgstr ""
-"sauf ces données privées : mot de passe, adresse email, adresse de "
-"messagerie instantanée, numéro de télephone"
+msgstr " à l'exception de ces données personnelles : mot de passe, "
 
 #: actions/register.php:471
 #, php-format
 msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. "
-msgstr ""
+msgstr "Félicitations, %s ! Bienvenue dans %%%%site.name%%%%. "
 
+# missing context
 #: actions/register.php:495
+#, fuzzy
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(Vous recevrez bientôt un courriel "
 
-#: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
+#: actions/remotesubscribe.php:166
+#: actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
-msgstr ""
+msgstr "Ce profil est local ! Ouvrez une session pour vous abonner."
 
 #: actions/replies.php:118
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %s, page %d"
-msgstr "Réponses à %s"
+msgstr "Réponses à %s - page %d"
 
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "Statuts favoris de %s - page %d"
 
-#: actions/showgroup.php:77 lib/groupnav.php:85
+#: actions/showgroup.php:77
+#: lib/groupnav.php:85
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "Groupe %s"
 
 #: actions/showgroup.php:79
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "Groupe %s - page %d"
 
 #: actions/showgroup.php:206
-#, fuzzy
 msgid "Group profile"
-msgstr "Il n'y a pas cet OpenID."
+msgstr "Profil du groupe"
 
-#: actions/showgroup.php:251 actions/showstream.php:278
-#: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
+#: actions/showgroup.php:251
+#: actions/showstream.php:278
+#: actions/tagother.php:119
+#: lib/grouplist.php:134
+#: lib/profilelist.php:133
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
-#: actions/showgroup.php:262 actions/showstream.php:289
-#: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
-#, fuzzy
+#: actions/showgroup.php:262
+#: actions/showstream.php:289
+#: actions/tagother.php:129
+#: lib/grouplist.php:145
+#: lib/profilelist.php:144
 msgid "Note"
-msgstr "Messages"
+msgstr "Note"
 
 #: actions/showgroup.php:270
 msgid "Group actions"
-msgstr ""
+msgstr "Actions du groupe"
 
 #: actions/showgroup.php:323
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group"
-msgstr "Fil des messages de %s"
+msgstr "Fil des statuts du groupe %s"
 
-#: actions/showgroup.php:357 lib/groupnav.php:90
-#, fuzzy
+#: actions/showgroup.php:357
+#: lib/groupnav.php:90
 msgid "Members"
-msgstr "Membre depuis"
+msgstr "Membres"
 
-#: actions/showgroup.php:363 actions/showstream.php:413
-#: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
+#: actions/showgroup.php:363
+#: actions/showstream.php:413
+#: actions/showstream.php:442
+#: actions/showstream.php:524
+#: lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(aucun)"
 
 #: actions/showgroup.php:370
 msgid "All members"
-msgstr ""
+msgstr "Tous les membres"
 
 #: actions/showgroup.php:378
 #, php-format
-msgid ""
-"**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
-"wikipedia.org/wiki/Micro-blogging) service "
-msgstr ""
+msgid "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service "
+msgstr "**%s** est un groupe d'utilisateurs du service de [micro-blogging](http://fr.wikipedia.org/wiki/Microblog)  %%%%site.name%%%%"
 
+# is there another part to this sentence?
 #: actions/showmessage.php:98
+#, fuzzy
 msgid "Only the sender and recipient "
-msgstr ""
+msgstr "Expéditeur et destinataire seulement "
 
 #: actions/showstream.php:73
 #, php-format
 msgid "%s, page %d"
-msgstr ""
+msgstr "%s - page %d"
 
+# missing context
 #: actions/showstream.php:143
 #, fuzzy
 msgid "'s profile"
-msgstr "Profile"
+msgstr " - Profil"
 
-#: actions/showstream.php:236 actions/tagother.php:77
-#, fuzzy
+#: actions/showstream.php:236
+#: actions/tagother.php:77
 msgid "User profile"
-msgstr "Il n'y a pas cet OpenID."
+msgstr "Profil de l'utilisateur"
 
-#: actions/showstream.php:240 actions/tagother.php:81
+#: actions/showstream.php:240
+#: actions/tagother.php:81
 msgid "Photo"
-msgstr ""
+msgstr "Photo"
 
 #: actions/showstream.php:317
 msgid "User actions"
-msgstr ""
+msgstr "Actions de l'utilisateur"
 
 #: actions/showstream.php:342
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "Envoyer un message à cet utilisateur"
 
 #: actions/showstream.php:343
 msgid "Message"
-msgstr ""
+msgstr "Message "
 
 #: actions/showstream.php:451
-#, fuzzy
 msgid "All subscribers"
-msgstr "Toutes les inscriptions"
+msgstr "Tous les abonnés"
 
 #: actions/showstream.php:533
 msgid "All groups"
-msgstr ""
+msgstr "Tous les groupes"
 
 #: actions/showstream.php:542
 #, php-format
-msgid ""
-"**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
-"wikipedia.org/wiki/Micro-blogging) service "
-msgstr ""
+msgid "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-blogging) service "
+msgstr "**%s** est inscrit au service de [micro-blogging](http://fr.wikipedia.org/wiki/Microblog)  %%%%site.name%%%%"
 
+# missing context
 #: actions/smssettings.php:128
 #, fuzzy
 msgid "Phone number, no punctuation or spaces, "
-msgstr ""
-"Numéro de téléphone, pas de ponctuation ou d'espace, avec le code "
-"international."
+msgstr "Numéro de téléphone, sans ponctuation ni espace, "
 
+# missing context
 #: actions/smssettings.php:162
 #, fuzzy
 msgid "Send me notices through SMS; "
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"M'envoyer des messages par Jabber/GTalk.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "M'envoyer les statuts par SMS ; "
 
 #: actions/smssettings.php:335
-#, fuzzy
 msgid "A confirmation code was sent to the phone number you added. "
-msgstr "En attente de confirmation à ce numéro de téléphone."
+msgstr "Un code de confirmation vient d'être envoyé au numéro de téléphone indiqué. "
 
 #: actions/smssettings.php:453
 msgid "Mobile carrier"
-msgstr ""
+msgstr "Fournisseur de téléphonie mobile"
 
 #: actions/subedit.php:70
 msgid "You are not subscribed to that profile."
-msgstr ""
+msgstr "Vous n'êtes pas abonné(e) à ce profil."
 
 #: actions/subedit.php:83
-#, fuzzy
 msgid "Could not save subscription."
-msgstr "Impossible de créer l'inscription."
+msgstr "Impossible d'enregistrer l'abonnement."
 
 #: actions/subscribe.php:55
-#, fuzzy
 msgid "Not a local user."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Pas de code de récupération.\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Ceci n'est pas un utilisateur local."
 
+# missing context?
 #: actions/subscribe.php:69
 #, fuzzy
 msgid "Subscribed"
-msgstr "Inscription distante"
+msgstr "Abonné"
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "Inscription distante"
+msgstr "Abonnés à %s"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "Abonnés à %s - page &d"
 
+# missing context
 #: actions/subscribers.php:63
 #, fuzzy
 msgid "These are the people who listen to "
-msgstr "Ce sont les personnes qui suivent les messages de %s."
+msgstr "Ces personnes suivent "
 
+# missing context
 #: actions/subscribers.php:67
-#, fuzzy, php-format
+#, fuzzy
+#, php-format
 msgid "These are the people who "
-msgstr "Ce sont les personnes qui suivent les messages de %s."
+msgstr "Ces personnes sont ceux qui "
 
 #: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions"
-msgstr "Toutes les inscriptions"
+msgstr "Abonnements de %s"
 
 #: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions, page %d"
-msgstr "Toutes les inscriptions"
+msgstr "Abonnements de %s - page %d"
 
+# missing context
 #: actions/subscriptions.php:65
 #, fuzzy
 msgid "These are the people whose notices "
-msgstr "Ce sont les personnes dont les messages sont suivis par %s."
+msgstr "Voici les personnes dont les messages "
 
+# missing context
 #: actions/subscriptions.php:69
-#, fuzzy, php-format
+#, fuzzy
+#, php-format
 msgid "These are the people whose "
-msgstr "Ce sont les personnes qui suivent les messages de %s."
+msgstr "Voici les personnes dont "
 
 #: actions/subscriptions.php:122
 msgid "Jabber"
 msgstr "Jabber"
 
 #: actions/tag.php:43
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Fil des messages de %s\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Statuts marqués %s - page %d"
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "Messages marqués \"%s\", à partir du plus récent"
 
 #: actions/tagother.php:33
 msgid "Not logged in"
-msgstr ""
+msgstr "Aucune session ouverte"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No id argument."
-msgstr "Il n'y a pas ce document.'"
+msgstr "Aucun argument d'identification."
 
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr ""
+msgstr "Marquage %s"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "Marquer l'utilisateur"
 
 #: actions/tagother.php:149
-msgid ""
-"Tags for this user (letters, numbers, -, ., and _), comma- or space- "
-"separated"
-msgstr ""
+msgid "Tags for this user (letters, numbers, -, ., and _), comma- or space- separated"
+msgstr "Marquer cet utilisateur (séparer par des espaces ou des virgules)"
 
 #: actions/tagother.php:164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "Un problème est survenu avec votre jeton de session."
 
 #: actions/tagother.php:191
-msgid ""
-"You can only tag people you are subscribed to or who are subscribed to you."
-msgstr ""
+msgid "You can only tag people you are subscribed to or who are subscribed to you."
+msgstr "Vous pouvez seulement marquer les personnes auxquelles vous êtes abonné(e) ou qui sont abonnées à vous."
 
 #: actions/tagother.php:198
-#, fuzzy
 msgid "Could not save tags."
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Non inscrit !\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Impossible d'enregistrer les marquages."
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
-msgstr ""
+msgstr "Remplissez les champs suivants pour marquer vos abonnés ou vos abonnements."
 
 #: actions/tagrss.php:35
-#, fuzzy
 msgid "No such tag."
-msgstr "Il n'y a pas ce document.'"
+msgstr "Aucun marquage trouvé."
 
 #: actions/tagrss.php:66
-#, fuzzy, php-format
+#, php-format
 msgid "Microblog tagged with %s"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Fil des messages de %s\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Microblog marqué avec %s"
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
-msgstr ""
+msgstr "Le blocage de l'utilisateur a échoué."
 
 #: actions/twitapiblocks.php:69
 msgid "Unblock user failed."
-msgstr ""
+msgstr "Le déblocage de l'utilisateur a échoué."
 
 #: actions/twitapiusers.php:48
 msgid "Not found."
-msgstr ""
+msgstr "Non trouvé."
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
-msgstr ""
+msgstr "Ajoutez votre compte Twitter pour envoyer automatiquement "
 
 #: actions/twittersettings.php:119
 msgid "Twitter user name"
-msgstr ""
+msgstr "Nom d'utilisateur Twitter"
 
 #: actions/twittersettings.php:126
-#, fuzzy
 msgid "Twitter password"
-msgstr "Changer de mot de passe"
+msgstr "Mot de passe Twitter"
 
 #: actions/twittersettings.php:228
 msgid "Twitter Friends"
-msgstr ""
+msgstr "Amis de Twitter"
 
 #: actions/twittersettings.php:327
 msgid "Username must have only numbers, "
-msgstr ""
+msgstr "L'identifiant doit contenit seulement des chiffres, "
 
 #: actions/twittersettings.php:341
 #, php-format
 msgid "Unable to retrieve account information "
-msgstr ""
+msgstr "Impossible de récupérer les informations du compte "
 
 #: actions/unblock.php:108
-#, fuzzy
 msgid "Error removing the block."
-msgstr "Erreur lors de l'enregistrement de l'utilisateur."
+msgstr "Erreur lors de l'annulation du blocage."
 
 #: actions/unsubscribe.php:50
-#, fuzzy
 msgid "No profile id in request."
-msgstr "Pas d'URL de profil retourné par le serveur."
+msgstr "Aucune identité de profil dans la requête."
 
 #: actions/unsubscribe.php:57
 msgid "No profile with that id."
-msgstr ""
+msgstr "Aucun profil avec cet identifiant."
 
 #: actions/unsubscribe.php:71
-#, fuzzy
 msgid "Unsubscribed"
-msgstr "Inscription distante"
+msgstr "Désabonné"
 
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "Groupes de %s"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "Groupes de %s - page %d"
 
 #: classes/Notice.php:104
-#, fuzzy
 msgid "Problem saving notice. Unknown user."
-msgstr "Erreur lors de l'enregistrement de l'utilisateur."
+msgstr "Erreur lors de l'enregistrement du statut. Utilisateur inconnu."
 
 #: classes/Notice.php:109
-msgid ""
-"Too many notices too fast; take a breather and post again in a few minutes."
-msgstr ""
+msgid "Too many notices too fast; take a breather and post again in a few minutes."
+msgstr "Trop de statuts, trop vite ! Prenez une pause et publiez à nouveau dans quelques minutes."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "Il vous est interdit de publier des statuts dans ce site."
 
 #: lib/accountsettingsaction.php:108
-#, fuzzy
 msgid "Upload an avatar"
-msgstr "La mise à jour de l'avatar a échoué."
+msgstr "Ajouter un avatar"
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
-msgstr ""
+msgstr "Autres "
 
 #: lib/accountsettingsaction.php:120
 msgid "Other options"
-msgstr ""
+msgstr "Autres options "
 
 #: lib/action.php:130
-#, fuzzy, php-format
+#, php-format
 msgid "%s - %s"
-msgstr "%s (%s)"
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "Page sans nom"
 
 #: lib/action.php:316
 msgid "Primary site navigation"
-msgstr ""
+msgstr "Navigation primaire du site"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "Profil personnel et flux des amis"
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "Rechercher des personnes ou du texte"
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Account"
-msgstr "À propos"
+msgstr "Compte"
 
+# missing context
 #: lib/action.php:328
 #, fuzzy
 msgid "Change your email, avatar, password, profile"
-msgstr "Changer votre mot de passe"
+msgstr "Modifier votre courriel, avatar, mot de passe, profil "
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Connexion à la messagerie instantanée, SMS ou Twitter"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Fermer la session"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Ouvrir une session"
 
 #: lib/action.php:338
-#, fuzzy
 msgid "Create an account"
-msgstr "Créer un nouveau compte"
+msgstr "Créer un compte"
 
 #: lib/action.php:341
-#, fuzzy
 msgid "Login with OpenID"
-msgstr "Il n'y a pas cet OpenID."
+msgstr "Connexion OpenID"
 
 #: lib/action.php:344
-#, fuzzy
 msgid "Help me!"
-msgstr "Aide"
+msgstr "À l'aide !"
 
 #: lib/action.php:362
-#, fuzzy
 msgid "Site notice"
-msgstr "Nouveau message"
+msgstr "Notice du site"
 
 #: lib/action.php:417
 msgid "Local views"
-msgstr ""
+msgstr "Vues locales"
 
+# missing context?
 #: lib/action.php:472
 #, fuzzy
 msgid "Page notice"
-msgstr "Nouveau message"
+msgstr "Notice de la page"
 
 #: lib/action.php:562
 msgid "Secondary site navigation"
-msgstr ""
+msgstr "Navigation secondaire du site"
 
-#: lib/action.php:602 lib/action.php:623
+#: lib/action.php:602
+#: lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "Licence du logiciel Laconica"
 
 #: lib/action.php:630
 msgid "All "
-msgstr ""
+msgstr "Tous"
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "licence."
 
-#: lib/blockform.php:123 lib/blockform.php:153
+#: lib/blockform.php:123
+#: lib/blockform.php:153
 msgid "Block this user"
-msgstr ""
+msgstr "Bloquer cet utilisateur "
 
 #: lib/blockform.php:153
 msgid "Block"
-msgstr ""
+msgstr "Bloquer"
 
-#: lib/disfavorform.php:114 lib/disfavorform.php:140
+#: lib/disfavorform.php:114
+#: lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "Retirer des favoris"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "Vous devez ouvrir une session pour utiliser l'application Facebook %s"
 
+# missing context?
 #: lib/facebookaction.php:271
 #, fuzzy
 msgid " a new account."
-msgstr "Créer un nouveau compte"
+msgstr " un nouveau compte."
 
-#: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
-#, fuzzy
+#: lib/facebookaction.php:557
+#: lib/mailbox.php:214
+#: lib/noticelist.php:354
 msgid "Published"
 msgstr "Publié"
 
-#: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
+#: lib/favorform.php:114
+#: lib/favorform.php:140
 msgid "Favor this notice"
-msgstr "Mettre ce message dans vos favoris"
+msgstr "Ajouter aux favoris"
 
 #: lib/feedlist.php:64
 msgid "Export data"
 msgstr "Exporter les données"
 
+# étiquettes ou marquages?
 #: lib/galleryaction.php:121
 #, fuzzy
 msgid "Filter tags"
-msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Fil des réponses à %s\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+msgstr "Filtrer les étiquettes"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "Tous"
 
 #: lib/galleryaction.php:137
 msgid "Tag"
-msgstr ""
+msgstr "Marquer"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "Choissez un marquage pour réduire la liste"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr ""
+msgstr "Aller"
 
 #: lib/groupeditform.php:148
 msgid "URL of the homepage or blog of the group or topic"
-msgstr ""
+msgstr "URL du site Web ou blogue du groupe ou sujet "
 
 #: lib/groupeditform.php:151
-#, fuzzy
 msgid "Description"
 msgstr "Description"
 
 #: lib/groupeditform.php:153
-#, fuzzy
 msgid "Describe the group or topic in 140 chars"
-msgstr "Description et intérêts (140 caractères maximum)"
+msgstr "Description du groupe ou du sujet (140 caractères maximum)"
 
 #: lib/groupeditform.php:158
-msgid ""
-"Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr ""
-"Emplacement du groupe, s'il y a lieu (par exemple, ville, État, région, "
-"pays)"
+msgid "Location for the group, if any, like \"City, State (or Region), Country\""
+msgstr "Emplacement du groupe, s'il y a lieu \"Ville, État ou région, Pays\""
 
-#: lib/groupnav.php:84 lib/searchgroupnav.php:84
+#: lib/groupnav.php:84
+#: lib/searchgroupnav.php:84
 msgid "Group"
 msgstr "Groupe"
 
@@ -4839,180 +5627,175 @@ msgstr "Administrer"
 #: lib/groupnav.php:101
 #, php-format
 msgid "Edit %s group properties"
-msgstr ""
+msgstr "Modifier les propriétés du groupe %s"
 
 #: lib/groupnav.php:106
-#, fuzzy
 msgid "Logo"
-msgstr "Déconnexion"
+msgstr "Logo"
 
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr "Ajouter et changer le logo de %s"
+msgstr "Ajouter ou modifier le logo de %s"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr "Groupes ayant le plus de membres"
+msgstr "Groupes avec le plus de membres"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr "Groupes ayant le plus de messages"
+msgstr "Groupes avec le plus d'éléments publiés"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "Marquages des statuts du groupe %s"
 
+# missing context
 #: lib/htmloutputter.php:104
 #, fuzzy
 msgid "This page is not available in a "
-msgstr "Page d'accueil non valide."
+msgstr "Cette page n'est pas disponible dans "
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "Se connecter"
+msgstr "Rejoindre"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
 msgstr "Quitter"
 
 #: lib/logingroupnav.php:76
-#, fuzzy
 msgid "Login with a username and password"
-msgstr "Nom d'utilisateur ou mot de passe invalide."
+msgstr "Ouvrez une session avec un identifiant et un mot de passe"
 
 #: lib/logingroupnav.php:79
-#, fuzzy
 msgid "Sign up for a new account"
 msgstr "Créer un nouveau compte"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr "Se connecter ou s'enregistrer avec OpenID"
+msgstr "Ouvrir une session ou s'enregistrer avec OpenID"
 
 #: lib/mail.php:175
 #, php-format
 msgid ""
 "Hey, %s.\n"
 "\n"
-msgstr ""
+msgstr "Bonjour, %s.\n"
+"\n"
 
+# missing context
 #: lib/mail.php:236
-#, fuzzy, php-format
+#, fuzzy
+#, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s est occupé d'écouter vos notifications dans %2$s."
+msgstr "%1$s suit actuellement "
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "Localisation"
+msgstr "Emplacement : %s\n"
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
-msgstr "Page d'accueil"
+msgstr "Site Web : %s\n"
 
 #: lib/mail.php:258
 #, php-format
 msgid ""
 "Bio: %s\n"
 "\n"
-msgstr ""
+msgstr "Bio : %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
 msgid "You've been nudged by %s"
-msgstr ""
+msgstr "Vous avez reçu un clin d'œil de %s"
 
 #: lib/mail.php:465
 #, php-format
 msgid "%1$s (%2$s) is wondering what you are up to "
-msgstr ""
+msgstr "%1$s (%2$s) se demande ce que vous devenez  "
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr "%1$s est occupé d'écouter vos notifications dans %2$s."
+msgstr "%1$s a ajouté votre statut depuis %2$s"
 
-#: lib/mailbox.php:229 lib/noticelist.php:380
-#, fuzzy
+#: lib/mailbox.php:229
+#: lib/noticelist.php:380
 msgid "From"
-msgstr "de"
+msgstr "De"
 
 # De #-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n
 # Nouveau message\n
 # #-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n
 # à "Supprimer l'avis"
 #: lib/messageform.php:110
-#, fuzzy
 msgid "Send a direct notice"
 msgstr "Envoyer un message direct"
 
 #: lib/noticeform.php:125
-#, fuzzy
 msgid "Send a notice"
-msgstr "Nouveau message"
+msgstr "Envoyer un statut"
 
 #: lib/noticeform.php:152
-#, fuzzy
 msgid "Available characters"
 msgstr "Caractères restants"
 
 #: lib/noticelist.php:426
 msgid "in reply to"
-msgstr "En réponse à"
+msgstr "en réponse à"
 
-#: lib/noticelist.php:447 lib/noticelist.php:450
-#, fuzzy
+#: lib/noticelist.php:447
+#: lib/noticelist.php:450
 msgid "Reply to this notice"
-msgstr "Répondre à ce message"
+msgstr "Répondre à ce statut"
 
 #: lib/noticelist.php:451
-#, fuzzy
 msgid "Reply"
-msgstr "Réponses"
+msgstr "Répondre"
 
 # De #-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n
 # Nouveau message\n
 # #-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n
 # à "Supprimer l'avis"
-#: lib/noticelist.php:471 lib/noticelist.php:474
-#, fuzzy
+#: lib/noticelist.php:471
+#: lib/noticelist.php:474
 msgid "Delete this notice"
-msgstr "Supprimer ce message"
+msgstr "Supprimer ce statut"
 
 # De #-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n
 # Nouveau message\n
 # #-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n
 # à "Supprimer l'avis"
 #: lib/noticelist.php:474
-#, fuzzy
 msgid "Delete"
 msgstr "Supprimer"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
-msgstr ""
+msgstr "Envoyer un clin d'œil à cet utilisateur"
 
 #: lib/nudgeform.php:128
 msgid "Nudge"
-msgstr ""
+msgstr "Clin d'œil"
 
 #: lib/nudgeform.php:128
 msgid "Send a nudge to this user"
-msgstr ""
+msgstr "Envoyer un clin d'œil à cet utilisateur"
 
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "Marquages des statuts de %s"
 
 #: lib/profilelist.php:182
 msgid "(none)"
-msgstr ""
+msgstr "(aucun)"
 
 #: lib/publicgroupnav.php:76
 msgid "Public"
@@ -5020,31 +5803,27 @@ msgstr "Public"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Groupes d'utilisateurs"
 
-#: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
+#: lib/publicgroupnav.php:82
+#: lib/publicgroupnav.php:83
 msgid "Recent tags"
-msgstr "Mots-clés récents"
+msgstr "Marquages récents"
 
 #: lib/publicgroupnav.php:86
 msgid "Featured"
-msgstr ""
+msgstr "En vedette"
 
 #: lib/publicgroupnav.php:90
-#, fuzzy
 msgid "Popular"
 msgstr ""
-"#-#-#-#-#  laconica-no-duplicates.po (0.43)  #-#-#-#-#\n"
-"Rechercher des personnes\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"Populaires"
 
 #: lib/searchgroupnav.php:82
-#, fuzzy
 msgid "Notice"
-msgstr "Messages"
+msgstr "Statut"
 
 #: lib/searchgroupnav.php:85
-#, fuzzy
 msgid "Find groups on this site"
 msgstr "Rechercher des groupes sur ce site"
 
@@ -5053,35 +5832,35 @@ msgid "Untitled section"
 msgstr "Section sans titre"
 
 #: lib/subgroupnav.php:81
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "Inscription distante"
+msgstr "Abonnements de %s"
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Inscription distante"
+msgstr "Abonnés de %s"
 
 #: lib/subgroupnav.php:97
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "Groupes de %s"
 
 #: lib/subgroupnav.php:104
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr "Inviter des amis et collègues à vous rejoindre sur %s"
+msgstr "Inviter des amis et collègues à vous rejoindre dans %s"
 
 #: lib/subs.php:53
 msgid "User has blocked you."
 msgstr "Cet utilisateur vous a bloqué."
 
-#: lib/subscribeform.php:115 lib/subscribeform.php:139
+#: lib/subscribeform.php:115
+#: lib/subscribeform.php:139
 msgid "Subscribe to this user"
-msgstr "Suivre cet utilisateur"
+msgstr "S'abonner à cet utilisateur"
 
 #: lib/tagcloudsection.php:56
-#, fuzzy
 msgid "None"
 msgstr "Aucun"
 
@@ -5089,7 +5868,8 @@ msgstr "Aucun"
 msgid "Top posters"
 msgstr "Utilisateurs les plus actifs"
 
-#: lib/unblockform.php:120 lib/unblockform.php:150
+#: lib/unblockform.php:120
+#: lib/unblockform.php:150
 msgid "Unblock this user"
 msgstr "Débloquer cet utilisateur"
 
@@ -5097,36 +5877,23 @@ msgstr "Débloquer cet utilisateur"
 msgid "Unblock"
 msgstr "Débloquer"
 
-#: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
+#: lib/unsubscribeform.php:113
+#: lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
 msgstr "Ne plus suivre cet utilisateur"
 
-#, fuzzy
-#~ msgid "Delete my account"
-#~ msgstr "Créer un nouveau compte"
-
-#~ msgid "Couldn't confirm email."
-#~ msgstr "Impossible de confirmer l'email"
-
-#~ msgid "Email address"
-#~ msgstr "Adresse email"
-
-#~ msgid "Error inserting notice"
-#~ msgstr "Erreur lors de l'insertion d'un message"
-
 #~ msgid ""
 #~ "It runs the [Laconica](http://laconi.ca/) microblogging software, version "
 #~ "%s, available under the [GNU Affero General Public License] (http://www."
 #~ "fsf.org/licensing/licenses/agpl-3.0.html)."
 #~ msgstr ""
-#~ "Il utilise le logiciel de microblog [Laconica](http://laconi.ca/), "
+#~ "Il utilise le logiciel de micro-blogging [Laconica](http://laconi.ca/), "
 #~ "version %s, disponible sous la licence [GNU Affero General Public "
 #~ "License] (http://www.fsf.org/licensing/licenses/agpl-3.0.html)."
 
-#, fuzzy
 #~ msgid "Unsupported type"
-#~ msgstr "Version OMB non-supportée"
+#~ msgstr "Type non supporté"
 
 #, fuzzy
 #~ msgid "not a supported data format"
-#~ msgstr "Format de fichier d'image non-supporté."
+#~ msgstr "pas un format de données supporté"
index 6114a35bbb188301151476449ded77fd6c029490..797c883056c175ea89aefd86d5d5ad89a0b5e36e 100644 (file)
Binary files a/locale/he_IL/LC_MESSAGES/laconica.mo and b/locale/he_IL/LC_MESSAGES/laconica.mo differ
index ab63dc1242ed290095007fe6ca6cd2f0b70e6fea..3b55012448fca9ffb2a35d313f2c1110865d733c 100644 (file)
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-01-30 12:07+0000\n"
+"Last-Translator: support team <jbrnra@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-#  laconica.pot (PACKAGE VERSION)  #-#-#-#-#\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
@@ -213,7 +211,7 @@ msgstr "לפחות 6 אותיות, אל תשכח!"
 #: ../actions/register.php:154 actions/register.php:168
 #: actions/register.php:373
 msgid "6 or more characters. Required."
-msgstr ""
+msgstr " לפחות 6 אותיות. שדה חובה."
 
 #: ../actions/imsettings.php:197 actions/imsettings.php:205
 #, php-format
index 6fe09461f1338d751078406a25638d3137676532..d52a722849ee9a217887d4e0bfbc103ef0e79c0c 100644 (file)
Binary files a/locale/it_IT/LC_MESSAGES/laconica.mo and b/locale/it_IT/LC_MESSAGES/laconica.mo differ
index aafb45767682f6213eb7acea2867a2a7e99064b2..86ab6b255fb6806ecadace6210a342377f03c1ba 100644 (file)
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: laconica\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-27 13:38+0000\n"
+"PO-Revision-Date: 2009-02-18 12:57+0000\n"
 "Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
 "MIME-Version: 1.0\n"
@@ -3574,7 +3574,6 @@ msgstr "Modifica il gruppo %s"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
-#, fuzzy
 msgid "Inboxes must be enabled for groups to work"
 msgstr "La casella della posta in arrivo deve essere abilitata per funzionare"
 
@@ -3665,7 +3664,6 @@ msgid "Allow %s to update my Facebook status"
 msgstr "Consenti a %s di aggiornare il mio stato su Facebook"
 
 #: actions/facebookhome.php:218
-#, fuzzy
 msgid "Skip"
 msgstr "Salta"
 
@@ -3674,7 +3672,6 @@ msgid "No notice content!"
 msgstr "Nessun contenuto!"
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
-#, fuzzy
 msgid "Pagination"
 msgstr "Paginazione"
 
@@ -3692,12 +3689,11 @@ msgid "Thanks for inviting your friends to use %s"
 msgstr "Grazie per aver invitato i tuoi amici a usare %s"
 
 #: actions/facebookinvite.php:72
-#, fuzzy
 msgid "Invitations have been sent to the following users:"
 msgstr "Gli inviti sono stati inviati ai seguenti utenti:"
 
 #: actions/facebookinvite.php:96
-#, fuzzy, php-format
+#, php-format
 msgid "You have been invited to %s"
 msgstr "Hai un invito per %s"
 
@@ -3713,7 +3709,6 @@ msgstr "Amici che già usano %s:"
 
 #: actions/facebookinvite.php:130
 #, php-format
-#, fuzzy
 msgid "Send invitations"
 msgstr "Invia"
 
@@ -3722,12 +3717,11 @@ msgid "Couldn't remove Facebook user."
 msgstr "Impossibile rimuovere l'utente Facebook."
 
 #: actions/facebooksettings.php:65
-#, fuzzy
 msgid "There was a problem saving your sync preferences!"
-msgstr "C'è stato un problema nel salvare le preferenze di sincronizzazione."
+msgstr ""
+"Si è verificato un problema nel salvare le preferenze di sincronizzazione."
 
 #: actions/facebooksettings.php:67
-#, fuzzy
 msgid "Sync preferences saved."
 msgstr "Preferenze di sincronizzazione salvate."
 
@@ -3744,7 +3738,6 @@ msgid "Prefix"
 msgstr "Prefisso"
 
 #: actions/facebooksettings.php:108
-#, fuzzy
 msgid "A string to prefix notices with."
 msgstr "Una stringa con cui iniziare i messaggi."
 
@@ -3755,7 +3748,6 @@ msgid "If you would like %s to automatically update "
 msgstr "Se vuoi che %s aggiorni automaticamente "
 
 #: actions/facebooksettings.php:147
-#, fuzzy
 msgid "Sync preferences"
 msgstr "Preferenze di sincronizzazione"
 
@@ -3792,7 +3784,6 @@ msgstr "Utenti in evidenza, pagina %d"
 
 #: actions/featured.php:99
 #, php-format
-#, fuzzy
 msgid "A selection of some of the great users on %s"
 msgstr "Una selezione dei migliori utenti su %s"
 
@@ -3855,7 +3846,7 @@ msgid "Create a new group"
 msgstr "Crea un nuovo gruppo"
 
 #: actions/groupsearch.php:57
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
 msgstr "Ricerca gruppi su %%site.name%% per nome, ubicazione o descrizione. "
@@ -3903,7 +3894,6 @@ msgid "%s joined group %s"
 msgstr "%s si è iscritto al gruppo %s"
 
 #: actions/leavegroup.php:60
-#, fuzzy
 msgid "Inboxes must be enabled for groups to work."
 msgstr ""
 "Le caselle di posta in arrivo devono essere abilitate per i gruppi per poter "
@@ -3926,7 +3916,6 @@ msgid "You may not leave a group while you are its administrator."
 msgstr "Non puoi lasciare un gruppo fintantoché ne sei amministratore."
 
 #: actions/leavegroup.php:130
-#, fuzzy
 msgid "Could not find membership record."
 msgstr "Impossibile trovare il record della membership."
 
@@ -3941,7 +3930,6 @@ msgid "%s left group %s"
 msgstr "%s ha lasciato il gruppo %s"
 
 #: actions/login.php:225 lib/facebookaction.php:304
-#, fuzzy
 msgid "Login to site"
 msgstr "Accedi al sito"
 
@@ -3962,7 +3950,6 @@ msgid "Could not create group."
 msgstr "Impossibile creare il gruppo."
 
 #: actions/newgroup.php:191
-#, fuzzy
 msgid "Could not set group membership."
 msgstr "Impossibile impostare la membership al gruppo."
 
@@ -4038,7 +4025,6 @@ msgid "Change your password."
 msgstr "Modifica la tua password."
 
 #: actions/passwordsettings.php:89
-#, fuzzy
 msgid "Password change"
 msgstr "Cambio password"
 
@@ -4058,7 +4044,6 @@ msgid "These are users who have tagged themselves \"%s\" "
 msgstr "Questi sono gli utenti che si sono etichettati con \"%s\" "
 
 #: actions/profilesettings.php:91
-#, fuzzy
 msgid "Profile information"
 msgstr "Informazioni sul profilo"
 
@@ -4102,9 +4087,8 @@ msgstr ""
 "blog](http://it.wikipedia.org/wiki/Microblogging) "
 
 #: actions/publictagcloud.php:57
-#, fuzzy
 msgid "Public tag cloud"
-msgstr "Cloud delle etichette"
+msgstr "Insieme delle etichette"
 
 #: actions/publictagcloud.php:63
 #, php-format
@@ -4113,9 +4097,8 @@ msgid "These are most popular recent tags on %s "
 msgstr "Queste sono le etichette più usate e recenti su %s "
 
 #: actions/publictagcloud.php:119
-#, fuzzy
 msgid "Tag cloud"
-msgstr "Cloud etichette"
+msgstr "Insieme etichette"
 
 #: actions/register.php:139 actions/register.php:349
 msgid "Sorry, only invited people can register."
@@ -4208,12 +4191,10 @@ msgstr "URL"
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
-#, fuzzy
 msgid "Note"
-msgstr "Note"
+msgstr "Nota"
 
 #: actions/showgroup.php:270
-#, fuzzy
 msgid "Group actions"
 msgstr "Azioni dei gruppi"
 
@@ -4266,12 +4247,10 @@ msgid "User profile"
 msgstr "Profilo utente"
 
 #: actions/showstream.php:240 actions/tagother.php:81
-#, fuzzy
 msgid "Photo"
 msgstr "Fotografia"
 
 #: actions/showstream.php:317
-#, fuzzy
 msgid "User actions"
 msgstr "Azioni utente"
 
@@ -4402,7 +4381,6 @@ msgid "Tag %s"
 msgstr "Etichetta %s"
 
 #: actions/tagother.php:141
-#, fuzzy
 msgid "Tag user"
 msgstr "Etichette utente"
 
@@ -4594,12 +4572,10 @@ msgid "Site notice"
 msgstr "Messaggio del sito"
 
 #: lib/action.php:417
-#, fuzzy
 msgid "Local views"
 msgstr "Viste locali"
 
 #: lib/action.php:472
-#, fuzzy
 msgid "Page notice"
 msgstr "Pagina messaggio"
 
@@ -4653,9 +4629,8 @@ msgid "Favor this notice"
 msgstr "Rendi questo messaggio un favorito"
 
 #: lib/feedlist.php:64
-#, fuzzy
 msgid "Export data"
-msgstr "Esporta dai"
+msgstr "Esporta dati"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
@@ -4742,7 +4717,6 @@ msgid "Join"
 msgstr "Iscriviti"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
 msgstr "Lascia"
 
@@ -4802,7 +4776,7 @@ msgid "%1$s (%2$s) is wondering what you are up to "
 msgstr "%1$s (%2$s) si chiede cosa tu "
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
 msgstr "%1$s ha appena aggiunto il tuo messaggio da %2$s"
 
index a507ed8e31c5a08296e8db5ee1b03537a6c1710a..6040e6006bac7d2b082e6f58c219b5af319a9f3c 100644 (file)
Binary files a/locale/ko_KR/LC_MESSAGES/laconica.mo and b/locale/ko_KR/LC_MESSAGES/laconica.mo differ
index 5898a6ca8f468c1cb3372cf0b16eced9ee74b901..5d71b47734378bf578b2c51f42f01be233cb1567 100644 (file)
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-27 17:45+0000\n"
-"Last-Translator: JaeHo Choi <sayhi2choi@gmail.com>\n"
+"PO-Revision-Date: 2009-03-12 16:17+0000\n"
+"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -20,30 +20,30 @@ msgstr ""
 #: actions/noticesearchrss.php:88
 #, php-format
 msgid " Search Stream for \"%s\""
-msgstr "\"%s\" 의 스트림을 검색"
+msgstr "스트림에서 \"%s\" 검색"
 
 #: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
 #: actions/finishopenidlogin.php:88 actions/register.php:205
 #: actions/finishopenidlogin.php:110
 msgid ""
 " except this private data: password, email address, IM address, phone number."
-msgstr "개인정보를 제외한: 패스워드, 메일 주소, IM주소, 전화 번호"
+msgstr "다음 개인정보 제외: 비밀 번호, 메일 주소, 메신저 주소, 전화 번호"
 
 #: ../actions/showstream.php:400 ../lib/stream.php:109
 #: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
 msgid " from "
-msgstr "형식"
+msgstr "다음에서:"
 
 #: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
 #: actions/twitapistatuses.php:347
 #, php-format
 msgid "%1$s / Updates replying to %2$s"
-msgstr "%1$s /  %2$s 로 업데이트 답신"
+msgstr "%1$s / %2$s에게 답신 업데이트"
 
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr "%1$s 가 %2$s 으로 당신을 초대 하였습니다."
+msgstr "%1$s님이 귀하를 %2$s에 초대하였습니다."
 
 #: ../actions/invite.php:170
 #, php-format
@@ -75,33 +75,31 @@ msgid ""
 "\n"
 "Sincerely, %2$s\n"
 msgstr ""
-"%1$s 가 %2$s (%3$s) 으로 당신을 초대 하였습니다.\n"
+"%1$s님이 귀하를 %2$s(%3$s)에 초대하였습니다.\n"
 "\n"
-"%2$s 는 귀하가 친구 또는 같은 관심사를 가진 사람들과 최신의 소식을 주고 받을 수 있게 해주는 마이크로블로깅 서비스 입니다.\n"
+"%2$s 서비스는 여러분의 친구 또는 같은 관심사를 가진 사람들의 최신 소식을 읽을 수 있는 마이크로블로깅 서비스 입니다.\n"
 "\n"
-"귀하는 또한 자신과 관련된 소식, 생각 또는 온라인 라이프를 친구들과 나눌수 있습니다. 또한 같은 관심사를 지닌 새로운 사람들을 만날 수 "
-"있는 좋은 장소 입니다.\n"
-"\n"
-"%4$s 라고\n"
-"\n"
-"%1$s 님께서 말씀하셨습니다:\n"
+"자기 자신이나, 생각, 생활에 대한 소식도 다른 사람에게 알릴 수 있습니다. 또 같은 관심사를 지닌 새로운 사람들을 만날 수 있는 좋은 "
+"장소입니다.\n"
+"%1$s님이 말하기를:\n"
+"%4$s\n"
 "\n"
-"%1$s 의 프로필을 %2$s 에서 보실 수 있습니다:\n"
+"%1$s님의 %2$s 프로필을 보실 수 있습니다:\n"
 "\n"
 "%5$s\n"
 "\n"
-"만일 이 서비스를 이용 하시겠다면 밑의 링크를 클릭 하셔서 초대에 응하십시오.\n"
+"이 서비스를 이용하시려면 밑의 링크를 눌러 초대에 응하십시오.\n"
 "\n"
 "%6$s\n"
 "\n"
-"만일 아니라면 이 메시지를 무시 하실 수 있습니다. 여기까지 읽어 주셔서 감사합니다.\n"
+"아니면 이 메세지를 무시하시면 됩니다. 여기까지 읽어 주셔서 감사합니다.\n"
 "\n"
-"%2$s 올림.\n"
+"%2$s 보냄\n"
 
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s 는 %2$s 로 당신의 통지를 묻고 있습니다."
+msgstr "%1$s님이 귀하의 알림 메시지를 %2$s에서 듣고 있습니다."
 
 #: ../lib/mail.php:126
 #, php-format
@@ -113,23 +111,22 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s.\n"
 msgstr ""
-"%1$s 는 %2$s 로 당신의 통지를 묻고 있습니다.\n"
-"\n"
+"%1$s님이 귀하의 알림 메시지를 %2$s에서 듣고 있습니다.\n"
 "\t%3$s\n"
 "\n"
-"%4$s.\n"
+"그럼 이만,%4$s.\n"
 
 #: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
 #: actions/twitapistatuses.php:350
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
-msgstr "%1$s 는 %2$s / %3$s 로 부터 온 귀하의 통지를 답변하셨습니다."
+msgstr "%1$s님이 %2$s/%3$s의 업데이트에 답변했습니다."
 
 #: ../actions/shownotice.php:45 actions/shownotice.php:45
 #: actions/shownotice.php:161
 #, php-format
 msgid "%1$s's status on %2$s"
-msgstr "%1$ 의 상태 %2$s"
+msgstr "%1$s의 상태 (%2$s에서)"
 
 #: ../actions/invite.php:84 ../actions/invite.php:92 actions/invite.php:91
 #: actions/invite.php:99 actions/invite.php:123 actions/invite.php:131
@@ -150,13 +147,13 @@ msgstr "%s 퍼블릭 스트림"
 #: actions/twitapistatuses.php:126 lib/personalgroupnav.php:99
 #, php-format
 msgid "%s and friends"
-msgstr "%s  친구들"
+msgstr "%s  친구들"
 
 #: ../actions/twitapistatuses.php:49 actions/twitapistatuses.php:49
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr "%s 퍼블릭 타임라인"
+msgstr "%s 공개 타임라인"
 
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
@@ -173,7 +170,7 @@ msgstr "%s 타임라인"
 #: actions/twitapistatuses.php:36
 #, php-format
 msgid "%s updates from everyone!"
-msgstr "%s 모두로부터의 업데이트!"
+msgstr "모두로부터의 업데이트 %s개!"
 
 #: ../actions/register.php:213
 msgid ""
@@ -218,7 +215,7 @@ msgstr "6글자 이상"
 #: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
 #: actions/recoverpassword.php:220
 msgid "6 or more characters, and don't forget it!"
-msgstr "6ê¸\80ì\9e\90 ì\9d´ì\83\81, ì\9e\8aì§\80ë§\90ê²\83!!"
+msgstr "6ê¸\80ì\9e\90 ì\9d´ì\83\81, ì\9e\8aì\96´ ë²\84리ì§\80 ë§\88ì\8b­ì\8b\9cì\98¤!"
 
 #: ../actions/register.php:154 actions/register.php:168
 #: actions/register.php:373
@@ -230,19 +227,19 @@ msgstr "6글자 이상이 필요합니다."
 msgid ""
 "A confirmation code was sent to the IM address you added. You must approve %"
 "s for sending messages to you."
-msgstr "ì\9d¸ì¦\9d ì½\94ë\93\9cê°\80 ì¶\94ê°\80í\95\98ì\8b  ë©\94ì\8b ì \80 ì£¼ì\86\8cë¡\9c ë³´ë\82´ì¡\8cì\8aµë\8b\88ë\8b¤. %s ë¥¼ í\99\95ì\9d¸í\95´ ì£¼ì\85\94ì\95¼ ë©\94ì\8b\9cì§\80ê°\80 ì \84ë\8b¬ë\90©니다."
+msgstr "ì\94ê°\80í\95\9c ë©\94ì\8b ì \80 ì£¼ì\86\8cë¡\9c ì\9d¸ì¦\9d ì½\94ë\93\9c를 ë³´ë\83\88ì\8aµë\8b\88ë\8b¤. %s ì\82¬ì\9a©ì\9e\90를 í\97\88ë\9d½í\95´ì\95¼ ë©\94ì\8b\9cì§\80를 ì \84ë\8b¬í\95  ì\88\98 ì\9e\88ì\8aµ니다."
 
 #: ../actions/emailsettings.php:213 actions/emailsettings.php:231
 msgid ""
 "A confirmation code was sent to the email address you added. Check your "
 "inbox (and spam box!) for the code and instructions on how to use it."
-msgstr "ì\9d¸ì¦\9d ì½\94ë\93\9cê°\80 ì¶\94ê°\80í\95\98ì\8b  ì\9d´ë©\94ì\9d¼ë¡\9c ë³´ë\82´ì¡\8c습니다. 수신함(또는 스팸함)을 확인하셔서 코드와 사용법을 확인하여 주시기 바랍니다."
+msgstr "ì\94ê°\80í\95\9c ì\9d´ë©\94ì\9d¼ë¡\9c ì\9d¸ì¦\9d ì½\94ë\93\9c를 ë³´ë\83\88습니다. 수신함(또는 스팸함)을 확인하셔서 코드와 사용법을 확인하여 주시기 바랍니다."
 
 #: ../actions/smssettings.php:216 actions/smssettings.php:224
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your inbox "
 "(and spam box!) for the code and instructions on how to use it."
-msgstr "ì\9d¸ì¦\9d ì½\94ë\93\9cê°\80 ì¶\94ê°\80í\95\98ì\8b  í\9c´ë\8c\80í\8f°ì\9c¼ë¡\9c ë³´ë\82´ì¡\8c습니다. 수신함(또는 스팸함)을 확인하셔서 코드와 사용법을 확인하여 주시기 바랍니다."
+msgstr "ì\94ê°\80í\95\9c í\9c´ë\8c\80í\8f°ì\9c¼ë¡\9c ì\9d¸ì¦\9d ì½\94ë\93\9c를 ë³´ë\83\88습니다. 수신함(또는 스팸함)을 확인하셔서 코드와 사용법을 확인하여 주시기 바랍니다."
 
 #: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
 #: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@@ -291,12 +288,12 @@ msgstr "API 메서드를 구성중 입니다."
 
 #: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
 msgid "About"
-msgstr "About"
+msgstr "정보"
 
 #: ../actions/userauthorization.php:119 actions/userauthorization.php:126
 #: actions/userauthorization.php:143
 msgid "Accept"
-msgstr "ì\9d¸ì¦\9d"
+msgstr "ì\88\98ë\9d½"
 
 #: ../actions/emailsettings.php:62 ../actions/imsettings.php:63
 #: ../actions/openidsettings.php:57 ../actions/smssettings.php:71
@@ -578,7 +575,7 @@ msgstr "따라가실 수 없습니다 : %s 님은 이미 리스트에 있습니
 #: ../actions/twitapifriendships.php:53 actions/twitapifriendships.php:53
 #: actions/twitapifriendships.php:41
 msgid "Could not follow user: User not found."
-msgstr "ë\94°ë\9d¼ê°\80ì\8b¤ ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤ : ì\9c ì \80ê°\80 ì¡´ì\9e¬ í\95\98ì§\80 ì\95\8a습니다."
+msgstr "ë\94°ë\9d¼ê°\80ì\8b¤ ì\88\98 ì\97\86ì\8aµë\8b\88ë\8b¤ : ì\82¬ì\9a©ì\9e\90ê°\80 ì\97\86습니다."
 
 #: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
 #, php-format
@@ -606,7 +603,7 @@ msgstr "구독 하실 수 없습니다."
 #: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
 msgid "Could not update user with confirmed email address."
-msgstr "ì\9d´ ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8cë¡\9c ì\9c ì \80를 업데이트 할 수 없습니다."
+msgstr "ì\9d´ ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8cë¡\9c ì\82¬ì\9a©ì\9e\90를 업데이트 할 수 없습니다."
 
 #: ../actions/finishremotesubscribe.php:99
 #: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
@@ -658,13 +655,13 @@ msgstr "프로필을 저장 할 수 없습니다."
 #: ../actions/profilesettings.php:161 actions/profilesettings.php:276
 #: actions/profilesettings.php:279
 msgid "Couldn't update user for autosubscribe."
-msgstr "ì\9e\90ë\8f\99구ë\8f\85ì\97\90 ì\9c ì \80를 업데이트 할 수 없습니다."
+msgstr "ì\9e\90ë\8f\99구ë\8f\85ì\97\90 ì\82¬ì\9a©ì\9e\90를 업데이트 할 수 없습니다."
 
 #: ../actions/emailsettings.php:280 ../actions/emailsettings.php:294
 #: actions/emailsettings.php:298 actions/emailsettings.php:312
 #: actions/emailsettings.php:440 actions/emailsettings.php:462
 msgid "Couldn't update user record."
-msgstr "ì\9c ì \80 기록을 업데이트 할 수 없습니다."
+msgstr "ì\82¬ì\9a©ì\9e\90 기록을 업데이트 할 수 없습니다."
 
 #: ../actions/confirmaddress.php:72 ../actions/emailsettings.php:156
 #: ../actions/emailsettings.php:259 ../actions/imsettings.php:138
@@ -680,7 +677,7 @@ msgstr "유저 기록을 업데이트 할 수 없습니다."
 #: actions/profilesettings.php:259 actions/smssettings.php:266
 #: actions/smssettings.php:408
 msgid "Couldn't update user."
-msgstr "ì\9c ì \80를 업데이트 할 수 없습니다."
+msgstr "ì\82¬ì\9a©ì\9e\90를 업데이트 할 수 없습니다."
 
 #: ../actions/finishopenidlogin.php:84 actions/finishopenidlogin.php:90
 #: actions/finishopenidlogin.php:112
@@ -690,7 +687,7 @@ msgstr "생성"
 #: ../actions/finishopenidlogin.php:70 actions/finishopenidlogin.php:76
 #: actions/finishopenidlogin.php:98
 msgid "Create a new user with this nickname."
-msgstr "ì\9d´ ë\8b\89ë\84¤ì\9e\84ì\9c¼ë¡\9c ì\83\88 ì\9c ì \80를 생성"
+msgstr "ì\9d´ ë\8b\89ë\84¤ì\9e\84ì\9c¼ë¡\9c ì\83\88 ì\82¬ì\9a©ì\9e\90를 생성"
 
 #: ../actions/finishopenidlogin.php:68 actions/finishopenidlogin.php:74
 #: actions/finishopenidlogin.php:96
@@ -700,7 +697,7 @@ msgstr "새 계정을 생성"
 #: ../actions/finishopenidlogin.php:191 actions/finishopenidlogin.php:197
 #: actions/finishopenidlogin.php:231
 msgid "Creating new account for OpenID that already has a user."
-msgstr "ì\9d´ë¯¸ ì\9c ì \80가 있는 OpenID로 새 계정을 생성"
+msgstr "ì\9d´ë¯¸ ì\82¬ì\9a©ì\9e\90가 있는 OpenID로 새 계정을 생성"
 
 #: ../actions/imsettings.php:45 actions/imsettings.php:46
 #: actions/imsettings.php:100
@@ -799,7 +796,7 @@ msgstr "OpenID로 접속 오류"
 #: ../actions/finishaddopenid.php:78 actions/finishaddopenid.php:78
 #: actions/finishaddopenid.php:126
 msgid "Error connecting user."
-msgstr "ì\9c ì \80의 접속 오류"
+msgstr "ì\82¬ì\9a©ì\9e\90의 접속 오류"
 
 #: ../actions/finishremotesubscribe.php:151
 #: actions/finishremotesubscribe.php:153 actions/finishremotesubscribe.php:166
@@ -832,12 +829,12 @@ msgstr "프로필 저장 오류"
 
 #: ../lib/openid.php:237 lib/openid.php:237 lib/openid.php:246
 msgid "Error saving the user."
-msgstr "ì\9c ì \80 저장 오류"
+msgstr "ì\82¬ì\9a©ì\9e\90 저장 오류"
 
 #: ../actions/password.php:80 actions/profilesettings.php:399
 #: actions/passwordsettings.php:164
 msgid "Error saving user; invalid."
-msgstr "ì\9c ì \80 ì \80ì\9e¥ ì\98¤ë¥\98; ë¬´í\9a¨í\95\9c ì\9c ì \80"
+msgstr "ì\82¬ì\9a©ì\9e\90 ì \80ì\9e¥ ì\98¤ë¥\98; ë¬´í\9a¨í\95\9c ì\82¬ì\9a©ì\9e\90"
 
 #: ../actions/login.php:47 ../actions/login.php:73
 #: ../actions/recoverpassword.php:307 ../actions/register.php:98
@@ -845,7 +842,7 @@ msgstr "유저 저장 오류; 무효한 유저"
 #: actions/register.php:108 actions/login.php:112 actions/login.php:138
 #: actions/recoverpassword.php:354 actions/register.php:198
 msgid "Error setting user."
-msgstr "ì\9c ì \80 세팅 오류"
+msgstr "ì\82¬ì\9a©ì\9e\90 세팅 오류"
 
 #: ../actions/finishaddopenid.php:83 actions/finishaddopenid.php:83
 #: actions/finishaddopenid.php:131
@@ -908,7 +905,7 @@ msgstr "이 사이트에 있는 사람 찾기"
 msgid ""
 "For security reasons, please re-enter your user name and password before "
 "changing your settings."
-msgstr "보안을 위해 세팅을 저장하기 전에 계정과 패스워드를 재입력 해주세요."
+msgstr "보안을 위해 세팅을 저장하기 전에 계정과 비밀 번호를 다시 입력 해 주세요."
 
 #: ../actions/profilesettings.php:44 ../actions/register.php:164
 #: actions/profilesettings.php:77 actions/register.php:178
@@ -975,7 +972,7 @@ msgstr "메신저 설정"
 msgid ""
 "If you already have an account, login with your username and password to "
 "connect it to your OpenID."
-msgstr "만일 계정을 이미 가지고 계신다면, 계정과 패스워드로 OpenID로 접속하기 위하여 입력해주세요."
+msgstr "만일 계정을 이미 가지고 계신다면, 계정과 비밀 번호로 OpenID로 접속하기 위하여 입력해 주세요."
 
 #: ../actions/openidsettings.php:45
 msgid ""
@@ -987,7 +984,7 @@ msgstr "만일 새 OpenID를 추가하실려면, 밑의 박스에 입력하신 
 msgid ""
 "If you've forgotten or lost your password, you can get a new one sent to the "
 "email address you have stored  in your account."
-msgstr "만일 패스워드를 잊으셨다면 가입하신 이메일로 새 패스워드를 보내드립니다."
+msgstr "만일 비밀 번호를 잊으셨다면 가입하신 이메일로 새 비밀 번호를 보내드립니다."
 
 #: ../actions/emailsettings.php:67 ../actions/smssettings.php:76
 #: actions/emailsettings.php:68 actions/smssettings.php:76
@@ -1003,18 +1000,18 @@ msgstr "받은 이메일 계정 삭제"
 #: ../actions/password.php:69 actions/profilesettings.php:388
 #: actions/passwordsettings.php:153
 msgid "Incorrect old password"
-msgstr "틀린 패스워드"
+msgstr "기존 비밀 번호가 틀렸습니다"
 
 #: ../actions/login.php:67 actions/login.php:67 actions/facebookhome.php:131
 #: actions/login.php:132
 msgid "Incorrect username or password."
-msgstr "틀린 계정 또는 패스워드"
+msgstr "틀린 계정 또는 비밀 번호"
 
 #: ../actions/recoverpassword.php:265
 msgid ""
 "Instructions for recovering your password have been sent to the email "
 "address registered to your account."
-msgstr "가입하신 이메일로 패스워드 재발급에 관한 지시가 보내졌습니다."
+msgstr "가입하신 이메일로 비밀 번호 재발급에 관한 안내를 보냈습니다."
 
 #: ../actions/updateprofile.php:114 actions/updateprofile.php:115
 #: actions/updateprofile.php:118
@@ -1037,7 +1034,7 @@ msgstr "옳지 않은 홈페이지 '%s'"
 #: actions/updateprofile.php:86
 #, php-format
 msgid "Invalid license URL '%s'"
-msgstr "ì\98³ì§\80 ì\95\8aì\9d\80 ë\9d¼ì\9d´ì\84¼스 URL '%s'"
+msgstr "ì\98³ì§\80 ì\95\8aì\9d\80 ë\9d¼ì\9d´ì\84 스 URL '%s'"
 
 #: ../actions/postnotice.php:61 actions/postnotice.php:62
 #: actions/postnotice.php:66
@@ -1081,7 +1078,7 @@ msgstr "옳지 않은 크기"
 #: actions/finishopenidlogin.php:279 actions/register.php:193
 #: actions/register.php:211
 msgid "Invalid username or password."
-msgstr "ì\98³ì§\80 ì\95\8aì\9d\80 ê³\84ì \95 ë\98\90ë\8a\94 í\8c¨ì\8a¤ì\9b\8cë\93\9c"
+msgstr "ì\82¬ì\9a©ì\9e\90 ì\9d´ë¦\84ì\9d´ë\82\98 ë¹\84ë°\80 ë²\88í\98¸ê°\80 í\8b\80ë ¸ì\8aµë\8b\88ë\8b¤."
 
 #: ../actions/invite.php:79 actions/invite.php:86 actions/invite.php:102
 msgid "Invitation(s) sent"
@@ -1098,7 +1095,7 @@ msgstr "초대"
 
 #: ../actions/invite.php:123 actions/invite.php:130 actions/invite.php:104
 msgid "Invite new users"
-msgstr "ì\83\88 ì\9c ì \80들을 초대"
+msgstr "ì\83\88 ì\82¬ì\9a©ì\9e\90들을 초대"
 
 #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609
 #, php-format
@@ -1107,14 +1104,14 @@ msgid ""
 "s, available under the [GNU Affero General Public License](http://www.fsf."
 "org/licensing/licenses/agpl-3.0.html)."
 msgstr ""
-" [Laconica](http://laconi.ca/) ì\97\90 ì\9d\98í\95\98ì\97¬ ì \9cê³µë\90\98ë\8a\94 ë§\88ì\9d´í\81¬ë¡\9cë¸\94ë¡\9cê¹\85 ì\86\8cí\94\84í\8a¸ì\9b¨ì\96´, ë²\84ì \84 %s, ë\8b¤ì\9d\8cì\9d\98 ë\9d¼ì\9d´ì\84¼스 "
+" [Laconica](http://laconi.ca/) ì\97\90 ì\9d\98í\95\98ì\97¬ ì \9cê³µë\90\98ë\8a\94 ë§\88ì\9d´í\81¬ë¡\9cë¸\94ë¡\9cê¹\85 ì\86\8cí\94\84í\8a¸ì\9b¨ì\96´, ë²\84ì \84 %s, ë\8b¤ì\9d\8cì\9d\98 ë\9d¼ì\9d´ì\84 스 "
 "[GNU Affero General Public "
 "License](http://www.fsf.org/licensing/licenses/agpl-3.0.html) 를 가지고 있습니다."
 
 #: ../actions/imsettings.php:173 actions/imsettings.php:181
 #: actions/imsettings.php:296
 msgid "Jabber ID already belongs to another user."
-msgstr "Jabber IDê°\80 ì\9d´ë¯¸ ë\8b¤ë¥¸ ì\9c ì \80에 의하여 사용되고 있습니다."
+msgstr "Jabber IDê°\80 ì\9d´ë¯¸ ë\8b¤ë¥¸ ì\82¬ì\9a©ì\9e\90에 의하여 사용되고 있습니다."
 
 #: ../actions/imsettings.php:62 actions/imsettings.php:63
 #, php-format
@@ -1176,7 +1173,7 @@ msgid ""
 "(%%action.register%%) a new account, or try [OpenID](%%action.openidlogin%"
 "%). "
 msgstr ""
-"귀하의 계정과 패스워드로 로그인 하세요. 계정이 아직 없으세요? [가입](%%action.register%%) 새 계정을 생성 또는 "
+"귀하의 계정과 비밀 번호로 로그인 하세요. 계정이 아직 없으세요? [가입](%%action.register%%) 새 계정을 생성 또는 "
 "[OpenID](%%action.openidlogin%%) 를 사용해 보세요."
 
 #: ../lib/util.php:308 lib/util.php:324 lib/action.php:332
@@ -1191,7 +1188,7 @@ msgstr "더욱 긴 이름을 요구합니다."
 #: ../actions/login.php:110 actions/login.php:110 actions/login.php:245
 #: lib/facebookaction.php:320
 msgid "Lost or forgotten password?"
-msgstr "패스워드를 잃으셨나요?"
+msgstr "비밀 번호를 잃으셨나요?"
 
 #: ../actions/emailsettings.php:80 ../actions/smssettings.php:89
 #: actions/emailsettings.php:81 actions/smssettings.php:89
@@ -1225,7 +1222,7 @@ msgstr "귀하의 휴대폰의 통신회사는 무엇입니까?"
 #: actions/finishopenidlogin.php:85 actions/register.php:202
 #: actions/finishopenidlogin.php:107 actions/register.php:429
 msgid "My text and files are available under "
-msgstr "ë\82\98ì\9d\98 ê¸\80ë\93¤ê³¼ í\8c\8cì\9d¼ë\93¤ì\9d\80 ë\8b¤ì\9d\8cì\9d\98 ë\9d¼ì\9d´ì\84¼스를 가지고 있습니다."
+msgstr "ë\82\98ì\9d\98 ê¸\80ë\93¤ê³¼ í\8c\8cì\9d¼ë\93¤ì\9d\80 ë\8b¤ì\9d\8cì\9d\98 ë\9d¼ì\9d´ì\84 스를 가지고 있습니다."
 
 #: ../actions/emailsettings.php:82 ../actions/smssettings.php:91
 #: actions/emailsettings.php:83 actions/smssettings.php:91
@@ -1257,11 +1254,11 @@ msgstr "새로운 통지"
 #: actions/profilesettings.php:180 actions/recoverpassword.php:185
 #: actions/passwordsettings.php:101 actions/recoverpassword.php:219
 msgid "New password"
-msgstr "새로운 패스워드"
+msgstr "새로운 비밀 번호"
 
 #: ../actions/recoverpassword.php:314
 msgid "New password successfully saved. You are now logged in."
-msgstr "새로운 í\8c¨ì\8a¤ì\9b\8cë\93\9cê°\80 ì\84±ê³µì \81ì\9c¼ë¡\9c ì \80ì\9e¥ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤. ê·\80í\95\98ë\8a\94 ì\9d´ì \9c ë¡\9cê·¸ì\9d¸ ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤."
+msgstr "새로운 ë¹\84ë°\80 ë²\88í\98¸ë¥¼ ì\84±ê³µì \81ì\9c¼ë¡\9c ì \80ì\9e¥í\96\88ì\8aµë\8b\88ë\8b¤. ê·\80í\95\98ë\8a\94 ì\9d´ì \9c ë¡\9cê·¸ì\9d¸ ë\90\98ì\97\88ì\8aµë\8b\88ë\8b¤."
 
 #: ../actions/login.php:101 ../actions/profilesettings.php:41
 #: ../actions/register.php:151 actions/login.php:101
@@ -1299,7 +1296,7 @@ msgstr "별명 사용이 불가 합니다."
 #: ../actions/remotesubscribe.php:72 actions/remotesubscribe.php:81
 #: actions/remotesubscribe.php:106
 msgid "Nickname of the user you want to follow"
-msgstr "ë\94°ë\9d¼ê°\80ê³  ì\8b¶ì\9d\80 ì\9c ì \80의 별명"
+msgstr "ë\94°ë\9d¼ê°\80ê³  ì\8b¶ì\9d\80 ì\82¬ì\9a©ì\9e\90의 별명"
 
 #: ../actions/recoverpassword.php:162 actions/recoverpassword.php:167
 #: actions/recoverpassword.php:186
@@ -1359,7 +1356,7 @@ msgstr "이메일 주소가 없습니다."
 #: ../actions/finishremotesubscribe.php:65
 #: actions/finishremotesubscribe.php:67 actions/finishremotesubscribe.php:68
 msgid "No nickname provided by remote server."
-msgstr "리모í\8a¸ ì\9c ì \80의 별명이 없습니다."
+msgstr "리모í\8a¸ ì\82¬ì\9a©ì\9e\90의 별명이 없습니다."
 
 #: ../actions/avatarbynickname.php:27 actions/avatarbynickname.php:27
 #: actions/avatarbynickname.php:59 actions/leavegroup.php:81
@@ -1387,7 +1384,7 @@ msgstr "서버로부터 제공되는 프로필 URL가 없습니다."
 #: ../actions/recoverpassword.php:226 actions/recoverpassword.php:232
 #: actions/recoverpassword.php:266
 msgid "No registered email address for that user."
-msgstr "ê·¸ ì\9c ì \80는 등록된 메일주소가 없습니다."
+msgstr "ê·¸ ì\82¬ì\9a©ì\9e\90는 등록된 메일주소가 없습니다."
 
 #: ../actions/userauthorization.php:49 actions/userauthorization.php:55
 #: actions/userauthorization.php:57
@@ -1436,7 +1433,7 @@ msgstr "그러한 통지는 없습니다."
 #: ../actions/recoverpassword.php:56 actions/recoverpassword.php:56
 #: actions/recoverpassword.php:62
 msgid "No such recovery code."
-msgstr "그러한 회복 코드는 없습니다."
+msgstr "그러한 복구 코드는 없습니다."
 
 #: ../actions/postnotice.php:56 actions/postnotice.php:57
 #: actions/postnotice.php:60
@@ -1469,26 +1466,26 @@ msgstr "그러한 예약 구독은 없습니다."
 #: classes/Command.php:271 lib/galleryaction.php:60 lib/mailbox.php:82
 #: lib/subs.php:34 lib/subs.php:109
 msgid "No such user."
-msgstr "ê·¸ë\9f¬í\95\9c ì\9c ì \80는 없습니다."
+msgstr "ê·¸ë\9f¬í\95\9c ì\82¬ì\9a©ì\9e\90는 없습니다."
 
 #: ../actions/recoverpassword.php:211 actions/recoverpassword.php:217
 #: actions/recoverpassword.php:251
 msgid "No user with that email address or username."
-msgstr "ê·¸ë\9f¬í\95\9c ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8cë\82\98 ê³\84ì \95ì\9d\84 ê°\80ì§\84 ì\9c ì \80는 없습니다."
+msgstr "ê·¸ë\9f¬í\95\9c ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8cë\82\98 ê³\84ì \95ì\9d\84 ê°\80ì§\84 ì\82¬ì\9a©ì\9e\90는 없습니다."
 
 #: ../lib/gallery.php:80 lib/gallery.php:85
 msgid "Nobody to show!"
-msgstr "í\91\9cì\8b\9c í\95  ì\9c ì \80가 없습니다."
+msgstr "í\91\9cì\8b\9c í\95  ì\82¬ì\9a©ì\9e\90가 없습니다."
 
 #: ../actions/recoverpassword.php:60 actions/recoverpassword.php:60
 #: actions/recoverpassword.php:66
 msgid "Not a recovery code."
-msgstr "회복 코드가 아닙니다."
+msgstr "복구 코드가 아닙니다."
 
 #: ../scripts/maildaemon.php:50 scripts/maildaemon.php:50
 #: scripts/maildaemon.php:53
 msgid "Not a registered user."
-msgstr "ê°\80ì\9e\85ë\90\9c ì\9c ì \80가 아닙니다."
+msgstr "ê°\80ì\9e\85ë\90\9c ì\82¬ì\9a©ì\9e\90가 아닙니다."
 
 #: ../lib/twitterapi.php:226 ../lib/twitterapi.php:247
 #: ../lib/twitterapi.php:332 lib/twitterapi.php:391 lib/twitterapi.php:418
@@ -1609,7 +1606,7 @@ msgstr "%s 로 태그된 통지들"
 #: ../actions/password.php:39 actions/profilesettings.php:178
 #: actions/passwordsettings.php:97
 msgid "Old password"
-msgstr "옛 패스워드"
+msgstr "기존 비밀 번호"
 
 #: ../lib/settingsaction.php:96 ../lib/util.php:314 lib/settingsaction.php:90
 #: lib/util.php:330 lib/accountsettingsaction.php:116 lib/action.php:341
@@ -1683,35 +1680,35 @@ msgstr "불완전한 업로드."
 #: actions/login.php:231 actions/register.php:372
 #: lib/accountsettingsaction.php:110 lib/facebookaction.php:311
 msgid "Password"
-msgstr "패스워드"
+msgstr "비밀 번호"
 
 #: ../actions/recoverpassword.php:288 actions/recoverpassword.php:301
 #: actions/recoverpassword.php:335
 msgid "Password and confirmation do not match."
-msgstr "패스워드가 일치하지 않습니다."
+msgstr "비밀 번호가 일치하지 않습니다."
 
 #: ../actions/recoverpassword.php:284 actions/recoverpassword.php:297
 #: actions/recoverpassword.php:331
 msgid "Password must be 6 chars or more."
-msgstr "패스워드는 6자 이상이어야 합니다."
+msgstr "비밀 번호는 6자 이상이어야 합니다."
 
 #: ../actions/recoverpassword.php:261 ../actions/recoverpassword.php:263
 #: actions/recoverpassword.php:267 actions/recoverpassword.php:269
 #: actions/recoverpassword.php:199 actions/recoverpassword.php:301
 msgid "Password recovery requested"
-msgstr "패스워드 복구가 요청되었습니다."
+msgstr "비밀 번호 복구가 요청되었습니다."
 
 #: ../actions/password.php:89 ../actions/recoverpassword.php:313
 #: actions/profilesettings.php:408 actions/recoverpassword.php:326
 #: actions/passwordsettings.php:173 actions/recoverpassword.php:200
 msgid "Password saved."
-msgstr "패스워드 저장"
+msgstr "비밀 번호 저장"
 
 #: ../actions/password.php:61 ../actions/register.php:88
 #: actions/profilesettings.php:380 actions/register.php:98
 #: actions/passwordsettings.php:145 actions/register.php:183
 msgid "Passwords don't match."
-msgstr "패스워드가 일치하지 않습니다."
+msgstr "비밀 번호가 일치하지 않습니다."
 
 #: ../lib/searchaction.php:100 lib/searchaction.php:100
 #: lib/searchgroupnav.php:80
@@ -1745,7 +1742,7 @@ 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 \"Cancel\"."
-msgstr "ì\9c ì \80ì\9d\98 í\86µì§\80를 êµ¬ë\8f\85í\95\98려면 ì\83\81ì\84¸ë¥¼ í\99\95ì\9d¸í\95´ ì£¼ì\84¸ì\9a\94. êµ¬ë\8f\85í\95\98ì§\80 ì\95\8aë\8a\94 ê²½ì\9a°ë\8a\94,\"Cancel\" ì\9d\84 클릭해 주세요."
+msgstr "ì\82¬ì\9a©ì\9e\90ì\9d\98 í\86µì§\80를 êµ¬ë\8f\85í\95\98려면 ì\83\81ì\84¸ë¥¼ í\99\95ì\9d¸í\95´ ì£¼ì\84¸ì\9a\94. êµ¬ë\8f\85í\95\98ì§\80 ì\95\8aë\8a\94 ê²½ì\9a°ë\8a\94, \"ì·¨ì\86\8c\"를 클릭해 주세요."
 
 #: ../actions/imsettings.php:73 actions/imsettings.php:74
 #: actions/imsettings.php:142
@@ -1832,17 +1829,17 @@ msgstr "최신 태그들"
 #: ../actions/recoverpassword.php:166 actions/recoverpassword.php:171
 #: actions/recoverpassword.php:190
 msgid "Recover"
-msgstr "회복"
+msgstr "복구"
 
 #: ../actions/recoverpassword.php:156 actions/recoverpassword.php:161
 #: actions/recoverpassword.php:198
 msgid "Recover password"
-msgstr "패스워드 회복"
+msgstr "비밀 번호 복구"
 
 #: ../actions/recoverpassword.php:67 actions/recoverpassword.php:67
 #: actions/recoverpassword.php:73
 msgid "Recovery code for unknown user."
-msgstr "ì\95\8c ì\88\98 ì\97\86ë\8a\94 ì\9c ì \80를 위한 리커버리 코드"
+msgstr "ì\95\8c ì\88\98 ì\97\86ë\8a\94 ì·¨ì\86\8c를 위한 리커버리 코드"
 
 #: ../actions/register.php:142 ../actions/register.php:193 ../lib/util.php:312
 #: actions/register.php:152 actions/register.php:207 lib/util.php:328
@@ -1926,7 +1923,7 @@ msgstr "초기화"
 #: ../actions/recoverpassword.php:173 actions/recoverpassword.php:178
 #: actions/recoverpassword.php:197
 msgid "Reset password"
-msgstr "패스워드를 초기화"
+msgstr "비밀 번호 초기화"
 
 #: ../lib/settingsaction.php:99 lib/settingsaction.php:93
 #: actions/subscriptions.php:123 lib/connectsettingsaction.php:107
@@ -1950,12 +1947,12 @@ msgstr "SMS 인증"
 #: ../actions/recoverpassword.php:182 actions/recoverpassword.php:188
 #: actions/recoverpassword.php:222
 msgid "Same as password above"
-msgstr "위와 같은 패스워드"
+msgstr "위와 같은 비밀 번호"
 
 #: ../actions/register.php:156 actions/register.php:170
 #: actions/register.php:377
 msgid "Same as password above. Required."
-msgstr "위와 같은 패스워드. 필수 사항."
+msgstr "위와 같은 비밀 번호. 필수 사항."
 
 #: ../actions/emailsettings.php:97 ../actions/imsettings.php:81
 #: ../actions/profilesettings.php:67 ../actions/smssettings.php:100
@@ -2152,7 +2149,7 @@ msgstr "그 인증 코드는 귀하의 것이 아닙니다!"
 
 #: ../actions/emailsettings.php:191 actions/emailsettings.php:209
 msgid "That email address already belongs to another user."
-msgstr "ê·¸ ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8cë\8a\94 ì\9d´ë¯¸ ë\8b¤ë¥¸ ì\9c ì \80의 소유입니다."
+msgstr "ê·¸ ì\9d´ë©\94ì\9d¼ ì£¼ì\86\8cë\8a\94 ì\9d´ë¯¸ ë\8b¤ë¥¸ ì\82¬ì\9a©ì\9e\90의 소유입니다."
 
 #: ../actions/avatar.php:80 actions/profilesettings.php:317
 #: lib/imagefile.php:71
@@ -2203,7 +2200,7 @@ msgstr "옳지 않은 인증 번호 입니다."
 #: ../actions/smssettings.php:191 actions/smssettings.php:199
 #: actions/smssettings.php:309
 msgid "That phone number already belongs to another user."
-msgstr "ê·¸ í\9c´ë\8c\80í\8f° ë²\88í\98¸ë\8a\94 ì\9d´ë¯¸ ë\8b¤ë¥¸ ì\9c ì \80의 것입니다."
+msgstr "ê·¸ í\9c´ë\8c\80í\8f° ë²\88í\98¸ë\8a\94 ì\9d´ë¯¸ ë\8b¤ë¥¸ ì\82¬ì\9a©ì\9e\90의 것입니다."
 
 #: ../actions/newnotice.php:49 ../actions/twitapistatuses.php:408
 #: actions/newnotice.php:49 actions/twitapistatuses.php:330
@@ -2267,7 +2264,7 @@ msgstr "귀하의 통지를 받고 있는 사람"
 #: ../actions/invite.php:89 actions/invite.php:96 actions/invite.php:128
 msgid ""
 "These people are already users and you were automatically subscribed to them:"
-msgstr "ì\9e\90ë\8f\99 êµ¬ë\8f\85 ì\8b ì²­ì\9d´ ë\90\9c ì\9c ì \80들 :"
+msgstr "ì\9e\90ë\8f\99 êµ¬ë\8f\85 ì\8b ì²­ì\9d´ ë\90\9c ì\82¬ì\9a©ì\9e\90들 :"
 
 #: ../actions/recoverpassword.php:88
 msgid "This confirmation code is too old. Please start again."
@@ -2336,12 +2333,12 @@ msgstr ""
 #: actions/profilesettings.php:81 actions/register.php:183
 #: actions/profilesettings.php:109
 msgid "URL of your homepage, blog, or profile on another site"
-msgstr ""
+msgstr "당신의 홈페이지, 블로그 혹은 다른사이트의 프로파일 페이지 URL"
 
 #: ../actions/remotesubscribe.php:74 actions/remotesubscribe.php:83
 #: actions/remotesubscribe.php:110
 msgid "URL of your profile on another compatible microblogging service"
-msgstr ""
+msgstr "다른 마이크로블로깅 서비스의 당신의 프로파일 URL"
 
 #: ../actions/emailsettings.php:130 ../actions/imsettings.php:110
 #: ../actions/recoverpassword.php:39 ../actions/smssettings.php:135
@@ -2352,21 +2349,21 @@ msgstr ""
 #: actions/imsettings.php:214 actions/recoverpassword.php:44
 #: actions/smssettings.php:236 actions/twittersettings.php:302
 msgid "Unexpected form submission."
-msgstr ""
+msgstr "잘못된 폼 제출"
 
 #: ../actions/recoverpassword.php:276 actions/recoverpassword.php:289
 #: actions/recoverpassword.php:323
 msgid "Unexpected password reset."
-msgstr ""
+msgstr "잘못된 비밀 번호 지정"
 
 #: ../index.php:57 index.php:57 actions/recoverpassword.php:202
 msgid "Unknown action"
-msgstr ""
+msgstr "알려지지 않은 행동"
 
 #: ../actions/finishremotesubscribe.php:58
 #: actions/finishremotesubscribe.php:60 actions/finishremotesubscribe.php:61
 msgid "Unknown version of OMB protocol."
-msgstr ""
+msgstr "OMB프로토콜의 알려지지 않은 버젼"
 
 #: ../lib/util.php:269 lib/util.php:285
 msgid ""
@@ -2378,33 +2375,33 @@ msgstr ""
 #: actions/confirmaddress.php:90
 #, php-format
 msgid "Unrecognized address type %s"
-msgstr ""
+msgstr "인식되지않은 주소유형 %s"
 
 #: ../actions/showstream.php:209 actions/showstream.php:219
 #: lib/unsubscribeform.php:137
 msgid "Unsubscribe"
-msgstr ""
+msgstr "비구독"
 
 #: ../actions/postnotice.php:44 ../actions/updateprofile.php:45
 #: actions/postnotice.php:45 actions/updateprofile.php:46
 #: actions/postnotice.php:48 actions/updateprofile.php:49
 msgid "Unsupported OMB version"
-msgstr ""
+msgstr "지원되지 않는 OMB 버젼"
 
 #: ../actions/avatar.php:105 actions/profilesettings.php:342
 #: lib/imagefile.php:102
 msgid "Unsupported image file format."
-msgstr ""
+msgstr "지원되지 않는 이미지파일 포맷"
 
 #: ../lib/settingsaction.php:100 lib/settingsaction.php:94
 #: lib/connectsettingsaction.php:108
 msgid "Updates by SMS"
-msgstr ""
+msgstr "SMS에 의한 업데이트"
 
 #: ../lib/settingsaction.php:103 lib/settingsaction.php:97
 #: lib/connectsettingsaction.php:105
 msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "인스턴트 메신저에 의한 업데이트"
 
 #: ../actions/twitapistatuses.php:241 actions/twitapistatuses.php:158
 #: actions/twitapistatuses.php:129
@@ -2430,20 +2427,22 @@ msgid ""
 "site license, also. Use a picture that belongs to you and that you want to "
 "share."
 msgstr ""
+"여기에 새 아바타이미지를 올려보세요. 업로드후에는 사진을 편집할 수 없습니다. 사이즈 영역을 늘리거나 줄일 수 있습니다. 그것은 사이트의 "
+"라이선스하에 있게됩니다. 당신의 소유이면서 공유하고 싶은 사진을 이용해보세요."
 
 #: ../lib/settingsaction.php:91
 msgid "Upload a new profile image"
-msgstr ""
+msgstr "새 프로필 이미지 올리기"
 
 #: ../actions/invite.php:114 actions/invite.php:121 actions/invite.php:154
 msgid ""
 "Use this form to invite your friends and colleagues to use this service."
-msgstr ""
+msgstr "이 서비스를 사용하는데 당신의 친구와 동료들을 초대하기 위해 이 양식을 사용하세요."
 
 #: ../actions/register.php:159 ../actions/register.php:162
 #: actions/register.php:173 actions/register.php:176
 msgid "Used only for updates, announcements, and password recovery"
-msgstr ""
+msgstr "업데이트나 공지, 비밀번호 찾기에 사용하세요."
 
 #: ../actions/finishremotesubscribe.php:86
 #: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
@@ -2466,96 +2465,96 @@ msgstr ""
 #: actions/twitapistatuses.php:503 actions/twitapiusers.php:55
 #: actions/usergroups.php:99 lib/galleryaction.php:67 lib/twitterapi.php:626
 msgid "User has no profile."
-msgstr ""
+msgstr "이용자가 프로필을 가지고 있지 않습니다."
 
 #: ../actions/remotesubscribe.php:71 actions/remotesubscribe.php:80
 #: actions/remotesubscribe.php:105
 msgid "User nickname"
-msgstr ""
+msgstr "이용자 닉네임"
 
 #: ../actions/twitapiusers.php:75 actions/twitapiusers.php:80
 msgid "User not found."
-msgstr ""
+msgstr "이용자가 없습니다."
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:139
 msgid "What timezone are you normally in?"
-msgstr ""
+msgstr "당신이 주로 생활하는 곳이 어떤 타임존입니까?"
 
 #: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
 #, php-format
 msgid "What's up, %s?"
-msgstr ""
+msgstr "뭐하세요? %?"
 
 #: ../actions/profilesettings.php:54 ../actions/register.php:175
 #: actions/profilesettings.php:87 actions/register.php:189
 #: actions/profilesettings.php:119
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr ""
+msgstr "당신은 어디에 삽니까? \"시, 도 (or 군,구), 나라"
 
 #: ../actions/updateprofile.php:128 actions/updateprofile.php:129
 #: actions/updateprofile.php:132
 #, php-format
 msgid "Wrong image type for '%s'"
-msgstr ""
+msgstr "%S 잘못된 이미지 타입입니다. "
 
 #: ../actions/updateprofile.php:123 actions/updateprofile.php:124
 #: actions/updateprofile.php:127
 #, php-format
 msgid "Wrong size image at '%s'"
-msgstr ""
+msgstr "%S 잘못된 이미지 사이즈입니다."
 
 #: ../actions/deletenotice.php:63 ../actions/deletenotice.php:72
 #: actions/deletenotice.php:64 actions/deletenotice.php:79
 #: actions/block.php:148 actions/deletenotice.php:122
 #: actions/deletenotice.php:141
 msgid "Yes"
-msgstr ""
+msgstr "네, 맞습니다."
 
 #: ../actions/finishaddopenid.php:64 actions/finishaddopenid.php:64
 #: actions/finishaddopenid.php:112
 msgid "You already have this OpenID!"
-msgstr ""
+msgstr "당신은 이미 오픈ID를 가지고 있습니다."
 
 #: ../actions/deletenotice.php:37 actions/deletenotice.php:37
 msgid ""
 "You are about to permanently delete a notice.  Once this is done, it cannot "
 "be undone."
-msgstr ""
+msgstr "영구적으로 게시글을 삭제하려고 합니다. 한번 삭제되면, 복구할 수 없습니다."
 
 #: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
 #: actions/recoverpassword.php:36
 msgid "You are already logged in!"
-msgstr ""
+msgstr "당신은 이미 로그인되어 있습니다."
 
 #: ../actions/invite.php:81 actions/invite.php:88 actions/invite.php:120
 msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "당신은 이 사용자들을 이미 구독하고 있습니다."
 
 #: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
 msgid "You are not friends with the specified user."
-msgstr ""
+msgstr "당신은 이 특정 회원과 친구가 아닙니다."
 
 #: ../actions/password.php:27
 msgid "You can change your password here. Choose a good one!"
-msgstr ""
+msgstr "여기서 비밀번호를 변경할 수 있습니다. 좋은 번호를 선택하세요."
 
 #: ../actions/register.php:135 actions/register.php:145
 msgid "You can create a new account to start posting notices."
-msgstr ""
+msgstr "당신은 새로운 게시글 작성을 시작하기 위해 새 계정을 만드실 수 있습니다."
 
 #: ../actions/smssettings.php:28 actions/smssettings.php:28
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr ""
+msgstr "당신은 %%site.name%% 로부터 이메일을 통해 SMS메시지를 받을 수 있습니다."
 
 #: ../actions/openidsettings.php:86
 msgid ""
 "You can remove an OpenID from your account by clicking the button marked "
 "\"Remove\"."
-msgstr ""
+msgstr "당신은 \"Remove\"로 표기된 버튼클릭을 통해 계정에서 오픈ID를 제거할 수 있습니다."
 
 #: ../actions/imsettings.php:28 actions/imsettings.php:28
 #, php-format
@@ -2563,29 +2562,30 @@ msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
 "doc.im%%). Configure your address and settings below."
 msgstr ""
+"당신은 Jabber나 구글토크(%%doc.im%%)를 통해 메시지를 주고받을 수 있습니다. 아래 당신의 주소와 환경설정을 조정하세요."
 
 #: ../actions/profilesettings.php:27
 msgid ""
 "You can update your personal profile info here so people know more about you."
-msgstr ""
+msgstr "사람들이 당신에 대해 좀 더 잘 알 수 있도록 여기 당신의 개인프로파일을 업데이트 할 수 있습니다. "
 
 #: ../actions/finishremotesubscribe.php:31 ../actions/remotesubscribe.php:31
 #: actions/finishremotesubscribe.php:31 actions/remotesubscribe.php:31
 #: actions/finishremotesubscribe.php:33 actions/finishremotesubscribe.php:85
 #: actions/finishremotesubscribe.php:101 actions/remotesubscribe.php:35
 msgid "You can use the local subscription!"
-msgstr ""
+msgstr "당신은 로컬 구독을 사용할 수 있습니다."
 
 #: ../actions/finishopenidlogin.php:33 ../actions/register.php:61
 #: actions/finishopenidlogin.php:38 actions/register.php:68
 #: actions/finishopenidlogin.php:43
 msgid "You can't register if you don't agree to the license."
-msgstr ""
+msgstr "라이선스에 동의하지 않는다면 등록할 수 없습니다."
 
 #: ../actions/updateprofile.php:63 actions/updateprofile.php:64
 #: actions/updateprofile.php:67
 msgid "You did not send us that profile"
-msgstr ""
+msgstr "당신은 프로필을 우리에게 전송하지 않았다."
 
 #: ../lib/mail.php:147
 #, php-format
@@ -2603,31 +2603,31 @@ msgstr ""
 #: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
 #: actions/twitapistatuses.php:463
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "당신은 다른 사용자의 상태를 삭제하지 않아도 된다."
 
 #: ../actions/invite.php:31 actions/invite.php:31 actions/invite.php:39
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "당신은 %s 사용에 다른 사용자를 초대하기 위해 로긴이 필요합니다."
 
 #: ../actions/invite.php:103 actions/invite.php:110 actions/invite.php:142
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
-msgstr ""
+msgstr "당신의 초대를 받은사람들이 수락하고, 사이트에 등록할때 공지를 받을 수 있습니다. 커뮤니티를 키워주셔서 대단히 감사합니다. ^^"
 
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
-msgstr ""
+msgstr "당신은 인증되었습니다. 아래 새 비밀번호를 입력하세요."
 
 #: ../actions/openidlogin.php:67 actions/openidlogin.php:76
 #: actions/openidlogin.php:104
 msgid "Your OpenID URL"
-msgstr ""
+msgstr "당신의 오픈ID URL"
 
 #: ../actions/recoverpassword.php:164
 msgid "Your nickname on this server, or your registered email address."
-msgstr ""
+msgstr "이 서버에서 당신의 닉네임 혹은 당신의 등록된 이메일주소"
 
 #: ../actions/openidsettings.php:28
 #, php-format
@@ -2635,10 +2635,12 @@ msgid ""
 "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
 "account.  Manage your associated OpenIDs from here."
 msgstr ""
+"[오픈ID](%%doc.openid%%)는 당신을 동일한 계정으로 많은 사이트에 로그인할 수 있게 해줍니다. 여기에서 당신의 관련된 "
+"오픈ID들을 관리하세요."
 
 #: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
 msgid "a few seconds ago"
-msgstr ""
+msgstr "몇 초전"
 
 #: ../lib/util.php:955 lib/util.php:1004 lib/util.php:957
 #, php-format
@@ -2658,58 +2660,58 @@ msgstr "%d분전"
 #: ../lib/util.php:959 lib/util.php:1008 lib/util.php:961
 #, php-format
 msgid "about %d months ago"
-msgstr ""
+msgstr "%d달전"
 
 #: ../lib/util.php:953 lib/util.php:1002 lib/util.php:955
 msgid "about a day ago"
-msgstr ""
+msgstr "하루전"
 
 #: ../lib/util.php:945 lib/util.php:994 lib/util.php:947
 msgid "about a minute ago"
-msgstr ""
+msgstr "일분전"
 
 #: ../lib/util.php:957 lib/util.php:1006 lib/util.php:959
 msgid "about a month ago"
-msgstr ""
+msgstr "한달전"
 
 #: ../lib/util.php:961 lib/util.php:1010 lib/util.php:963
 msgid "about a year ago"
-msgstr ""
+msgstr "일년전"
 
 #: ../lib/util.php:949 lib/util.php:998 lib/util.php:951
 msgid "about an hour ago"
-msgstr ""
+msgstr "한시간전"
 
 #: ../actions/showstream.php:423 ../lib/stream.php:132
 #: actions/showstream.php:441 lib/stream.php:99
 msgid "delete"
-msgstr ""
+msgstr "삭제"
 
 #: ../actions/noticesearch.php:130 ../actions/showstream.php:408
 #: ../lib/stream.php:117 actions/noticesearch.php:136
 #: actions/showstream.php:426 lib/stream.php:84 actions/noticesearch.php:187
 msgid "in reply to..."
-msgstr ""
+msgstr "답장"
 
 #: ../actions/noticesearch.php:137 ../actions/showstream.php:415
 #: ../lib/stream.php:124 actions/noticesearch.php:143
 #: actions/showstream.php:433 lib/stream.php:91 actions/noticesearch.php:194
 msgid "reply"
-msgstr ""
+msgstr "답장"
 
 #: ../actions/password.php:44 actions/profilesettings.php:183
 #: actions/passwordsettings.php:106
 msgid "same as password above"
-msgstr ""
+msgstr "위 비밀번호와 동일하게"
 
 #: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
 #: actions/twitapistatuses.php:555
 msgid "unsupported file type"
-msgstr ""
+msgstr "지원되지 않는 파일유형입니다."
 
 #: ../lib/util.php:1309 lib/util.php:1443
 msgid "« After"
-msgstr ""
+msgstr "<< 뒤에"
 
 #: actions/deletenotice.php:74 actions/disfavor.php:43
 #: actions/emailsettings.php:127 actions/favor.php:45
@@ -2725,67 +2727,67 @@ msgstr ""
 #: actions/openidlogin.php:37 actions/recoverpassword.php:316
 #: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
 msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "세션토큰에 문제가 있습니다. 다시 시도해주세요."
 
 #: actions/disfavor.php:55 actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "이 메시지는 favorite이 아닙니다."
 
 #: actions/disfavor.php:63 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "favorite을 삭제할 수 없습니다."
 
 #: actions/disfavor.php:72 lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "좋아합니다"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
-msgstr ""
+msgstr "누군가 내 글을 좋아하는 게시글로 추가했을때, 이메일을 보냅니다."
 
 #: actions/emailsettings.php:95 actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "누군가 내게 비밀메시지를 보냈을때, 이메일을 보냅니다."
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "이 게시글은 이미 좋아하는 게시글입니다."
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "좋아하는 게시글을 생성할 수 없습니다."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "좋아하는 게시글 취소"
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "%s 좋아하는 게시글들"
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "%s 의 좋아하는 게시글의 피드"
 
 #: actions/inbox.php:28 actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "%s의 받은쪽지함 - %d 페이지"
 
 #: actions/inbox.php:30 actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "%s의 받은쪽지함"
 
 #: actions/inbox.php:53 actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
-msgstr ""
+msgstr "이것은 당신의 받은쪽지함입니다. 당신이 받은 비밀메시지들이 있습니다."
 
 #: actions/invite.php:178 actions/invite.php:213
 #, php-format
@@ -2797,91 +2799,91 @@ msgstr ""
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "앞으로 자동 로그인을 하겠습니다."
 
 #: actions/login.php:122 actions/login.php:264
 msgid "For security reasons, please re-enter your "
-msgstr ""
+msgstr "보안의 이유로, 재 입력을 해주세요."
 
 #: actions/login.php:126 actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "당신의 계정과 비밀번호로 로그인하세요."
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "메시지가 너무 길어요. 최대로 140자까지 입력하실 수 있습니다."
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
 msgid "No recipient specified."
-msgstr ""
+msgstr "수신자를 지정하지 않았습니다."
 
 #: actions/newmessage.php:68 actions/newmessage.php:113
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "당신은 이 사용자에게 메시지를 보낼 수 없습니다."
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
 #: classes/Command.php:240
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
-msgstr ""
+msgstr "자신에게 메시지를 보내지 마세요. 대신 조용하게 스스로에게 그것을 말하세요;;"
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
 #: actions/newmessage.php:163
 msgid "No such user"
-msgstr ""
+msgstr "그러한 사용자가 없습니다."
 
 #: actions/newmessage.php:117 actions/newmessage.php:67
 msgid "New message"
-msgstr ""
+msgstr "새로운 메시지입니다."
 
 #: actions/noticesearch.php:95 actions/noticesearch.php:146
 msgid "Notice without matching profile"
-msgstr ""
+msgstr "프로필매칭 없이 바로 글을 씁니다."
 
 #: actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
-msgstr ""
+msgstr "[오픈ID](%%doc.openid%%) 는 당신이 많은 사이트에 로그인할 수 있게 합니다."
 
 #: actions/openidsettings.php:46 actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
-msgstr ""
+msgstr "만약 당신계정에 오픈ID를 추가하길 원한다면,"
 
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
-msgstr ""
+msgstr "당신의 유일한 오픈ID를 제거하면 로그인이 불가능합니다."
 
 #: actions/openidsettings.php:87 actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
-msgstr ""
+msgstr "당신의 계정에서 오픈ID를 삭제할 수 있습니다."
 
 #: actions/outbox.php:28 actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "%s의 보낸쪽지함 - page %d"
 
 #: actions/outbox.php:30 actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "%s의 보낸쪽지함"
 
 #: actions/outbox.php:53 actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
-msgstr ""
+msgstr "이것은 당신의 보낸쪽지함입니다. 이곳엔 당신이 보냈던 비밀쪽지들이 있습니다."
 
 #: actions/peoplesearch.php:28 actions/peoplesearch.php:52
 #, php-format
 msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
-msgstr ""
+msgstr "이름, 장소, 흥미들로 %%site.name%% 에서 사람들을 찾아보세요."
 
 #: actions/profilesettings.php:27 actions/profilesettings.php:69
 msgid "You can update your personal profile info here "
-msgstr ""
+msgstr "당신은 여기에 당신의 개인적인 프로필을 업데이트 할 수 있습니다."
 
 #: actions/profilesettings.php:115 actions/remotesubscribe.php:320
 #: actions/userauthorization.php:159 actions/userrss.php:76
@@ -2889,138 +2891,138 @@ msgstr ""
 #: actions/grouplogo.php:177 actions/remotesubscribe.php:367
 #: actions/userauthorization.php:176 actions/userrss.php:82
 msgid "User without matching profile"
-msgstr ""
+msgstr "프로필 매칭이 없는 사용자"
 
 #: actions/recoverpassword.php:91 actions/recoverpassword.php:97
 msgid "This confirmation code is too old. "
-msgstr ""
+msgstr "이 확인 코드는 너무 오래되었습니다."
 
 #: actions/recoverpassword.php:141 actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "만약 당신이 잊어버리거나 잃어버린다면"
 
 #: actions/recoverpassword.php:154 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "당신은 인증되었습니다. 입력하세요."
 
 #: actions/recoverpassword.php:169 actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
-msgstr ""
+msgstr "이 서버에서 당신의 닉네임"
 
 #: actions/recoverpassword.php:271 actions/recoverpassword.php:304
 msgid "Instructions for recovering your password "
-msgstr ""
+msgstr "당신의 비빌먼호 복구를 위한 안내"
 
 #: actions/recoverpassword.php:327 actions/recoverpassword.php:361
 msgid "New password successfully saved. "
-msgstr ""
+msgstr "새 비밀번호가 성공적으로 저장되었습니다."
 
 #: actions/register.php:95 actions/register.php:180
 msgid "Password must be 6 or more characters."
-msgstr ""
+msgstr "비밀번호는 6자리 이상이어야 합니다."
 
 #: actions/register.php:216
 #, php-format
 msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to..."
-msgstr ""
+msgstr "축하합니다!! %s, 그리고 %%%%site.name%%%%에 오신걸 환영해요~ 여기서 당신은 원할지도 모르겠네요.."
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "(당신은 일시적으로 이메일로 메시지를 받아야 한다."
 
 #: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "구독하기 위해 당신은 로그인할 수 있습니다. (%%action,login%%),"
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "%s의 좋아하는 게시글을 위한 피드"
 
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "좋아하는 게시글을 복구할 수 없습니다."
 
 #: actions/showmessage.php:33 actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "그러한 메시지가 없습니다."
 
 #: actions/showmessage.php:42
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "오직 발송자가 수신자가 이 메시지를 읽는것이 좋습니다."
 
 #: actions/showmessage.php:61 actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "%2$s에서 %1$s까지 메시지"
 
 #: actions/showmessage.php:66 actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "%1$s에서 %2$s까지 메시지"
 
 #: actions/showstream.php:154
 msgid "Send a message"
-msgstr ""
+msgstr "메시지 전송하기"
 
 #: actions/smssettings.php:312 actions/smssettings.php:464
 #, php-format
 msgid "Mobile carrier for your phone. "
-msgstr ""
+msgstr "당신의 폰을 위한 모바일 전송"
 
 #: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "%s에게 직접 메시지"
 
 #: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "%s 에게 모든 직접 메시지들"
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "당신이 보낸 다이렉트 메시지들"
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "%s 로부터 보낸 모든 다이렉트 메시지들"
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
 msgid "No message text!"
-msgstr ""
+msgstr "text 메시지가 없습니다."
 
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
 msgid "Recipient user not found."
-msgstr ""
+msgstr "받는 사용자가 없습니다."
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "당신의 친구가 아닌 사용자에게 다이렉트 메시지를 보낼 수 없습니다."
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / %s 로부터 좋아하는 글들"
 
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s 좋아하는 글이 업데이트 됐습니다. %S에 의해 / %s."
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s 가 너의 게시글을 좋아하는 글로 추가했습니다."
 
 #: actions/twitapifavorites.php:188 lib/mail.php:276
 #: actions/twitapifavorites.php:165
@@ -3029,98 +3031,100 @@ msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s 그들의 좋아하는 글중 하나로 %2$s로부터 지금 막 당신의 글을 추가했습니다. \n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
 "Add your Twitter account to automatically send your notices to Twitter, "
-msgstr ""
+msgstr "당신의 트위터 계정을 추가하세요. 자동적으로 당신의 메시지를 트위터에 전송합니다."
 
 #: actions/twittersettings.php:41 actions/twittersettings.php:60
 msgid "Twitter settings"
-msgstr ""
+msgstr "트위터 환경설정"
 
 #: actions/twittersettings.php:48 actions/twittersettings.php:105
 msgid "Twitter Account"
-msgstr ""
+msgstr "트위터 계정"
 
 #: actions/twittersettings.php:56 actions/twittersettings.php:113
 msgid "Current verified Twitter account."
-msgstr ""
+msgstr "현재 유효한 트위터 계정"
 
 #: actions/twittersettings.php:63
 msgid "Twitter Username"
-msgstr ""
+msgstr "트위터 사용자이름"
 
 #: actions/twittersettings.php:65 actions/twittersettings.php:123
 msgid "No spaces, please."
-msgstr ""
+msgstr "공백을 없애주세요."
 
 #: actions/twittersettings.php:67
 msgid "Twitter Password"
-msgstr ""
+msgstr "트위터 비밀번호"
 
 #: actions/twittersettings.php:72 actions/twittersettings.php:139
 msgid "Automatically send my notices to Twitter."
-msgstr ""
+msgstr "자동으로 트위터에 게시글을 보냅니다."
 
 #: actions/twittersettings.php:75 actions/twittersettings.php:146
 msgid "Send local \"@\" replies to Twitter."
-msgstr ""
+msgstr "트위터에 로컬 \"@\"답장으로 보냅니다."
 
 #: actions/twittersettings.php:78 actions/twittersettings.php:153
 msgid "Subscribe to my Twitter friends here."
-msgstr ""
+msgstr "여기에서 내 트위터 친구들을 구독합니다."
 
 #: actions/twittersettings.php:122
 msgid ""
 "Username must have only numbers, upper- and lowercase letters, and "
 "underscore (_). 15 chars max."
-msgstr ""
+msgstr "사용자 이름은 단지 숫자이거나, 대소문자, 그리고 언더바(_)로 구성되어야 하고, 최대 15자 이내이어야 합니다."
 
 #: actions/twittersettings.php:128 actions/twittersettings.php:334
 msgid "Could not verify your Twitter credentials!"
-msgstr ""
+msgstr "트위터 자격을 증명할 수 없습니다."
 
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "트위터로부터 \"%s\"를 위한 계정정보를 불러올 수 없습니다."
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
 msgid "Unable to save your Twitter settings!"
-msgstr ""
+msgstr "트위터 환경설정을 저장할 수 없습니다."
 
 #: actions/twittersettings.php:174 actions/twittersettings.php:376
 msgid "Twitter settings saved."
-msgstr ""
+msgstr "트위터 환결설정이 저장되었습니다."
 
 #: actions/twittersettings.php:192 actions/twittersettings.php:395
 msgid "That is not your Twitter account."
-msgstr ""
+msgstr "이것은 당신의 트위터 계정이 아닙니다."
 
 #: actions/twittersettings.php:200 actions/twittersettings.php:208
 #: actions/twittersettings.php:403
 msgid "Couldn't remove Twitter user."
-msgstr ""
+msgstr "트위터 사용자를 제거할 수 없습니다."
 
 #: actions/twittersettings.php:212 actions/twittersettings.php:407
 msgid "Twitter account removed."
-msgstr ""
+msgstr "트위터 계정이 제거되었습니다."
 
 #: actions/twittersettings.php:225 actions/twittersettings.php:239
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "트위터 환경설정을 저장할 수 없습니다."
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
 msgid "Twitter preferences saved."
-msgstr ""
+msgstr "트위터 환경설정이 저장되었습니다."
 
 #: actions/userauthorization.php:84 actions/userauthorization.php:86
 msgid "Please check these details to make sure "
-msgstr ""
+msgstr "이 상세설정들을 체크해주세요."
 
 #: actions/userauthorization.php:324 actions/userauthorization.php:340
 msgid "The subscription has been authorized, but no "
@@ -3128,131 +3132,131 @@ msgstr ""
 
 #: actions/userauthorization.php:334 actions/userauthorization.php:351
 msgid "The subscription has been rejected, but no "
-msgstr ""
+msgstr "이 구독이 거절되었습니다."
 
 #: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
 msgid "Command results"
-msgstr ""
+msgstr "실행결과"
 
 #: classes/Channel.php:148 classes/Channel.php:204
 msgid "Command complete"
-msgstr ""
+msgstr "실행 완료"
 
 #: classes/Channel.php:158 classes/Channel.php:215
 msgid "Command failed"
-msgstr ""
+msgstr "실행 실패"
 
 #: classes/Command.php:39 classes/Command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "죄송합니다. 이 명령은 아직 실행되지 않았습니다."
 
 #: classes/Command.php:96 classes/Command.php:113
 #, php-format
 msgid "Subscriptions: %1$s\n"
-msgstr ""
+msgstr "구독: %1$s\n"
 
 #: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
 #: classes/Command.php:276
 msgid "User has no last notice"
-msgstr ""
+msgstr "이용자의 지속적인 게시글이 없습니다."
 
 #: classes/Command.php:146 classes/Command.php:166
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "게시글이 좋아하는 글로 지정되었습니다."
 
 #: classes/Command.php:166 classes/Command.php:189
 #, php-format
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s (%2$s)"
 
 #: classes/Command.php:169 classes/Command.php:192
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "전체이름: %s"
 
 #: classes/Command.php:172 classes/Command.php:195
 #, php-format
 msgid "Location: %s"
-msgstr ""
+msgstr "위치: %s"
 
 #: classes/Command.php:175 classes/Command.php:198
 #, php-format
 msgid "Homepage: %s"
-msgstr ""
+msgstr "홈페이지: %s"
 
 #: classes/Command.php:178 classes/Command.php:201
 #, php-format
 msgid "About: %s"
-msgstr ""
+msgstr "자기소개: %s"
 
 #: classes/Command.php:200 classes/Command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
-msgstr ""
+msgstr "당신이 보낸 메시지가 너무 길어요. 최대 140글자까지입니다."
 
 #: classes/Command.php:214 classes/Command.php:245
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "%s에게 보낸 다이렉트 메시지"
 
 #: classes/Command.php:216 classes/Command.php:247
 msgid "Error sending direct message."
-msgstr ""
+msgstr "다이렉트 메시지 보내기 에러"
 
 #: classes/Command.php:263 classes/Command.php:300
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "구독을 하기 위해서는 사용자의 이름을 명확히해야 합니다."
 
 #: classes/Command.php:270 classes/Command.php:307
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "%s에게 구독되었습니다."
 
 #: classes/Command.php:288 classes/Command.php:328
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "비구독 폼에 사용자의 이름을 명확히 써주세요."
 
 #: classes/Command.php:295 classes/Command.php:335
 #, php-format
 msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "%s 로부터 비구독되었습니다."
 
 #: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
 #: classes/Command.php:376
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "명령이 아직 실행되지 않았습니다."
 
 #: classes/Command.php:313 classes/Command.php:356
 msgid "Notification off."
-msgstr ""
+msgstr "알림끄기."
 
 #: classes/Command.php:315 classes/Command.php:358
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "알림을 끌 수 없습니다."
 
 #: classes/Command.php:333 classes/Command.php:379
 msgid "Notification on."
-msgstr ""
+msgstr "알림이 켜졌습니다."
 
 #: classes/Command.php:335 classes/Command.php:381
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "알림을 켤 수 없습니다."
 
 #: classes/Command.php:344 classes/Command.php:392
 msgid "Commands:\n"
-msgstr ""
+msgstr "명령: \n"
 
 #: classes/Message.php:53 classes/Message.php:56
 msgid "Could not insert message."
-msgstr ""
+msgstr "메시지를 삽입할 수 없습니다."
 
 #: classes/Message.php:63 classes/Message.php:66
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "새 URI와 함께 메시지를 업데이트할 수 없습니다."
 
 #: lib/gallery.php:46
 msgid "User without matching profile in system."
-msgstr ""
+msgstr "시스템에 프로필 매칭이 없는 사용자"
 
 #: lib/mail.php:147 lib/mail.php:289
 #, php-format
@@ -3260,11 +3264,13 @@ msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgstr ""
+"당신은 %1$s에 새 포스팅 주소를 가진다. \n"
+"\n"
 
 #: lib/mail.php:249 lib/mail.php:508
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "%s로부터 새로운 비밀 메시지가 도착하였습니다."
 
 #: lib/mail.php:253 lib/mail.php:512
 #, php-format
@@ -3272,88 +3278,89 @@ msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
 msgstr ""
+"%1$s (%2$s) 가 당신에게 비밀메시지를 보냈습니다 : \n"
+" \n"
 
 #: lib/mailbox.php:43 lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "오직 해당 사용자만 자신의 메일박스를 열람할 수 있습니다."
 
 #: lib/openid.php:195 lib/openid.php:203
 msgid "This form should automatically submit itself. "
-msgstr ""
+msgstr "이 양식은 자동적으로 스스로 제출됩니다."
 
 #: lib/personal.php:65 lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "좋아하는 글들"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "%s 님의 좋아하는 글들"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 msgid "User"
-msgstr ""
+msgstr "이용자"
 
 #: lib/personal.php:75 lib/personalgroupnav.php:123
 msgid "Inbox"
-msgstr ""
+msgstr "받은 쪽지함"
 
 #: lib/personal.php:76 lib/personalgroupnav.php:124
 msgid "Your incoming messages"
-msgstr ""
+msgstr "당신의 받은 메시지들"
 
 #: lib/personal.php:80 lib/personalgroupnav.php:128
 msgid "Outbox"
-msgstr ""
+msgstr "보낸 쪽지함"
 
 #: lib/personal.php:81 lib/personalgroupnav.php:129
 msgid "Your sent messages"
-msgstr ""
+msgstr "당신의 보낸 메시지들"
 
 #: lib/settingsaction.php:99 lib/connectsettingsaction.php:110
 msgid "Twitter"
-msgstr ""
+msgstr "트위터"
 
 #: lib/settingsaction.php:100 lib/connectsettingsaction.php:111
 msgid "Twitter integration options"
-msgstr ""
+msgstr "트위터 통합옵션"
 
 #: lib/util.php:1718 lib/messageform.php:139 lib/noticelist.php:422
 msgid "To"
-msgstr ""
+msgstr "에게"
 
 #: scripts/maildaemon.php:45 scripts/maildaemon.php:48
 msgid "Could not parse message."
-msgstr ""
+msgstr "메시지를 분리할 수 없습니다."
 
 #: actions/all.php:63 actions/facebookhome.php:162
 #, php-format
 msgid "%s and friends, page %d"
-msgstr ""
+msgstr "%s 와 친구들, %d 페이지"
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
-msgstr ""
+msgstr "당신의 개인적인 아바타를 업로드할 수 있습니다."
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "ë©\94ì\8b ì \80 ì\84¤ì \95"
+msgstr "ì\95\84ë°\94í\83\80 ì\84¤ì \95"
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "원래 설정"
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "미리보기"
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
+msgstr "자르기"
 
 #: actions/avatarsettings.php:248 actions/deletenotice.php:133
 #: actions/emailsettings.php:224 actions/grouplogo.php:307
@@ -3365,51 +3372,51 @@ msgstr ""
 #: actions/subedit.php:38 actions/twittersettings.php:290
 #: actions/userauthorization.php:39
 msgid "There was a problem with your session token. "
-msgstr ""
+msgstr "당신의 세션토큰에 문제가 있습니다."
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "당신의 아바타가 될 이미지영역을 지정하세요."
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "우리의 파일 데이터를 잃어버렸습니다."
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
 msgid "Lost our file."
-msgstr ""
+msgstr "우리의 파일을 잃어버렸습니다."
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
 #: classes/User_group.php:129 classes/User_group.php:161
 msgid "Unknown file type"
-msgstr ""
+msgstr "알려지지 않은 파일유형입니다."
 
 #: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
 msgid "No profile specified."
-msgstr ""
+msgstr "프로필이 구체적이지 않습니다."
 
 #: actions/block.php:74 actions/subedit.php:53 actions/tagother.php:46
 #: actions/unblock.php:75
 msgid "No profile with that ID."
-msgstr ""
+msgstr "해당 ID의 프로필이 없습니다."
 
 #: actions/block.php:111
 msgid "Block user"
-msgstr ""
+msgstr "사용자를 차단합니다."
 
 #: actions/block.php:129
 msgid "Are you sure you want to block this user? "
-msgstr ""
+msgstr "이 사용자를 차단하고 싶은 게 맞습니까?"
 
 #: actions/block.php:162
 msgid "You have already blocked this user."
-msgstr ""
+msgstr "당신은 이미 이 사용자를 차단하고 있습니다."
 
 #: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "정보차단을 저장하는데 실패했습니다."
 
 #: actions/confirmaddress.php:159
 #, php-format
@@ -3418,175 +3425,174 @@ msgstr ""
 
 #: actions/deletenotice.php:73
 msgid "You are about to permanently delete a notice. "
-msgstr ""
+msgstr "당신은 영구적으로 이 게시글을 삭제하려고 합니다."
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "좋아하는 게시글로 추가하기"
 
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "%s 그룹 수정하기"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "받은쪽지함은 그룹이 일할 수 있도록 활성화되어야 한다."
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "그룹을 만들기 위해서는 로그인해야 합니다."
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "닉네임"
+msgstr "닉네임이 없습니다"
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
 #: actions/showgroup.php:128
 msgid "No such group"
-msgstr ""
+msgstr "그러한 그룹이 없습니다."
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "당신은 그룹을 수정하기 위해 관리자이어야 합니다."
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "그룹을 수정하기 위해 이 양식을 사용하세요."
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
 msgid "Nickname must have only lowercase letters "
-msgstr ""
+msgstr "닉네임은 오직 영문소문자이어야 합니다."
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
 msgid "description is too long (max 140 chars)."
-msgstr ""
+msgstr "설명이 너무 길어요. (최대 140글자)"
 
 #: actions/editgroup.php:218
 msgid "Could not update group."
-msgstr ""
+msgstr "그룹을 업데이트 할 수 없습니다."
 
 #: actions/editgroup.php:226
 msgid "Options saved."
-msgstr ""
+msgstr "옵션들이 저장되었습니다."
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
 #, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr ""
+msgstr "이 주소의 확인을 기다리고 있습니다."
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
 msgid "Make a new email address for posting to; "
-msgstr ""
+msgstr "포스팅을 위해 새 이메일 주소를 만드세요."
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "내게 이메일을 보내세요."
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "친구들이 내게 이메일이나 쪽지를 보낼 수 있도록 허용합니다."
 
 #: actions/emailsettings.php:321
 msgid "That email address already belongs "
-msgstr ""
+msgstr "해당 이메일 주소는 이미 등록되어있습니다."
 
 #: actions/emailsettings.php:343
 msgid "A confirmation code was sent to the email address you added. "
-msgstr ""
+msgstr "인증코드가 당신이 추가한 이메일주소로 발송되었습니다"
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "서버에러입니다. - 사용자 정보를 불러올 수 없습니다."
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "만약 당신이 자동 업데이트를 위해 %s 애플리케이션을 좋아한다면"
 
 #: actions/facebookhome.php:213 actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "내 페이스북 상태에 업데이트를 위해 %s를 허용합니다."
 
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "통과! (넘어갑니다)"
 
 #: actions/facebookhome.php:235
 msgid "No notice content!"
-msgstr ""
+msgstr "게시글이 없습니다."
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "페이지수"
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
 msgid "After"
-msgstr ""
+msgstr "뒷 페이지"
 
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
 msgid "Before"
-msgstr ""
+msgstr "앞 페이지"
 
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "%s 사용을 위해 친구초대를 해주셔서 대단히 감사합니다."
 
 #: actions/facebookinvite.php:72
 msgid "Invitations have been sent to the following users:"
-msgstr ""
+msgstr "초대장이 무사히 발송되었습니다."
 
 #: actions/facebookinvite.php:96
 #, php-format
 msgid "You have been invited to %s"
-msgstr ""
+msgstr "당신은 %s에 초대되었습니다."
 
 #: actions/facebookinvite.php:105
 #, php-format
 msgid "Invite your friends to use %s"
-msgstr ""
+msgstr "%s 이용을 위해 당신이 친구를 초대하세요."
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "친구들은 이미 %s를 사용중입니다."
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "초대장을 발송합니다."
 
 #: actions/facebookremove.php:56
 msgid "Couldn't remove Facebook user."
-msgstr ""
+msgstr "페이스북 사용자를 제거할 수 없습니다."
 
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
-msgstr ""
+msgstr "당신의 싱크 설정을 저장하는데 문제가 있습니다."
 
 #: actions/facebooksettings.php:67
 msgid "Sync preferences saved."
-msgstr ""
+msgstr "싱크설정이 저장되었습니다."
 
 #: actions/facebooksettings.php:90
 msgid "Automatically update my Facebook status with my notices."
-msgstr ""
+msgstr "내 게시글과 함께 나의 페이스북 상태를 자동으로 업데이트합니다."
 
 #: actions/facebooksettings.php:97
 msgid "Send \"@\" replies to Facebook."
-msgstr ""
+msgstr "페이스북에 \"@\"답장을 보냅니다."
 
 #: actions/facebooksettings.php:106
 msgid "Prefix"
-msgstr ""
+msgstr "미리 고치기"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
@@ -3595,238 +3601,236 @@ msgstr ""
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "만약 당신이 자동업데이트를 위해  %s를 좋아한다면"
 
 #: actions/facebooksettings.php:147
 msgid "Sync preferences"
-msgstr ""
+msgstr "싱크 설정"
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "좋아하는글 취소"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
 msgid "Popular notices"
-msgstr ""
+msgstr "인기있는 게시글"
 
 #: actions/favorited.php:67
 #, php-format
 msgid "Popular notices, page %d"
-msgstr ""
+msgstr "인기있는 게시글, %d 페이지"
 
 #: actions/favorited.php:79
 msgid "The most popular notices on the site right now."
-msgstr ""
+msgstr "사이트에서 지금 가장 인기있는 게시글"
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
 msgid "Featured users"
-msgstr ""
+msgstr "인기있는 회원들"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "인기있는 회원들, %d 페이지"
 
 #: actions/featured.php:99
 #, php-format
 msgid "A selection of some of the great users on %s"
-msgstr ""
+msgstr "%s의 훌륭한 회원들의 일부선택"
 
 #: actions/finishremotesubscribe.php:188
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "이 회원은 구독으로부터 당신을 차단해왔다."
 
 #: actions/groupbyid.php:79
 msgid "No ID"
-msgstr ""
+msgstr "ID가 없습니다."
 
 #: actions/grouplogo.php:138 actions/grouplogo.php:191
 msgid "Group logo"
-msgstr ""
+msgstr "그룹로고"
 
 #: actions/grouplogo.php:149
 msgid "You can upload a logo image for your group."
-msgstr ""
+msgstr "당신그룹의 로고이미지를 업로드할 수 있습니다."
 
 #: actions/grouplogo.php:448
-#, fuzzy
 msgid "Logo updated."
-msgstr "ë¡\9cê·¸ì\95\84ì\9b\83"
+msgstr "ë¡\9c고를 ì\97\85ë\8d°ì\9d´í\8a¸í\96\88ì\8aµë\8b\88ë\8b¤."
 
 #: actions/grouplogo.php:450
 msgid "Failed updating logo."
-msgstr ""
+msgstr "로고 업데이트에 실패했습니다."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:91
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "%s 그룹 회원들"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "%s 그룹 회원들, %d 페이지"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "이 그룹의 회원리스트"
 
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "그룹"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "그룹, %d 페이지"
 
 #: actions/groups.php:90
 #, php-format
 msgid "%%%%site.name%%%% groups let you find and talk with "
-msgstr ""
+msgstr "%%%%site.name%%%% 그룹은 당신에게 얘기할 사람을 찾게해줍니다."
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
 msgid "Create a new group"
-msgstr ""
+msgstr "새 그룹을 만듭니다."
 
 #: actions/groupsearch.php:57
 #, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
-msgstr ""
+msgstr "이름과 위치, 상세설명으로 %%site.name%% 에서 그룹을 찾습니다."
 
 #: actions/groupsearch.php:63
 msgid "Group search"
-msgstr ""
+msgstr "그룹 찾기"
 
 #: actions/imsettings.php:70
 msgid "You can send and receive notices through "
-msgstr ""
+msgstr "당신은 메시지를 주고 받을 수 있습니다."
 
 #: actions/imsettings.php:120
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Jabber 혹은 GTalk(구글토크) 주소"
 
 #: actions/imsettings.php:147
 msgid "Send me replies through Jabber/GTalk "
-msgstr ""
+msgstr "Jabber/GTalk(구글토크) 을 통해 내게 답장을 보냅니다."
 
 #: actions/imsettings.php:321
 #, php-format
 msgid "A confirmation code was sent "
-msgstr ""
+msgstr "인증코드가 보내졌습니다."
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "그룹가입을 위해서는 로그인이 필요합니다."
 
 #: actions/joingroup.php:95
 msgid "You are already a member of that group"
-msgstr ""
+msgstr "당신은 이미 이 그룹의 멤버입니다."
 
 #: actions/joingroup.php:128
 #, php-format
 msgid "Could not join user %s to group %s"
-msgstr ""
+msgstr "그룹 %s에 %s는 가입할 수 없습니다."
 
 #: actions/joingroup.php:135
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s 는 그룹 %s에 가입했습니다."
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "받은쪽지함은 그룹이 일하기 위해 수신가능해야 합니다."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "그룹을 떠나기 위해서는 로그인해야 합니다."
 
 #: actions/leavegroup.php:88
 msgid "No such group."
-msgstr ""
+msgstr "그러한 그룹이 없습니다."
 
 #: actions/leavegroup.php:95
 msgid "You are not a member of that group."
-msgstr ""
+msgstr "당신은 해당 그룹의 멤버가 아닙니다."
 
 #: actions/leavegroup.php:100
 msgid "You may not leave a group while you are its administrator."
-msgstr ""
+msgstr "당신은 관리자일동안 해당 그룹을 떠나지 않는것이 좋습니다."
 
 #: actions/leavegroup.php:130
 msgid "Could not find membership record."
-msgstr ""
+msgstr "멤버십 기록을 발견할 수 없습니다."
 
 #: actions/leavegroup.php:138
 #, php-format
 msgid "Could not remove user %s to group %s"
-msgstr ""
+msgstr "그룹 %s에서 %s 사용자를 제거할 수 없습니다."
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s가 그룹%s를 떠났습니다."
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "사이트에 로그인하세요."
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "현재 상태가 없습니다."
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "새로운 그룹"
 
 #: actions/newgroup.php:115
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "새 그룹을 만들기 위해 이 양식을 사용하세요."
 
 #: actions/newgroup.php:177
 msgid "Could not create group."
-msgstr ""
+msgstr "새 그룹을 만들 수 없습니다."
 
 #: actions/newgroup.php:191
 msgid "Could not set group membership."
-msgstr ""
+msgstr "그룹 맴버십을 세팅할 수 없습니다."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
 msgid "That's too long. "
-msgstr ""
+msgstr "너무 길어요."
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "자신에게 메시지를 전송하지 말아주세요."
 
 #: actions/newnotice.php:166
 msgid "Notice posted"
-msgstr ""
+msgstr "게시글이 등록되었습니다."
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
-msgstr ""
+msgstr "Ajax 에러입니다."
 
 #: actions/nudge.php:85
 msgid ""
 "This user doesn't allow nudges or hasn't confirmed or set his email yet."
-msgstr ""
+msgstr "이 사용자는 nudge를 허용하지 않았고, 아직 그의 이메일을 인증하지 않았습니다."
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr ""
+msgstr "Nudge 가 보내졌습니다."
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr ""
+msgstr "Nudge가 보내졌습니다!"
 
 #: actions/openidlogin.php:97
-#, fuzzy
 msgid "OpenID login"
 msgstr "OpenID 로그인"
 
@@ -3836,85 +3840,82 @@ msgid "Removing your only OpenID "
 msgstr "OpenID 삭제"
 
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "ë©\94ì\8b ì \80 ì\84¤ì \95"
+msgstr "기í\83\80 ì\84¤ì \95"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "다양한 다른 옵션관리"
 
 #: actions/othersettings.php:93
 msgid "URL Auto-shortening"
-msgstr ""
+msgstr "URL 자동 줄이기"
 
 #: actions/othersettings.php:112
-#, fuzzy
 msgid "Service"
-msgstr "검색"
+msgstr "서비스"
 
 #: actions/othersettings.php:113
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "사용할 서비스 자동 줄이기 "
 
 #: actions/othersettings.php:144
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr ""
+msgstr "URL 줄이기 서비스 너무 깁니다. (최대 50글자)"
 
 #: actions/passwordsettings.php:69
 msgid "Change your password."
-msgstr ""
+msgstr "비밀번호를 변경하세요."
 
 #: actions/passwordsettings.php:89
-#, fuzzy
 msgid "Password change"
-msgstr "비밀번호"
+msgstr "비밀번호 변경"
 
 #: actions/peopletag.php:35
 #, php-format
 msgid "Not a valid people tag: %s"
-msgstr ""
+msgstr "유효한 태그가 아닙니다: %s"
 
 #: actions/peopletag.php:47
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "이용자 셀프 테크 %s - %d 페이지"
 
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "이 사람들은 그들 스스로가 \"%s\" 태그를 추가했습니다."
 
 #: actions/profilesettings.php:91
 msgid "Profile information"
-msgstr ""
+msgstr "프로필 정보"
 
 #: actions/profilesettings.php:124
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
-msgstr ""
+msgstr "당신을 위한 태그들 → (문자,숫자,-, ., 그리고_) 콤마- 혹은 공백으로 분리하세요."
 
 #: actions/profilesettings.php:144
 msgid "Automatically subscribe to whoever "
-msgstr ""
+msgstr "누구에게나 자동구독"
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
 #, php-format
 msgid "Invalid tag: \"%s\""
-msgstr ""
+msgstr "유효하지 않은태그: \"%s\""
 
 #: actions/profilesettings.php:311
 msgid "Couldn't save tags."
-msgstr ""
+msgstr "태그들을 저장할 수 없습니다."
 
 #: actions/public.php:107
 #, php-format
 msgid "Public timeline, page %d"
-msgstr ""
+msgstr "공개 타임라인, %d 페이지"
 
 #: actions/public.php:173
 msgid "Could not retrieve public stream."
-msgstr ""
+msgstr "공개 stream을 불러올 수 없습니다."
 
 #: actions/public.php:220
 #, php-format
@@ -3922,125 +3923,127 @@ msgid ""
 "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
 "blogging) service "
 msgstr ""
+"%%site.name%% 는 마이크로블로깅(http://en.wikipedia.org/wiki/Micro-blogging) 서비스 "
+"입니다."
 
 #: actions/publictagcloud.php:57
 msgid "Public tag cloud"
-msgstr ""
+msgstr "공개 태그 클라우드"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "이것은 %에서 가장 인기있는 최근 태그들입니다."
 
 #: actions/publictagcloud.php:119
 msgid "Tag cloud"
-msgstr ""
+msgstr "태그 클라우드"
 
 #: actions/register.php:139 actions/register.php:349
 msgid "Sorry, only invited people can register."
-msgstr ""
+msgstr "죄송합니다. 단지 초대된 사람들만 등록할 수 있습니다."
 
 #: actions/register.php:149
 msgid "You can't register if you don't "
-msgstr ""
+msgstr "만약 당신이 아니라면, 당신은 등록할 수 없습니다."
 
 #: actions/register.php:286
 msgid "With this form you can create "
-msgstr ""
+msgstr "당신은 이 양식으로 만들 수 있습니다."
 
 #: actions/register.php:368
 msgid "1-64 lowercase letters or numbers, "
-msgstr ""
+msgstr "1-64 소문자 혹은 숫자,"
 
 #: actions/register.php:382 actions/register.php:386
 msgid "Used only for updates, announcements, "
-msgstr ""
+msgstr "업데이트, 공지를 위해 오직 사용됩니다."
 
 #: actions/register.php:398
 msgid "URL of your homepage, blog, "
-msgstr ""
+msgstr "당신의 홈페이지, 블로그의 URL"
 
 #: actions/register.php:404
 msgid "Describe yourself and your "
-msgstr ""
+msgstr "당신에 대해 소개해주세요."
 
 #: actions/register.php:410
 msgid "Where you are, like \"City, "
-msgstr ""
+msgstr "당신이 사는곳, \"도,시,군,구,\","
 
 #: actions/register.php:432
 msgid " except this private data: password, "
-msgstr ""
+msgstr "이 비밀 데이터를 제외하세요: 비밀번호,"
 
 #: actions/register.php:471
 #, php-format
 msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. "
-msgstr ""
+msgstr "축하합니다, %s! 그리고 %%%site.name%%%%에 오신걸 환영합니다."
 
 #: actions/register.php:495
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(당신은 이메일로 메시지를 받아야 합니다."
 
 #: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
-msgstr ""
+msgstr "그것은 로컬프로필입니다. 구독을 위해서는 로긴하세요."
 
 #: actions/replies.php:118
 #, php-format
 msgid "Replies to %s, page %d"
-msgstr ""
+msgstr "%s에 답장, %d 페이지"
 
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "%s 좋아하는 게시글, %d 페이지"
 
 #: actions/showgroup.php:77 lib/groupnav.php:85
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "%s 그룹"
 
 #: actions/showgroup.php:79
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "%s 그룹, %d 페이지"
 
 #: actions/showgroup.php:206
 msgid "Group profile"
-msgstr ""
+msgstr "그룹 프로필"
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
 msgid "Note"
-msgstr ""
+msgstr "설명"
 
 #: actions/showgroup.php:270
 msgid "Group actions"
-msgstr ""
+msgstr "그룹 행동"
 
 #: actions/showgroup.php:323
 #, php-format
 msgid "Notice feed for %s group"
-msgstr ""
+msgstr "%s 그룹을 위한 공지피드"
 
 #: actions/showgroup.php:357 lib/groupnav.php:90
 msgid "Members"
-msgstr ""
+msgstr "회원들"
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(없습니다.)"
 
 #: actions/showgroup.php:370
 msgid "All members"
-msgstr ""
+msgstr "모든 회원들"
 
 #: actions/showgroup.php:378
 #, php-format
@@ -4048,47 +4051,49 @@ msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** 는 %%%%site.name%%%% [마이크로블로깅)(http://en.wikipedia.org/wiki/Micro-"
+"blogging)의 사용자 그룹입니다. "
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient "
-msgstr ""
+msgstr "오직 보내는 사람과 받는 사람"
 
 #: actions/showstream.php:73
 #, php-format
 msgid "%s, page %d"
-msgstr ""
+msgstr "%s, %d 페이지"
 
 #: actions/showstream.php:143
 msgid "'s profile"
-msgstr ""
+msgstr "'의 프로필"
 
 #: actions/showstream.php:236 actions/tagother.php:77
 msgid "User profile"
-msgstr ""
+msgstr "이용자 프로필"
 
 #: actions/showstream.php:240 actions/tagother.php:81
 msgid "Photo"
-msgstr ""
+msgstr "사진"
 
 #: actions/showstream.php:317
 msgid "User actions"
-msgstr ""
+msgstr "사용자 동작"
 
 #: actions/showstream.php:342
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "이 회원에게 다이렉트 메시지를 보냅니다."
 
 #: actions/showstream.php:343
 msgid "Message"
-msgstr ""
+msgstr "메시지"
 
 #: actions/showstream.php:451
 msgid "All subscribers"
-msgstr ""
+msgstr "모든 구독자"
 
 #: actions/showstream.php:533
 msgid "All groups"
-msgstr ""
+msgstr "모든 그룹"
 
 #: actions/showstream.php:542
 #, php-format
@@ -4096,18 +4101,20 @@ msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s**는 %%%%site.name%%%% [마이크로블로깅](http://en.wikipedia.org/wiki/Micro-"
+"blogging) 서비스에 계정을 갖고 있습니다."
 
 #: actions/smssettings.php:128
 msgid "Phone number, no punctuation or spaces, "
-msgstr ""
+msgstr "폰번호, 점이나 공백없이"
 
 #: actions/smssettings.php:162
 msgid "Send me notices through SMS; "
-msgstr ""
+msgstr "SMS를 통해 게시글을 내게 보냅니다."
 
 #: actions/smssettings.php:335
 msgid "A confirmation code was sent to the phone number you added. "
-msgstr ""
+msgstr "추가한 전화 번호로 인증 코드를 보냈습니다."
 
 #: actions/smssettings.php:453
 msgid "Mobile carrier"
@@ -4115,257 +4122,257 @@ msgstr ""
 
 #: actions/subedit.php:70
 msgid "You are not subscribed to that profile."
-msgstr ""
+msgstr "당신은 이 프로필에 구독되지 않고있습니다."
 
 #: actions/subedit.php:83
 msgid "Could not save subscription."
-msgstr ""
+msgstr "구독을 저장할 수 없습니다."
 
 #: actions/subscribe.php:55
 msgid "Not a local user."
-msgstr ""
+msgstr "로컬 사용자 아닙니다."
 
 #: actions/subscribe.php:69
 msgid "Subscribed"
-msgstr ""
+msgstr "구독하였습니다."
 
 #: actions/subscribers.php:50
 #, php-format
 msgid "%s subscribers"
-msgstr ""
+msgstr "%s 구독자"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "%s 구독자, %d 페이지"
 
 #: actions/subscribers.php:63
 msgid "These are the people who listen to "
-msgstr ""
+msgstr "듣고 있는 사람들"
 
 #: actions/subscribers.php:67
 #, php-format
 msgid "These are the people who "
-msgstr ""
+msgstr "사람들"
 
 #: actions/subscriptions.php:52
 #, php-format
 msgid "%s subscriptions"
-msgstr ""
+msgstr "%s 구독"
 
 #: actions/subscriptions.php:54
 #, php-format
 msgid "%s subscriptions, page %d"
-msgstr ""
+msgstr "%s subscriptions, %d 페이지"
 
 #: actions/subscriptions.php:65
 msgid "These are the people whose notices "
-msgstr ""
+msgstr "게시글 쓰는 사람들"
 
 #: actions/subscriptions.php:69
 #, php-format
 msgid "These are the people whose "
-msgstr ""
+msgstr "하는 사람들"
 
 #: actions/subscriptions.php:122
 msgid "Jabber"
-msgstr ""
+msgstr "Jabber"
 
 #: actions/tag.php:43
 #, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr ""
+msgstr "%s 으로 태그된 게시글, %d 페이지"
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "가장 최근에 \"%s\" 으로 태그된 메시지들"
 
 #: actions/tagother.php:33
 msgid "Not logged in"
-msgstr ""
+msgstr "로그인되지 않았습니다."
 
 #: actions/tagother.php:39
 msgid "No id argument."
-msgstr ""
+msgstr "id 인자가 없습니다."
 
 #: actions/tagother.php:65
 #, php-format
 msgid "Tag %s"
-msgstr ""
+msgstr "태그 %s"
 
 #: actions/tagother.php:141
 msgid "Tag user"
-msgstr ""
+msgstr "태그 사용자"
 
 #: actions/tagother.php:149
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
-msgstr ""
+msgstr "사용자를 위한 태그 (문자,숫자, -, . ,그리고 _), 콤마 혹은 공백으로 분리하세요."
 
 #: actions/tagother.php:164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "당신의 세션토큰관련 문제가 있습니다."
 
 #: actions/tagother.php:191
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
-msgstr ""
+msgstr "당신은 당신이 구독하거나 당신을 구독하는 사람들에 대해 오직 태깅할 수 있다. "
 
 #: actions/tagother.php:198
 msgid "Could not save tags."
-msgstr ""
+msgstr "태그를 저장할 수 없습니다."
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
-msgstr ""
+msgstr "당신의 구독자나 구독하는 사람에 태깅을 위해 이 양식을 사용하세요."
 
 #: actions/tagrss.php:35
 msgid "No such tag."
-msgstr ""
+msgstr "그러한 태그가 없습니다."
 
 #: actions/tagrss.php:66
 #, php-format
 msgid "Microblog tagged with %s"
-msgstr ""
+msgstr "마이크로블로그는  %s 으로 태그되었습니다."
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
-msgstr ""
+msgstr "사용자 차단에 실패했습니다."
 
 #: actions/twitapiblocks.php:69
 msgid "Unblock user failed."
-msgstr ""
+msgstr "사용자 차단 해제에 실패했습니다."
 
 #: actions/twitapiusers.php:48
 msgid "Not found."
-msgstr ""
+msgstr "찾을 수가 없습니다."
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
-msgstr ""
+msgstr "자동으로 보내려면 트위터 계정을 추가하십시오."
 
 #: actions/twittersettings.php:119
 msgid "Twitter user name"
-msgstr ""
+msgstr "트위터 사용자 이름"
 
 #: actions/twittersettings.php:126
 msgid "Twitter password"
-msgstr ""
+msgstr "트위터 비밀번호"
 
 #: actions/twittersettings.php:228
 msgid "Twitter Friends"
-msgstr ""
+msgstr "트위터 친구들"
 
 #: actions/twittersettings.php:327
 msgid "Username must have only numbers, "
-msgstr ""
+msgstr "Username은 단지 숫자를 가져야 합니다,"
 
 #: actions/twittersettings.php:341
 #, php-format
 msgid "Unable to retrieve account information "
-msgstr ""
+msgstr "계정정보를 불러올 수 없습니다."
 
 #: actions/unblock.php:108
 msgid "Error removing the block."
-msgstr ""
+msgstr "차단 제거 에러!"
 
 #: actions/unsubscribe.php:50
 msgid "No profile id in request."
-msgstr ""
+msgstr "요청한 프로필id가 없습니다."
 
 #: actions/unsubscribe.php:57
 msgid "No profile with that id."
-msgstr ""
+msgstr "해당 id의 프로필이 없습니다."
 
 #: actions/unsubscribe.php:71
 msgid "Unsubscribed"
-msgstr ""
+msgstr "구독취소 되었습니다."
 
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "%s 그룹"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "%s 그룹, %d 페이지"
 
 #: classes/Notice.php:104
 msgid "Problem saving notice. Unknown user."
-msgstr ""
+msgstr "게시글 저장문제. 알려지지않은 회원"
 
 #: classes/Notice.php:109
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
-msgstr ""
+msgstr "너무 많은 게시글이 너무 빠르게 올라옵니다. 한숨고르고 몇분후에 다시 포스트를 해보세요."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "이 사이트에 게시글 포스팅으로부터 당신은 금지되었습니다."
 
 #: lib/accountsettingsaction.php:108
 msgid "Upload an avatar"
-msgstr ""
+msgstr "아바타를 업로드하세요."
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
-msgstr ""
+msgstr "그 밖의 다른것"
 
 #: lib/accountsettingsaction.php:120
 msgid "Other options"
-msgstr ""
+msgstr "다른 옵션들"
 
 #: lib/action.php:130
 #, php-format
 msgid "%s - %s"
-msgstr ""
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "제목없는 페이지"
 
 #: lib/action.php:316
 msgid "Primary site navigation"
-msgstr ""
+msgstr "주 사이트 네비게이션"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "개인 프로필과 친구 타임라인"
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "프로필이나 텍스트 검색"
 
 #: lib/action.php:328
 msgid "Account"
-msgstr ""
+msgstr "계정"
 
 #: lib/action.php:328
 msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "당신의 이메일, 아바타, 비밀 번호, 프로필을 변경하세요."
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "IM, SMS, 트위터에 연결하기"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "이 사이트로부터 로그아웃"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "이 사이트 로그인"
 
 #: lib/action.php:338
 msgid "Create an account"
-msgstr ""
+msgstr "계정 만들기"
 
 #: lib/action.php:341
 msgid "Login with OpenID"
-msgstr ""
+msgstr "오픈ID로 로그인하기"
 
 #: lib/action.php:344
 #, fuzzy
@@ -4374,137 +4381,136 @@ msgstr "도움말"
 
 #: lib/action.php:362
 msgid "Site notice"
-msgstr ""
+msgstr "사이트 공지"
 
 #: lib/action.php:417
 msgid "Local views"
-msgstr ""
+msgstr "로컬 뷰"
 
 #: lib/action.php:472
 msgid "Page notice"
-msgstr ""
+msgstr "페이지 공지"
 
 #: lib/action.php:562
 msgid "Secondary site navigation"
-msgstr ""
+msgstr "보조 사이트 네비게이션"
 
 #: lib/action.php:602 lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "라코니카 소프트웨어 라이선스"
 
 #: lib/action.php:630
 msgid "All "
-msgstr ""
+msgstr "모든 것"
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "라이선스"
 
 #: lib/blockform.php:123 lib/blockform.php:153
 msgid "Block this user"
-msgstr ""
+msgstr "이 사용자 차단하기"
 
 #: lib/blockform.php:153
 msgid "Block"
-msgstr ""
+msgstr "차단하기"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "이 게시글 좋아하기 취소"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "당신이 필요한 페이스북 어플리케이션 %s의 사용을 위해서 로그인하세요."
 
 #: lib/facebookaction.php:271
 msgid " a new account."
-msgstr ""
+msgstr "새로운 계정"
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
 msgid "Published"
-msgstr ""
+msgstr "발행되었습니다."
 
 #: lib/favorform.php:114 lib/favorform.php:140
 msgid "Favor this notice"
-msgstr ""
+msgstr "이 게시글을 좋아합니다."
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "데이터 반출하기"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
-msgstr ""
+msgstr "태그 필터링하기"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "모든 것"
 
 #: lib/galleryaction.php:137
 msgid "Tag"
-msgstr ""
+msgstr "태그"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "좁은 리스트에서 태그 선택하기"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr ""
+msgstr "Go "
 
 #: lib/groupeditform.php:148
 msgid "URL of the homepage or blog of the group or topic"
-msgstr ""
+msgstr "그룹 혹은 토픽의 홈페이지나 블로그 URL"
 
 #: lib/groupeditform.php:151
 msgid "Description"
-msgstr ""
+msgstr "설명"
 
 #: lib/groupeditform.php:153
 msgid "Describe the group or topic in 140 chars"
-msgstr ""
+msgstr "140글자로 그룹이나 토픽 설명하기"
 
 #: lib/groupeditform.php:158
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr ""
+msgstr "그룹의 위치, \"시/군/구, 도, 나라\""
 
 #: lib/groupnav.php:84 lib/searchgroupnav.php:84
 msgid "Group"
-msgstr ""
+msgstr "그룹"
 
 #: lib/groupnav.php:100
 msgid "Admin"
-msgstr ""
+msgstr "관리자"
 
 #: lib/groupnav.php:101
 #, php-format
 msgid "Edit %s group properties"
-msgstr ""
+msgstr "%s 그룹 환경설정 수정하기"
 
 #: lib/groupnav.php:106
-#, fuzzy
 msgid "Logo"
-msgstr "ë¡\9cê·¸ì\95\84ì\9b\83"
+msgstr "ë¡\9cê³ "
 
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr ""
+msgstr "%s logo 추가 혹은 수정"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "가장 많은 회원수를 가진 그룹들"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "가장 많은 게시글이 있는 그룹들"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "%s 그룹 게시글의 태그"
 
 #: lib/htmloutputter.php:104
 #, fuzzy
@@ -4512,25 +4518,24 @@ msgid "This page is not available in a "
 msgstr "홈페이지 주소형식이 올바르지 않습니다."
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "로그인"
+msgstr "가입"
 
 #: lib/leaveform.php:114
 msgid "Leave"
-msgstr ""
+msgstr "떠나기"
 
 #: lib/logingroupnav.php:76
 msgid "Login with a username and password"
-msgstr ""
+msgstr "사용자 이름과 비밀번호로 로그인"
 
 #: lib/logingroupnav.php:79
 msgid "Sign up for a new account"
-msgstr ""
+msgstr "새 계정을 위한 회원가입"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "오픈ID로 로그인 혹은 회원가입"
 
 #: lib/mail.php:175
 #, php-format
@@ -4538,21 +4543,23 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"안녕, %s. \n"
+"\n"
 
 #: lib/mail.php:236
 #, php-format
 msgid "%1$s is now listening to "
-msgstr ""
+msgstr "%1$s 는 지금 듣고 있습니다."
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "위치"
+msgstr "위치: %s\n"
 
 #: lib/mail.php:256
 #, fuzzy, php-format
 msgid "Homepage: %s\n"
-msgstr "홈페이지"
+msgstr "홈페이지: %s\n"
 
 #: lib/mail.php:258
 #, php-format
@@ -4560,6 +4567,8 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"소개: %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
@@ -4578,40 +4587,40 @@ msgstr ""
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
 msgid "From"
-msgstr ""
+msgstr "로 부터"
 
 #: lib/messageform.php:110
 msgid "Send a direct notice"
-msgstr ""
+msgstr "다이렉트 메시지를 보내다."
 
 #: lib/noticeform.php:125
 msgid "Send a notice"
-msgstr ""
+msgstr "게시글을 보내다."
 
 #: lib/noticeform.php:152
 #, fuzzy
 msgid "Available characters"
-msgstr "6글자 이상"
+msgstr "가능한 글자"
 
 #: lib/noticelist.php:426
 msgid "in reply to"
-msgstr ""
+msgstr "이 게시글에 대한 답장"
 
 #: lib/noticelist.php:447 lib/noticelist.php:450
 msgid "Reply to this notice"
-msgstr ""
+msgstr "이 게시글에 대해 답장하기"
 
 #: lib/noticelist.php:451
 msgid "Reply"
-msgstr ""
+msgstr "답장하기"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
 msgid "Delete this notice"
-msgstr ""
+msgstr "이 게시글 삭제하기"
 
 #: lib/noticelist.php:474
 msgid "Delete"
-msgstr ""
+msgstr "삭제"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
@@ -4628,91 +4637,91 @@ msgstr ""
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "%s의 게시글의 태그들"
 
 #: lib/profilelist.php:182
 msgid "(none)"
-msgstr ""
+msgstr "(없습니다)"
 
 #: lib/publicgroupnav.php:76
 msgid "Public"
-msgstr ""
+msgstr "공개"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "사용자 그룹"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
 msgid "Recent tags"
-msgstr ""
+msgstr "최근 태그들"
 
 #: lib/publicgroupnav.php:86
 msgid "Featured"
-msgstr ""
+msgstr "피쳐링됨"
 
 #: lib/publicgroupnav.php:90
 msgid "Popular"
-msgstr ""
+msgstr "인기있는"
 
 #: lib/searchgroupnav.php:82
 msgid "Notice"
-msgstr ""
+msgstr "게시글"
 
 #: lib/searchgroupnav.php:85
 msgid "Find groups on this site"
-msgstr ""
+msgstr "이 사이트에서 그룹 찾기"
 
 #: lib/section.php:89
 msgid "Untitled section"
-msgstr ""
+msgstr "제목없는 섹션"
 
 #: lib/subgroupnav.php:81
 #, php-format
 msgid "People %s subscribes to"
-msgstr ""
+msgstr "%s 사람들은 구독합니다."
 
 #: lib/subgroupnav.php:89
 #, php-format
 msgid "People subscribed to %s"
-msgstr ""
+msgstr "%s에 의해 구독되는 사람들"
 
 #: lib/subgroupnav.php:97
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "%s 그릅들은  의 멤버입니다."
 
 #: lib/subgroupnav.php:104
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "%s에 친구를 가입시키기 위해 친구와 동료를 초대합니다."
 
 #: lib/subs.php:53
 msgid "User has blocked you."
-msgstr ""
+msgstr "회원이 당신을 차단해왔습니다."
 
 #: lib/subscribeform.php:115 lib/subscribeform.php:139
 msgid "Subscribe to this user"
-msgstr ""
+msgstr "이 회원을 구독합니다."
 
 #: lib/tagcloudsection.php:56
 msgid "None"
-msgstr ""
+msgstr "없습니다."
 
 #: lib/topposterssection.php:74
 msgid "Top posters"
-msgstr ""
+msgstr "상위 게시글등록자"
 
 #: lib/unblockform.php:120 lib/unblockform.php:150
 msgid "Unblock this user"
-msgstr ""
+msgstr "이 사용자를 차단해제합니다."
 
 #: lib/unblockform.php:150
 msgid "Unblock"
-msgstr ""
+msgstr "차단해제"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
-msgstr ""
+msgstr "이 사용자로부터 구독취소합니다."
 
 #~ msgid "Email address"
 #~ msgstr "이메일 주소"
index d3c1dc80974237e04ee5a877d6386b46df650da8..85b949a0896573a3f6d6326f716caa8f0dfbc4c4 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-01-25 16:24+0000\n"
+"POT-Creation-Date: 2009-03-11 09:33+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -35,17 +35,18 @@ msgid " from "
 msgstr ""
 
 #: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
-#: actions/twitapistatuses.php:347
+#: actions/twitapistatuses.php:347 actions/twitapistatuses.php:363
 #, php-format
 msgid "%1$s / Updates replying to %2$s"
 msgstr ""
 
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
+#: actions/invite.php:218
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
 msgstr ""
 
-#: ../actions/invite.php:170
+#: ../actions/invite.php:170 actions/invite.php:220
 #, php-format
 msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
@@ -77,6 +78,7 @@ msgid ""
 msgstr ""
 
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
+#: lib/mail.php:236
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
 msgstr ""
@@ -93,7 +95,7 @@ msgid ""
 msgstr ""
 
 #: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
-#: actions/twitapistatuses.php:350
+#: actions/twitapistatuses.php:350 actions/twitapistatuses.php:367
 #, php-format
 msgid "%1$s updates that reply to updates from %2$s / %3$s."
 msgstr ""
@@ -121,47 +123,49 @@ msgstr ""
 #: actions/allrss.php:60 actions/twitapistatuses.php:155 lib/personal.php:51
 #: actions/all.php:65 actions/allrss.php:103 actions/facebookhome.php:164
 #: actions/twitapistatuses.php:126 lib/personalgroupnav.php:99
+#: actions/all.php:68 actions/all.php:114 actions/allrss.php:106
+#: actions/facebookhome.php:163 actions/twitapistatuses.php:130
 #, php-format
 msgid "%s and friends"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:49 actions/twitapistatuses.php:49
-#: actions/twitapistatuses.php:33
+#: actions/twitapistatuses.php:33 actions/twitapistatuses.php:32
 #, php-format
 msgid "%s public timeline"
 msgstr ""
 
-#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
+#: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411 lib/mail.php:412
 #, php-format
 msgid "%s status"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
-#: actions/twitapistatuses.php:199
+#: actions/twitapistatuses.php:199 actions/twitapistatuses.php:209
 #, php-format
 msgid "%s timeline"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
-#: actions/twitapistatuses.php:36
+#: actions/twitapistatuses.php:36 actions/twitapistatuses.php:38
 #, php-format
 msgid "%s updates from everyone!"
 msgstr ""
 
-#: ../actions/register.php:213
+#: ../actions/register.php:213 actions/register.php:497
 msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
 msgstr ""
 
-#: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
+#: ../lib/util.php:257 lib/util.php:273 lib/action.php:605 lib/action.php:702
 #, php-format
 msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
 
-#: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
+#: ../lib/util.php:259 lib/util.php:275 lib/action.php:607 lib/action.php:704
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
 msgstr ""
@@ -178,6 +182,7 @@ msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
 msgstr ""
 
 #: ../actions/register.php:152 actions/register.php:166
+#: actions/register.php:368
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
 msgstr ""
 
@@ -197,6 +202,7 @@ msgid "6 or more characters. Required."
 msgstr ""
 
 #: ../actions/imsettings.php:197 actions/imsettings.php:205
+#: actions/imsettings.php:321
 #, php-format
 msgid ""
 "A confirmation code was sent to the IM address you added. You must approve %"
@@ -204,6 +210,7 @@ msgid ""
 msgstr ""
 
 #: ../actions/emailsettings.php:213 actions/emailsettings.php:231
+#: actions/emailsettings.php:350
 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."
@@ -233,7 +240,12 @@ msgstr ""
 #: actions/twitapistatuses.php:147 actions/twitapistatuses.php:228
 #: actions/twitapistatuses.php:239 actions/twitapistatuses.php:392
 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
-#: actions/twitapiusers.php:32
+#: actions/twitapiusers.php:32 actions/twitapidirect_messages.php:120
+#: actions/twitapifavorites.php:91 actions/twitapifavorites.php:108
+#: actions/twitapistatuses.php:82 actions/twitapistatuses.php:159
+#: actions/twitapistatuses.php:246 actions/twitapistatuses.php:257
+#: actions/twitapistatuses.php:416 actions/twitapistatuses.php:426
+#: actions/twitapistatuses.php:453
 msgid "API method not found!"
 msgstr ""
 
@@ -256,11 +268,14 @@ msgstr ""
 #: actions/twitapidirect_messages.php:184 actions/twitapifavorites.php:143
 #: actions/twitapihelp.php:52 actions/twitapilaconica.php:172
 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
-#: actions/twitapistatuses.php:562
+#: actions/twitapistatuses.php:562 actions/twitapiaccount.php:46
+#: actions/twitapiaccount.php:98 actions/twitapiaccount.php:104
+#: actions/twitapidirect_messages.php:193 actions/twitapifavorites.php:149
+#: actions/twitapistatuses.php:625 actions/twitapitrends.php:87
 msgid "API method under construction."
 msgstr ""
 
-#: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
+#: ../lib/util.php:324 lib/util.php:340 lib/action.php:568 lib/action.php:661
 msgid "About"
 msgstr ""
 
@@ -276,6 +291,7 @@ msgstr ""
 #: actions/twittersettings.php:85 actions/emailsettings.php:120
 #: actions/imsettings.php:127 actions/openidsettings.php:111
 #: actions/smssettings.php:133 actions/twittersettings.php:163
+#: actions/twittersettings.php:166
 msgid "Add"
 msgstr ""
 
@@ -298,6 +314,7 @@ msgid "Address"
 msgstr ""
 
 #: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
+#: actions/invite.php:181
 msgid "Addresses of friends to invite (one per line)"
 msgstr ""
 
@@ -332,7 +349,7 @@ msgid "Already subscribed!."
 msgstr ""
 
 #: ../actions/deletenotice.php:54 actions/deletenotice.php:55
-#: actions/deletenotice.php:113
+#: actions/deletenotice.php:113 actions/deletenotice.php:114
 msgid "Are you sure you want to delete this notice?"
 msgstr ""
 
@@ -342,11 +359,13 @@ msgid "Authorize subscription"
 msgstr ""
 
 #: ../actions/login.php:104 ../actions/register.php:178
-#: actions/register.php:192
+#: actions/register.php:192 actions/login.php:218 actions/openidlogin.php:117
+#: actions/register.php:416
 msgid "Automatically login in the future; not for shared computers!"
 msgstr ""
 
 #: ../actions/profilesettings.php:65 actions/profilesettings.php:98
+#: actions/profilesettings.php:144
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
@@ -354,15 +373,17 @@ msgstr ""
 #: ../actions/avatar.php:32 ../lib/settingsaction.php:90
 #: actions/profilesettings.php:34 actions/avatarsettings.php:65
 #: actions/showgroup.php:209 lib/accountsettingsaction.php:107
+#: actions/avatarsettings.php:67 actions/showgroup.php:211
 msgid "Avatar"
 msgstr ""
 
 #: ../actions/avatar.php:113 actions/profilesettings.php:350
-#: actions/avatarsettings.php:395
+#: actions/avatarsettings.php:395 actions/avatarsettings.php:346
 msgid "Avatar updated."
 msgstr ""
 
 #: ../actions/imsettings.php:55 actions/imsettings.php:56
+#: actions/imsettings.php:108
 #, php-format
 msgid ""
 "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
@@ -370,6 +391,7 @@ msgid ""
 msgstr ""
 
 #: ../actions/emailsettings.php:54 actions/emailsettings.php:55
+#: actions/emailsettings.php:107
 msgid ""
 "Awaiting confirmation on this address. Check your inbox (and spam box!) for "
 "a message with further instructions."
@@ -394,7 +416,7 @@ msgstr ""
 #: ../actions/updateprofile.php:103 actions/profilesettings.php:216
 #: actions/register.php:89 actions/updateprofile.php:104
 #: actions/profilesettings.php:205 actions/register.php:174
-#: actions/updateprofile.php:107
+#: actions/updateprofile.php:107 actions/updateprofile.php:109
 msgid "Bio is too long (max 140 chars)."
 msgstr ""
 
@@ -403,7 +425,7 @@ msgid "Can't delete this notice."
 msgstr ""
 
 #: ../actions/updateprofile.php:119 actions/updateprofile.php:120
-#: actions/updateprofile.php:123
+#: actions/updateprofile.php:123 actions/updateprofile.php:125
 #, php-format
 msgid "Can't read avatar URL '%s'"
 msgstr ""
@@ -411,6 +433,7 @@ msgstr ""
 #: ../actions/password.php:85 ../actions/recoverpassword.php:300
 #: actions/profilesettings.php:404 actions/recoverpassword.php:313
 #: actions/passwordsettings.php:169 actions/recoverpassword.php:347
+#: actions/passwordsettings.php:174
 msgid "Can't save new password."
 msgstr ""
 
@@ -423,6 +446,7 @@ msgid "Cancel"
 msgstr ""
 
 #: ../lib/openid.php:121 lib/openid.php:121 lib/openid.php:130
+#: lib/openid.php:133
 msgid "Cannot instantiate OpenID consumer object."
 msgstr ""
 
@@ -432,7 +456,7 @@ msgid "Cannot normalize that Jabber ID"
 msgstr ""
 
 #: ../actions/emailsettings.php:181 actions/emailsettings.php:199
-#: actions/emailsettings.php:311
+#: actions/emailsettings.php:311 actions/emailsettings.php:318
 msgid "Cannot normalize that email address"
 msgstr ""
 
@@ -478,7 +502,7 @@ msgstr ""
 #: ../actions/smssettings.php:245 actions/emailsettings.php:256
 #: actions/imsettings.php:230 actions/smssettings.php:253
 #: actions/emailsettings.php:379 actions/imsettings.php:361
-#: actions/smssettings.php:374
+#: actions/smssettings.php:374 actions/emailsettings.php:386
 msgid "Confirmation cancelled."
 msgstr ""
 
@@ -492,7 +516,7 @@ msgstr ""
 msgid "Confirmation code not found."
 msgstr ""
 
-#: ../actions/register.php:202
+#: ../actions/register.php:202 actions/register.php:473
 #, php-format
 msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
@@ -512,7 +536,8 @@ msgid ""
 msgstr ""
 
 #: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
-#: actions/finishopenidlogin.php:119 lib/action.php:330
+#: actions/finishopenidlogin.php:119 lib/action.php:330 lib/action.php:403
+#: lib/action.php:406
 msgid "Connect"
 msgstr ""
 
@@ -521,11 +546,12 @@ msgstr ""
 msgid "Connect existing account"
 msgstr ""
 
-#: ../lib/util.php:332 lib/util.php:348 lib/action.php:576
+#: ../lib/util.php:332 lib/util.php:348 lib/action.php:576 lib/action.php:669
 msgid "Contact"
 msgstr ""
 
 #: ../lib/openid.php:178 lib/openid.php:178 lib/openid.php:187
+#: lib/openid.php:190
 #, php-format
 msgid "Could not create OpenID form: %s"
 msgstr ""
@@ -543,17 +569,18 @@ msgid "Could not follow user: User not found."
 msgstr ""
 
 #: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
+#: lib/openid.php:172
 #, php-format
 msgid "Could not redirect to server: %s"
 msgstr ""
 
 #: ../actions/updateprofile.php:162 actions/updateprofile.php:163
-#: actions/updateprofile.php:166
+#: actions/updateprofile.php:166 actions/updateprofile.php:176
 msgid "Could not save avatar info"
 msgstr ""
 
 #: ../actions/updateprofile.php:155 actions/updateprofile.php:156
-#: actions/updateprofile.php:159
+#: actions/updateprofile.php:159 actions/updateprofile.php:163
 msgid "Could not save new profile info"
 msgstr ""
 
@@ -581,6 +608,7 @@ msgstr ""
 #: actions/imsettings.php:226 actions/smssettings.php:249
 #: actions/confirmaddress.php:126 actions/emailsettings.php:375
 #: actions/imsettings.php:357 actions/smssettings.php:370
+#: actions/emailsettings.php:382
 msgid "Couldn't delete email confirmation."
 msgstr ""
 
@@ -589,7 +617,7 @@ msgid "Couldn't delete subscription."
 msgstr ""
 
 #: ../actions/twitapistatuses.php:93 actions/twitapistatuses.php:98
-#: actions/twitapistatuses.php:84
+#: actions/twitapistatuses.php:84 actions/twitapistatuses.php:87
 msgid "Couldn't find any statuses."
 msgstr ""
 
@@ -602,7 +630,7 @@ msgstr ""
 #: ../actions/smssettings.php:206 actions/emailsettings.php:223
 #: actions/imsettings.php:195 actions/smssettings.php:214
 #: actions/emailsettings.php:337 actions/imsettings.php:311
-#: actions/smssettings.php:325
+#: actions/smssettings.php:325 actions/emailsettings.php:344
 msgid "Couldn't insert confirmation code."
 msgstr ""
 
@@ -614,6 +642,7 @@ msgstr ""
 #: ../actions/profilesettings.php:184 ../actions/twitapiaccount.php:96
 #: actions/profilesettings.php:299 actions/twitapiaccount.php:94
 #: actions/profilesettings.php:302 actions/twitapiaccount.php:81
+#: actions/twitapiaccount.php:82
 msgid "Couldn't save profile."
 msgstr ""
 
@@ -625,6 +654,8 @@ msgstr ""
 #: ../actions/emailsettings.php:280 ../actions/emailsettings.php:294
 #: actions/emailsettings.php:298 actions/emailsettings.php:312
 #: actions/emailsettings.php:440 actions/emailsettings.php:462
+#: actions/emailsettings.php:447 actions/emailsettings.php:469
+#: actions/smssettings.php:515 actions/smssettings.php:539
 msgid "Couldn't update user record."
 msgstr ""
 
@@ -640,7 +671,8 @@ msgstr ""
 #: actions/emailsettings.php:411 actions/imsettings.php:252
 #: actions/imsettings.php:395 actions/othersettings.php:162
 #: actions/profilesettings.php:259 actions/smssettings.php:266
-#: actions/smssettings.php:408
+#: actions/smssettings.php:408 actions/emailsettings.php:287
+#: actions/emailsettings.php:418
 msgid "Couldn't update user."
 msgstr ""
 
@@ -684,23 +716,25 @@ msgid "Currently"
 msgstr ""
 
 #: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
+#: classes/Notice.php:114
 #, php-format
 msgid "DB error inserting hashtag: %s"
 msgstr ""
 
 #: ../lib/util.php:1061 lib/util.php:1110 classes/Notice.php:698
+#: classes/Notice.php:757
 #, php-format
 msgid "DB error inserting reply: %s"
 msgstr ""
 
 #: ../actions/deletenotice.php:41 actions/deletenotice.php:41
-#: actions/deletenotice.php:79
+#: actions/deletenotice.php:79 actions/deletenotice.php:111
 msgid "Delete notice"
 msgstr ""
 
 #: ../actions/profilesettings.php:51 ../actions/register.php:172
 #: actions/profilesettings.php:84 actions/register.php:186
-#: actions/profilesettings.php:114
+#: actions/profilesettings.php:114 actions/register.php:404
 msgid "Describe yourself and your interests in 140 chars"
 msgstr ""
 
@@ -735,6 +769,7 @@ msgid "Email address, like \"UserName@example.org\""
 msgstr ""
 
 #: ../actions/invite.php:129 actions/invite.php:137 actions/invite.php:174
+#: actions/invite.php:179
 msgid "Email addresses"
 msgstr ""
 
@@ -754,7 +789,7 @@ msgid "Error authorizing token"
 msgstr ""
 
 #: ../actions/finishopenidlogin.php:253 actions/finishopenidlogin.php:259
-#: actions/finishopenidlogin.php:297
+#: actions/finishopenidlogin.php:297 actions/finishopenidlogin.php:302
 msgid "Error connecting user to OpenID."
 msgstr ""
 
@@ -789,15 +824,17 @@ msgid "Error saving remote profile"
 msgstr ""
 
 #: ../lib/openid.php:226 lib/openid.php:226 lib/openid.php:235
+#: lib/openid.php:238
 msgid "Error saving the profile."
 msgstr ""
 
 #: ../lib/openid.php:237 lib/openid.php:237 lib/openid.php:246
+#: lib/openid.php:249
 msgid "Error saving the user."
 msgstr ""
 
 #: ../actions/password.php:80 actions/profilesettings.php:399
-#: actions/passwordsettings.php:164
+#: actions/passwordsettings.php:164 actions/passwordsettings.php:169
 msgid "Error saving user; invalid."
 msgstr ""
 
@@ -806,6 +843,7 @@ msgstr ""
 #: actions/login.php:47 actions/login.php:73 actions/recoverpassword.php:320
 #: actions/register.php:108 actions/login.php:112 actions/login.php:138
 #: actions/recoverpassword.php:354 actions/register.php:198
+#: actions/login.php:120
 msgid "Error setting user."
 msgstr ""
 
@@ -829,29 +867,31 @@ msgstr ""
 msgid "Existing nickname"
 msgstr ""
 
-#: ../lib/util.php:326 lib/util.php:342 lib/action.php:570
+#: ../lib/util.php:326 lib/util.php:342 lib/action.php:570 lib/action.php:663
 msgid "FAQ"
 msgstr ""
 
 #: ../actions/avatar.php:115 actions/profilesettings.php:352
-#: actions/avatarsettings.php:397
+#: actions/avatarsettings.php:397 actions/avatarsettings.php:349
 msgid "Failed updating avatar."
 msgstr ""
 
 #: ../actions/all.php:61 ../actions/allrss.php:64 actions/all.php:61
 #: actions/allrss.php:64 actions/all.php:75 actions/allrss.php:107
+#: actions/allrss.php:110
 #, php-format
 msgid "Feed for friends of %s"
 msgstr ""
 
 #: ../actions/replies.php:65 ../actions/repliesrss.php:80
 #: actions/replies.php:65 actions/repliesrss.php:66 actions/replies.php:134
-#: actions/repliesrss.php:71
+#: actions/repliesrss.php:71 actions/replies.php:136
 #, php-format
 msgid "Feed for replies to %s"
 msgstr ""
 
 #: ../actions/tag.php:55 actions/tag.php:55 actions/tag.php:61
+#: actions/tag.php:68
 #, php-format
 msgid "Feed for tag %s"
 msgstr ""
@@ -866,7 +906,7 @@ msgstr ""
 msgid "Find people on this site"
 msgstr ""
 
-#: ../actions/login.php:122
+#: ../actions/login.php:122 actions/login.php:247
 msgid ""
 "For security reasons, please re-enter your user name and password before "
 "changing your settings."
@@ -877,6 +917,8 @@ msgstr ""
 #: actions/profilesettings.php:103 actions/register.php:391
 #: actions/showgroup.php:235 actions/showstream.php:262
 #: actions/tagother.php:105 lib/groupeditform.php:142
+#: actions/showgroup.php:237 actions/showstream.php:255
+#: actions/tagother.php:104
 msgid "Full name"
 msgstr ""
 
@@ -885,16 +927,17 @@ msgstr ""
 #: actions/register.php:86 actions/updateprofile.php:94
 #: actions/editgroup.php:195 actions/newgroup.php:146
 #: actions/profilesettings.php:202 actions/register.php:171
-#: actions/updateprofile.php:97
+#: actions/updateprofile.php:97 actions/updateprofile.php:99
 msgid "Full name is too long (max 255 chars)."
 msgstr ""
 
 #: ../lib/util.php:322 lib/util.php:338 lib/action.php:344 lib/action.php:566
+#: lib/action.php:421 lib/action.php:659
 msgid "Help"
 msgstr ""
 
 #: ../lib/util.php:298 lib/util.php:314 lib/action.php:322
-#: lib/facebookaction.php:200
+#: lib/facebookaction.php:200 lib/action.php:393 lib/facebookaction.php:213
 msgid "Home"
 msgstr ""
 
@@ -913,7 +956,7 @@ msgid "Homepage is not a valid URL."
 msgstr ""
 
 #: ../actions/emailsettings.php:91 actions/emailsettings.php:98
-#: actions/emailsettings.php:173
+#: actions/emailsettings.php:173 actions/emailsettings.php:178
 msgid "I want to post notices by email."
 msgstr ""
 
@@ -939,13 +982,13 @@ msgid ""
 "connect it to your OpenID."
 msgstr ""
 
-#: ../actions/openidsettings.php:45
+#: ../actions/openidsettings.php:45 actions/openidsettings.php:96
 msgid ""
 "If you want to add an OpenID to your account, enter it in the box below and "
 "click \"Add\"."
 msgstr ""
 
-#: ../actions/recoverpassword.php:137
+#: ../actions/recoverpassword.php:137 actions/recoverpassword.php:152
 msgid ""
 "If you've forgotten or lost your password, you can get a new one sent to the "
 "email address you have stored  in your account."
@@ -958,28 +1001,29 @@ msgid "Incoming email"
 msgstr ""
 
 #: ../actions/emailsettings.php:283 actions/emailsettings.php:301
-#: actions/emailsettings.php:443
+#: actions/emailsettings.php:443 actions/emailsettings.php:450
+#: actions/smssettings.php:518
 msgid "Incoming email address removed."
 msgstr ""
 
 #: ../actions/password.php:69 actions/profilesettings.php:388
-#: actions/passwordsettings.php:153
+#: actions/passwordsettings.php:153 actions/passwordsettings.php:158
 msgid "Incorrect old password"
 msgstr ""
 
 #: ../actions/login.php:67 actions/login.php:67 actions/facebookhome.php:131
-#: actions/login.php:132
+#: actions/login.php:132 actions/facebookhome.php:130 actions/login.php:114
 msgid "Incorrect username or password."
 msgstr ""
 
-#: ../actions/recoverpassword.php:265
+#: ../actions/recoverpassword.php:265 actions/recoverpassword.php:304
 msgid ""
 "Instructions for recovering your password have been sent to the email "
 "address registered to your account."
 msgstr ""
 
 #: ../actions/updateprofile.php:114 actions/updateprofile.php:115
-#: actions/updateprofile.php:118
+#: actions/updateprofile.php:118 actions/updateprofile.php:120
 #, php-format
 msgid "Invalid avatar URL '%s'"
 msgstr ""
@@ -990,13 +1034,13 @@ msgid "Invalid email address: %s"
 msgstr ""
 
 #: ../actions/updateprofile.php:98 actions/updateprofile.php:99
-#: actions/updateprofile.php:102
+#: actions/updateprofile.php:102 actions/updateprofile.php:104
 #, php-format
 msgid "Invalid homepage '%s'"
 msgstr ""
 
 #: ../actions/updateprofile.php:82 actions/updateprofile.php:83
-#: actions/updateprofile.php:86
+#: actions/updateprofile.php:86 actions/updateprofile.php:88
 #, php-format
 msgid "Invalid license URL '%s'"
 msgstr ""
@@ -1017,7 +1061,7 @@ msgid "Invalid notice url"
 msgstr ""
 
 #: ../actions/updateprofile.php:87 actions/updateprofile.php:88
-#: actions/updateprofile.php:91
+#: actions/updateprofile.php:91 actions/updateprofile.php:93
 #, php-format
 msgid "Invalid profile URL '%s'."
 msgstr ""
@@ -1041,7 +1085,7 @@ msgstr ""
 #: ../actions/register.php:111 actions/finishopenidlogin.php:241
 #: actions/register.php:103 actions/register.php:121
 #: actions/finishopenidlogin.php:279 actions/register.php:193
-#: actions/register.php:211
+#: actions/register.php:211 actions/finishopenidlogin.php:284
 msgid "Invalid username or password."
 msgstr ""
 
@@ -1054,7 +1098,7 @@ msgid "Invitation(s) sent to the following people:"
 msgstr ""
 
 #: ../lib/util.php:306 lib/util.php:322 lib/facebookaction.php:207
-#: lib/subgroupnav.php:103
+#: lib/subgroupnav.php:103 lib/facebookaction.php:220
 msgid "Invite"
 msgstr ""
 
@@ -1062,7 +1106,7 @@ msgstr ""
 msgid "Invite new users"
 msgstr ""
 
-#: ../lib/util.php:261 lib/util.php:277 lib/action.php:609
+#: ../lib/util.php:261 lib/util.php:277 lib/action.php:609 lib/action.php:706
 #, php-format
 msgid ""
 "It runs the [Laconica](http://laconi.ca/) microblogging software, version %"
@@ -1076,6 +1120,7 @@ msgid "Jabber ID already belongs to another user."
 msgstr ""
 
 #: ../actions/imsettings.php:62 actions/imsettings.php:63
+#: actions/imsettings.php:120
 #, php-format
 msgid ""
 "Jabber or GTalk address, like \"UserName@example.org\". First, make sure to "
@@ -1097,7 +1142,8 @@ msgstr ""
 #: actions/profilesettings.php:117 actions/register.php:408
 #: actions/showgroup.php:244 actions/showstream.php:271
 #: actions/tagother.php:113 lib/groupeditform.php:156 lib/grouplist.php:126
-#: lib/profilelist.php:125
+#: lib/profilelist.php:125 actions/showgroup.php:246
+#: actions/showstream.php:264 actions/tagother.php:112 lib/profilelist.php:123
 msgid "Location"
 msgstr ""
 
@@ -1106,7 +1152,7 @@ msgstr ""
 #: actions/register.php:92 actions/updateprofile.php:109
 #: actions/editgroup.php:201 actions/newgroup.php:152
 #: actions/profilesettings.php:208 actions/register.php:177
-#: actions/updateprofile.php:112
+#: actions/updateprofile.php:112 actions/updateprofile.php:114
 msgid "Location is too long (max 255 chars)."
 msgstr ""
 
@@ -1115,18 +1161,20 @@ msgstr ""
 #: actions/login.php:106 actions/openidlogin.php:77 lib/util.php:326
 #: actions/facebooklogin.php:93 actions/login.php:186 actions/login.php:239
 #: actions/openidlogin.php:112 lib/action.php:335 lib/facebookaction.php:288
-#: lib/facebookaction.php:315 lib/logingroupnav.php:75
+#: lib/facebookaction.php:315 lib/logingroupnav.php:75 actions/login.php:169
+#: actions/login.php:222 actions/openidlogin.php:121 lib/action.php:412
+#: lib/facebookaction.php:293 lib/facebookaction.php:319
 #, php-format
 msgid "Login"
 msgstr ""
 
 #: ../actions/openidlogin.php:44 actions/openidlogin.php:52
-#: actions/openidlogin.php:62
+#: actions/openidlogin.php:62 actions/openidlogin.php:70
 #, php-format
 msgid "Login with an [OpenID](%%doc.openid%%) account."
 msgstr ""
 
-#: ../actions/login.php:126
+#: ../actions/login.php:126 actions/login.php:251
 #, php-format
 msgid ""
 "Login with your username and password. Don't have a username yet? [Register]"
@@ -1134,7 +1182,7 @@ msgid ""
 "%). "
 msgstr ""
 
-#: ../lib/util.php:308 lib/util.php:324 lib/action.php:332
+#: ../lib/util.php:308 lib/util.php:324 lib/action.php:332 lib/action.php:409
 msgid "Logout"
 msgstr ""
 
@@ -1144,12 +1192,13 @@ msgid "Longer name, preferably your \"real\" name"
 msgstr ""
 
 #: ../actions/login.php:110 actions/login.php:110 actions/login.php:245
-#: lib/facebookaction.php:320
+#: lib/facebookaction.php:320 actions/login.php:228 lib/facebookaction.php:325
 msgid "Lost or forgotten password?"
 msgstr ""
 
 #: ../actions/emailsettings.php:80 ../actions/smssettings.php:89
 #: actions/emailsettings.php:81 actions/smssettings.php:89
+#: actions/emailsettings.php:139 actions/smssettings.php:150
 msgid "Make a new email address for posting to; cancels the old one."
 msgstr ""
 
@@ -1169,7 +1218,7 @@ msgstr ""
 msgid "Microblog by %s"
 msgstr ""
 
-#: ../actions/smssettings.php:304
+#: ../actions/smssettings.php:304 actions/smssettings.php:464
 #, php-format
 msgid ""
 "Mobile carrier for your phone. If you know a carrier that accepts SMS over "
@@ -1179,6 +1228,7 @@ msgstr ""
 #: ../actions/finishopenidlogin.php:79 ../actions/register.php:188
 #: actions/finishopenidlogin.php:85 actions/register.php:202
 #: actions/finishopenidlogin.php:107 actions/register.php:429
+#: actions/register.php:430
 msgid "My text and files are available under "
 msgstr ""
 
@@ -1194,7 +1244,8 @@ msgid "New email address for posting to %s"
 msgstr ""
 
 #: ../actions/emailsettings.php:297 actions/emailsettings.php:315
-#: actions/emailsettings.php:465
+#: actions/emailsettings.php:465 actions/emailsettings.php:472
+#: actions/smssettings.php:542
 msgid "New incoming email address added."
 msgstr ""
 
@@ -1214,7 +1265,7 @@ msgstr ""
 msgid "New password"
 msgstr ""
 
-#: ../actions/recoverpassword.php:314
+#: ../actions/recoverpassword.php:314 actions/recoverpassword.php:361
 msgid "New password successfully saved. You are now logged in."
 msgstr ""
 
@@ -1224,7 +1275,9 @@ msgstr ""
 #: actions/login.php:228 actions/profilesettings.php:98
 #: actions/register.php:367 actions/showgroup.php:224
 #: actions/showstream.php:251 actions/tagother.php:95
-#: lib/facebookaction.php:308 lib/groupeditform.php:137
+#: lib/facebookaction.php:308 lib/groupeditform.php:137 actions/login.php:211
+#: actions/showgroup.php:226 actions/showstream.php:244
+#: actions/tagother.php:94 lib/facebookaction.php:312
 msgid "Nickname"
 msgstr ""
 
@@ -1242,7 +1295,9 @@ msgstr ""
 #: actions/finishopenidlogin.php:171 actions/profilesettings.php:203
 #: actions/register.php:74 actions/updateprofile.php:78
 #: actions/finishopenidlogin.php:205 actions/profilesettings.php:192
-#: actions/updateprofile.php:81
+#: actions/updateprofile.php:81 actions/editgroup.php:179
+#: actions/newgroup.php:130 actions/register.php:156
+#: actions/updateprofile.php:83
 msgid "Nickname must have only lowercase letters and numbers and no spaces."
 msgstr ""
 
@@ -1263,6 +1318,7 @@ msgstr ""
 
 #: ../actions/deletenotice.php:59 actions/deletenotice.php:60
 #: actions/block.php:147 actions/deletenotice.php:118
+#: actions/deletenotice.php:116
 msgid "No"
 msgstr ""
 
@@ -1294,11 +1350,12 @@ msgstr ""
 #: ../actions/newnotice.php:44 actions/newmessage.php:53
 #: actions/newnotice.php:44 classes/Command.php:197 actions/newmessage.php:109
 #: actions/newnotice.php:126 classes/Command.php:223
+#: actions/newmessage.php:142 actions/newnotice.php:131 lib/command.php:223
 msgid "No content!"
 msgstr ""
 
 #: ../actions/emailsettings.php:174 actions/emailsettings.php:192
-#: actions/emailsettings.php:304
+#: actions/emailsettings.php:304 actions/emailsettings.php:311
 msgid "No email address."
 msgstr ""
 
@@ -1307,7 +1364,8 @@ msgid "No id."
 msgstr ""
 
 #: ../actions/emailsettings.php:271 actions/emailsettings.php:289
-#: actions/emailsettings.php:430
+#: actions/emailsettings.php:430 actions/emailsettings.php:437
+#: actions/smssettings.php:505
 msgid "No incoming email address."
 msgstr ""
 
@@ -1325,7 +1383,7 @@ msgstr ""
 #: ../actions/smssettings.php:229 actions/emailsettings.php:240
 #: actions/imsettings.php:214 actions/smssettings.php:237
 #: actions/emailsettings.php:363 actions/imsettings.php:345
-#: actions/smssettings.php:358
+#: actions/smssettings.php:358 actions/emailsettings.php:370
 msgid "No pending confirmation to cancel."
 msgstr ""
 
@@ -1352,7 +1410,7 @@ msgstr ""
 #: ../actions/noticesearch.php:64 ../actions/peoplesearch.php:64
 #: actions/noticesearch.php:69 actions/peoplesearch.php:69
 #: actions/groupsearch.php:81 actions/noticesearch.php:104
-#: actions/peoplesearch.php:85
+#: actions/peoplesearch.php:85 actions/noticesearch.php:117
 msgid "No results"
 msgstr ""
 
@@ -1363,12 +1421,13 @@ msgstr ""
 
 #: ../actions/twitapistatuses.php:595 actions/twitapifavorites.php:136
 #: actions/twitapistatuses.php:520 actions/twitapifavorites.php:112
-#: actions/twitapistatuses.php:446
+#: actions/twitapistatuses.php:446 actions/twitapifavorites.php:118
+#: actions/twitapistatuses.php:470
 msgid "No status found with that ID."
 msgstr ""
 
 #: ../actions/twitapistatuses.php:555 actions/twitapistatuses.php:478
-#: actions/twitapistatuses.php:418
+#: actions/twitapistatuses.php:418 actions/twitapistatuses.php:442
 msgid "No status with that ID found."
 msgstr ""
 
@@ -1422,7 +1481,9 @@ msgstr ""
 #: actions/usergroups.php:92 actions/userrss.php:38 actions/xrds.php:73
 #: classes/Command.php:140 classes/Command.php:185 classes/Command.php:234
 #: classes/Command.php:271 lib/galleryaction.php:60 lib/mailbox.php:82
-#: lib/subs.php:34 lib/subs.php:109
+#: lib/subs.php:34 lib/subs.php:109 actions/all.php:56 actions/allrss.php:68
+#: actions/favoritesrss.php:74 lib/command.php:140 lib/command.php:185
+#: lib/command.php:234 lib/command.php:271 lib/mailbox.php:84
 msgid "No such user."
 msgstr ""
 
@@ -1448,7 +1509,8 @@ msgstr ""
 #: ../lib/twitterapi.php:226 ../lib/twitterapi.php:247
 #: ../lib/twitterapi.php:332 lib/twitterapi.php:391 lib/twitterapi.php:418
 #: lib/twitterapi.php:502 lib/twitterapi.php:448 lib/twitterapi.php:476
-#: lib/twitterapi.php:566
+#: lib/twitterapi.php:566 lib/twitterapi.php:483 lib/twitterapi.php:511
+#: lib/twitterapi.php:601
 msgid "Not a supported data format."
 msgstr ""
 
@@ -1458,11 +1520,12 @@ msgid "Not a valid Jabber ID"
 msgstr ""
 
 #: ../lib/openid.php:131 lib/openid.php:131 lib/openid.php:140
+#: lib/openid.php:143
 msgid "Not a valid OpenID."
 msgstr ""
 
 #: ../actions/emailsettings.php:185 actions/emailsettings.php:203
-#: actions/emailsettings.php:315
+#: actions/emailsettings.php:315 actions/emailsettings.php:322
 msgid "Not a valid email address"
 msgstr ""
 
@@ -1493,7 +1556,7 @@ msgid "Not a valid profile URL (no YADIS document)."
 msgstr ""
 
 #: ../actions/avatar.php:95 actions/profilesettings.php:332
-#: lib/imagefile.php:87
+#: lib/imagefile.php:87 lib/imagefile.php:90
 msgid "Not an image or corrupt file."
 msgstr ""
 
@@ -1508,7 +1571,7 @@ msgid "Not expecting this response!"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:422 actions/twitapistatuses.php:361
-#: actions/twitapistatuses.php:309
+#: actions/twitapistatuses.php:309 actions/twitapistatuses.php:327
 msgid "Not found"
 msgstr ""
 
@@ -1524,7 +1587,7 @@ msgstr ""
 #: actions/newmessage.php:83 actions/newnotice.php:90 actions/nudge.php:63
 #: actions/subedit.php:31 actions/subscribe.php:30 actions/unblock.php:60
 #: actions/unsubscribe.php:27 lib/deleteaction.php:66
-#: lib/settingsaction.php:72
+#: lib/settingsaction.php:72 actions/newmessage.php:87
 msgid "Not logged in."
 msgstr ""
 
@@ -1551,12 +1614,12 @@ msgstr ""
 
 #: ../actions/showstream.php:316 actions/showstream.php:331
 #: actions/showstream.php:504 lib/facebookaction.php:477 lib/mailbox.php:116
-#: lib/noticelist.php:87
+#: lib/noticelist.php:87 lib/facebookaction.php:581 lib/mailbox.php:118
 msgid "Notices"
 msgstr ""
 
 #: ../actions/tag.php:35 ../actions/tag.php:81 actions/tag.php:35
-#: actions/tag.php:81 actions/tag.php:41
+#: actions/tag.php:81 actions/tag.php:41 actions/tag.php:49
 #, php-format
 msgid "Notices tagged with %s"
 msgstr ""
@@ -1568,7 +1631,7 @@ msgstr ""
 
 #: ../lib/settingsaction.php:96 ../lib/util.php:314 lib/settingsaction.php:90
 #: lib/util.php:330 lib/accountsettingsaction.php:116 lib/action.php:341
-#: lib/logingroupnav.php:81
+#: lib/logingroupnav.php:81 lib/action.php:418
 msgid "OpenID"
 msgstr ""
 
@@ -1578,6 +1641,7 @@ msgid "OpenID Account Setup"
 msgstr ""
 
 #: ../lib/openid.php:180 lib/openid.php:180 lib/openid.php:266
+#: lib/openid.php:269
 msgid "OpenID Auto-Submit"
 msgstr ""
 
@@ -1585,12 +1649,14 @@ msgstr ""
 #: ../actions/openidlogin.php:60 actions/finishaddopenid.php:99
 #: actions/finishopenidlogin.php:146 actions/openidlogin.php:68
 #: actions/finishaddopenid.php:170 actions/openidlogin.php:80
+#: actions/openidlogin.php:89
 msgid "OpenID Login"
 msgstr ""
 
 #: ../actions/openidlogin.php:65 ../actions/openidsettings.php:49
 #: actions/openidlogin.php:74 actions/openidsettings.php:50
 #: actions/openidlogin.php:102 actions/openidsettings.php:101
+#: actions/openidlogin.php:111
 msgid "OpenID URL"
 msgstr ""
 
@@ -1608,6 +1674,7 @@ msgid "OpenID authentication failed: %s"
 msgstr ""
 
 #: ../lib/openid.php:133 lib/openid.php:133 lib/openid.php:142
+#: lib/openid.php:145
 #, php-format
 msgid "OpenID failure: %s"
 msgstr ""
@@ -1623,11 +1690,12 @@ msgid "OpenID settings"
 msgstr ""
 
 #: ../actions/invite.php:135 actions/invite.php:143 actions/invite.php:180
+#: actions/invite.php:186
 msgid "Optionally add a personal message to the invitation."
 msgstr ""
 
 #: ../actions/avatar.php:84 actions/profilesettings.php:321
-#: lib/imagefile.php:75
+#: lib/imagefile.php:75 lib/imagefile.php:79
 msgid "Partial upload."
 msgstr ""
 
@@ -1637,6 +1705,7 @@ msgstr ""
 #: actions/register.php:167 actions/finishopenidlogin.php:118
 #: actions/login.php:231 actions/register.php:372
 #: lib/accountsettingsaction.php:110 lib/facebookaction.php:311
+#: actions/login.php:214 lib/facebookaction.php:315
 msgid "Password"
 msgstr ""
 
@@ -1659,12 +1728,14 @@ msgstr ""
 #: ../actions/password.php:89 ../actions/recoverpassword.php:313
 #: actions/profilesettings.php:408 actions/recoverpassword.php:326
 #: actions/passwordsettings.php:173 actions/recoverpassword.php:200
+#: actions/passwordsettings.php:178
 msgid "Password saved."
 msgstr ""
 
 #: ../actions/password.php:61 ../actions/register.php:88
 #: actions/profilesettings.php:380 actions/register.php:98
 #: actions/passwordsettings.php:145 actions/register.php:183
+#: actions/passwordsettings.php:150
 msgid "Passwords don't match."
 msgstr ""
 
@@ -1688,10 +1759,12 @@ msgid "Personal"
 msgstr ""
 
 #: ../actions/invite.php:133 actions/invite.php:141 actions/invite.php:178
+#: actions/invite.php:184
 msgid "Personal message"
 msgstr ""
 
 #: ../actions/smssettings.php:69 actions/smssettings.php:69
+#: actions/smssettings.php:128
 msgid "Phone number, no punctuation or spaces, with area code"
 msgstr ""
 
@@ -1712,7 +1785,7 @@ msgstr ""
 #: actions/imsettings.php:68 actions/smssettings.php:94
 #: actions/twittersettings.php:70 actions/emailsettings.php:147
 #: actions/imsettings.php:133 actions/smssettings.php:157
-#: actions/twittersettings.php:134
+#: actions/twittersettings.php:134 actions/twittersettings.php:137
 msgid "Preferences"
 msgstr ""
 
@@ -1721,6 +1794,7 @@ msgstr ""
 #: actions/imsettings.php:152 actions/smssettings.php:171
 #: actions/emailsettings.php:286 actions/imsettings.php:258
 #: actions/othersettings.php:168 actions/smssettings.php:272
+#: actions/emailsettings.php:293
 msgid "Preferences saved."
 msgstr ""
 
@@ -1729,12 +1803,13 @@ msgstr ""
 msgid "Preferred language"
 msgstr ""
 
-#: ../lib/util.php:328 lib/util.php:344 lib/action.php:572
+#: ../lib/util.php:328 lib/util.php:344 lib/action.php:572 lib/action.php:665
 msgid "Privacy"
 msgstr ""
 
 #: ../classes/Notice.php:95 ../classes/Notice.php:106 classes/Notice.php:109
 #: classes/Notice.php:119 classes/Notice.php:145 classes/Notice.php:155
+#: classes/Notice.php:178 classes/Notice.php:188
 msgid "Problem saving notice."
 msgstr ""
 
@@ -1757,6 +1832,7 @@ msgstr ""
 #: ../actions/postnotice.php:51 ../actions/updateprofile.php:52
 #: actions/postnotice.php:52 actions/updateprofile.php:53
 #: actions/postnotice.php:55 actions/updateprofile.php:56
+#: actions/updateprofile.php:58
 msgid "Profile unknown"
 msgstr ""
 
@@ -1765,7 +1841,7 @@ msgid "Public Stream Feed"
 msgstr ""
 
 #: ../actions/public.php:33 actions/public.php:33 actions/public.php:109
-#: lib/publicgroupnav.php:77
+#: lib/publicgroupnav.php:77 actions/public.php:112 lib/publicgroupnav.php:79
 msgid "Public timeline"
 msgstr ""
 
@@ -1775,7 +1851,7 @@ msgid "Publish a MicroID for my Jabber/GTalk address."
 msgstr ""
 
 #: ../actions/emailsettings.php:94 actions/emailsettings.php:101
-#: actions/emailsettings.php:178
+#: actions/emailsettings.php:178 actions/emailsettings.php:183
 msgid "Publish a MicroID for my email address."
 msgstr ""
 
@@ -1803,6 +1879,7 @@ msgstr ""
 #: actions/register.php:152 actions/register.php:207 lib/util.php:328
 #: actions/register.php:69 actions/register.php:436 lib/action.php:338
 #: lib/facebookaction.php:277 lib/logingroupnav.php:78
+#: actions/register.php:438 lib/action.php:415 lib/facebookaction.php:279
 msgid "Register"
 msgstr ""
 
@@ -1823,12 +1900,12 @@ msgstr ""
 
 #: ../actions/login.php:103 ../actions/register.php:176 actions/login.php:103
 #: actions/register.php:190 actions/login.php:234 actions/openidlogin.php:107
-#: actions/register.php:414
+#: actions/register.php:414 actions/login.php:217 actions/openidlogin.php:116
 msgid "Remember me"
 msgstr ""
 
 #: ../actions/updateprofile.php:70 actions/updateprofile.php:71
-#: actions/updateprofile.php:74
+#: actions/updateprofile.php:74 actions/updateprofile.php:76
 msgid "Remote profile with no matching profile"
 msgstr ""
 
@@ -1847,6 +1924,7 @@ msgstr ""
 #: actions/emailsettings.php:134 actions/imsettings.php:102
 #: actions/openidsettings.php:166 actions/smssettings.php:103
 #: actions/smssettings.php:146 actions/twittersettings.php:115
+#: actions/twittersettings.php:118
 msgid "Remove"
 msgstr ""
 
@@ -1855,7 +1933,7 @@ msgstr ""
 msgid "Remove OpenID"
 msgstr ""
 
-#: ../actions/openidsettings.php:73
+#: ../actions/openidsettings.php:73 actions/openidsettings.php:128
 msgid ""
 "Removing your only OpenID would make it impossible to log in! If you need to "
 "remove it, add another OpenID first."
@@ -1868,7 +1946,7 @@ msgstr ""
 #: ../actions/replies.php:47 ../actions/repliesrss.php:76 ../lib/stream.php:56
 #: actions/replies.php:47 actions/repliesrss.php:62 lib/personal.php:56
 #: actions/replies.php:116 actions/repliesrss.php:67
-#: lib/personalgroupnav.php:104
+#: lib/personalgroupnav.php:104 actions/replies.php:118
 #, php-format
 msgid "Replies to %s"
 msgstr ""
@@ -1885,6 +1963,7 @@ msgstr ""
 
 #: ../lib/settingsaction.php:99 lib/settingsaction.php:93
 #: actions/subscriptions.php:123 lib/connectsettingsaction.php:107
+#: actions/subscriptions.php:125
 msgid "SMS"
 msgstr ""
 
@@ -1898,7 +1977,7 @@ msgstr ""
 msgid "SMS Settings"
 msgstr ""
 
-#: ../lib/mail.php:219 lib/mail.php:225 lib/mail.php:437
+#: ../lib/mail.php:219 lib/mail.php:225 lib/mail.php:437 lib/mail.php:438
 msgid "SMS confirmation"
 msgstr ""
 
@@ -1921,12 +2000,14 @@ msgstr ""
 #: actions/othersettings.php:117 actions/profilesettings.php:150
 #: actions/smssettings.php:169 actions/subscriptions.php:124
 #: actions/tagother.php:152 actions/twittersettings.php:161
-#: lib/groupeditform.php:171
+#: lib/groupeditform.php:171 actions/emailsettings.php:187
+#: actions/subscriptions.php:126 actions/tagother.php:154
+#: actions/twittersettings.php:164
 msgid "Save"
 msgstr ""
 
 #: ../lib/searchaction.php:84 ../lib/util.php:300 lib/searchaction.php:84
-#: lib/util.php:316 lib/action.php:325
+#: lib/util.php:316 lib/action.php:325 lib/action.php:396
 msgid "Search"
 msgstr ""
 
@@ -1936,14 +2017,14 @@ msgid "Search Stream Feed"
 msgstr ""
 
 #: ../actions/noticesearch.php:30 actions/noticesearch.php:30
-#: actions/noticesearch.php:57
+#: actions/noticesearch.php:57 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/peoplesearch.php:28
+#: ../actions/peoplesearch.php:28 actions/peoplesearch.php:52
 #, php-format
 msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
@@ -1957,7 +2038,8 @@ msgstr ""
 
 #: ../actions/invite.php:137 ../lib/util.php:1172 actions/invite.php:145
 #: lib/util.php:1306 lib/util.php:1731 actions/invite.php:182
-#: lib/messageform.php:167 lib/noticeform.php:177
+#: lib/messageform.php:167 lib/noticeform.php:177 actions/invite.php:189
+#: lib/messageform.php:165
 msgid "Send"
 msgstr ""
 
@@ -1978,16 +2060,19 @@ msgid "Send me notices through Jabber/GTalk."
 msgstr ""
 
 #: ../actions/smssettings.php:97 actions/smssettings.php:97
+#: actions/smssettings.php:162
 msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
 msgstr ""
 
 #: ../actions/imsettings.php:76 actions/imsettings.php:77
+#: actions/imsettings.php:147
 msgid "Send me replies through Jabber/GTalk from people I'm not subscribed to."
 msgstr ""
 
 #: ../lib/util.php:304 lib/util.php:320 lib/facebookaction.php:215
+#: lib/facebookaction.php:228
 msgid "Settings"
 msgstr ""
 
@@ -2021,18 +2106,19 @@ msgstr ""
 msgid "Sorry, that is not your incoming email address."
 msgstr ""
 
-#: ../lib/util.php:330 lib/util.php:346 lib/action.php:574
+#: ../lib/util.php:330 lib/util.php:346 lib/action.php:574 lib/action.php:667
 msgid "Source"
 msgstr ""
 
 #: ../actions/showstream.php:296 actions/showstream.php:311
-#: actions/showstream.php:476
+#: actions/showstream.php:476 actions/showgroup.php:375
 msgid "Statistics"
 msgstr ""
 
 #: ../actions/finishopenidlogin.php:182 ../actions/finishopenidlogin.php:246
 #: actions/finishopenidlogin.php:188 actions/finishopenidlogin.php:252
 #: actions/finishopenidlogin.php:222 actions/finishopenidlogin.php:290
+#: actions/finishopenidlogin.php:295
 msgid "Stored OpenID not found."
 msgstr ""
 
@@ -2052,12 +2138,12 @@ msgid "Subscribers"
 msgstr ""
 
 #: ../actions/userauthorization.php:310 actions/userauthorization.php:322
-#: actions/userauthorization.php:338
+#: actions/userauthorization.php:338 actions/userauthorization.php:344
 msgid "Subscription authorized"
 msgstr ""
 
 #: ../actions/userauthorization.php:320 actions/userauthorization.php:332
-#: actions/userauthorization.php:349
+#: actions/userauthorization.php:349 actions/userauthorization.php:355
 msgid "Subscription rejected"
 msgstr ""
 
@@ -2070,14 +2156,15 @@ msgid "Subscriptions"
 msgstr ""
 
 #: ../actions/avatar.php:87 actions/profilesettings.php:324
-#: lib/imagefile.php:78
+#: lib/imagefile.php:78 lib/imagefile.php:82
 msgid "System error uploading file."
 msgstr ""
 
 #: ../actions/tag.php:41 ../lib/util.php:301 actions/tag.php:41
 #: lib/util.php:317 actions/profilesettings.php:122 actions/showstream.php:297
 #: actions/tagother.php:147 actions/tagother.php:207 lib/profilelist.php:162
-#: lib/profilelist.php:164
+#: lib/profilelist.php:164 actions/showstream.php:290 actions/tagother.php:149
+#: actions/tagother.php:209 lib/profilelist.php:160
 msgid "Tags"
 msgstr ""
 
@@ -2086,7 +2173,7 @@ msgid "Text"
 msgstr ""
 
 #: ../actions/noticesearch.php:34 actions/noticesearch.php:34
-#: actions/noticesearch.php:67
+#: actions/noticesearch.php:67 actions/noticesearch.php:78
 msgid "Text search"
 msgstr ""
 
@@ -2106,6 +2193,7 @@ msgid "That confirmation code is not for you!"
 msgstr ""
 
 #: ../actions/emailsettings.php:191 actions/emailsettings.php:209
+#: actions/emailsettings.php:328
 msgid "That email address already belongs to another user."
 msgstr ""
 
@@ -2120,7 +2208,7 @@ msgid "That is already your Jabber ID."
 msgstr ""
 
 #: ../actions/emailsettings.php:188 actions/emailsettings.php:206
-#: actions/emailsettings.php:318
+#: actions/emailsettings.php:318 actions/emailsettings.php:325
 msgid "That is already your email address."
 msgstr ""
 
@@ -2135,7 +2223,7 @@ msgid "That is not your Jabber ID."
 msgstr ""
 
 #: ../actions/emailsettings.php:249 actions/emailsettings.php:267
-#: actions/emailsettings.php:397
+#: actions/emailsettings.php:397 actions/emailsettings.php:404
 msgid "That is not your email address."
 msgstr ""
 
@@ -2147,6 +2235,7 @@ msgstr ""
 #: ../actions/emailsettings.php:226 ../actions/imsettings.php:210
 #: actions/emailsettings.php:244 actions/imsettings.php:218
 #: actions/emailsettings.php:367 actions/imsettings.php:349
+#: actions/emailsettings.php:374
 msgid "That is the wrong IM address."
 msgstr ""
 
@@ -2163,15 +2252,18 @@ msgstr ""
 #: ../actions/newnotice.php:49 ../actions/twitapistatuses.php:408
 #: actions/newnotice.php:49 actions/twitapistatuses.php:330
 #: actions/facebookhome.php:243 actions/twitapistatuses.php:276
+#: actions/newnotice.php:136 actions/twitapistatuses.php:294
+#: lib/facebookaction.php:485
 msgid "That's too long. Max notice size is 140 chars."
 msgstr ""
 
 #: ../actions/twitapiaccount.php:74 actions/twitapiaccount.php:72
-#: actions/twitapiaccount.php:62
+#: actions/twitapiaccount.php:62 actions/twitapiaccount.php:63
 msgid "That's too long. Max notice size is 255 chars."
 msgstr ""
 
 #: ../actions/confirmaddress.php:92 actions/confirmaddress.php:92
+#: actions/confirmaddress.php:159
 #, php-format
 msgid "The address \"%s\" has been confirmed for your account."
 msgstr ""
@@ -2180,18 +2272,18 @@ msgstr ""
 #: ../actions/smssettings.php:274 actions/emailsettings.php:282
 #: actions/imsettings.php:258 actions/smssettings.php:282
 #: actions/emailsettings.php:416 actions/imsettings.php:402
-#: actions/smssettings.php:413
+#: actions/smssettings.php:413 actions/emailsettings.php:423
 msgid "The address was removed."
 msgstr ""
 
-#: ../actions/userauthorization.php:312
+#: ../actions/userauthorization.php:312 actions/userauthorization.php:346
 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:322
+#: ../actions/userauthorization.php:322 actions/userauthorization.php:357
 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 "
@@ -2199,20 +2291,24 @@ msgid ""
 msgstr ""
 
 #: ../actions/subscribers.php:35 actions/subscribers.php:35
+#: actions/subscribers.php:67
 #, php-format
 msgid "These are the people who listen to %s's notices."
 msgstr ""
 
 #: ../actions/subscribers.php:33 actions/subscribers.php:33
+#: actions/subscribers.php:63
 msgid "These are the people who listen to your notices."
 msgstr ""
 
 #: ../actions/subscriptions.php:35 actions/subscriptions.php:35
+#: actions/subscriptions.php:69
 #, php-format
 msgid "These are the people whose notices %s listens to."
 msgstr ""
 
 #: ../actions/subscriptions.php:33 actions/subscriptions.php:33
+#: actions/subscriptions.php:65
 msgid "These are the people whose notices you listen to."
 msgstr ""
 
@@ -2221,11 +2317,11 @@ msgid ""
 "These people are already users and you were automatically subscribed to them:"
 msgstr ""
 
-#: ../actions/recoverpassword.php:88
+#: ../actions/recoverpassword.php:88 actions/recoverpassword.php:97
 msgid "This confirmation code is too old. Please start again."
 msgstr ""
 
-#: ../lib/openid.php:195
+#: ../lib/openid.php:195 lib/openid.php:206
 msgid ""
 "This form should automatically submit itself. If not, click the submit "
 "button to go to your OpenID provider."
@@ -2244,6 +2340,7 @@ msgstr ""
 #: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
 #: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
 #: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
+#: actions/twitapifavorites.php:103 actions/twitapistatuses.php:460
 msgid "This method requires a POST or DELETE."
 msgstr ""
 
@@ -2252,11 +2349,12 @@ msgstr ""
 #: actions/twitapidirect_messages.php:114 actions/twitapifriendships.php:44
 #: actions/twitapistatuses.php:303 actions/twitapiaccount.php:53
 #: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
-#: actions/twitapistatuses.php:244
+#: actions/twitapistatuses.php:244 actions/twitapiaccount.php:54
+#: actions/twitapidirect_messages.php:131 actions/twitapistatuses.php:262
 msgid "This method requires a POST."
 msgstr ""
 
-#: ../lib/util.php:164 lib/util.php:246
+#: ../lib/util.php:164 lib/util.php:246 lib/htmloutputter.php:104
 msgid "This page is not available in a media type you accept"
 msgstr ""
 
@@ -2270,7 +2368,7 @@ msgstr ""
 msgid "Timezone not selected."
 msgstr ""
 
-#: ../actions/remotesubscribe.php:43
+#: ../actions/remotesubscribe.php:43 actions/remotesubscribe.php:74
 #, php-format
 msgid ""
 "To subscribe, you can [login](%%action.login%%), or [register](%%action."
@@ -2285,7 +2383,7 @@ msgstr ""
 
 #: ../actions/profilesettings.php:48 ../actions/register.php:169
 #: actions/profilesettings.php:81 actions/register.php:183
-#: actions/profilesettings.php:109
+#: actions/profilesettings.php:109 actions/register.php:398
 msgid "URL of your homepage, blog, or profile on another site"
 msgstr ""
 
@@ -2302,6 +2400,8 @@ msgstr ""
 #: actions/emailsettings.php:242 actions/grouplogo.php:317
 #: actions/imsettings.php:214 actions/recoverpassword.php:44
 #: actions/smssettings.php:236 actions/twittersettings.php:302
+#: actions/avatarsettings.php:263 actions/emailsettings.php:247
+#: actions/grouplogo.php:324 actions/twittersettings.php:306
 msgid "Unexpected form submission."
 msgstr ""
 
@@ -2339,11 +2439,12 @@ msgstr ""
 #: ../actions/postnotice.php:44 ../actions/updateprofile.php:45
 #: actions/postnotice.php:45 actions/updateprofile.php:46
 #: actions/postnotice.php:48 actions/updateprofile.php:49
+#: actions/updateprofile.php:51
 msgid "Unsupported OMB version"
 msgstr ""
 
 #: ../actions/avatar.php:105 actions/profilesettings.php:342
-#: lib/imagefile.php:102
+#: lib/imagefile.php:102 lib/imagefile.php:99
 msgid "Unsupported image file format."
 msgstr ""
 
@@ -2358,19 +2459,20 @@ msgid "Updates by instant messenger (IM)"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:241 actions/twitapistatuses.php:158
-#: actions/twitapistatuses.php:129
+#: actions/twitapistatuses.php:129 actions/twitapistatuses.php:134
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:341 actions/twitapistatuses.php:268
-#: actions/twitapistatuses.php:202
+#: actions/twitapistatuses.php:202 actions/twitapistatuses.php:213
 #, php-format
 msgid "Updates from %1$s on %2$s!"
 msgstr ""
 
 #: ../actions/avatar.php:68 actions/profilesettings.php:161
 #: actions/avatarsettings.php:162 actions/grouplogo.php:232
+#: actions/avatarsettings.php:165 actions/grouplogo.php:238
 msgid "Upload"
 msgstr ""
 
@@ -2392,7 +2494,8 @@ msgid ""
 msgstr ""
 
 #: ../actions/register.php:159 ../actions/register.php:162
-#: actions/register.php:173 actions/register.php:176
+#: actions/register.php:173 actions/register.php:176 actions/register.php:382
+#: actions/register.php:386
 msgid "Used only for updates, announcements, and password recovery"
 msgstr ""
 
@@ -2416,6 +2519,8 @@ msgstr ""
 #: actions/twitapifavorites.php:42 actions/twitapistatuses.php:167
 #: actions/twitapistatuses.php:503 actions/twitapiusers.php:55
 #: actions/usergroups.php:99 lib/galleryaction.php:67 lib/twitterapi.php:626
+#: actions/twitapiaccount.php:71 actions/twitapistatuses.php:179
+#: actions/twitapistatuses.php:535 actions/twitapiusers.php:59
 msgid "User has no profile."
 msgstr ""
 
@@ -2440,18 +2545,18 @@ msgstr ""
 
 #: ../actions/profilesettings.php:54 ../actions/register.php:175
 #: actions/profilesettings.php:87 actions/register.php:189
-#: actions/profilesettings.php:119
+#: actions/profilesettings.php:119 actions/register.php:410
 msgid "Where you are, like \"City, State (or Region), Country\""
 msgstr ""
 
 #: ../actions/updateprofile.php:128 actions/updateprofile.php:129
-#: actions/updateprofile.php:132
+#: actions/updateprofile.php:132 actions/updateprofile.php:134
 #, php-format
 msgid "Wrong image type for '%s'"
 msgstr ""
 
 #: ../actions/updateprofile.php:123 actions/updateprofile.php:124
-#: actions/updateprofile.php:127
+#: actions/updateprofile.php:127 actions/updateprofile.php:129
 #, php-format
 msgid "Wrong size image at '%s'"
 msgstr ""
@@ -2459,7 +2564,7 @@ msgstr ""
 #: ../actions/deletenotice.php:63 ../actions/deletenotice.php:72
 #: actions/deletenotice.php:64 actions/deletenotice.php:79
 #: actions/block.php:148 actions/deletenotice.php:122
-#: actions/deletenotice.php:141
+#: actions/deletenotice.php:141 actions/deletenotice.php:115
 msgid "Yes"
 msgstr ""
 
@@ -2502,20 +2607,21 @@ msgstr ""
 msgid "You can receive SMS messages through email from %%site.name%%."
 msgstr ""
 
-#: ../actions/openidsettings.php:86
+#: ../actions/openidsettings.php:86 actions/openidsettings.php:143
 msgid ""
 "You can remove an OpenID from your account by clicking the button marked "
 "\"Remove\"."
 msgstr ""
 
 #: ../actions/imsettings.php:28 actions/imsettings.php:28
+#: 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/profilesettings.php:27
+#: ../actions/profilesettings.php:27 actions/profilesettings.php:69
 msgid ""
 "You can update your personal profile info here so people know more about you."
 msgstr ""
@@ -2529,16 +2635,16 @@ msgstr ""
 
 #: ../actions/finishopenidlogin.php:33 ../actions/register.php:61
 #: actions/finishopenidlogin.php:38 actions/register.php:68
-#: actions/finishopenidlogin.php:43
+#: actions/finishopenidlogin.php:43 actions/register.php:149
 msgid "You can't register if you don't agree to the license."
 msgstr ""
 
 #: ../actions/updateprofile.php:63 actions/updateprofile.php:64
-#: actions/updateprofile.php:67
+#: actions/updateprofile.php:67 actions/updateprofile.php:69
 msgid "You did not send us that profile"
 msgstr ""
 
-#: ../lib/mail.php:147
+#: ../lib/mail.php:147 lib/mail.php:289
 #, php-format
 msgid ""
 "You have a new posting address on %1$s.\n"
@@ -2552,7 +2658,7 @@ msgid ""
 msgstr ""
 
 #: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
-#: actions/twitapistatuses.php:463
+#: actions/twitapistatuses.php:463 actions/twitapistatuses.php:486
 msgid "You may not delete another user's status."
 msgstr ""
 
@@ -2567,67 +2673,67 @@ msgid ""
 "on the site. Thanks for growing the community!"
 msgstr ""
 
-#: ../actions/recoverpassword.php:149
+#: ../actions/recoverpassword.php:149 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a  new password below. "
 msgstr ""
 
 #: ../actions/openidlogin.php:67 actions/openidlogin.php:76
-#: actions/openidlogin.php:104
+#: actions/openidlogin.php:104 actions/openidlogin.php:113
 msgid "Your OpenID URL"
 msgstr ""
 
-#: ../actions/recoverpassword.php:164
+#: ../actions/recoverpassword.php:164 actions/recoverpassword.php:188
 msgid "Your nickname on this server, or your registered email address."
 msgstr ""
 
-#: ../actions/openidsettings.php:28
+#: ../actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid ""
 "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
 "account.  Manage your associated OpenIDs from here."
 msgstr ""
 
-#: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
+#: ../lib/util.php:943 lib/util.php:992 lib/util.php:945 lib/util.php:756
 msgid "a few seconds ago"
 msgstr ""
 
-#: ../lib/util.php:955 lib/util.php:1004 lib/util.php:957
+#: ../lib/util.php:955 lib/util.php:1004 lib/util.php:957 lib/util.php:768
 #, php-format
 msgid "about %d days ago"
 msgstr ""
 
-#: ../lib/util.php:951 lib/util.php:1000 lib/util.php:953
+#: ../lib/util.php:951 lib/util.php:1000 lib/util.php:953 lib/util.php:764
 #, php-format
 msgid "about %d hours ago"
 msgstr ""
 
-#: ../lib/util.php:947 lib/util.php:996 lib/util.php:949
+#: ../lib/util.php:947 lib/util.php:996 lib/util.php:949 lib/util.php:760
 #, php-format
 msgid "about %d minutes ago"
 msgstr ""
 
-#: ../lib/util.php:959 lib/util.php:1008 lib/util.php:961
+#: ../lib/util.php:959 lib/util.php:1008 lib/util.php:961 lib/util.php:772
 #, php-format
 msgid "about %d months ago"
 msgstr ""
 
-#: ../lib/util.php:953 lib/util.php:1002 lib/util.php:955
+#: ../lib/util.php:953 lib/util.php:1002 lib/util.php:955 lib/util.php:766
 msgid "about a day ago"
 msgstr ""
 
-#: ../lib/util.php:945 lib/util.php:994 lib/util.php:947
+#: ../lib/util.php:945 lib/util.php:994 lib/util.php:947 lib/util.php:758
 msgid "about a minute ago"
 msgstr ""
 
-#: ../lib/util.php:957 lib/util.php:1006 lib/util.php:959
+#: ../lib/util.php:957 lib/util.php:1006 lib/util.php:959 lib/util.php:770
 msgid "about a month ago"
 msgstr ""
 
-#: ../lib/util.php:961 lib/util.php:1010 lib/util.php:963
+#: ../lib/util.php:961 lib/util.php:1010 lib/util.php:963 lib/util.php:774
 msgid "about a year ago"
 msgstr ""
 
-#: ../lib/util.php:949 lib/util.php:998 lib/util.php:951
+#: ../lib/util.php:949 lib/util.php:998 lib/util.php:951 lib/util.php:762
 msgid "about an hour ago"
 msgstr ""
 
@@ -2654,7 +2760,8 @@ msgid "same as password above"
 msgstr ""
 
 #: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
-#: actions/twitapistatuses.php:555
+#: actions/twitapistatuses.php:555 actions/twitapistatuses.php:596
+#: actions/twitapistatuses.php:618
 msgid "unsupported file type"
 msgstr ""
 
@@ -2675,6 +2782,14 @@ msgstr ""
 #: actions/finishopenidlogin.php:38 actions/invite.php:54 actions/nudge.php:80
 #: actions/openidlogin.php:37 actions/recoverpassword.php:316
 #: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
+#: actions/avatarsettings.php:251 actions/emailsettings.php:229
+#: actions/grouplogo.php:314 actions/imsettings.php:200 actions/login.php:103
+#: actions/newmessage.php:133 actions/newnotice.php:96
+#: actions/openidsettings.php:188 actions/othersettings.php:136
+#: actions/passwordsettings.php:131 actions/profilesettings.php:172
+#: actions/register.php:113 actions/remotesubscribe.php:53
+#: actions/smssettings.php:216 actions/subedit.php:38 actions/tagother.php:166
+#: actions/twittersettings.php:294 actions/userauthorization.php:39
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
 
@@ -2690,7 +2805,7 @@ msgstr ""
 msgid "Favor"
 msgstr ""
 
-#: actions/emailsettings.php:92
+#: actions/emailsettings.php:92 actions/emailsettings.php:157
 msgid "Send me email when someone adds my notice as a favorite."
 msgstr ""
 
@@ -2699,13 +2814,14 @@ msgid "Send me email when someone sends me a private message."
 msgstr ""
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
-#: actions/twitapifavorites.php:118
+#: actions/twitapifavorites.php:118 actions/twitapifavorites.php:124
 msgid "This notice is already a favorite!"
 msgstr ""
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
+#: actions/twitapifavorites.php:131 lib/command.php:152
 msgid "Could not create favorite."
 msgstr ""
 
@@ -2715,11 +2831,13 @@ msgstr ""
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
+#: actions/favoritesrss.php:110
 #, php-format
 msgid "%s favorite notices"
 msgstr ""
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
+#: actions/favoritesrss.php:114
 #, php-format
 msgid "Feed of favorite notices of %s"
 msgstr ""
@@ -2759,33 +2877,38 @@ msgid "Login with your username and password. "
 msgstr ""
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
-#: actions/twitapidirect_messages.php:141
+#: actions/twitapidirect_messages.php:141 actions/newmessage.php:148
+#: actions/twitapidirect_messages.php:150
 msgid "That's too long. Max message size is 140 chars."
 msgstr ""
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
+#: actions/newmessage.php:155
 msgid "No recipient specified."
 msgstr ""
 
 #: actions/newmessage.php:68 actions/newmessage.php:113
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
+#: actions/newmessage.php:119 actions/newmessage.php:158 lib/command.php:237
 msgid "You can't send a message to this user."
 msgstr ""
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
-#: classes/Command.php:240
+#: classes/Command.php:240 actions/newmessage.php:161
+#: actions/twitapidirect_messages.php:167 lib/command.php:240
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
-#: actions/newmessage.php:163
+#: actions/newmessage.php:163 actions/newmessage.php:114
 msgid "No such user"
 msgstr ""
 
 #: actions/newmessage.php:117 actions/newmessage.php:67
+#: actions/newmessage.php:71
 msgid "New message"
 msgstr ""
 
@@ -2839,6 +2962,8 @@ msgstr ""
 #: actions/avatarsettings.php:104 actions/avatarsettings.php:179
 #: actions/grouplogo.php:177 actions/remotesubscribe.php:367
 #: actions/userauthorization.php:176 actions/userrss.php:82
+#: actions/avatarsettings.php:106 actions/avatarsettings.php:182
+#: actions/grouplogo.php:183 actions/remotesubscribe.php:366
 msgid "User without matching profile"
 msgstr ""
 
@@ -2867,6 +2992,7 @@ msgid "New password successfully saved. "
 msgstr ""
 
 #: actions/register.php:95 actions/register.php:180
+#: actions/passwordsettings.php:147
 msgid "Password must be 6 or more characters."
 msgstr ""
 
@@ -2887,12 +3013,14 @@ msgid "To subscribe, you can [login](%%action.login%%),"
 msgstr ""
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
+#: actions/showfavorites.php:147
 #, php-format
 msgid "Feed for favorites of %s"
 msgstr ""
 
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
+#: actions/showfavorites.php:179
 msgid "Could not retrieve favorite notices."
 msgstr ""
 
@@ -2900,7 +3028,7 @@ msgstr ""
 msgid "No such message."
 msgstr ""
 
-#: actions/showmessage.php:42
+#: actions/showmessage.php:42 actions/showmessage.php:98
 msgid "Only the sender and recipient may read this message."
 msgstr ""
 
@@ -2924,51 +3052,61 @@ msgid "Mobile carrier for your phone. "
 msgstr ""
 
 #: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
+#: actions/twitapidirect_messages.php:67
 #, php-format
 msgid "Direct messages to %s"
 msgstr ""
 
 #: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
+#: actions/twitapidirect_messages.php:68
 #, php-format
 msgid "All the direct messages sent to %s"
 msgstr ""
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
+#: actions/twitapidirect_messages.php:72
 msgid "Direct Messages You've Sent"
 msgstr ""
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
+#: actions/twitapidirect_messages.php:73
 #, php-format
 msgid "All the direct messages sent from %s"
 msgstr ""
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
+#: actions/twitapidirect_messages.php:146
 msgid "No message text!"
 msgstr ""
 
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
+#: actions/twitapidirect_messages.php:159
 msgid "Recipient user not found."
 msgstr ""
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
+#: actions/twitapidirect_messages.php:162
 msgid "Can't send direct messages to users who aren't your friend."
 msgstr ""
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
+#: actions/twitapifavorites.php:64
 #, php-format
 msgid "%s / Favorites from %s"
 msgstr ""
 
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
+#: actions/twitapifavorites.php:68
 #, php-format
 msgid "%s updates favorited by %s / %s."
 msgstr ""
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
+#: actions/twitapifavorites.php:170 lib/mail.php:554
 #, php-format
 msgid "%s added your notice as a favorite"
 msgstr ""
@@ -2987,14 +3125,17 @@ msgid ""
 msgstr ""
 
 #: actions/twittersettings.php:41 actions/twittersettings.php:60
+#: actions/twittersettings.php:61
 msgid "Twitter settings"
 msgstr ""
 
 #: actions/twittersettings.php:48 actions/twittersettings.php:105
+#: actions/twittersettings.php:106
 msgid "Twitter Account"
 msgstr ""
 
 #: actions/twittersettings.php:56 actions/twittersettings.php:113
+#: actions/twittersettings.php:114
 msgid "Current verified Twitter account."
 msgstr ""
 
@@ -3003,6 +3144,7 @@ msgid "Twitter Username"
 msgstr ""
 
 #: actions/twittersettings.php:65 actions/twittersettings.php:123
+#: actions/twittersettings.php:126
 msgid "No spaces, please."
 msgstr ""
 
@@ -3011,24 +3153,28 @@ msgid "Twitter Password"
 msgstr ""
 
 #: actions/twittersettings.php:72 actions/twittersettings.php:139
+#: actions/twittersettings.php:142
 msgid "Automatically send my notices to Twitter."
 msgstr ""
 
 #: actions/twittersettings.php:75 actions/twittersettings.php:146
+#: actions/twittersettings.php:149
 msgid "Send local \"@\" replies to Twitter."
 msgstr ""
 
 #: actions/twittersettings.php:78 actions/twittersettings.php:153
+#: actions/twittersettings.php:156
 msgid "Subscribe to my Twitter friends here."
 msgstr ""
 
-#: actions/twittersettings.php:122
+#: actions/twittersettings.php:122 actions/twittersettings.php:331
 msgid ""
 "Username must have only numbers, upper- and lowercase letters, and "
 "underscore (_). 15 chars max."
 msgstr ""
 
 #: actions/twittersettings.php:128 actions/twittersettings.php:334
+#: actions/twittersettings.php:338
 msgid "Could not verify your Twitter credentials!"
 msgstr ""
 
@@ -3039,33 +3185,39 @@ msgstr ""
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
+#: actions/twittersettings.php:352 actions/twittersettings.php:372
 msgid "Unable to save your Twitter settings!"
 msgstr ""
 
 #: actions/twittersettings.php:174 actions/twittersettings.php:376
+#: actions/twittersettings.php:380
 msgid "Twitter settings saved."
 msgstr ""
 
 #: actions/twittersettings.php:192 actions/twittersettings.php:395
+#: actions/twittersettings.php:399
 msgid "That is not your Twitter account."
 msgstr ""
 
 #: actions/twittersettings.php:200 actions/twittersettings.php:208
-#: actions/twittersettings.php:403
+#: actions/twittersettings.php:403 actions/twittersettings.php:407
 msgid "Couldn't remove Twitter user."
 msgstr ""
 
 #: actions/twittersettings.php:212 actions/twittersettings.php:407
+#: actions/twittersettings.php:411
 msgid "Twitter account removed."
 msgstr ""
 
 #: actions/twittersettings.php:225 actions/twittersettings.php:239
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
-#: actions/twittersettings.php:453
+#: actions/twittersettings.php:453 actions/twittersettings.php:432
+#: actions/twittersettings.php:443 actions/twittersettings.php:457
 msgid "Couldn't save Twitter preferences."
 msgstr ""
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
+#: actions/twittersettings.php:465
 msgid "Twitter preferences saved."
 msgstr ""
 
@@ -3082,18 +3234,19 @@ msgid "The subscription has been rejected, but no "
 msgstr ""
 
 #: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
+#: lib/channel.php:138 lib/channel.php:158
 msgid "Command results"
 msgstr ""
 
-#: classes/Channel.php:148 classes/Channel.php:204
+#: classes/Channel.php:148 classes/Channel.php:204 lib/channel.php:210
 msgid "Command complete"
 msgstr ""
 
-#: classes/Channel.php:158 classes/Channel.php:215
+#: classes/Channel.php:158 classes/Channel.php:215 lib/channel.php:221
 msgid "Command failed"
 msgstr ""
 
-#: classes/Command.php:39 classes/Command.php:44
+#: classes/Command.php:39 classes/Command.php:44 lib/command.php:44
 msgid "Sorry, this command is not yet implemented."
 msgstr ""
 
@@ -3103,89 +3256,89 @@ msgid "Subscriptions: %1$s\n"
 msgstr ""
 
 #: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
-#: classes/Command.php:276
+#: classes/Command.php:276 lib/command.php:145 lib/command.php:276
 msgid "User has no last notice"
 msgstr ""
 
-#: classes/Command.php:146 classes/Command.php:166
+#: classes/Command.php:146 classes/Command.php:166 lib/command.php:166
 msgid "Notice marked as fave."
 msgstr ""
 
-#: classes/Command.php:166 classes/Command.php:189
+#: classes/Command.php:166 classes/Command.php:189 lib/command.php:189
 #, php-format
 msgid "%1$s (%2$s)"
 msgstr ""
 
-#: classes/Command.php:169 classes/Command.php:192
+#: classes/Command.php:169 classes/Command.php:192 lib/command.php:192
 #, php-format
 msgid "Fullname: %s"
 msgstr ""
 
-#: classes/Command.php:172 classes/Command.php:195
+#: classes/Command.php:172 classes/Command.php:195 lib/command.php:195
 #, php-format
 msgid "Location: %s"
 msgstr ""
 
-#: classes/Command.php:175 classes/Command.php:198
+#: classes/Command.php:175 classes/Command.php:198 lib/command.php:198
 #, php-format
 msgid "Homepage: %s"
 msgstr ""
 
-#: classes/Command.php:178 classes/Command.php:201
+#: classes/Command.php:178 classes/Command.php:201 lib/command.php:201
 #, php-format
 msgid "About: %s"
 msgstr ""
 
-#: classes/Command.php:200 classes/Command.php:228
+#: classes/Command.php:200 classes/Command.php:228 lib/command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
 msgstr ""
 
-#: classes/Command.php:214 classes/Command.php:245
+#: classes/Command.php:214 classes/Command.php:245 lib/command.php:245
 #, php-format
 msgid "Direct message to %s sent"
 msgstr ""
 
-#: classes/Command.php:216 classes/Command.php:247
+#: classes/Command.php:216 classes/Command.php:247 lib/command.php:247
 msgid "Error sending direct message."
 msgstr ""
 
-#: classes/Command.php:263 classes/Command.php:300
+#: classes/Command.php:263 classes/Command.php:300 lib/command.php:300
 msgid "Specify the name of the user to subscribe to"
 msgstr ""
 
-#: classes/Command.php:270 classes/Command.php:307
+#: classes/Command.php:270 classes/Command.php:307 lib/command.php:307
 #, php-format
 msgid "Subscribed to %s"
 msgstr ""
 
-#: classes/Command.php:288 classes/Command.php:328
+#: classes/Command.php:288 classes/Command.php:328 lib/command.php:328
 msgid "Specify the name of the user to unsubscribe from"
 msgstr ""
 
-#: classes/Command.php:295 classes/Command.php:335
+#: classes/Command.php:295 classes/Command.php:335 lib/command.php:335
 #, php-format
 msgid "Unsubscribed from %s"
 msgstr ""
 
 #: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
-#: classes/Command.php:376
+#: classes/Command.php:376 lib/command.php:353 lib/command.php:376
 msgid "Command not yet implemented."
 msgstr ""
 
-#: classes/Command.php:313 classes/Command.php:356
+#: classes/Command.php:313 classes/Command.php:356 lib/command.php:356
 msgid "Notification off."
 msgstr ""
 
-#: classes/Command.php:315 classes/Command.php:358
+#: classes/Command.php:315 classes/Command.php:358 lib/command.php:358
 msgid "Can't turn off notification."
 msgstr ""
 
-#: classes/Command.php:333 classes/Command.php:379
+#: classes/Command.php:333 classes/Command.php:379 lib/command.php:379
 msgid "Notification on."
 msgstr ""
 
-#: classes/Command.php:335 classes/Command.php:381
+#: classes/Command.php:335 classes/Command.php:381 lib/command.php:381
 msgid "Can't turn on notification."
 msgstr ""
 
@@ -3212,7 +3365,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: lib/mail.php:249 lib/mail.php:508
+#: lib/mail.php:249 lib/mail.php:508 lib/mail.php:509
 #, php-format
 msgid "New private message from %s"
 msgstr ""
@@ -3224,7 +3377,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: lib/mailbox.php:43 lib/mailbox.php:89
+#: lib/mailbox.php:43 lib/mailbox.php:89 lib/mailbox.php:91
 msgid "Only the user can read their own mailboxes."
 msgstr ""
 
@@ -3270,6 +3423,7 @@ msgid "Twitter integration options"
 msgstr ""
 
 #: lib/util.php:1718 lib/messageform.php:139 lib/noticelist.php:422
+#: lib/messageform.php:137 lib/noticelist.php:425
 msgid "To"
 msgstr ""
 
@@ -3277,7 +3431,8 @@ msgstr ""
 msgid "Could not parse message."
 msgstr ""
 
-#: actions/all.php:63 actions/facebookhome.php:162
+#: actions/all.php:63 actions/facebookhome.php:162 actions/all.php:66
+#: actions/facebookhome.php:161
 #, php-format
 msgid "%s and friends, page %d"
 msgstr ""
@@ -3287,21 +3442,27 @@ msgid "You can upload your personal avatar."
 msgstr ""
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
-#: actions/grouplogo.php:250
+#: actions/grouplogo.php:250 actions/avatarsettings.php:119
+#: actions/avatarsettings.php:194 actions/grouplogo.php:256
 msgid "Avatar settings"
 msgstr ""
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
+#: actions/avatarsettings.php:126 actions/avatarsettings.php:202
+#: actions/grouplogo.php:204 actions/grouplogo.php:264
 msgid "Original"
 msgstr ""
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
+#: actions/avatarsettings.php:141 actions/avatarsettings.php:214
+#: actions/grouplogo.php:215 actions/grouplogo.php:276
 msgid "Preview"
 msgstr ""
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
+#: actions/avatarsettings.php:228 actions/grouplogo.php:291
 msgid "Crop"
 msgstr ""
 
@@ -3318,21 +3479,24 @@ msgid "There was a problem with your session token. "
 msgstr ""
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
+#: actions/avatarsettings.php:308
 msgid "Pick a square area of the image to be your avatar"
 msgstr ""
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
+#: actions/avatarsettings.php:323 actions/grouplogo.php:382
 msgid "Lost our file data."
 msgstr ""
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
-#: classes/User_group.php:112
+#: classes/User_group.php:112 lib/imagefile.php:112
 msgid "Lost our file."
 msgstr ""
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
-#: classes/User_group.php:129 classes/User_group.php:161
+#: classes/User_group.php:129 classes/User_group.php:161 lib/imagefile.php:144
+#: lib/imagefile.php:191
 msgid "Unknown file type"
 msgstr ""
 
@@ -3381,27 +3545,30 @@ msgstr ""
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
+#: actions/grouplogo.php:70 actions/grouprss.php:80
 msgid "Inboxes must be enabled for groups to work"
 msgstr ""
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
+#: actions/grouplogo.php:75
 msgid "You must be logged in to create a group."
 msgstr ""
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
-#: actions/showgroup.php:121
+#: actions/showgroup.php:121 actions/grouplogo.php:91 actions/grouprss.php:96
 msgid "No nickname"
 msgstr ""
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
-#: actions/showgroup.php:128
+#: actions/showgroup.php:128 actions/grouplogo.php:104
+#: actions/grouprss.php:103
 msgid "No such group"
 msgstr ""
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
-#: actions/grouplogo.php:107
+#: actions/grouplogo.php:107 actions/grouplogo.php:111
 msgid "You must be an admin to edit the group"
 msgstr ""
 
@@ -3438,7 +3605,7 @@ msgstr ""
 msgid "Send me email when someone "
 msgstr ""
 
-#: actions/emailsettings.php:168
+#: actions/emailsettings.php:168 actions/emailsettings.php:173
 msgid "Allow friends to nudge me and send me an email."
 msgstr ""
 
@@ -3464,23 +3631,26 @@ msgstr ""
 msgid "Allow %s to update my Facebook status"
 msgstr ""
 
-#: actions/facebookhome.php:218
+#: actions/facebookhome.php:218 actions/facebookhome.php:223
 msgid "Skip"
 msgstr ""
 
-#: actions/facebookhome.php:235
+#: actions/facebookhome.php:235 lib/facebookaction.php:479
 msgid "No notice content!"
 msgstr ""
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
+#: actions/facebookhome.php:253 lib/action.php:973 lib/facebookaction.php:433
 msgid "Pagination"
 msgstr ""
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
+#: actions/facebookhome.php:262 lib/action.php:982 lib/facebookaction.php:442
 msgid "After"
 msgstr ""
 
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
+#: actions/facebookhome.php:270 lib/action.php:990 lib/facebookaction.php:450
 msgid "Before"
 msgstr ""
 
@@ -3493,22 +3663,22 @@ msgstr ""
 msgid "Invitations have been sent to the following users:"
 msgstr ""
 
-#: actions/facebookinvite.php:96
+#: actions/facebookinvite.php:96 actions/facebookinvite.php:102
 #, php-format
 msgid "You have been invited to %s"
 msgstr ""
 
-#: actions/facebookinvite.php:105
+#: actions/facebookinvite.php:105 actions/facebookinvite.php:111
 #, php-format
 msgid "Invite your friends to use %s"
 msgstr ""
 
-#: actions/facebookinvite.php:113
+#: actions/facebookinvite.php:113 actions/facebookinvite.php:126
 #, php-format
 msgid "Friends already using %s:"
 msgstr ""
 
-#: actions/facebookinvite.php:130
+#: actions/facebookinvite.php:130 actions/facebookinvite.php:143
 #, php-format
 msgid "Send invitations"
 msgstr ""
@@ -3555,7 +3725,8 @@ msgid "Disfavor favorite"
 msgstr ""
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
-#: lib/publicgroupnav.php:91
+#: lib/publicgroupnav.php:91 lib/popularnoticesection.php:82
+#: lib/publicgroupnav.php:93
 msgid "Popular notices"
 msgstr ""
 
@@ -3569,7 +3740,7 @@ msgid "The most popular notices on the site right now."
 msgstr ""
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
-#: lib/publicgroupnav.php:87
+#: lib/publicgroupnav.php:87 lib/publicgroupnav.php:89
 msgid "Featured users"
 msgstr ""
 
@@ -3592,6 +3763,7 @@ msgid "No ID"
 msgstr ""
 
 #: actions/grouplogo.php:138 actions/grouplogo.php:191
+#: actions/grouplogo.php:144 actions/grouplogo.php:197
 msgid "Group logo"
 msgstr ""
 
@@ -3599,11 +3771,11 @@ msgstr ""
 msgid "You can upload a logo image for your group."
 msgstr ""
 
-#: actions/grouplogo.php:448
+#: actions/grouplogo.php:448 actions/grouplogo.php:401
 msgid "Logo updated."
 msgstr ""
 
-#: actions/grouplogo.php:450
+#: actions/grouplogo.php:450 actions/grouplogo.php:403
 msgid "Failed updating logo."
 msgstr ""
 
@@ -3622,7 +3794,7 @@ msgid "A list of the users in this group."
 msgstr ""
 
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
-#: lib/subgroupnav.php:96
+#: lib/subgroupnav.php:96 lib/publicgroupnav.php:81
 msgid "Groups"
 msgstr ""
 
@@ -3637,6 +3809,7 @@ msgid "%%%%site.name%%%% groups let you find and talk with "
 msgstr ""
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
+#: actions/usergroups.php:125
 msgid "Create a new group"
 msgstr ""
 
@@ -3706,21 +3879,21 @@ msgstr ""
 msgid "You may not leave a group while you are its administrator."
 msgstr ""
 
-#: actions/leavegroup.php:130
+#: actions/leavegroup.php:130 actions/leavegroup.php:124
 msgid "Could not find membership record."
 msgstr ""
 
-#: actions/leavegroup.php:138
+#: actions/leavegroup.php:138 actions/leavegroup.php:132
 #, php-format
 msgid "Could not remove user %s to group %s"
 msgstr ""
 
-#: actions/leavegroup.php:145
+#: actions/leavegroup.php:145 actions/leavegroup.php:139
 #, php-format
 msgid "%s left group %s"
 msgstr ""
 
-#: actions/login.php:225 lib/facebookaction.php:304
+#: actions/login.php:225 lib/facebookaction.php:304 actions/login.php:208
 msgid "Login to site"
 msgstr ""
 
@@ -3752,11 +3925,12 @@ msgstr ""
 msgid "Don't send a message to yourself; "
 msgstr ""
 
-#: actions/newnotice.php:166
+#: actions/newnotice.php:166 actions/newnotice.php:174
 msgid "Notice posted"
 msgstr ""
 
-#: actions/newnotice.php:200 classes/Channel.php:163
+#: actions/newnotice.php:200 classes/Channel.php:163 actions/newnotice.php:208
+#: lib/channel.php:170
 msgid "Ajax Error"
 msgstr ""
 
@@ -3773,7 +3947,7 @@ msgstr ""
 msgid "Nudge sent!"
 msgstr ""
 
-#: actions/openidlogin.php:97
+#: actions/openidlogin.php:97 actions/openidlogin.php:106
 msgid "OpenID login"
 msgstr ""
 
@@ -3813,12 +3987,12 @@ msgstr ""
 msgid "Password change"
 msgstr ""
 
-#: actions/peopletag.php:35
+#: actions/peopletag.php:35 actions/peopletag.php:70
 #, php-format
 msgid "Not a valid people tag: %s"
 msgstr ""
 
-#: actions/peopletag.php:47
+#: actions/peopletag.php:47 actions/peopletag.php:144
 #, php-format
 msgid "Users self-tagged with %s - page %d"
 msgstr ""
@@ -3842,6 +4016,7 @@ msgid "Automatically subscribe to whoever "
 msgstr ""
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
+#: actions/tagother.php:178
 #, php-format
 msgid "Invalid tag: \"%s\""
 msgstr ""
@@ -3850,12 +4025,12 @@ msgstr ""
 msgid "Couldn't save tags."
 msgstr ""
 
-#: actions/public.php:107
+#: actions/public.php:107 actions/public.php:110
 #, php-format
 msgid "Public timeline, page %d"
 msgstr ""
 
-#: actions/public.php:173
+#: actions/public.php:173 actions/public.php:184
 msgid "Could not retrieve public stream."
 msgstr ""
 
@@ -3928,7 +4103,7 @@ msgstr ""
 msgid "That's a local profile! Login to subscribe."
 msgstr ""
 
-#: actions/replies.php:118
+#: actions/replies.php:118 actions/replies.php:120
 #, php-format
 msgid "Replies to %s, page %d"
 msgstr ""
@@ -3948,40 +4123,45 @@ msgstr ""
 msgid "%s group, page %d"
 msgstr ""
 
-#: actions/showgroup.php:206
+#: actions/showgroup.php:206 actions/showgroup.php:208
 msgid "Group profile"
 msgstr ""
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
+#: actions/showgroup.php:253 actions/showstream.php:271
+#: actions/tagother.php:118 lib/profilelist.php:131
 msgid "URL"
 msgstr ""
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
+#: actions/showgroup.php:264 actions/showstream.php:282
+#: actions/tagother.php:128 lib/profilelist.php:142
 msgid "Note"
 msgstr ""
 
-#: actions/showgroup.php:270
+#: actions/showgroup.php:270 actions/showgroup.php:272
 msgid "Group actions"
 msgstr ""
 
-#: actions/showgroup.php:323
+#: actions/showgroup.php:323 actions/showgroup.php:304
 #, php-format
 msgid "Notice feed for %s group"
 msgstr ""
 
-#: actions/showgroup.php:357 lib/groupnav.php:90
+#: actions/showgroup.php:357 lib/groupnav.php:90 actions/showgroup.php:339
+#: actions/showgroup.php:384
 msgid "Members"
 msgstr ""
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
-#: lib/tagcloudsection.php:71
+#: lib/tagcloudsection.php:71 actions/showgroup.php:344
 msgid "(None)"
 msgstr ""
 
-#: actions/showgroup.php:370
+#: actions/showgroup.php:370 actions/showgroup.php:350
 msgid "All members"
 msgstr ""
 
@@ -4006,14 +4186,16 @@ msgid "'s profile"
 msgstr ""
 
 #: actions/showstream.php:236 actions/tagother.php:77
+#: actions/showstream.php:220
 msgid "User profile"
 msgstr ""
 
 #: actions/showstream.php:240 actions/tagother.php:81
+#: actions/showstream.php:224
 msgid "Photo"
 msgstr ""
 
-#: actions/showstream.php:317
+#: actions/showstream.php:317 actions/showstream.php:309
 msgid "User actions"
 msgstr ""
 
@@ -4110,16 +4292,16 @@ msgstr ""
 msgid "These are the people whose "
 msgstr ""
 
-#: actions/subscriptions.php:122
+#: actions/subscriptions.php:122 actions/subscriptions.php:124
 msgid "Jabber"
 msgstr ""
 
-#: actions/tag.php:43
+#: actions/tag.php:43 actions/tag.php:51
 #, php-format
 msgid "Notices tagged with %s, page %d"
 msgstr ""
 
-#: actions/tag.php:66
+#: actions/tag.php:66 actions/tag.php:73
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
 msgstr ""
@@ -4141,7 +4323,7 @@ msgstr ""
 msgid "Tag user"
 msgstr ""
 
-#: actions/tagother.php:149
+#: actions/tagother.php:149 actions/tagother.php:151
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
@@ -4151,16 +4333,16 @@ msgstr ""
 msgid "There was a problem with your session token."
 msgstr ""
 
-#: actions/tagother.php:191
+#: actions/tagother.php:191 actions/tagother.php:193
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr ""
 
-#: actions/tagother.php:198
+#: actions/tagother.php:198 actions/tagother.php:200
 msgid "Could not save tags."
 msgstr ""
 
-#: actions/tagother.php:233
+#: actions/tagother.php:233 actions/tagother.php:235
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
 
@@ -4168,7 +4350,7 @@ msgstr ""
 msgid "No such tag."
 msgstr ""
 
-#: actions/tagrss.php:66
+#: actions/tagrss.php:66 actions/tagrss.php:64
 #, php-format
 msgid "Microblog tagged with %s"
 msgstr ""
@@ -4181,7 +4363,7 @@ msgstr ""
 msgid "Unblock user failed."
 msgstr ""
 
-#: actions/twitapiusers.php:48
+#: actions/twitapiusers.php:48 actions/twitapiusers.php:52
 msgid "Not found."
 msgstr ""
 
@@ -4189,15 +4371,15 @@ msgstr ""
 msgid "Add your Twitter account to automatically send "
 msgstr ""
 
-#: actions/twittersettings.php:119
+#: actions/twittersettings.php:119 actions/twittersettings.php:122
 msgid "Twitter user name"
 msgstr ""
 
-#: actions/twittersettings.php:126
+#: actions/twittersettings.php:126 actions/twittersettings.php:129
 msgid "Twitter password"
 msgstr ""
 
-#: actions/twittersettings.php:228
+#: actions/twittersettings.php:228 actions/twittersettings.php:232
 msgid "Twitter Friends"
 msgstr ""
 
@@ -4236,16 +4418,16 @@ msgstr ""
 msgid "%s groups, page %d"
 msgstr ""
 
-#: classes/Notice.php:104
+#: classes/Notice.php:104 classes/Notice.php:128
 msgid "Problem saving notice. Unknown user."
 msgstr ""
 
-#: classes/Notice.php:109
+#: classes/Notice.php:109 classes/Notice.php:133
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
 
-#: classes/Notice.php:116
+#: classes/Notice.php:116 classes/Notice.php:145
 msgid "You are banned from posting notices on this site."
 msgstr ""
 
@@ -4261,84 +4443,84 @@ msgstr ""
 msgid "Other options"
 msgstr ""
 
-#: lib/action.php:130
+#: lib/action.php:130 lib/action.php:132
 #, php-format
 msgid "%s - %s"
 msgstr ""
 
-#: lib/action.php:145
+#: lib/action.php:145 lib/action.php:147
 msgid "Untitled page"
 msgstr ""
 
-#: lib/action.php:316
+#: lib/action.php:316 lib/action.php:387
 msgid "Primary site navigation"
 msgstr ""
 
-#: lib/action.php:322
+#: lib/action.php:322 lib/action.php:393
 msgid "Personal profile and friends timeline"
 msgstr ""
 
-#: lib/action.php:325
+#: lib/action.php:325 lib/action.php:396
 msgid "Search for people or text"
 msgstr ""
 
-#: lib/action.php:328
+#: lib/action.php:328 lib/action.php:399
 msgid "Account"
 msgstr ""
 
-#: lib/action.php:328
+#: lib/action.php:328 lib/action.php:399
 msgid "Change your email, avatar, password, profile"
 msgstr ""
 
-#: lib/action.php:330
+#: lib/action.php:330 lib/action.php:403
 msgid "Connect to IM, SMS, Twitter"
 msgstr ""
 
-#: lib/action.php:332
+#: lib/action.php:332 lib/action.php:409
 msgid "Logout from the site"
 msgstr ""
 
-#: lib/action.php:335
+#: lib/action.php:335 lib/action.php:412
 msgid "Login to the site"
 msgstr ""
 
-#: lib/action.php:338
+#: lib/action.php:338 lib/action.php:415
 msgid "Create an account"
 msgstr ""
 
-#: lib/action.php:341
+#: lib/action.php:341 lib/action.php:418
 msgid "Login with OpenID"
 msgstr ""
 
-#: lib/action.php:344
+#: lib/action.php:344 lib/action.php:421
 msgid "Help me!"
 msgstr ""
 
-#: lib/action.php:362
+#: lib/action.php:362 lib/action.php:441
 msgid "Site notice"
 msgstr ""
 
-#: lib/action.php:417
+#: lib/action.php:417 lib/action.php:504
 msgid "Local views"
 msgstr ""
 
-#: lib/action.php:472
+#: lib/action.php:472 lib/action.php:559
 msgid "Page notice"
 msgstr ""
 
-#: lib/action.php:562
+#: lib/action.php:562 lib/action.php:654
 msgid "Secondary site navigation"
 msgstr ""
 
-#: lib/action.php:602 lib/action.php:623
+#: lib/action.php:602 lib/action.php:623 lib/action.php:699 lib/action.php:720
 msgid "Laconica software license"
 msgstr ""
 
-#: lib/action.php:630
+#: lib/action.php:630 lib/action.php:727
 msgid "All "
 msgstr ""
 
-#: lib/action.php:635
+#: lib/action.php:635 lib/action.php:732
 msgid "license."
 msgstr ""
 
@@ -4359,11 +4541,12 @@ msgstr ""
 msgid "To use the %s Facebook Application you need to login "
 msgstr ""
 
-#: lib/facebookaction.php:271
+#: lib/facebookaction.php:271 lib/facebookaction.php:273
 msgid " a new account."
 msgstr ""
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
+#: lib/facebookaction.php:675 lib/mailbox.php:216 lib/noticelist.php:357
 msgid "Published"
 msgstr ""
 
@@ -4500,7 +4683,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: lib/mail.php:461
+#: lib/mail.php:461 lib/mail.php:462
 #, php-format
 msgid "You've been nudged by %s"
 msgstr ""
@@ -4515,11 +4698,12 @@ msgstr ""
 msgid "%1$s just added your notice from %2$s"
 msgstr ""
 
-#: lib/mailbox.php:229 lib/noticelist.php:380
+#: lib/mailbox.php:229 lib/noticelist.php:380 lib/mailbox.php:231
+#: lib/noticelist.php:383
 msgid "From"
 msgstr ""
 
-#: lib/messageform.php:110
+#: lib/messageform.php:110 lib/messageform.php:109
 msgid "Send a direct notice"
 msgstr ""
 
@@ -4531,23 +4715,26 @@ msgstr ""
 msgid "Available characters"
 msgstr ""
 
-#: lib/noticelist.php:426
+#: lib/noticelist.php:426 lib/noticelist.php:429
 msgid "in reply to"
 msgstr ""
 
-#: lib/noticelist.php:447 lib/noticelist.php:450
+#: lib/noticelist.php:447 lib/noticelist.php:450 lib/noticelist.php:451
+#: lib/noticelist.php:454
 msgid "Reply to this notice"
 msgstr ""
 
-#: lib/noticelist.php:451
+#: lib/noticelist.php:451 lib/noticelist.php:455
 msgid "Reply"
 msgstr ""
 
-#: lib/noticelist.php:471 lib/noticelist.php:474
+#: lib/noticelist.php:471 lib/noticelist.php:474 lib/noticelist.php:476
+#: lib/noticelist.php:479
 msgid "Delete this notice"
 msgstr ""
 
-#: lib/noticelist.php:474
+#: lib/noticelist.php:474 actions/avatarsettings.php:148
+#: lib/noticelist.php:479
 msgid "Delete"
 msgstr ""
 
@@ -4568,27 +4755,28 @@ msgstr ""
 msgid "Tags in %s's notices"
 msgstr ""
 
-#: lib/profilelist.php:182
+#: lib/profilelist.php:182 lib/profilelist.php:180
 msgid "(none)"
 msgstr ""
 
-#: lib/publicgroupnav.php:76
+#: lib/publicgroupnav.php:76 lib/publicgroupnav.php:78
 msgid "Public"
 msgstr ""
 
-#: lib/publicgroupnav.php:80
+#: lib/publicgroupnav.php:80 lib/publicgroupnav.php:82
 msgid "User groups"
 msgstr ""
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
+#: lib/publicgroupnav.php:84 lib/publicgroupnav.php:85
 msgid "Recent tags"
 msgstr ""
 
-#: lib/publicgroupnav.php:86
+#: lib/publicgroupnav.php:86 lib/publicgroupnav.php:88
 msgid "Featured"
 msgstr ""
 
-#: lib/publicgroupnav.php:90
+#: lib/publicgroupnav.php:90 lib/publicgroupnav.php:92
 msgid "Popular"
 msgstr ""
 
@@ -4651,3 +4839,462 @@ msgstr ""
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
 msgstr ""
+
+#: actions/all.php:77
+#, php-format
+msgid "Feed for friends of %s (RSS 1.0)"
+msgstr ""
+
+#: actions/all.php:82
+#, php-format
+msgid "Feed for friends of %s (RSS 2.0)"
+msgstr ""
+
+#: actions/all.php:87
+#, php-format
+msgid "Feed for friends of %s (Atom)"
+msgstr ""
+
+#: actions/all.php:112
+msgid "You and friends"
+msgstr ""
+
+#: actions/avatarsettings.php:78
+#, php-format
+msgid "You can upload your personal avatar. The maximum file size is %s."
+msgstr ""
+
+#: actions/avatarsettings.php:373
+msgid "Avatar deleted."
+msgstr ""
+
+#: actions/block.php:129
+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/deletenotice.php:73
+msgid ""
+"You are about to permanently delete a notice. Once this is done, it cannot "
+"be undone."
+msgstr ""
+
+#: actions/deletenotice.php:127
+msgid "There was a problem with your session token.  Try again, please."
+msgstr ""
+
+#: actions/emailsettings.php:168
+msgid "Send me email when someone sends me an \"@-reply\"."
+msgstr ""
+
+#: actions/facebookhome.php:193
+#, php-format
+msgid ""
+"If you would like the %s app to automatically update your Facebook status "
+"with your latest notice, you need to give it permission."
+msgstr ""
+
+#: actions/facebookhome.php:217
+#, php-format
+msgid "Okay, do it!"
+msgstr ""
+
+#: actions/facebooksettings.php:124
+#, php-format
+msgid ""
+"If you would like %s to automatically update your Facebook status with your "
+"latest notice, you need to give it permission."
+msgstr ""
+
+#: actions/grouplogo.php:155
+#, php-format
+msgid ""
+"You can upload a logo image for your group. The maximum file size is %s."
+msgstr ""
+
+#: actions/grouplogo.php:367
+msgid "Pick a square area of the image to be the logo."
+msgstr ""
+
+#: actions/grouprss.php:136
+#, php-format
+msgid "Microblog by %s group"
+msgstr ""
+
+#: actions/groupsearch.php:57
+#, 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/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/newmessage.php:102
+msgid "Only logged-in users can send direct messages."
+msgstr ""
+
+#: actions/noticesearch.php:91
+#, php-format
+msgid "Search results for \"%s\" on %s"
+msgstr ""
+
+#: actions/openidlogin.php:66
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+
+#: actions/public.php:125
+msgid "Public Stream Feed (RSS 1.0)"
+msgstr ""
+
+#: actions/public.php:130
+msgid "Public Stream Feed (RSS 2.0)"
+msgstr ""
+
+#: actions/public.php:135
+msgid "Public Stream Feed (Atom)"
+msgstr ""
+
+#: actions/public.php:210
+#, php-format
+msgid ""
+"This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
+"blogging) service based on the Free Software [Laconica](http://laconi.ca/) "
+"tool. [Join now](%%action.register%%) to share notices about yourself with "
+"friends, family, and colleagues! ([Read more](%%doc.help%%))"
+msgstr ""
+
+#: actions/register.php:286
+#, php-format
+msgid ""
+"With this form you can create  a new account. You can then post notices and "
+"link up to friends and colleagues. (Have an [OpenID](http://openid.net/)? "
+"Try our [OpenID registration](%%action.openidlogin%%)!)"
+msgstr ""
+
+#: actions/register.php:432
+msgid "Creative Commons Attribution 3.0"
+msgstr ""
+
+#: actions/register.php:433
+msgid ""
+" except this private data: password, email address, IM address, and phone "
+"number."
+msgstr ""
+
+#: actions/showgroup.php:378
+msgid "Created"
+msgstr ""
+
+#: actions/showgroup.php:393
+#, 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 "
+"[Laconica](http://laconi.ca/) tool. Its members share short messages about "
+"their life and interests. [Join now](%%%%action.register%%%%) to become part "
+"of this group and many more! ([Read more](%%%%doc.help%%%%))"
+msgstr ""
+
+#: actions/showstream.php:147
+msgid "Your profile"
+msgstr ""
+
+#: actions/showstream.php:149
+#, php-format
+msgid "%s's profile"
+msgstr ""
+
+#: actions/showstream.php:163
+#, php-format
+msgid "Notice feed for %s (RSS 1.0)"
+msgstr ""
+
+#: actions/showstream.php:170
+#, php-format
+msgid "Notice feed for %s (RSS 2.0)"
+msgstr ""
+
+#: actions/showstream.php:177
+#, php-format
+msgid "Notice feed for %s (Atom)"
+msgstr ""
+
+#: actions/showstream.php:182
+#, php-format
+msgid "FOAF for %s"
+msgstr ""
+
+#: actions/showstream.php:237
+msgid "Edit Avatar"
+msgstr ""
+
+#: actions/showstream.php:316
+msgid "Edit profile settings"
+msgstr ""
+
+#: actions/showstream.php:317
+msgid "Edit"
+msgstr ""
+
+#: actions/showstream.php:542
+#, 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 "
+"[Laconica](http://laconi.ca/) tool. [Join now](%%%%action.register%%%%) to "
+"follow **%s**'s notices and many more! ([Read more](%%%%doc.help%%%%))"
+msgstr ""
+
+#: actions/smssettings.php:335
+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/twitapifavorites.php:171 lib/mail.php:556
+#, php-format
+msgid ""
+"%1$s just added your notice from %2$s as one of their favorites.\n"
+"\n"
+"In case you forgot, you can see the text of your notice here:\n"
+"\n"
+"%3$s\n"
+"\n"
+"You can see the list of %1$s's favorites here:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Faithfully yours,\n"
+"%5$s\n"
+msgstr ""
+
+#: actions/twitapistatuses.php:124
+msgid "No such user!"
+msgstr ""
+
+#: actions/twittersettings.php:72
+msgid ""
+"Add your Twitter account to automatically send  your notices to Twitter, and "
+"subscribe to Twitter friends already here."
+msgstr ""
+
+#: actions/twittersettings.php:345
+#, php-format
+msgid "Unable to retrieve account information For \"%s\" from Twitter."
+msgstr ""
+
+#: actions/userauthorization.php:86
+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/usergroups.php:131
+msgid "Search for more groups"
+msgstr ""
+
+#: classes/Notice.php:138
+msgid ""
+"Too many duplicate messages too quickly; take a breather and post again in a "
+"few minutes."
+msgstr ""
+
+#: lib/action.php:406
+msgid "Connect to SMS, Twitter"
+msgstr ""
+
+#: lib/action.php:671
+msgid "Badge"
+msgstr ""
+
+#: lib/command.php:113
+#, php-format
+msgid ""
+"Subscriptions: %1$s\n"
+"Subscribers: %2$s\n"
+"Notices: %3$s"
+msgstr ""
+
+#: lib/command.php:392
+msgid ""
+"Commands:\n"
+"on - turn on notifications\n"
+"off - turn off notifications\n"
+"help - show this help\n"
+"follow <nickname> - subscribe to user\n"
+"leave <nickname> - unsubscribe from user\n"
+"d <nickname> <text> - direct message to user\n"
+"get <nickname> - get last notice from user\n"
+"whois <nickname> - get profile info on user\n"
+"fav <nickname> - add user's last notice as a 'fave'\n"
+"stats - get your stats\n"
+"stop - same as 'off'\n"
+"quit - same as 'off'\n"
+"sub <nickname> - same as 'follow'\n"
+"unsub <nickname> - same as 'leave'\n"
+"last <nickname> - same as 'get'\n"
+"on <nickname> - not yet implemented.\n"
+"off <nickname> - not yet implemented.\n"
+"nudge <nickname> - not yet implemented.\n"
+"invite <phone number> - not yet implemented.\n"
+"track <word> - not yet implemented.\n"
+"untrack <word> - 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/dberroraction.php:60
+msgid "Database error"
+msgstr ""
+
+#: lib/facebookaction.php:271
+#, php-format
+msgid ""
+"To use the %s Facebook Application you need to login with your username and "
+"password. Don't have a username yet? "
+msgstr ""
+
+#: lib/feed.php:85
+msgid "RSS 1.0"
+msgstr ""
+
+#: lib/feed.php:87
+msgid "RSS 2.0"
+msgstr ""
+
+#: lib/feed.php:89
+msgid "Atom"
+msgstr ""
+
+#: lib/feed.php:91
+msgid "FOAF"
+msgstr ""
+
+#: lib/imagefile.php:75
+#, php-format
+msgid "That file is too big. The maximum file size is %d."
+msgstr ""
+
+#: lib/mail.php:175
+#, 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:241
+#, 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: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: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:598
+#, php-format
+msgid "%s sent a notice to your attention"
+msgstr ""
+
+#: lib/mail.php:600
+#, php-format
+msgid ""
+"%1$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"
+"You can reply back here:\n"
+"\n"
+"\t%5$s\n"
+"\n"
+"The list of all @-replies for you here:\n"
+"\n"
+"%6$s\n"
+"\n"
+"Faithfully yours,\n"
+"%2$s\n"
+"\n"
+"P.S. You can turn off these email notifications here: %7$s\n"
+msgstr ""
+
+#: lib/searchaction.php:122
+msgid "Search site"
+msgstr ""
+
+#: lib/section.php:106
+msgid "More..."
+msgstr ""
index 84e90242e0b5dad544633e07b9e801cbcbca54d4..480d559c9fc28249f6c1cb47549bf8e1b46b35aa 100644 (file)
Binary files a/locale/nb_NO/LC_MESSAGES/laconica.mo and b/locale/nb_NO/LC_MESSAGES/laconica.mo differ
index 38d4248b7ed1775c7daee578d3a5cdf613bd5735..b349f7d6b318fe62d645ceed8099b0a3f5460d0f 100644 (file)
@@ -4,22 +4,20 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-02-07 22:33+0000\n"
+"Last-Translator: Jimmy Volatile <spam@useful.no>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-#  laconica.po  #-#-#-#-#\n"
+"X-Generator: Pootle 1.1.0\n"
 "X-Poedit-Language: Norwegian Bokmal\n"
 "X-Poedit-Country: NORWAY\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
@@ -139,7 +137,7 @@ msgstr ""
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
 msgid "%s status"
-msgstr ""
+msgstr "%s status"
 
 #: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
 #: actions/twitapistatuses.php:199
@@ -151,13 +149,15 @@ msgstr ""
 #: actions/twitapistatuses.php:36
 #, php-format
 msgid "%s updates from everyone!"
-msgstr ""
+msgstr "%s oppdatering fra alle!"
 
 #: ../actions/register.php:213
 msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
 msgstr ""
+"(Du vil straks motta en e-post med instruksjoner om hvordan du kan bekrefte "
+"din e-postadresse.)"
 
 #: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
 #, php-format
@@ -194,12 +194,12 @@ msgstr "6 eller flere tegn"
 #: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
 #: actions/recoverpassword.php:220
 msgid "6 or more characters, and don't forget it!"
-msgstr ""
+msgstr "6 eller flere tegn. Og ikke glem det, nå!"
 
 #: ../actions/register.php:154 actions/register.php:168
 #: actions/register.php:373
 msgid "6 or more characters. Required."
-msgstr ""
+msgstr "6 eller flere tegn. Påkrevd."
 
 #: ../actions/imsettings.php:197 actions/imsettings.php:205
 #, php-format
index 63b730aff269cc055a4430618c9890da3b76bfb3..45463ff8cb2495a36146422d38d27424d35ffa84 100644 (file)
Binary files a/locale/nn_NO/LC_MESSAGES/laconica.mo and b/locale/nn_NO/LC_MESSAGES/laconica.mo differ
index dca3c60a4ed9511045735e7e7655a0eae8181aa0..a5a973e73b1ceed7897ed27003e19bd120fc78eb 100644 (file)
@@ -6,8 +6,8 @@ msgstr ""
 "Project-Id-Version: Laconica 0.6.3\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-28 13:27+0000\n"
-"Last-Translator: Simon Hansen <simonboba@gmail.com>\n"
+"PO-Revision-Date: 2009-02-18 22:11+0000\n"
+"Last-Translator: Tor Christian <tctovsli@gmail.com>\n"
 "Language-Team: Norwegian/Nynorsk <i18n-nn@lister.ping.uio.no>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -80,7 +80,7 @@ msgstr ""
 "%$2s er ei mikrobloggingteneste som let deg halda deg oppdatert på folk du "
 "kjenner og/eller som interesserer deg.\n"
 "\n"
-"Du kan Ã³g dela nyhende om deg sjølv, dine tankar eller livet ditt på nettet "
+"Du kan Ã²g dela nyhende om deg sjølv, dine tankar eller livet ditt på nettet "
 "med folk som kjenner til deg. Det er supert for å møte nye folk med like "
 "interesser.\n"
 "\n"
@@ -92,7 +92,7 @@ msgstr ""
 "\n"
 "%5$s\n"
 "\n"
-"Viss du vil prøva tenesta, klikk på lenka nedonfor for å akseptera "
+"Viss du vil prøva tenesta, klikk på lenka nedanfor for å akseptera "
 "invitasjonen.\n"
 "\n"
 "Beste helsing, %2$s\n"
@@ -100,7 +100,7 @@ msgstr ""
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
 #, php-format
 msgid "%1$s is now listening to your notices on %2$s."
-msgstr "%1$s høyrer no på notisane dine på %2$s."
+msgstr "%1$s høyrar no på notisane dine på %2$s."
 
 #: ../lib/mail.php:126
 #, php-format
@@ -426,7 +426,6 @@ msgid "Awaiting confirmation on this phone number."
 msgstr "Ventar på godkjenning for dette telefonnummeret."
 
 #: ../lib/util.php:1318 lib/util.php:1452
-#, fuzzy
 msgid "Before »"
 msgstr "Før »"
 
@@ -540,7 +539,6 @@ msgstr "Fann ikkje stadfestingskode."
 
 #: ../actions/register.php:202
 #, php-format
-#, fuzzy
 msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to...\n"
@@ -557,9 +555,19 @@ msgid ""
 "\n"
 "Thanks for signing up and we hope you enjoy using this service."
 msgstr ""
-"Gratulerer, %s! Velkomen til %%%%site.name%%%%. Du vil kanhenda...\n"
+"Gratulerer, %s! Og velkomen til %%%%site.name%%%%. Frå her kann det henda du "
+"vil...\n"
 "\n"
-"* Gå til [profilen din](%s) og "
+"* Gå til [profilen din](%s) og skriva den fyrste meldinga.\n"
+"* Leggja til ei [Jabber/GTalk adresse](%%%%action.imsettings%%%%) so du kann "
+"laga nye meldingar ved hjelp av direktemeldingar.\n"
+"* [Søkje etter folk](%%%%action.profilesettings%%%%) det kan hende du "
+"kjenner, eller som du delar interesser med.\n"
+"* Uppdatere dine [profilval] so du kann fortelja andre meir um deg sjølv.* "
+"Lesa [hjelpetekstane](%%%%doc.help%%%%) for å finna ut meir um funksjonar du "
+"kann ha gådd glipp av.\n"
+"\n"
+"Takk for at du blei med, og vi håpar du vil lika tenesta!"
 
 #: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
 #: actions/finishopenidlogin.php:119 lib/action.php:330
@@ -594,9 +602,8 @@ msgstr "Fann ikkje brukaren, so han kan ikkje fylgjast"
 
 #: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
 #, php-format
-#, fuzzy
 msgid "Could not redirect to server: %s"
-msgstr "Kan ikkje "
+msgstr "Klarte ikkje å omdirigera til tenaren: %s"
 
 #: ../actions/updateprofile.php:162 actions/updateprofile.php:163
 #: actions/updateprofile.php:166
@@ -619,13 +626,12 @@ msgstr "Kan ikkje tinga."
 #: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
 msgid "Could not update user with confirmed email address."
-msgstr "Kan ikkje oppdatera brukar med stadfesta epostadresse."
+msgstr "Kan ikkje oppdatera brukar med stadfesta e-postadresse."
 
 #: ../actions/finishremotesubscribe.php:99
 #: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
-#, fuzzy
 msgid "Couldn't convert request tokens to access tokens."
-msgstr "Kan ikkje konvertera spyrje"
+msgstr "Kan ikkje konvertera spyrjebillett til tilgongsbillett."
 
 #: ../actions/confirmaddress.php:84 ../actions/emailsettings.php:234
 #: ../actions/imsettings.php:218 ../actions/smssettings.php:241
@@ -634,7 +640,7 @@ msgstr "Kan ikkje konvertera spyrje"
 #: actions/confirmaddress.php:126 actions/emailsettings.php:375
 #: actions/imsettings.php:357 actions/smssettings.php:370
 msgid "Couldn't delete email confirmation."
-msgstr "Kan ikkje sletta epostgodkjenning."
+msgstr "Kan ikkje sletta e-postgodkjenning."
 
 #: ../lib/subs.php:103 lib/subs.php:116 lib/subs.php:134
 msgid "Couldn't delete subscription."
@@ -648,7 +654,7 @@ msgstr "Kan ikkje finna einkvan status."
 #: ../actions/remotesubscribe.php:127 actions/remotesubscribe.php:136
 #: actions/remotesubscribe.php:178
 msgid "Couldn't get a request token."
-msgstr "Fekk ikkje spørjingsbillett (request token)"
+msgstr "Fekk ikkje spørjingsbillett (request token)."
 
 #: ../actions/emailsettings.php:205 ../actions/imsettings.php:187
 #: ../actions/smssettings.php:206 actions/emailsettings.php:223
@@ -1000,7 +1006,7 @@ msgid ""
 "If you want to add an OpenID to your account, enter it in the box below and "
 "click \"Add\"."
 msgstr ""
-"Skriv OpenID-en din i boksen nedanfor og trykk «Legg til» om du ynskjerå "
+"Skriv OpenID-en din i boksen nedanfor og trykk «Legg til» om du ynskjer å "
 "leggja han til."
 
 #: ../actions/recoverpassword.php:137
@@ -1082,17 +1088,17 @@ msgstr "Ugyldig notis-adresse"
 #: actions/updateprofile.php:91
 #, php-format
 msgid "Invalid profile URL '%s'."
-msgstr "Ugyldig profil-netadresse «%s»"
+msgstr "Ugyldig profil-nettadresse «%s»"
 
 #: ../actions/remotesubscribe.php:96 actions/remotesubscribe.php:105
 #: actions/remotesubscribe.php:135
 msgid "Invalid profile URL (bad format)"
-msgstr "Ugyldig profil-netadresse (feil format)"
+msgstr "Ugyldig profil-nettadresse (feil format)"
 
 #: ../actions/finishremotesubscribe.php:77
 #: actions/finishremotesubscribe.php:79 actions/finishremotesubscribe.php:80
 msgid "Invalid profile URL returned by server."
-msgstr "Ugyldig profil-netadresse returnert av tenar."
+msgstr "Ugyldig profil-nettadresse returnert av tenar."
 
 #: ../actions/avatarbynickname.php:37 actions/avatarbynickname.php:37
 #: actions/avatarbynickname.php:69
@@ -1227,7 +1233,7 @@ msgstr "Vel ny epostadresse til å oppdatera med; fjerner den gamle."
 #: actions/emailsettings.php:71
 #, php-format
 msgid "Manage how you get email from %%site.name%%."
-msgstr "Styr korleis du fær epost frå %%site.name%%."
+msgstr "Styr korleis du fÃ¥r epost frå %%site.name%%."
 
 #: ../actions/showstream.php:300 actions/showstream.php:315
 #: actions/showstream.php:480
@@ -1409,7 +1415,7 @@ msgstr "Ingen telefonnummer."
 #: ../actions/finishremotesubscribe.php:72
 #: actions/finishremotesubscribe.php:74 actions/finishremotesubscribe.php:75
 msgid "No profile URL returned by server."
-msgstr "Ingen profil-netadresse returnert av tenar."
+msgstr "Ingen profil-nettadresse returnert av tenar."
 
 #: ../actions/recoverpassword.php:226 actions/recoverpassword.php:232
 #: actions/recoverpassword.php:266
@@ -1419,7 +1425,7 @@ msgstr "Ingen registrert epostadresse for den brukaren."
 #: ../actions/userauthorization.php:49 actions/userauthorization.php:55
 #: actions/userauthorization.php:57
 msgid "No request found!"
-msgstr "Fann ingen spørjing."
+msgstr "Fann inga spørjing."
 
 #: ../actions/noticesearch.php:64 ../actions/peoplesearch.php:64
 #: actions/noticesearch.php:69 actions/peoplesearch.php:69
@@ -1468,7 +1474,7 @@ msgstr "Opprettingskoden finst ikkje."
 #: ../actions/postnotice.php:56 actions/postnotice.php:57
 #: actions/postnotice.php:60
 msgid "No such subscription"
-msgstr "Tingingi finst ikkje."
+msgstr "Tinginga finst ikkje."
 
 #: ../actions/all.php:34 ../actions/allrss.php:35
 #: ../actions/avatarbynickname.php:43 ../actions/foaf.php:40
@@ -2272,6 +2278,9 @@ msgid ""
 "with the site's instructions for details on how to authorize the "
 "subscription. Your subscription token is:"
 msgstr ""
+"Tingina har blitt autorisert, men ingen henvisnings URL er tilgjengleg. "
+"Sjekk med sida sine instruksjonar for korleis autorisering til tinginga skal "
+"gjennomførast. Ditt tingings teikn er: "
 
 #: ../actions/userauthorization.php:322
 msgid ""
@@ -2279,6 +2288,8 @@ msgid ""
 "with the site's instructions for details on how to fully reject the "
 "subscription."
 msgstr ""
+"Tingina har blitt avvist, men ingen henvisnings URL er tilgjengleg. Sjekk "
+"med sida sine instruksjonar for korleis ein skal avvise tinginga."
 
 #: ../actions/subscribers.php:35 actions/subscribers.php:35
 #, php-format
@@ -2292,7 +2303,7 @@ msgstr "Dette er folk som lyttar til dine notisar."
 #: ../actions/subscriptions.php:35 actions/subscriptions.php:35
 #, php-format
 msgid "These are the people whose notices %s listens to."
-msgstr ""
+msgstr "Dette er folka som %s tingar oppdateringar frå."
 
 #: ../actions/subscriptions.php:33 actions/subscriptions.php:33
 msgid "These are the people whose notices you listen to."
@@ -2313,6 +2324,8 @@ msgid ""
 "This form should automatically submit itself. If not, click the submit "
 "button to go to your OpenID provider."
 msgstr ""
+"Skjemaet burde automatisk sendast inn av seg sjølv.  Om det ikkje gjer det, "
+"kann du klikka på knappen for å gå til OpenID-tilbydaren din."
 
 #: ../actions/finishopenidlogin.php:56 actions/finishopenidlogin.php:61
 #: actions/finishopenidlogin.php:67
@@ -2322,13 +2335,16 @@ msgid ""
 "to a local account. You can either create a new account, or connect with "
 "your existing account, if you have one."
 msgstr ""
+"Dette er den fyrste gongen du hev logga inn på %s, so vi må kopla din OpenID "
+"til den lokale kontoen din.  Du kann anten laga ein ny konto, eller kopla "
+"til ein eksisterande konto, om du hev ein frå før."
 
 #: ../actions/twitapifriendships.php:108 ../actions/twitapistatuses.php:586
 #: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
 #: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
 #: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
 msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "Dette krev anten ein POST eller DELETE."
 
 #: ../actions/twitapiaccount.php:65 ../actions/twitapifriendships.php:44
 #: ../actions/twitapistatuses.php:381 actions/twitapiaccount.php:63
@@ -2337,11 +2353,11 @@ msgstr ""
 #: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
 #: actions/twitapistatuses.php:244
 msgid "This method requires a POST."
-msgstr ""
+msgstr "Dette krev ein POST."
 
 #: ../lib/util.php:164 lib/util.php:246
 msgid "This page is not available in a media type you accept"
-msgstr ""
+msgstr "Denne sida er ikkje tilgjengeleg i nokon mediatype du aksepterer."
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:138
@@ -2351,7 +2367,7 @@ msgstr "Tidssone"
 #: ../actions/profilesettings.php:107 actions/profilesettings.php:222
 #: actions/profilesettings.php:211
 msgid "Timezone not selected."
-msgstr ""
+msgstr "Tidssone er ikkje valt."
 
 #: ../actions/remotesubscribe.php:43
 #, php-format
@@ -2360,22 +2376,26 @@ msgid ""
 "register%%) a new  account. If you already have an account  on a [compatible "
 "microblogging site](%%doc.openmublog%%),  enter your profile URL below."
 msgstr ""
+"For å tinga kann du [logga inn](%%action.login%%), eller "
+"[registrera](%%action.register%%) ein ny konto.  Um du allereie hev ein "
+"konto på ei [kompatibel mikrobloggingside](%%doc.openmublog%%), kann du "
+"oppgje URLen til profilen under."
 
 #: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
 #: actions/twitapifriendships.php:132
 msgid "Two user ids or screen_names must be supplied."
-msgstr ""
+msgstr "To brukar IDer eller kallenamn er naudsynte."
 
 #: ../actions/profilesettings.php:48 ../actions/register.php:169
 #: actions/profilesettings.php:81 actions/register.php:183
 #: actions/profilesettings.php:109
 msgid "URL of your homepage, blog, or profile on another site"
-msgstr ""
+msgstr "URL til heimesida di, bloggen din, eller ein profil på ei anna side."
 
 #: ../actions/remotesubscribe.php:74 actions/remotesubscribe.php:83
 #: actions/remotesubscribe.php:110
 msgid "URL of your profile on another compatible microblogging service"
-msgstr ""
+msgstr "URL til profilsida di på ei anna kompatibel mikrobloggingteneste."
 
 #: ../actions/emailsettings.php:130 ../actions/imsettings.php:110
 #: ../actions/recoverpassword.php:39 ../actions/smssettings.php:135
@@ -2386,33 +2406,35 @@ msgstr ""
 #: actions/imsettings.php:214 actions/recoverpassword.php:44
 #: actions/smssettings.php:236 actions/twittersettings.php:302
 msgid "Unexpected form submission."
-msgstr ""
+msgstr "Uventa skjemasending."
 
 #: ../actions/recoverpassword.php:276 actions/recoverpassword.php:289
 #: actions/recoverpassword.php:323
 msgid "Unexpected password reset."
-msgstr ""
+msgstr "Uventa passordnullstilling."
 
 #: ../index.php:57 index.php:57 actions/recoverpassword.php:202
 msgid "Unknown action"
-msgstr ""
+msgstr "Uventa handling."
 
 #: ../actions/finishremotesubscribe.php:58
 #: actions/finishremotesubscribe.php:60 actions/finishremotesubscribe.php:61
 msgid "Unknown version of OMB protocol."
-msgstr ""
+msgstr "Ukjend versjon av OMB-protokollen."
 
 #: ../lib/util.php:269 lib/util.php:285
 msgid ""
 "Unless otherwise specified, contents of this site are copyright by the "
 "contributors and available under the "
 msgstr ""
+"Vist anna ikkje er spesifert er innhaldet på denne sida opphavsrettslig "
+"beskyttet av bidragsytaren og er tilgjengleg under "
 
 #: ../actions/confirmaddress.php:48 actions/confirmaddress.php:48
 #: actions/confirmaddress.php:90
 #, php-format
 msgid "Unrecognized address type %s"
-msgstr ""
+msgstr "Ukjend adressetype %s"
 
 #: ../actions/showstream.php:209 actions/showstream.php:219
 #: lib/unsubscribeform.php:137
@@ -2423,39 +2445,39 @@ msgstr "Fjern tinging"
 #: actions/postnotice.php:45 actions/updateprofile.php:46
 #: actions/postnotice.php:48 actions/updateprofile.php:49
 msgid "Unsupported OMB version"
-msgstr ""
+msgstr "Støttar ikkje OMB-versjonen"
 
 #: ../actions/avatar.php:105 actions/profilesettings.php:342
 #: lib/imagefile.php:102
 msgid "Unsupported image file format."
-msgstr ""
+msgstr "Støttar ikkje bileteformatet."
 
 #: ../lib/settingsaction.php:100 lib/settingsaction.php:94
 #: lib/connectsettingsaction.php:108
 msgid "Updates by SMS"
-msgstr ""
+msgstr "Oppdateringar over SMS"
 
 #: ../lib/settingsaction.php:103 lib/settingsaction.php:97
 #: lib/connectsettingsaction.php:105
 msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "Oppdateringar over direktemeldingar (IM)"
 
 #: ../actions/twitapistatuses.php:241 actions/twitapistatuses.php:158
 #: actions/twitapistatuses.php:129
 #, php-format
 msgid "Updates from %1$s and friends on %2$s!"
-msgstr ""
+msgstr "Oppdateringar frå %1$s og vener på %2$s!"
 
 #: ../actions/twitapistatuses.php:341 actions/twitapistatuses.php:268
 #: actions/twitapistatuses.php:202
 #, php-format
 msgid "Updates from %1$s on %2$s!"
-msgstr ""
+msgstr "Oppdateringar frå %1$s på %2$s!"
 
 #: ../actions/avatar.php:68 actions/profilesettings.php:161
 #: actions/avatarsettings.php:162 actions/grouplogo.php:232
 msgid "Upload"
-msgstr "Lasta opp"
+msgstr "Last opp"
 
 #: ../actions/avatar.php:27
 msgid ""
@@ -2464,25 +2486,32 @@ msgid ""
 "site license, also. Use a picture that belongs to you and that you want to "
 "share."
 msgstr ""
+"Last opp ein ny «avatar» (brukarbilete) her.  Du kan ikkje redigera bilete "
+"etter du har lasta det opp, so sørg for at det er meir eller mindre "
+"firkanta.  Det må ogso vera under den same lisensen.  Nytta eit bilete som "
+"tilhøyrer deg, og som du vil dela."
 
 #: ../lib/settingsaction.php:91
 msgid "Upload a new profile image"
-msgstr "Last opp eit nytt brukarbilete"
+msgstr "Last opp eit nytt profilbilete"
 
 #: ../actions/invite.php:114 actions/invite.php:121 actions/invite.php:154
 msgid ""
 "Use this form to invite your friends and colleagues to use this service."
 msgstr ""
+"Bruk dette skjemaet for å invitera vener og kolleger til å nytta denne "
+"tenesta."
 
 #: ../actions/register.php:159 ../actions/register.php:162
 #: actions/register.php:173 actions/register.php:176
 msgid "Used only for updates, announcements, and password recovery"
 msgstr ""
+"Blir berre brukt for uppdateringar, viktige meldingar og for gløymde passord"
 
 #: ../actions/finishremotesubscribe.php:86
 #: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
 msgid "User being listened to doesn't exist."
-msgstr ""
+msgstr "Brukaren du lyttar til eksisterer ikkje."
 
 #: ../actions/all.php:41 ../actions/avatarbynickname.php:48
 #: ../actions/foaf.php:47 ../actions/replies.php:41
@@ -2500,7 +2529,7 @@ msgstr ""
 #: actions/twitapistatuses.php:503 actions/twitapiusers.php:55
 #: actions/usergroups.php:99 lib/galleryaction.php:67 lib/twitterapi.php:626
 msgid "User has no profile."
-msgstr ""
+msgstr "Brukaren har inga profil."
 
 #: ../actions/remotesubscribe.php:71 actions/remotesubscribe.php:80
 #: actions/remotesubscribe.php:105
@@ -2509,87 +2538,91 @@ msgstr "Brukaren sitt kallenamn"
 
 #: ../actions/twitapiusers.php:75 actions/twitapiusers.php:80
 msgid "User not found."
-msgstr ""
+msgstr "Fant ikkje brukaren."
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:139
 msgid "What timezone are you normally in?"
-msgstr ""
+msgstr "Kva tidssone er du vanlegvis i?"
 
 #: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
 #, php-format
 msgid "What's up, %s?"
-msgstr "Kva skjer %s?"
+msgstr "Kva skjer, %s?"
 
 #: ../actions/profilesettings.php:54 ../actions/register.php:175
 #: actions/profilesettings.php:87 actions/register.php:189
 #: actions/profilesettings.php:119
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr "Kvar er du, t.d. «Stavanger, Rogaland, Noreg»"
+msgstr "Kvar er du, t.d. «By, Fylke (eller Region), Land»"
 
 #: ../actions/updateprofile.php:128 actions/updateprofile.php:129
 #: actions/updateprofile.php:132
 #, php-format
 msgid "Wrong image type for '%s'"
-msgstr ""
+msgstr "Feil biletetype for '%s'"
 
 #: ../actions/updateprofile.php:123 actions/updateprofile.php:124
 #: actions/updateprofile.php:127
 #, php-format
 msgid "Wrong size image at '%s'"
-msgstr ""
+msgstr "Feil storleik på biletet, på '%s'"
 
 #: ../actions/deletenotice.php:63 ../actions/deletenotice.php:72
 #: actions/deletenotice.php:64 actions/deletenotice.php:79
 #: actions/block.php:148 actions/deletenotice.php:122
 #: actions/deletenotice.php:141
 msgid "Yes"
-msgstr "Ja"
+msgstr "Jau"
 
 #: ../actions/finishaddopenid.php:64 actions/finishaddopenid.php:64
 #: actions/finishaddopenid.php:112
 msgid "You already have this OpenID!"
-msgstr ""
+msgstr "Du hev denne OpenIDen allereie!"
 
 #: ../actions/deletenotice.php:37 actions/deletenotice.php:37
 msgid ""
 "You are about to permanently delete a notice.  Once this is done, it cannot "
 "be undone."
 msgstr ""
+"Du er i ferd med å sletta ei melding.  Når den fyrst er sletta, kann du "
+"ikkje finne ho att."
 
 #: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
 #: actions/recoverpassword.php:36
 msgid "You are already logged in!"
-msgstr "Du er allereie innlogga."
+msgstr "Du er allereie logga inn!"
 
 #: ../actions/invite.php:81 actions/invite.php:88 actions/invite.php:120
 msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "Du tingar allereie oppdatering frå desse brukarane:"
 
 #: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
 msgid "You are not friends with the specified user."
-msgstr ""
+msgstr "Du er ikkje ven med brukaren."
 
 #: ../actions/password.php:27
 msgid "You can change your password here. Choose a good one!"
-msgstr ""
+msgstr "Du kan endra passord her.  Vel eit godt passord!"
 
 #: ../actions/register.php:135 actions/register.php:145
 msgid "You can create a new account to start posting notices."
-msgstr ""
+msgstr "Du kan laga ein ny konto og byrja skriva meldingar."
 
 #: ../actions/smssettings.php:28 actions/smssettings.php:28
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr ""
+msgstr "Du kan motta SMS-meldingar gjennom e-post frå %%site.name%%."
 
 #: ../actions/openidsettings.php:86
 msgid ""
 "You can remove an OpenID from your account by clicking the button marked "
 "\"Remove\"."
 msgstr ""
+"Du kan fjerna OpenID frå kontoen din ved å klikka på knappen som seier "
+"«Fjern»."
 
 #: ../actions/imsettings.php:28 actions/imsettings.php:28
 #, php-format
@@ -2597,29 +2630,33 @@ msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
 "doc.im%%). Configure your address and settings below."
 msgstr ""
+"Du kan sende og motta meldingar gjennom Jabber/GTalk "
+"[direktemeldingar](%%doc.im%%).  Set opp adressa og innstillingar under."
 
 #: ../actions/profilesettings.php:27
 msgid ""
 "You can update your personal profile info here so people know more about you."
 msgstr ""
+"Du kan oppdatera informasjonen i profilen din her, so folk kan vite meir om "
+"deg."
 
 #: ../actions/finishremotesubscribe.php:31 ../actions/remotesubscribe.php:31
 #: actions/finishremotesubscribe.php:31 actions/remotesubscribe.php:31
 #: actions/finishremotesubscribe.php:33 actions/finishremotesubscribe.php:85
 #: actions/finishremotesubscribe.php:101 actions/remotesubscribe.php:35
 msgid "You can use the local subscription!"
-msgstr ""
+msgstr "Du kan nytta det lokale abonnementet!"
 
 #: ../actions/finishopenidlogin.php:33 ../actions/register.php:61
 #: actions/finishopenidlogin.php:38 actions/register.php:68
 #: actions/finishopenidlogin.php:43
 msgid "You can't register if you don't agree to the license."
-msgstr ""
+msgstr "Du kan ikkje registrera deg om du ikkje godtek vilkåra i lisensen."
 
 #: ../actions/updateprofile.php:63 actions/updateprofile.php:64
 #: actions/updateprofile.php:67
 msgid "You did not send us that profile"
-msgstr ""
+msgstr "Du sende oss ikkje den profilen"
 
 #: ../lib/mail.php:147
 #, php-format
@@ -2633,26 +2670,35 @@ msgid ""
 "Faithfully yours,\n"
 "%4$s"
 msgstr ""
+"Du hev ei ny posteadresse på %1½s.\n"
+"\n"
+"Send e-post til %2$s for å posta nyte meldingar.\n"
+"\n"
+"Fleiere e-postinstruksjonar finn du på %3½s.\n"
+"\n"
+"Helsing frå %4$s"
 
 #: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
 #: actions/twitapistatuses.php:463
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "Du kan ikkje sletta statusen til ein annan brukar."
 
 #: ../actions/invite.php:31 actions/invite.php:31 actions/invite.php:39
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "Du må verta logga inn for å invitera andre brukarar til %s"
 
 #: ../actions/invite.php:103 actions/invite.php:110 actions/invite.php:142
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
 msgstr ""
+"Du vil få ein notis når dei du har invitert har akseptert invitasjonen og "
+"har registrert seg på sida. Takk for å bidra til fellesskapet her!"
 
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
-msgstr ""
+msgstr "Du har blitt identifisert. Skriv inn eit nytt passord under her."
 
 #: ../actions/openidlogin.php:67 actions/openidlogin.php:76
 #: actions/openidlogin.php:104
@@ -2661,7 +2707,7 @@ msgstr "Din OpenID"
 
 #: ../actions/recoverpassword.php:164
 msgid "Your nickname on this server, or your registered email address."
-msgstr ""
+msgstr "Ditt kallenamn på denne servere, eller din registrerte epost addresse."
 
 #: ../actions/openidsettings.php:28
 #, php-format
@@ -2669,6 +2715,8 @@ msgid ""
 "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
 "account.  Manage your associated OpenIDs from here."
 msgstr ""
+"[OpenID](%%doc.openid%%) lar deg logge inn på mangen sider med den samme "
+"brukar kontoen. Velikehold dine OpenID herfra."
 
 #: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
 msgid "a few seconds ago"
@@ -2696,7 +2744,7 @@ msgstr "~%d månadar sidan"
 
 #: ../lib/util.php:953 lib/util.php:1002 lib/util.php:955
 msgid "about a day ago"
-msgstr "Omtrent ein dag sidan"
+msgstr "omtrent ein dag sidan"
 
 #: ../lib/util.php:945 lib/util.php:994 lib/util.php:947
 msgid "about a minute ago"
@@ -2739,10 +2787,9 @@ msgstr "same passord som ovanfor"
 #: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
 #: actions/twitapistatuses.php:555
 msgid "unsupported file type"
-msgstr ""
+msgstr "ikkje støtta fil type"
 
 #: ../lib/util.php:1309 lib/util.php:1443
-#, fuzzy
 msgid "« After"
 msgstr "« Etter"
 
@@ -2760,53 +2807,53 @@ msgstr "« Etter"
 #: actions/openidlogin.php:37 actions/recoverpassword.php:316
 #: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
 msgid "There was a problem with your session token. Try again, please."
-msgstr ""
+msgstr "Der var eit problem med sesjonen din. Vennlegst prøv på nytt."
 
 #: actions/disfavor.php:55 actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "Denne notisen er ikkje ein favoritt!"
 
 #: actions/disfavor.php:63 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "Kunne ikkje slette favoritt."
 
 #: actions/disfavor.php:72 lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "Tjeneste"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
-msgstr ""
+msgstr "Send meg ein epost når nokon legg til ein av mine notisar som favoritt."
 
 #: actions/emailsettings.php:95 actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "Send meg ein epost når nokon sender meg ei privat melding."
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "Denne notisen er alt ein favoritt!"
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "Kunne ikkje lagre favoritt."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "Fjern favoritt"
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "%s sine favorittar"
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "Favoritt straum for %s"
 
 #: actions/inbox.php:28 actions/inbox.php:59
 #, php-format
@@ -2820,7 +2867,7 @@ msgstr "Innboks for %s"
 
 #: actions/inbox.php:53 actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
-msgstr ""
+msgstr "Dette er innboksen for dine private meldingar."
 
 #: actions/invite.php:178 actions/invite.php:213
 #, php-format
@@ -2828,34 +2875,36 @@ msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 "\n"
 msgstr ""
+"%1$s har invitert deg til å bli med dei på %2$s (%3$s).\n"
+"\n"
 
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "Logg inn automatisk i framtida;"
 
 #: actions/login.php:122 actions/login.php:264
 msgid "For security reasons, please re-enter your "
-msgstr ""
+msgstr "Av åsyn til tryggleiken, skriv inn"
 
 #: actions/login.php:126 actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "Logg inn med ditt brukarnamn og passord."
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "Det er for langt. Ein notis kan berre være 140 teikn."
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
 msgid "No recipient specified."
-msgstr ""
+msgstr "Ingen mottakar spesifisert."
 
 #: actions/newmessage.php:68 actions/newmessage.php:113
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "Du kan ikkje sende melding til denne brukaren."
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
@@ -2863,11 +2912,13 @@ msgstr ""
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
+"Ikkje send ei melding til deg sjølv; berre sei det til deg sjølv stille og "
+"fredleg."
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
 #: actions/newmessage.php:163
 msgid "No such user"
-msgstr ""
+msgstr "Ingen slik brukar"
 
 #: actions/newmessage.php:117 actions/newmessage.php:67
 msgid "New message"
@@ -2875,48 +2926,49 @@ msgstr "Ny melding"
 
 #: actions/noticesearch.php:95 actions/noticesearch.php:146
 msgid "Notice without matching profile"
-msgstr ""
+msgstr "Notis utan tiløyrande profil"
 
 #: actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
-msgstr ""
+msgstr "[OpenID](%%doc.openid%%) lar deg logge inn til mangen sider"
 
 #: actions/openidsettings.php:46 actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
-msgstr ""
+msgstr "Vist du ønskjer å legge til ein OpenID til din konto,"
 
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
-msgstr ""
+msgstr "Ved å fjerne din einaste OpenID vil gjere det umuleg å logge inn!"
 
 #: actions/openidsettings.php:87 actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
-msgstr ""
+msgstr "Du kan fjerne ein OpenID fra din konto."
 
 #: actions/outbox.php:28 actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "Utboks for %s - side %d"
 
 #: actions/outbox.php:30 actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "Utboks for %s"
 
 #: actions/outbox.php:53 actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
-msgstr ""
+msgstr "Dette er din utboks som syner alle private meldingar du har sendt."
 
 #: actions/peoplesearch.php:28 actions/peoplesearch.php:52
 #, php-format
 msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
 msgstr ""
+"Søk etter folk på %%site.name%% etter deira namn, lokasjon eller interesser."
 
 #: actions/profilesettings.php:27 actions/profilesettings.php:69
 msgid "You can update your personal profile info here "
-msgstr ""
+msgstr "Du kan oppdatere din personlege profil her"
 
 #: actions/profilesettings.php:115 actions/remotesubscribe.php:320
 #: actions/userauthorization.php:159 actions/userrss.php:76
@@ -2924,35 +2976,35 @@ msgstr ""
 #: actions/grouplogo.php:177 actions/remotesubscribe.php:367
 #: actions/userauthorization.php:176 actions/userrss.php:82
 msgid "User without matching profile"
-msgstr ""
+msgstr "Kan ikkje finne brukar"
 
 #: actions/recoverpassword.php:91 actions/recoverpassword.php:97
 msgid "This confirmation code is too old. "
-msgstr ""
+msgstr "Godkjenningskoden er for gammal."
 
 #: actions/recoverpassword.php:141 actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "Vist du har gløymt eller mista ditt"
 
 #: actions/recoverpassword.php:154 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "Du har blitt identifisert. Skriv inn"
 
 #: actions/recoverpassword.php:169 actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
-msgstr ""
+msgstr "Ditt kallenamn på denne serveren,"
 
 #: actions/recoverpassword.php:271 actions/recoverpassword.php:304
 msgid "Instructions for recovering your password "
-msgstr ""
+msgstr "Instruksjonar for å hente fram passordet ditt"
 
 #: actions/recoverpassword.php:327 actions/recoverpassword.php:361
 msgid "New password successfully saved. "
-msgstr ""
+msgstr "Nytt passord lagra."
 
 #: actions/register.php:95 actions/register.php:180
 msgid "Password must be 6 or more characters."
-msgstr ""
+msgstr "Passord må være minst 6 teikn."
 
 #: actions/register.php:216
 #, php-format
@@ -2960,43 +3012,45 @@ msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to..."
 msgstr ""
+"Gratulerer, %s!  Og velkomen til %%%%site.name%%%%.  Herfrå kann det hende "
+"du vil..."
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "(Du burde motteke ein e-post snart, med"
 
 #: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "For å tinga må du [logga inn](%%action.login%%),"
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "Straum for %s sine favorittar"
 
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "Kunne ikkje hente fram favorittane."
 
 #: actions/showmessage.php:33 actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "Kan ikkje finne den meldinga."
 
 #: actions/showmessage.php:42
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "Kun sendaren og mottakaren kan lese denne meldinga."
 
 #: actions/showmessage.php:61 actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "Melding til %1$s på %2$s"
 
 #: actions/showmessage.php:66 actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Melding fra %1$s på %2$s"
 
 #: actions/showstream.php:154
 msgid "Send a message"
@@ -3005,26 +3059,26 @@ msgstr "Send ei melding"
 #: actions/smssettings.php:312 actions/smssettings.php:464
 #, php-format
 msgid "Mobile carrier for your phone. "
-msgstr ""
+msgstr "Tenestetilbydar for telefonen din."
 
 #: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "Direkte meldingar til %s"
 
 #: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "Alle direkte meldingar sendt til %s"
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "Alle direkte meldingar du har sendt"
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "Alle direkte meldingar sendt fra %s"
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
@@ -3034,28 +3088,28 @@ msgstr "Inga meldingstekst!"
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
 msgid "Recipient user not found."
-msgstr ""
+msgstr "Kunne ikkje finne mottakar."
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
-msgstr ""
+msgstr "Kan ikkje senda direktemeldingar til brukarar som du ikkje er ven med."
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / Favorittar frå %s"
 
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s oppdateringar favorisert av %s / %s."
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s la til di melding som ein favoritt"
 
 #: actions/twitapifavorites.php:188 lib/mail.php:276
 #: actions/twitapifavorites.php:165
@@ -3064,11 +3118,15 @@ msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s la akkurat til di melding frå %2$s som ein av deira favorittar.\n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
 "Add your Twitter account to automatically send your notices to Twitter, "
 msgstr ""
+"Legg til Twitter-kontoen din for å automatisk senda dine uppdateringar til "
+"Twitter,"
 
 #: actions/twittersettings.php:41 actions/twittersettings.php:60
 msgid "Twitter settings"
@@ -3121,12 +3179,12 @@ msgstr "Twitter-informasjonen fungerer ikkje mot Twitter."
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "Klarte ikkje å hente informasjon fra kontoen din, «%s», frå Twitter."
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
 msgid "Unable to save your Twitter settings!"
-msgstr ""
+msgstr "Klarte ikkje å lagra Twitter-innstillingane dine!"
 
 #: actions/twittersettings.php:174 actions/twittersettings.php:376
 msgid "Twitter settings saved."
@@ -3149,39 +3207,39 @@ msgstr "Fjerna Twitter-brukar."
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "Klarte ikkje å lagra Twitter-innstillingar."
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
 msgid "Twitter preferences saved."
-msgstr ""
+msgstr "Twitter-innstillingar lagra."
 
 #: actions/userauthorization.php:84 actions/userauthorization.php:86
 msgid "Please check these details to make sure "
-msgstr ""
+msgstr "Ver venleg å sjekke denne informasjonen for å forsikra um at"
 
 #: actions/userauthorization.php:324 actions/userauthorization.php:340
 msgid "The subscription has been authorized, but no "
-msgstr ""
+msgstr "Abonnementet blei godkjend, men ingen"
 
 #: actions/userauthorization.php:334 actions/userauthorization.php:351
 msgid "The subscription has been rejected, but no "
-msgstr ""
+msgstr "Abonnementet blei avslådd, men ingen"
 
 #: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
 msgid "Command results"
-msgstr ""
+msgstr "Resultat frå kommandoen"
 
 #: classes/Channel.php:148 classes/Channel.php:204
 msgid "Command complete"
-msgstr ""
+msgstr "Kommandoen utførd"
 
 #: classes/Channel.php:158 classes/Channel.php:215
 msgid "Command failed"
-msgstr ""
+msgstr "Kommandoen feila"
 
 #: classes/Command.php:39 classes/Command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "Orsak, men kommandoen er ikkje laga enno."
 
 #: classes/Command.php:96 classes/Command.php:113
 #, php-format
@@ -3195,7 +3253,7 @@ msgstr "Brukaren har ikkje siste notis"
 
 #: classes/Command.php:146 classes/Command.php:166
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "Notis markert som favoritt."
 
 #: classes/Command.php:166 classes/Command.php:189
 #, php-format
@@ -3225,20 +3283,20 @@ msgstr "Om: %s"
 #: classes/Command.php:200 classes/Command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
-msgstr ""
+msgstr "Melding for lang - maksimum 140 teikn, du skreiv %d"
 
 #: classes/Command.php:214 classes/Command.php:245
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "Direkte melding til %s sendt"
 
 #: classes/Command.php:216 classes/Command.php:247
 msgid "Error sending direct message."
-msgstr ""
+msgstr "Ein feil oppstod ved sending av direkte melding."
 
 #: classes/Command.php:263 classes/Command.php:300
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "Spesifer namnet til brukaren du vil tinge"
 
 #: classes/Command.php:270 classes/Command.php:307
 #, php-format
@@ -3247,7 +3305,7 @@ msgstr "Tingar %s"
 
 #: classes/Command.php:288 classes/Command.php:328
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "Spesifer namnet til brukar du vil fjerne tinging på"
 
 #: classes/Command.php:295 classes/Command.php:335
 #, php-format
@@ -3257,7 +3315,7 @@ msgstr "Tingar ikkje %s lengre"
 #: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
 #: classes/Command.php:376
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "Kommando ikkje implementert."
 
 #: classes/Command.php:313 classes/Command.php:356
 msgid "Notification off."
@@ -3281,15 +3339,15 @@ msgstr "Komandoar:\n"
 
 #: classes/Message.php:53 classes/Message.php:56
 msgid "Could not insert message."
-msgstr ""
+msgstr "Kunne ikkje lagre melding."
 
 #: classes/Message.php:63 classes/Message.php:66
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "Kunne ikkje oppdatere melding med ny URI."
 
 #: lib/gallery.php:46
 msgid "User without matching profile in system."
-msgstr ""
+msgstr "Kunne ikkje finne ein brukar med den profilen i systemet."
 
 #: lib/mail.php:147 lib/mail.php:289
 #, php-format
@@ -3297,11 +3355,13 @@ msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgstr ""
+"Du har ei ny addresse å sende til på %1$s.\n"
+"\n"
 
 #: lib/mail.php:249 lib/mail.php:508
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "Ny privat melding fra %s"
 
 #: lib/mail.php:253 lib/mail.php:512
 #, php-format
@@ -3309,23 +3369,25 @@ msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
 msgstr ""
+"%1$s (%2$s) sendte deg ei privat melding: \n"
+"\n"
 
 #: lib/mailbox.php:43 lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
-msgstr ""
+msgstr "Kun brukaren kan lese sine eigne meldingar."
 
 #: lib/openid.php:195 lib/openid.php:203
 msgid "This form should automatically submit itself. "
-msgstr ""
+msgstr "Dette skjemaet vil automatisk bli sendt."
 
 #: lib/personal.php:65 lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "Favorittar"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "%s's favoritt meldingar"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 msgid "User"
@@ -3364,33 +3426,32 @@ msgid "Could not parse message."
 msgstr "Kunne ikkje prosessera melding."
 
 #: actions/all.php:63 actions/facebookhome.php:162
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s med vener"
+msgstr "%s med vener, side %d"
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
-msgstr ""
+msgstr "Du kan laste opp ein personleg avatar."
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "Twitter-innstillingar"
+msgstr "Avatar-innstillingar"
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "Original"
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "Forhandsvis"
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
+msgstr "Skaler"
 
 #: actions/avatarsettings.php:248 actions/deletenotice.php:133
 #: actions/emailsettings.php:224 actions/grouplogo.php:307
@@ -3402,606 +3463,553 @@ msgstr ""
 #: actions/subedit.php:38 actions/twittersettings.php:290
 #: actions/userauthorization.php:39
 msgid "There was a problem with your session token. "
-msgstr ""
+msgstr "Der var eit problem med sesjonen."
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Velg eit utvalg av bildet som vil blir din avatar."
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "Fant ikkje igjen fil data."
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
-#, fuzzy
 msgid "Lost our file."
-msgstr "Denne notisen finst ikkje."
+msgstr "Mista fila vår."
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
 #: classes/User_group.php:129 classes/User_group.php:161
 msgid "Unknown file type"
-msgstr ""
+msgstr "Ukjend fil type"
 
 #: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
-#, fuzzy
 msgid "No profile specified."
-msgstr "Ingen mobiloperatør vald."
+msgstr "Ingen vald profil."
 
 #: actions/block.php:74 actions/subedit.php:53 actions/tagother.php:46
 #: actions/unblock.php:75
-#, fuzzy
 msgid "No profile with that ID."
-msgstr "Fann ingen status med den ID-en."
+msgstr "Fann ingen profil med den IDen."
 
 #: actions/block.php:111
-#, fuzzy
 msgid "Block user"
-msgstr "Brukaren finst ikkje."
+msgstr "Blokker brukaren"
 
 #: actions/block.php:129
-#, fuzzy
 msgid "Are you sure you want to block this user? "
-msgstr "Sikker på at du vil sletta notisen?"
+msgstr "Er du sikker på at du vil blokkera denne brukaren?"
 
 #: actions/block.php:162
-#, fuzzy
 msgid "You have already blocked this user."
-msgstr "Du er allereie innlogga."
+msgstr "Du har allereie blokkert denne brukaren."
 
 #: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "Lagring av informasjon feila."
 
 #: actions/confirmaddress.php:159
-#, fuzzy, php-format
+#, php-format
 msgid "The address \"%s\" has been "
-msgstr "Addressa blei fjerna."
+msgstr "Addressa «%s» blei"
 
 #: actions/deletenotice.php:73
-#, fuzzy
 msgid "You are about to permanently delete a notice. "
-msgstr "Sikker på at du vil sletta notisen?"
+msgstr "Du er i ferd med å fjerne ein oppdatering for godt."
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "Legg til i favorittar"
 
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "Rediger %s gruppa"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "Innboks må være slått på for at grupper skal virke"
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "Du må være logga inn for å lage ei gruppe."
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "Ingen kallenamn."
+msgstr "Ingen kallenamn"
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
 #: actions/showgroup.php:128
-#, fuzzy
 msgid "No such group"
-msgstr "Denne notisen finst ikkje."
+msgstr "Fann ikkje gruppa"
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "Du må være administrator for å redigere gruppa"
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Bruk dette skjemaet for å redigere gruppa"
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
-#, fuzzy
 msgid "Nickname must have only lowercase letters "
-msgstr "Kallenamn må berre ha små bokstavar og nummer, ingen mellomrom."
+msgstr "Kallenamn kann berre ha små bokstavar"
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
-#, fuzzy
 msgid "description is too long (max 140 chars)."
-msgstr "«Om meg» er for lang (maks 140 "
+msgstr "skildringa er for lang (maks 140 teikn)."
 
 #: actions/editgroup.php:218
-#, fuzzy
 msgid "Could not update group."
-msgstr "Kan ikkje oppdatera brukar."
+msgstr "Kann ikkje oppdatera gruppa."
 
 #: actions/editgroup.php:226
-#, fuzzy
 msgid "Options saved."
 msgstr "Lagra innstillingar."
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
-#, fuzzy, php-format
+#, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "Ventar på godkjenning for dette telefonnummeret."
+msgstr "Ventar på godkjenning for denne adressa."
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
-#, fuzzy
 msgid "Make a new email address for posting to; "
-msgstr "Ny epostadresse for å oppdatera %s"
+msgstr "Lag ei ny e-postadresse for å posta til;"
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "Send meg ein epost når nokon "
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "Tillat vennar å sende meg ein epost."
 
 #: actions/emailsettings.php:321
-#, fuzzy
 msgid "That email address already belongs "
-msgstr "Den epost addressa er alt registrert hos ein annan brukar."
+msgstr "Den e-postadressa er alt registrert hjå"
 
 #: actions/emailsettings.php:343
-#, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
-msgstr ""
-"Sendte konfirmasjonskode til ljonmeldingsadressa du la til. Du må godtaka %"
-"sfor å senda meldinger til deg."
+msgstr "Sendte konfirmasjonskode til e-postadresse du la til."
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "Server feil - kunne ikkje hente brukar!"
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "Vist du ønskjer at %s applikasjon skal automatisk oppgradere"
 
 #: actions/facebookhome.php:213 actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "Tillat %s å oppdatere min Facebook status"
 
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "Hopp over"
 
 #: actions/facebookhome.php:235
-#, fuzzy
 msgid "No notice content!"
 msgstr "Ingen innhald."
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "Paginering"
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
-#, fuzzy
 msgid "After"
 msgstr "« Etter"
 
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
-#, fuzzy
 msgid "Before"
 msgstr "Før »"
 
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "Takk for at du inviterar vennane dine til å bruke %s"
 
 #: actions/facebookinvite.php:72
-#, fuzzy
 msgid "Invitations have been sent to the following users:"
 msgstr "Invitasjon(er) sendt til fylgjande folk:"
 
 #: actions/facebookinvite.php:96
 #, php-format
 msgid "You have been invited to %s"
-msgstr ""
+msgstr "Du har blitt invitert til %s"
 
 #: actions/facebookinvite.php:105
-#, fuzzy, php-format
+#, php-format
 msgid "Invite your friends to use %s"
-msgstr "Straum for vener av %s"
+msgstr "Inviter venane dine til å nytta %s"
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "Vennar som alt brukar %s:"
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "Send invitasjonar"
 
 #: actions/facebookremove.php:56
-#, fuzzy
 msgid "Couldn't remove Facebook user."
-msgstr "Kunne ikkje fjerna Twitter-brukar."
+msgstr "Kunne ikkje fjerna Facebook-brukar."
 
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
-msgstr ""
+msgstr "Der oppstod eit problem med å lagre synkroniserings innstillingane!"
 
 #: actions/facebooksettings.php:67
-#, fuzzy
 msgid "Sync preferences saved."
-msgstr "Lagra brukarval."
+msgstr "Synkroniserings innstillingar blei lagra."
 
 #: actions/facebooksettings.php:90
-#, fuzzy
 msgid "Automatically update my Facebook status with my notices."
-msgstr "Send mine notisar til Twitter."
+msgstr "Automatisk uppdater Facebook-statusen min med nye uppdateringar."
 
 #: actions/facebooksettings.php:97
-#, fuzzy
 msgid "Send \"@\" replies to Facebook."
-msgstr "Send lokale «@»-svar til Twitter."
+msgstr "Send lokale «@»-svar til Facebook."
 
 #: actions/facebooksettings.php:106
-#, fuzzy
 msgid "Prefix"
-msgstr "Profil"
+msgstr "Førestaving"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
-msgstr ""
+msgstr "Ein tekst å legge til før alle notisar."
 
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "Vist du ønskjer at %s skal atuomatisk oppdatere"
 
 #: actions/facebooksettings.php:147
-#, fuzzy
 msgid "Sync preferences"
-msgstr "Brukarval"
+msgstr "Synkronisering"
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "Fjern favoritt"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
-#, fuzzy
 msgid "Popular notices"
-msgstr "Denne notisen finst ikkje."
+msgstr "Populære notisar"
 
 #: actions/favorited.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "Popular notices, page %d"
-msgstr "Denne notisen finst ikkje."
+msgstr "Populære notisar, side %d"
 
 #: actions/favorited.php:79
-#, fuzzy
 msgid "The most popular notices on the site right now."
-msgstr "Viser dei mest populære merkelappane fra siste veka"
+msgstr "Viser dei mest populære notisane på sida akkurat no."
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
 msgid "Featured users"
-msgstr ""
+msgstr "Profilerte folk"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "Profilerte folk, side %d"
 
 #: actions/featured.php:99
 #, php-format
 msgid "A selection of some of the great users on %s"
-msgstr ""
+msgstr "Eit utval av nokre av dei flotte folka på %s"
 
 #: actions/finishremotesubscribe.php:188
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "Brukaren tillet deg ikkje å tinga meldingane sine."
 
 #: actions/groupbyid.php:79
 msgid "No ID"
-msgstr ""
+msgstr "Ingen ID"
 
 #: actions/grouplogo.php:138 actions/grouplogo.php:191
 msgid "Group logo"
-msgstr ""
+msgstr "Logo åt gruppa"
 
 #: actions/grouplogo.php:149
 msgid "You can upload a logo image for your group."
-msgstr ""
+msgstr "Du kan lasta opp ein logo for gruppa."
 
 #: actions/grouplogo.php:448
-#, fuzzy
 msgid "Logo updated."
-msgstr "Lasta opp brukarbilete."
+msgstr "Logo oppdatert."
 
 #: actions/grouplogo.php:450
-#, fuzzy
 msgid "Failed updating logo."
-msgstr "Feil ved oppdatering av brukarbilete."
+msgstr "Feil ved oppdatering av logo."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:91
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "%s medlemmar i gruppa"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "%s medlemmar i gruppa, side %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "Ei liste over brukarane i denne gruppa."
 
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "Grupper"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Grupper, side %d"
 
 #: actions/groups.php:90
 #, php-format
 msgid "%%%%site.name%%%% groups let you find and talk with "
-msgstr ""
+msgstr "%%%%site.name%%%% grupper lar deg finne og snakke med"
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
-#, fuzzy
 msgid "Create a new group"
-msgstr "Opprett ny konto"
+msgstr "Opprett ei ny gruppe"
 
 #: actions/groupsearch.php:57
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
-msgstr ""
-"Søk for mennesker på %%site.name%% i namn, lokasjon eller interesse. Separer "
-"nøkkelord med mellomrom; dei må være minimum 3 bokstavar eller meir."
+msgstr "Søk etter grupper på %%site.name%% etter namn, stad eller skildring."
 
 #: actions/groupsearch.php:63
-#, fuzzy
 msgid "Group search"
-msgstr "Søk etter folk"
+msgstr "Gruppesøk"
 
 #: actions/imsettings.php:70
 msgid "You can send and receive notices through "
-msgstr ""
+msgstr "Du kan sende og motta meldingar gjennom"
 
 #: actions/imsettings.php:120
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Jabber eller GTalk addresse,"
 
 #: actions/imsettings.php:147
-#, fuzzy
 msgid "Send me replies through Jabber/GTalk "
-msgstr "Send meg ein notis via Jabber/GTalk."
+msgstr "Send meg svar på Jabber/GTalk."
 
 #: actions/imsettings.php:321
-#, fuzzy, php-format
+#, php-format
 msgid "A confirmation code was sent "
-msgstr "Ingen stadfestingskode."
+msgstr "Ein stadfestingskode vart sendt"
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "Du må være logga inn for å bli med i ei gruppe."
 
 #: actions/joingroup.php:95
-#, fuzzy
 msgid "You are already a member of that group"
-msgstr "Du er allereie innlogga."
+msgstr "Du er allereie medlem av den gruppa"
 
 #: actions/joingroup.php:128
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "Fann ikkje brukaren, so han kan ikkje fylgjast"
+msgstr "Kunne ikkje melde brukaren %s inn i gruppa %s"
 
 #: actions/joingroup.php:135
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s blei medlem av gruppe %s"
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "Innboks må være slått på for at grupper skal kunne fungere."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "Du må være innlogga for å melde deg ut av ei gruppe."
 
 #: actions/leavegroup.php:88
-#, fuzzy
 msgid "No such group."
-msgstr "Denne notisen finst ikkje."
+msgstr "Denne gruppa finst ikkje."
 
 #: actions/leavegroup.php:95
-#, fuzzy
 msgid "You are not a member of that group."
-msgstr "Kan ikkje tinga andre til deg."
+msgstr "Du er ikkje medlem av den gruppa."
 
 #: actions/leavegroup.php:100
 msgid "You may not leave a group while you are its administrator."
-msgstr ""
+msgstr "Du kan ikkje melde deg ut av ei gruppe når du er administrator i den."
 
 #: actions/leavegroup.php:130
-#, fuzzy
 msgid "Could not find membership record."
-msgstr "Kan ikkje oppdatera brukarinformajon."
+msgstr "Kan ikkje finne brukar."
 
 #: actions/leavegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "Fann ikkje brukaren, so han kan ikkje fylgjast"
+msgstr "Kunne ikkje fjerne %s fra %s gruppa "
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s forlot %s gruppa"
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Logg inn "
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "Ingen status"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Ny gruppe"
 
 #: actions/newgroup.php:115
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "Bruk dette skjemaet for å lage ein ny gruppe."
 
 #: actions/newgroup.php:177
-#, fuzzy
 msgid "Could not create group."
-msgstr "Kan ikkje lagra brukarbilete-informasjon"
+msgstr "Kunne ikkje laga gruppa."
 
 #: actions/newgroup.php:191
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Kan ikkje sletta tinging."
+msgstr "Kunne ikkje bli med i gruppa."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
-#, fuzzy
 msgid "That's too long. "
-msgstr "Fila er for stor."
+msgstr "Det er for langt."
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "Ikkje send melding til deg sjølv;"
 
 #: actions/newnotice.php:166
-#, fuzzy
 msgid "Notice posted"
-msgstr "Notisar"
+msgstr "Melding lagra"
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
-msgstr ""
+msgstr "Ajax feil"
 
 #: actions/nudge.php:85
 msgid ""
 "This user doesn't allow nudges or hasn't confirmed or set his email yet."
 msgstr ""
+"Denne brukaren tillét ikkje å bli dytta, eller har ikkje stadfasta eller sat "
+"e-postadressa si enno."
 
 #: actions/nudge.php:94
 msgid "Nudge sent"
-msgstr ""
+msgstr "Dytta!"
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr ""
+msgstr "Dytta!"
 
 #: actions/openidlogin.php:97
-#, fuzzy
 msgid "OpenID login"
-msgstr "OpenID-adresse"
+msgstr "OpenID-innlogging"
 
 #: actions/openidsettings.php:128
-#, fuzzy
 msgid "Removing your only OpenID "
-msgstr "Fjern OpenID"
+msgstr "Fjernar din einaste OpenID"
 
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "Twitter-innstillingar"
+msgstr "Andre innstillingar"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "Velikehald andre innstillingar"
 
 #: actions/othersettings.php:93
 msgid "URL Auto-shortening"
-msgstr ""
+msgstr "URL forkorting"
 
 #: actions/othersettings.php:112
-#, fuzzy
 msgid "Service"
-msgstr "Søk"
+msgstr "Teneste"
 
 #: actions/othersettings.php:113
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "Den automatisk forkortingstenesta du vil bruke"
 
 #: actions/othersettings.php:144
-#, fuzzy
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr "Språk er for langt (maksimalt 50 teikn)."
+msgstr "Adressa til forkortingstenesta er for lang (maksimalt 50 teikn)."
 
 #: actions/passwordsettings.php:69
-#, fuzzy
 msgid "Change your password."
 msgstr "Endra passordet ditt"
 
 #: actions/passwordsettings.php:89
-#, fuzzy
 msgid "Password change"
-msgstr "Lagra passord."
+msgstr "Endra passord"
 
 #: actions/peopletag.php:35
-#, fuzzy, php-format
+#, php-format
 msgid "Not a valid people tag: %s"
-msgstr "Ikkje ei gyldig epostadresse"
+msgstr "Ikkje gyldig merkelapp: %s"
 
 #: actions/peopletag.php:47
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "Brukarar sjølv-merka med %s, side %d"
 
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "Desse brukarane har merka seg sjølve med «%s»"
 
 #: actions/profilesettings.php:91
-#, fuzzy
 msgid "Profile information"
-msgstr "Ukjend profil"
+msgstr "Profil informasjon"
 
 #: actions/profilesettings.php:124
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
+"merkelappar for deg sjølv ( bokstavar, nummer, -, ., og _ ), komma eller "
+"mellomroms separert."
 
 #: actions/profilesettings.php:144
-#, fuzzy
 msgid "Automatically subscribe to whoever "
-msgstr ""
-"Automatisk ting notisane til dei som tingar mine (best for ikkje-menneskje)"
+msgstr "Automatisk tinging av alle som"
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
-#, fuzzy, php-format
+#, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "Ugyldig heimeside «%s»"
+msgstr "Ugyldig merkelapp: %s"
 
 #: actions/profilesettings.php:311
-#, fuzzy
 msgid "Couldn't save tags."
-msgstr "Kan ikkje lagra profil."
+msgstr "Kan ikkje lagra merkelapp."
 
 #: actions/public.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "Offentleg tidsline"
+msgstr "Offentleg tidsline, side %d"
 
 #: actions/public.php:173
-#, fuzzy
 msgid "Could not retrieve public stream."
-msgstr "Kan ikkje tinga."
+msgstr "Kan ikkje hente offentleg straum."
 
 #: actions/public.php:220
 #, php-format
@@ -4009,136 +4017,127 @@ msgid ""
 "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
 "blogging) service "
 msgstr ""
+"Dette er %%site.name%%, ei [mikroblogging](http://en.wikipedia.org/wiki"
+"/Micro-blogging)-teneste"
 
 #: actions/publictagcloud.php:57
-#, fuzzy
 msgid "Public tag cloud"
-msgstr "Offentleg straum"
+msgstr "Offentleg emne sky"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "Dei mest populære emna på %s"
 
 #: actions/publictagcloud.php:119
 msgid "Tag cloud"
-msgstr ""
+msgstr "Emne sky"
 
 #: actions/register.php:139 actions/register.php:349
 msgid "Sorry, only invited people can register."
-msgstr ""
+msgstr "Beklage, men kun inviterte kan registrere seg."
 
 #: actions/register.php:149
 msgid "You can't register if you don't "
-msgstr ""
+msgstr "Du kan ikkje registrera om du ikkje"
 
 #: actions/register.php:286
 msgid "With this form you can create "
-msgstr ""
+msgstr "Med dette skjemaet kan du laga"
 
 #: actions/register.php:368
-#, fuzzy
 msgid "1-64 lowercase letters or numbers, "
-msgstr ""
-"1-64 små bokstavar eller tal, ingen punktum (og liknande) eller mellomrom"
+msgstr "1-64 små bokstavar eller tal,"
 
 #: actions/register.php:382 actions/register.php:386
 msgid "Used only for updates, announcements, "
-msgstr ""
+msgstr "Berre nytta for oppdatering, annonseringar,"
 
 #: actions/register.php:398
 msgid "URL of your homepage, blog, "
-msgstr ""
+msgstr "URL til heimesida, bloggen,"
 
 #: actions/register.php:404
-#, fuzzy
 msgid "Describe yourself and your "
-msgstr "Skriv om deg og interessene dine med 140 teikn"
+msgstr "Skildra deg sjølv og din"
 
 #: actions/register.php:410
-#, fuzzy
 msgid "Where you are, like \"City, "
-msgstr "Kvar er du, t.d. «Stavanger, Rogaland, Noreg»"
+msgstr "Kvar er du, t.d. «Stad, Fylke, Land»"
 
 #: actions/register.php:432
-#, fuzzy
 msgid " except this private data: password, "
-msgstr ""
-" unnateke privat data: passord, epostadresse, ljonmeldingsadresse og "
-"telefonnummer."
+msgstr " unnateke privat data: passord,"
 
 #: actions/register.php:471
 #, php-format
 msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. "
-msgstr ""
+msgstr "Gratulerer, %s!  Og velkomen til %%%%site.name%%%%."
 
 #: actions/register.php:495
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(Du skal få ein beskjed via epost )"
 
 #: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
-msgstr ""
+msgstr "Det er ikkje ein lokal profil! Log inn for å tinge."
 
 #: actions/replies.php:118
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %s, page %d"
-msgstr "Svar til %s"
+msgstr "Svar til %s, side %d"
 
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "%s favoritt meldingar, side %d"
 
 #: actions/showgroup.php:77 lib/groupnav.php:85
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "%s gruppe"
 
 #: actions/showgroup.php:79
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "%s gruppe, side %d"
 
 #: actions/showgroup.php:206
-#, fuzzy
 msgid "Group profile"
-msgstr "Denne notisen finst ikkje."
+msgstr "Gruppe profil"
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
-#, fuzzy
 msgid "Note"
-msgstr "Notisar"
+msgstr "Merknad"
 
 #: actions/showgroup.php:270
 msgid "Group actions"
-msgstr ""
+msgstr "Gruppe handlingar"
 
 #: actions/showgroup.php:323
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group"
-msgstr "Notisstraum for %s"
+msgstr "Notisstraum for %s gruppa"
 
 #: actions/showgroup.php:357 lib/groupnav.php:90
-#, fuzzy
 msgid "Members"
-msgstr "Medlem sidan"
+msgstr "Medlemmar"
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(Ingen)"
 
 #: actions/showgroup.php:370
 msgid "All members"
-msgstr ""
+msgstr "Alle medlemmar"
 
 #: actions/showgroup.php:378
 #, php-format
@@ -4146,51 +4145,49 @@ msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** er ei brukargruppe på %%%%site.name%%%%, ei "
+"[mikroblogging](http://en.wikipedia.org/wiki/Micro-blogging)-teneste"
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient "
-msgstr ""
+msgstr "Berre sendaren og mottakaren"
 
 #: actions/showstream.php:73
-#, fuzzy, php-format
+#, php-format
 msgid "%s, page %d"
-msgstr "Innboks for %s - side %d"
+msgstr "%s, side %d"
 
 #: actions/showstream.php:143
-#, fuzzy
 msgid "'s profile"
-msgstr "Profil"
+msgstr " sin profil"
 
 #: actions/showstream.php:236 actions/tagother.php:77
-#, fuzzy
 msgid "User profile"
-msgstr "Denne notisen finst ikkje."
+msgstr "Brukarprofil"
 
 #: actions/showstream.php:240 actions/tagother.php:81
 msgid "Photo"
-msgstr ""
+msgstr "Bilete"
 
 #: actions/showstream.php:317
 msgid "User actions"
-msgstr ""
+msgstr "Brukarverkty"
 
 #: actions/showstream.php:342
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "Send ei direktemelding til denne brukaren"
 
 #: actions/showstream.php:343
-#, fuzzy
 msgid "Message"
-msgstr "Ny melding"
+msgstr "Melding"
 
 #: actions/showstream.php:451
-#, fuzzy
 msgid "All subscribers"
 msgstr "Tingarar"
 
 #: actions/showstream.php:533
 msgid "All groups"
-msgstr ""
+msgstr "Alle gruppar"
 
 #: actions/showstream.php:542
 #, php-format
@@ -4198,485 +4195,446 @@ msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** har ein konto på %%%%site.name%%%%, ei "
+"[mikroblogging](http://en.wikipedia.org/wiki/Micro-blogging)-teneste"
 
 #: actions/smssettings.php:128
-#, fuzzy
 msgid "Phone number, no punctuation or spaces, "
-msgstr "Telefonnummer, kun tall, med landskode"
+msgstr "Telefonnummer, ingen punktum eller mellomrom,"
 
 #: actions/smssettings.php:162
-#, fuzzy
 msgid "Send me notices through SMS; "
-msgstr "Send meg ein notis via Jabber/GTalk."
+msgstr "Send meg notisar på SMS;"
 
 #: actions/smssettings.php:335
-#, fuzzy
 msgid "A confirmation code was sent to the phone number you added. "
-msgstr "Ventar på godkjenning for dette telefonnummeret."
+msgstr "Ei stadfestingskode vart sendt til telefonnummeret du la til."
 
 #: actions/smssettings.php:453
-#, fuzzy
 msgid "Mobile carrier"
-msgstr "Velg ein tilbydar"
+msgstr "Telefontilbydar"
 
 #: actions/subedit.php:70
-#, fuzzy
 msgid "You are not subscribed to that profile."
-msgstr "Kan ikkje tinga andre til deg."
+msgstr "Du tingar ikkje oppdateringar til den profilen."
 
 #: actions/subedit.php:83
-#, fuzzy
 msgid "Could not save subscription."
-msgstr "Kan ikkje sletta tinging."
+msgstr "Kunne ikkje lagra abonnement."
 
 #: actions/subscribe.php:55
-#, fuzzy
 msgid "Not a local user."
-msgstr "Brukaren finst ikkje."
+msgstr "Ikkje ein lokal brukar."
 
 #: actions/subscribe.php:69
-#, fuzzy
 msgid "Subscribed"
-msgstr "Ting"
+msgstr "Abonnent"
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "Tingarar"
+msgstr "%s tingarar"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "%s tingarar, side %d"
 
 #: actions/subscribers.php:63
-#, fuzzy
 msgid "These are the people who listen to "
-msgstr "Dette er folk som lyttar til %s's notisar"
+msgstr "Dette er folk som lyttar til"
 
 #: actions/subscribers.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "These are the people who "
-msgstr "Dette er folk som lyttar til %s's notisar"
+msgstr "Dette er folk som"
 
 #: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions"
-msgstr "Alle tingingar"
+msgstr "%s tingarar"
 
 #: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions, page %d"
-msgstr "Alle tingingar"
+msgstr "%s tingingar, side %d"
 
 #: actions/subscriptions.php:65
-#, fuzzy
 msgid "These are the people whose notices "
 msgstr "Dette er dei du lyttar til."
 
 #: actions/subscriptions.php:69
-#, fuzzy, php-format
+#, php-format
 msgid "These are the people whose "
-msgstr "Dette er folk som lyttar til %s's notisar"
+msgstr "Dette er folk som"
 
 #: actions/subscriptions.php:122
-#, fuzzy
 msgid "Jabber"
-msgstr "Nei Jabber-ID"
+msgstr "Jabber"
 
 #: actions/tag.php:43
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "Notisar merka med %s"
+msgstr "Notisar merka med %s, side %d"
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "Meldingar merka med «%s», dei siste fyrst"
 
 #: actions/tagother.php:33
-#, fuzzy
 msgid "Not logged in"
 msgstr "Ikkje logga inn"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No id argument."
-msgstr "Slikt dokument finst ikkje."
+msgstr "Manglar argumentet ID."
 
 #: actions/tagother.php:65
-#, fuzzy, php-format
+#, php-format
 msgid "Tag %s"
-msgstr "Merkelappar"
+msgstr "Merkelapp %s"
 
 #: actions/tagother.php:141
-#, fuzzy
 msgid "Tag user"
-msgstr "Merkelappar"
+msgstr "Merk brukar"
 
 #: actions/tagother.php:149
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
+"Emneord for denne brukaren (bokstavar, tal, <kbd>-</kbd>, <kbd>.</kbd>, og "
+"<kbd>_</kbd>, separert med komma eller mellomrom"
 
 #: actions/tagother.php:164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "Det var eit problem med sesjons billetten din."
 
 #: actions/tagother.php:191
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr ""
+"Du kan berre leggje til emneord på folk som du tingar notisar frå, eller som "
+"tingar notisar frå deg."
 
 #: actions/tagother.php:198
-#, fuzzy
 msgid "Could not save tags."
-msgstr "Kan ikkje lagra brukarbilete-informasjon"
+msgstr "Kunne ikkje lagra emneord."
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
 msgstr ""
+"Bruk dette skjemaet for å leggje til emneord til dei som tingar notisar frå "
+"deg, eller som du tingar notisar frå."
 
 #: actions/tagrss.php:35
-#, fuzzy
 msgid "No such tag."
-msgstr "Denne notisen finst ikkje."
+msgstr "Dette emneord finst ikkje."
 
 #: actions/tagrss.php:66
-#, fuzzy, php-format
+#, php-format
 msgid "Microblog tagged with %s"
-msgstr "Notisar merka med %s"
+msgstr "Mikroblogg merka med emneordet %s"
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
-msgstr ""
+msgstr "Blokkering av brukar feila."
 
 #: actions/twitapiblocks.php:69
 msgid "Unblock user failed."
-msgstr ""
+msgstr "De-blokkering av brukar feila."
 
 #: actions/twitapiusers.php:48
-#, fuzzy
 msgid "Not found."
-msgstr "Fann ikkje"
+msgstr "Finst ikkje."
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
-msgstr ""
+msgstr "Legg til Twitter-kontoen din for å automatisk sende"
 
 #: actions/twittersettings.php:119
-#, fuzzy
 msgid "Twitter user name"
-msgstr "Brukarnamn på twitter"
+msgstr "Brukarnamn hjå Twitter"
 
 #: actions/twittersettings.php:126
-#, fuzzy
 msgid "Twitter password"
-msgstr "Passord på Twitter"
+msgstr "Passord hjå Twitter"
 
 #: actions/twittersettings.php:228
-#, fuzzy
 msgid "Twitter Friends"
-msgstr "Twitter-innstillingar"
+msgstr "Vener på Twitter"
 
 #: actions/twittersettings.php:327
 msgid "Username must have only numbers, "
-msgstr ""
+msgstr "Brukarnamn kan berre innehalde tal,"
 
 #: actions/twittersettings.php:341
-#, fuzzy, php-format
+#, php-format
 msgid "Unable to retrieve account information "
-msgstr "Kan ikkje sletta epostgodkjenning."
+msgstr "Klarte ikkje å hente informasjon om kontoen."
 
 #: actions/unblock.php:108
-#, fuzzy
 msgid "Error removing the block."
-msgstr "Feil ved lagring av brukar"
+msgstr "Feil ved fjerning av blokka."
 
 #: actions/unsubscribe.php:50
-#, fuzzy
 msgid "No profile id in request."
-msgstr "Ingen profil-netadresse returnert av tenar."
+msgstr "Ingen profil-ID i førespurnaden."
 
 #: actions/unsubscribe.php:57
-#, fuzzy
 msgid "No profile with that id."
-msgstr "Fann ingen status med den ID-en."
+msgstr "Fann ingen profil med den IDen."
 
 #: actions/unsubscribe.php:71
-#, fuzzy
 msgid "Unsubscribed"
-msgstr "Fjern tinging"
+msgstr "Fjerna tinging"
 
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "%s grupper"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "%s grupper, side %d"
 
 #: classes/Notice.php:104
-#, fuzzy
 msgid "Problem saving notice. Unknown user."
-msgstr "Feil ved lagring av brukar"
+msgstr "Feil ved lagring av notis.  Ukjend brukar."
 
 #: classes/Notice.php:109
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
+"For mange notisar for raskt; tek ei pause, og prøv igjen om eit par minutt."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "Du kan ikkje lengre legge inn notisar på denne sida."
 
 #: lib/accountsettingsaction.php:108
-#, fuzzy
 msgid "Upload an avatar"
-msgstr "Feil ved oppdatering av brukarbilete."
+msgstr "Last opp ein avatar"
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
-msgstr ""
+msgstr "Anna"
 
 #: lib/accountsettingsaction.php:120
 msgid "Other options"
-msgstr ""
+msgstr "Andre val"
 
 #: lib/action.php:130
-#, fuzzy, php-format
+#, php-format
 msgid "%s - %s"
-msgstr "%s (%s)"
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "Ingen tittel"
 
 #: lib/action.php:316
 msgid "Primary site navigation"
-msgstr ""
+msgstr "Navigasjon for hovudsida"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "Personleg profil og oversyn over vener"
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "Søk etter folk eller innhald"
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Account"
-msgstr "Om"
+msgstr "Konto"
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Change your email, avatar, password, profile"
-msgstr "Endra passordet ditt"
+msgstr "Endra e-posten, avataren, passordet eller profilen"
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Kopla til IM, SMS, Twitter"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Logg ut or sida"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Logg inn or sida"
 
 #: lib/action.php:338
-#, fuzzy
 msgid "Create an account"
 msgstr "Opprett ny konto"
 
 #: lib/action.php:341
-#, fuzzy
 msgid "Login with OpenID"
-msgstr "Fann ingen slik OpenID."
+msgstr "Logg inn med OpenID"
 
 #: lib/action.php:344
-#, fuzzy
 msgid "Help me!"
-msgstr "Hjelp"
+msgstr "Hjelp meg!"
 
 #: lib/action.php:362
-#, fuzzy
 msgid "Site notice"
-msgstr "Ny notis"
+msgstr "Statusmelding"
 
 #: lib/action.php:417
 msgid "Local views"
-msgstr ""
+msgstr "Lokale syningar"
 
 #: lib/action.php:472
-#, fuzzy
 msgid "Page notice"
-msgstr "Ny notis"
+msgstr "Sidenotis"
 
 #: lib/action.php:562
-#, fuzzy
 msgid "Secondary site navigation"
-msgstr "Tingingar"
+msgstr "Andrenivås side navigasjon"
 
 #: lib/action.php:602 lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "Laconicas programvarelisens"
 
 #: lib/action.php:630
 msgid "All "
-msgstr ""
+msgstr "Alle"
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "lisens."
 
 #: lib/blockform.php:123 lib/blockform.php:153
-#, fuzzy
 msgid "Block this user"
-msgstr "Brukaren finst ikkje."
+msgstr "Blokkér denne brukaren"
 
 #: lib/blockform.php:153
 msgid "Block"
-msgstr "Blokker"
+msgstr "Blokkér"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "Fjern favoriseringsmerket"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "For å nytta %s Facebook-programmet må du logga inn"
 
 #: lib/facebookaction.php:271
-#, fuzzy
 msgid " a new account."
-msgstr "Opprett ny konto"
+msgstr "ein ny konto."
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
 msgid "Published"
-msgstr ""
+msgstr "Publisert"
 
 #: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
 msgid "Favor this notice"
-msgstr "Denne notisen finst ikkje."
+msgstr "Favoriser denne notisen"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "Eksporter data"
 
 #: lib/galleryaction.php:121
-#, fuzzy
 msgid "Filter tags"
-msgstr "Straum for merkelapp %s"
+msgstr "Filtrer emneord"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "Alle"
 
 #: lib/galleryaction.php:137
-#, fuzzy
 msgid "Tag"
-msgstr "Merkelappar"
+msgstr "Merkelapp"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "Velg ein merkelapp for å begrense lista"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr ""
+msgstr ""
 
 #: lib/groupeditform.php:148
 msgid "URL of the homepage or blog of the group or topic"
-msgstr ""
+msgstr "URL til heimesida eller bloggen for gruppa eller emnet"
 
 #: lib/groupeditform.php:151
-#, fuzzy
 msgid "Description"
-msgstr "Tingingar"
+msgstr "Beskriving"
 
 #: lib/groupeditform.php:153
-#, fuzzy
 msgid "Describe the group or topic in 140 chars"
-msgstr "Skriv om deg og interessene dine med 140 teikn"
+msgstr "Beskriv gruppa eller emnet med 140 teikn"
 
 #: lib/groupeditform.php:158
-#, fuzzy
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
 msgstr "Kvar er du, t.d. «Stavanger, Rogaland, Noreg»"
 
 #: lib/groupnav.php:84 lib/searchgroupnav.php:84
 msgid "Group"
-msgstr ""
+msgstr "Gruppe"
 
 #: lib/groupnav.php:100
 msgid "Admin"
-msgstr ""
+msgstr "Administrator"
 
 #: lib/groupnav.php:101
 #, php-format
 msgid "Edit %s group properties"
-msgstr ""
+msgstr "Rediger %s gruppa sine eigenskapar"
 
 #: lib/groupnav.php:106
-#, fuzzy
 msgid "Logo"
-msgstr "Logg ut"
+msgstr "Logo"
 
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr ""
+msgstr "Legg til eller rediger logoen til %s"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "Grupper med flest medlemmar"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "Grupper med flest innlegg"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "Merkelappar i %s gruppa sine notisar"
 
 #: lib/htmloutputter.php:104
-#, fuzzy
 msgid "This page is not available in a "
-msgstr "Heimesida er ikkje ei gyldig internettadresse."
+msgstr "Denne sida er ikkje tilgjengleg i eit"
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "Logg inn"
+msgstr "Bli med"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
-msgstr "Lagra"
+msgstr "Forlat"
 
 #: lib/logingroupnav.php:76
-#, fuzzy
 msgid "Login with a username and password"
-msgstr "Ugyldig brukarnamn eller passord."
+msgstr "Log inn med brukarnamn og passord."
 
 #: lib/logingroupnav.php:79
-#, fuzzy
 msgid "Sign up for a new account"
 msgstr "Opprett ny konto"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Login eller registrer med OpenID"
 
 #: lib/mail.php:175
 #, php-format
@@ -4684,21 +4642,23 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"Hei, %s\n"
+"\n"
 
 #: lib/mail.php:236
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s høyrer no på notisane dine på %2$s."
+msgstr "%1$s høyrer no på"
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "Stad: %s"
+msgstr "Stad: %s\n"
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
-msgstr "Heimeside: %s"
+msgstr "Heimeside: %s\n"
 
 #: lib/mail.php:258
 #, php-format
@@ -4706,176 +4666,160 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"Bio: %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
 msgid "You've been nudged by %s"
-msgstr ""
+msgstr "Du har blitt dulta av %s"
 
 #: lib/mail.php:465
 #, php-format
 msgid "%1$s (%2$s) is wondering what you are up to "
-msgstr ""
+msgstr "%1$s (%2$s) lurer på kva du gjer på"
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr "%1$s høyrer no på notisane dine på %2$s."
+msgstr "%1$s lyttar no til notisane dine på %2$s"
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
-#, fuzzy
 msgid "From"
-msgstr " frå "
+msgstr "Frå"
 
 #: lib/messageform.php:110
-#, fuzzy
 msgid "Send a direct notice"
-msgstr "Slett notis"
+msgstr "Send ei direkte melding"
 
 #: lib/noticeform.php:125
-#, fuzzy
 msgid "Send a notice"
 msgstr "Send ei melding"
 
 #: lib/noticeform.php:152
-#, fuzzy
 msgid "Available characters"
-msgstr "6 eller fleire teikn"
+msgstr "Tilgjenglege teikn"
 
 #: lib/noticelist.php:426
-#, fuzzy
 msgid "in reply to"
-msgstr "som svar på..."
+msgstr "som svar på"
 
 #: lib/noticelist.php:447 lib/noticelist.php:450
-#, fuzzy
 msgid "Reply to this notice"
-msgstr "Kan ikkje sletta notisen."
+msgstr "Svar på denne notisen"
 
 #: lib/noticelist.php:451
-#, fuzzy
 msgid "Reply"
-msgstr "svar"
+msgstr "Svar"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
-#, fuzzy
 msgid "Delete this notice"
-msgstr "Slett notis"
+msgstr "Slett denne notisen"
 
 #: lib/noticelist.php:474
-#, fuzzy
 msgid "Delete"
-msgstr "slett"
+msgstr "Slett"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
-msgstr ""
+msgstr "Dult denne brukaren"
 
 #: lib/nudgeform.php:128
 msgid "Nudge"
-msgstr ""
+msgstr "Dult"
 
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Send a nudge to this user"
-msgstr "Send ei melding"
+msgstr "Send eit dult til denne brukaren"
 
 #: lib/personaltagcloudsection.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Tags in %s's notices"
-msgstr "Brukaren har ikkje siste notis"
+msgstr "Merkelappar i %s sine notisar"
 
 #: lib/profilelist.php:182
 msgid "(none)"
-msgstr ""
+msgstr "(ingen)"
 
 #: lib/publicgroupnav.php:76
 msgid "Public"
-msgstr ""
+msgstr "Offentleg"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Brukar grupper"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
-#, fuzzy
 msgid "Recent tags"
-msgstr "Nylege merkelappar"
+msgstr "Nylege emneord"
 
 #: lib/publicgroupnav.php:86
 msgid "Featured"
-msgstr ""
+msgstr "Framheva"
 
 #: lib/publicgroupnav.php:90
-#, fuzzy
 msgid "Popular"
-msgstr "Folk"
+msgstr "Populære"
 
 #: lib/searchgroupnav.php:82
-#, fuzzy
 msgid "Notice"
-msgstr "Notisar"
+msgstr "Notis"
 
 #: lib/searchgroupnav.php:85
-#, fuzzy
 msgid "Find groups on this site"
-msgstr "Finn folk på denne sida"
+msgstr "Finn grupper på denne sida"
 
 #: lib/section.php:89
 msgid "Untitled section"
-msgstr ""
+msgstr "Seksjon utan tittel"
 
 #: lib/subgroupnav.php:81
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "Eksternt abbonement"
+msgstr "Mennesker %s tingar"
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Tingar %s"
+msgstr "Mennesker som tingar %s"
 
 #: lib/subgroupnav.php:97
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "Grupper %s er medlem av"
 
 #: lib/subgroupnav.php:104
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "Inviter vennar og kollega til å bli med deg på %s"
 
 #: lib/subs.php:53
 msgid "User has blocked you."
 msgstr "Brukar har blokkert deg."
 
 #: lib/subscribeform.php:115 lib/subscribeform.php:139
-#, fuzzy
 msgid "Subscribe to this user"
-msgstr "Tingar %s"
+msgstr "Lagre tinging for brukar: %s"
 
 #: lib/tagcloudsection.php:56
-#, fuzzy
 msgid "None"
-msgstr "Nei"
+msgstr "Ingen"
 
 #: lib/topposterssection.php:74
 msgid "Top posters"
-msgstr ""
+msgstr "Med flest meldingar"
 
 #: lib/unblockform.php:120 lib/unblockform.php:150
-#, fuzzy
 msgid "Unblock this user"
-msgstr "Brukaren finst ikkje."
+msgstr "Lås opp brukaren"
 
 #: lib/unblockform.php:150
 msgid "Unblock"
 msgstr "Lås opp"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
-#, fuzzy
 msgid "Unsubscribe from this user"
-msgstr "Tingar ikkje %s lengre"
+msgstr "Fjern tinging fra denne brukaren"
 
 #, fuzzy
 #~ msgid "Code not yet ready."
index 2d425ab15715b1fc335305c01153f481e7615b80..faf549054a60598a97fd0c12e9e7fef0a804d69d 100644 (file)
Binary files a/locale/pl_PL/LC_MESSAGES/laconica.mo and b/locale/pl_PL/LC_MESSAGES/laconica.mo differ
index cc2495a4d0d0c781fb64b8c1d1037b71dd27446b..9a61ada6bdea901d4af1e768d0ebae596896df06 100644 (file)
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-02-28 17:14+0000\n"
+"Last-Translator: Ryba <ryba-laconica@h4v.eu>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-#  laconica.pot (PACKAGE VERSION)  #-#-#-#-#\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #  Polish language has 3 plural forms.
 #  Special case is used for one and some numbers ending in 2, 3, or 4.
@@ -62,7 +60,7 @@ msgstr ""
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr ""
+msgstr "%1$s zapraszają Cię byś dołączył do nich w %2$s"
 
 #: ../actions/invite.php:170
 #, php-format
@@ -152,18 +150,18 @@ msgstr "%s i przyjaciele"
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr ""
+msgstr "Publiczna oś czasu %s"
 
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
 msgid "%s status"
-msgstr ""
+msgstr "status %s"
 
 #: ../actions/twitapistatuses.php:338 actions/twitapistatuses.php:265
 #: actions/twitapistatuses.php:199
 #, php-format
 msgid "%s timeline"
-msgstr ""
+msgstr "oś czasu %s"
 
 #: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
 #: actions/twitapistatuses.php:36
@@ -236,12 +234,18 @@ msgid ""
 "A confirmation code was sent to the email address you added. Check your "
 "inbox (and spam box!) for the code and instructions on how to use it."
 msgstr ""
+"Kod potwierdzający został wysłany na podany przez Ciebie adres e-mail. "
+"Sprawdź w swojej skrzynce odbiorczej (także w folderze SPAM) czy otrzymałeś "
+"kod i instrukcje dotyczące jego użycia. "
 
 #: ../actions/smssettings.php:216 actions/smssettings.php:224
 msgid ""
 "A confirmation code was sent to the phone number you added. Check your inbox "
 "(and spam box!) for the code and instructions on how to use it."
 msgstr ""
+"Kod potwierdzający został wysłany na podany przez Ciebie numer telefonu. "
+"Sprawdź w swojej skrzynce odbiorczej (także w folderze SPAM) czy otrzymałeś "
+"kod i instrukcje dotyczące jego użycia. "
 
 #: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
 #: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@@ -263,7 +267,7 @@ msgstr ""
 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
 #: actions/twitapiusers.php:32
 msgid "API method not found!"
-msgstr ""
+msgstr "metoda API nie znaleziona!"
 
 #: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
 #: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
@@ -286,7 +290,7 @@ msgstr ""
 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
 #: actions/twitapistatuses.php:562
 msgid "API method under construction."
-msgstr ""
+msgstr "metoda API w trakcie powstawania."
 
 #: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
 msgid "About"
@@ -315,7 +319,7 @@ msgstr "Dodaj konto OpenID"
 #: ../lib/settingsaction.php:97 lib/settingsaction.php:91
 #: lib/accountsettingsaction.php:117
 msgid "Add or remove OpenIDs"
-msgstr ""
+msgstr "Dodaj lub usuń konta OpenID"
 
 #: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
 #: ../actions/smssettings.php:39 actions/emailsettings.php:39
@@ -327,7 +331,7 @@ msgstr "Adres"
 
 #: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
 msgid "Addresses of friends to invite (one per line)"
-msgstr ""
+msgstr "Adresy subskrybentów, których zapraszasz (jeden w każdej linii)"
 
 #: ../actions/showstream.php:273 actions/showstream.php:288
 #: actions/showstream.php:422
@@ -362,7 +366,7 @@ msgstr "Już obserwujesz!"
 #: ../actions/deletenotice.php:54 actions/deletenotice.php:55
 #: actions/deletenotice.php:113
 msgid "Are you sure you want to delete this notice?"
-msgstr ""
+msgstr "Jesteś pewien, że chcesz usunąć ten wpis?"
 
 #: ../actions/userauthorization.php:77 actions/userauthorization.php:83
 #: actions/userauthorization.php:81
@@ -380,6 +384,8 @@ msgstr ""
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
+"Automatycznie zasubskrybuj każdego kto mnie zasubskrybuje (najlepsze dla "
+"botów)"
 
 #: ../actions/avatar.php:32 ../lib/settingsaction.php:90
 #: actions/profilesettings.php:34 actions/avatarsettings.php:65
@@ -398,7 +404,7 @@ msgid ""
 "Awaiting confirmation on this address. Check your Jabber/GTalk account for a "
 "message with further instructions. (Did you add %s to your buddy list?)"
 msgstr ""
-"Oczekiwanie na potwierdzenie z tego adresu. Sprawdź czy na Twoje konto "
+"Oczekiwanie na potwierdzenie dla tego adresu. Sprawdź czy na Twoje konto "
 "Jabbera/GTalka przyszła wiadomość z dalszymi instrukcjami. (Nie zapomnij "
 "dodać %s do listy znajomych.)"
 
@@ -407,11 +413,13 @@ msgid ""
 "Awaiting confirmation on this address. Check your inbox (and spam box!) for "
 "a message with further instructions."
 msgstr ""
+"Ten adres oczekuje potwierdzenia. Sprawdź swoją skrzynkę odbiorczą (także "
+"folder SPAM!) czy dostałeś wiadomość z dalszymi instrukcjami.  "
 
 #: ../actions/smssettings.php:58 actions/smssettings.php:58
 #: actions/smssettings.php:111
 msgid "Awaiting confirmation on this phone number."
-msgstr ""
+msgstr "Oczekiwanie na potwierdzenie dla tego numeru telefonu."
 
 #: ../lib/util.php:1318 lib/util.php:1452
 #, fuzzy
@@ -434,7 +442,7 @@ msgstr "Wpis \"O mnie\" jest za długi (maks. 140 znaków)"
 
 #: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
 msgid "Can't delete this notice."
-msgstr ""
+msgstr "Nie można usunąć tego wpisu. "
 
 #: ../actions/updateprofile.php:119 actions/updateprofile.php:120
 #: actions/updateprofile.php:123
index 60436f4adea007c2bc8197e1a8d50915a803ac86..bbc7c368d466cdf0b8fed9d2bf5e37029d622f14 100644 (file)
Binary files a/locale/pt/LC_MESSAGES/laconica.mo and b/locale/pt/LC_MESSAGES/laconica.mo differ
index 0f6533f8455d511e987296af8486992423fc069c..6c81837b74cc5d1f21d063db933a5351f845e63c 100644 (file)
@@ -8,8 +8,8 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-24 22:20+0000\n"
-"Last-Translator: Tony Manco <trmanco@yahoo.com>\n"
+"PO-Revision-Date: 2009-02-02 03:45+0000\n"
+"Last-Translator: Tiago Faria <gouki@goukihq.org>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -616,7 +616,7 @@ msgstr ""
 
 #: ../lib/subs.php:46 lib/subs.php:46 lib/subs.php:57
 msgid "Could not subscribe."
-msgstr ""
+msgstr "Não foi possível subscrever. "
 
 #: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
@@ -668,7 +668,7 @@ msgstr ""
 #: actions/profilesettings.php:299 actions/twitapiaccount.php:94
 #: actions/profilesettings.php:302 actions/twitapiaccount.php:81
 msgid "Couldn't save profile."
-msgstr ""
+msgstr "Não foi possível salvar o perfil."
 
 #: ../actions/profilesettings.php:161 actions/profilesettings.php:276
 #: actions/profilesettings.php:279
index 24add2245bb59a25851b63ce813027f17a5dc216..0f9487e675dd241f649f5b182de2341b9978e7ca 100644 (file)
Binary files a/locale/pt_BR/LC_MESSAGES/laconica.mo and b/locale/pt_BR/LC_MESSAGES/laconica.mo differ
index 0edcf3f9934a1775388bc06ad00cd405a164b5d0..613e5dbba36d9b90c441753104236884685c9859 100644 (file)
@@ -5,13 +5,13 @@ msgstr ""
 "Project-Id-Version: laconica\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-13 17:17-0200\n"
-"Last-Translator: Frederico Goncalves Guimaraes <frederico@teia.bio.br>\n"
+"PO-Revision-Date: 2009-02-11 12:53+0000\n"
+"Last-Translator: Frederico Gonçalves Guimarães <frederico@teia.bio.br>\n"
 "Language-Team: Português do Brasil\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
@@ -221,17 +221,17 @@ msgstr "1-64 letras ou números, sem pontuação ou espaços. Obrigatório."
 #: ../actions/password.php:42 actions/profilesettings.php:181
 #: actions/passwordsettings.php:102
 msgid "6 or more characters"
-msgstr "6 caracteres ou mais"
+msgstr "6 ou mais caracteres"
 
 #: ../actions/recoverpassword.php:180 actions/recoverpassword.php:186
 #: actions/recoverpassword.php:220
 msgid "6 or more characters, and don't forget it!"
-msgstr "6 caracteres ou mais. E não se esqueça dela!"
+msgstr "6 ou mais caracteres. E não se esqueça dela!"
 
 #: ../actions/register.php:154 actions/register.php:168
 #: actions/register.php:373
 msgid "6 or more characters. Required."
-msgstr "6 caracteres ou mais. Obrigatório."
+msgstr "6 ou mais caracteres. Obrigatório."
 
 #: ../actions/imsettings.php:197 actions/imsettings.php:205
 #, php-format
@@ -434,7 +434,7 @@ msgstr "Aguardando a confirmação deste número de telefone."
 
 #: ../lib/util.php:1318 lib/util.php:1452
 msgid "Before »"
-msgstr "Antes »"
+msgstr "Anteriores »"
 
 #: ../actions/profilesettings.php:49 ../actions/register.php:170
 #: actions/profilesettings.php:82 actions/register.php:184
@@ -585,7 +585,7 @@ msgstr "Conectar"
 #: ../actions/finishopenidlogin.php:86 actions/finishopenidlogin.php:92
 #: actions/finishopenidlogin.php:114
 msgid "Connect existing account"
-msgstr "Conecta-se a uma conta já existente"
+msgstr "Conectar-se a uma conta já existente"
 
 #: ../lib/util.php:332 lib/util.php:348 lib/action.php:576
 msgid "Contact"
@@ -749,7 +749,7 @@ msgstr "Endereço de e-mail já confirmado."
 
 #: ../actions/showstream.php:356 actions/showstream.php:367
 msgid "Currently"
-msgstr "Nesse momento"
+msgstr "Neste momento"
 
 #: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
 #, php-format
@@ -1263,8 +1263,8 @@ msgid ""
 "email but isn't listed here, send email to let us know at %s."
 msgstr ""
 "A operadora móvel do seu celular. Se você conhece uma operadora que aceita "
-"SMS via e-mail, mas não está listada aqui, informe-nos enviando uma "
-"mensagempara %s."
+"SMS via e-mail que não está listada aqui, informe-nos enviando uma mensagem "
+"para %s."
 
 #: ../actions/finishopenidlogin.php:79 ../actions/register.php:188
 #: actions/finishopenidlogin.php:85 actions/register.php:202
@@ -1379,7 +1379,7 @@ msgstr "Não foi selecionada nenhuma operadora."
 #: ../actions/smssettings.php:316 actions/smssettings.php:324
 #: actions/smssettings.php:486
 msgid "No code entered"
-msgstr "Não foi informado nenhum código"
+msgstr "Não foi digitado nenhum código"
 
 #: ../actions/confirmaddress.php:33 actions/confirmaddress.php:33
 #: actions/confirmaddress.php:75
@@ -1427,7 +1427,7 @@ msgstr "Nenhuma confirmação pendente para cancelar."
 #: ../actions/smssettings.php:176 actions/smssettings.php:184
 #: actions/smssettings.php:294
 msgid "No phone number."
-msgstr "Nenhum telefone cadastrado."
+msgstr "Nenhum número de telefone."
 
 #: ../actions/finishremotesubscribe.php:72
 #: actions/finishremotesubscribe.php:74 actions/finishremotesubscribe.php:75
@@ -2815,7 +2815,7 @@ msgstr "tipo de arquivo não suportado"
 
 #: ../lib/util.php:1309 lib/util.php:1443
 msgid "« After"
-msgstr "« Depois"
+msgstr "« Seguintes"
 
 #: actions/deletenotice.php:74 actions/disfavor.php:43
 #: actions/emailsettings.php:127 actions/favor.php:45
@@ -3462,34 +3462,32 @@ msgid "Could not parse message."
 msgstr "Não foi possível analisar a mensagem."
 
 #: actions/all.php:63 actions/facebookhome.php:162
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s e amigos"
+msgstr "%s e amigos, página %d"
 
 #: actions/avatarsettings.php:76
-#, fuzzy
 msgid "You can upload your personal avatar."
-msgstr "Você pode atualizar as informações do seu perfil pessoal aqui "
+msgstr "Você pode enviar seu avatar pessoal."
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "Configurações do Twitter"
+msgstr "Configurações do avatar"
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "Original"
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "Visualização"
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
+msgstr "Cortar"
 
 #: actions/avatarsettings.php:248 actions/deletenotice.php:133
 #: actions/emailsettings.php:224 actions/grouplogo.php:307
@@ -3500,31 +3498,27 @@ msgstr ""
 #: actions/remotesubscribe.php:53 actions/smssettings.php:216
 #: actions/subedit.php:38 actions/twittersettings.php:290
 #: actions/userauthorization.php:39
-#, fuzzy
 msgid "There was a problem with your session token. "
-msgstr ""
-"Ocorreu um problema com o seu token de sessão. Tente novamente, por favor."
+msgstr "Ocorreu um problema com o seu token de sessão. "
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Selecione uma área quadrada da imagem para ser seu avatar"
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "Nossos dados do arquivo foi perdido."
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
-#, fuzzy
 msgid "Lost our file."
-msgstr "Não foi possível bloquear o usuário."
+msgstr "Nosso arquivo foi perdido."
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
 #: classes/User_group.php:129 classes/User_group.php:161
-#, fuzzy
 msgid "Unknown file type"
-msgstr "tipo de arquivo não suportado"
+msgstr "Tipo de arquivo desconhecido"
 
 #: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
 msgid "No profile specified."
@@ -3552,16 +3546,13 @@ msgid "Failed to save block information."
 msgstr "Não foi possível salvar a informação de bloqueio."
 
 #: actions/confirmaddress.php:159
-#, fuzzy, php-format
+#, php-format
 msgid "The address \"%s\" has been "
-msgstr "O endereço foi removido."
+msgstr "O endereço \"%s\" foi "
 
 #: actions/deletenotice.php:73
-#, fuzzy
 msgid "You are about to permanently delete a notice. "
-msgstr ""
-"Você está prestes a apagar permanentemente uma mensagem. Isso não poderá ser "
-"desfeito."
+msgstr "Você está prestes a apagar permanentemente uma mensagem. "
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
@@ -3570,7 +3561,7 @@ msgstr "Adicionar às favoritas"
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "Editar o grupo %s"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
@@ -3578,199 +3569,175 @@ msgid "Inboxes must be enabled for groups to work"
 msgstr ""
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
-#, fuzzy
 msgid "You must be logged in to create a group."
-msgstr ""
-"Você deve estar autenticado para convidar outros usuários para usar o %s"
+msgstr "Você deve estar autenticado para criar um grupo."
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "Nenhum apelido."
+msgstr "Nenhum apelido"
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
 #: actions/showgroup.php:128
-#, fuzzy
 msgid "No such group"
-msgstr "Esse usuário não existe"
+msgstr "Esse grupo não existe"
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
-#, fuzzy
 msgid "You must be an admin to edit the group"
-msgstr ""
-"Você deve estar autenticado para convidar outros usuários para usar o %s"
+msgstr "Você deve ser o administrador do grupo para editá-lo"
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Use esse formulário para editar o grupo."
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
-#, fuzzy
 msgid "Nickname must have only lowercase letters "
-msgstr ""
-"O apelido deve conter apenas letras minúsculas e/ou números e não pode ter "
-"espaços."
+msgstr "O apelido deve conter apenas letras minúsculas "
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
-#, fuzzy
 msgid "description is too long (max 140 chars)."
-msgstr "Descrição muito extensa (máximo 140 caracteres)."
+msgstr "descrição muito extensa (máximo 140 caracteres)."
 
 #: actions/editgroup.php:218
-#, fuzzy
 msgid "Could not update group."
-msgstr "Não foi possível atualizar o usuário."
+msgstr "Não foi possível atualizar o grupo."
 
 #: actions/editgroup.php:226
-#, fuzzy
 msgid "Options saved."
 msgstr "As configurações foram salvas."
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
-#, fuzzy, php-format
+#, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "Aguardando a confirmação deste número de telefone."
+msgstr "Aguardando a confirmação neste endereço. "
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
-#, fuzzy
 msgid "Make a new email address for posting to; "
-msgstr "Novo endereço de e-mail para publicar no %s"
+msgstr "Cria um novo endereço de e-mail para publicar no; "
 
 #: actions/emailsettings.php:157
-#, fuzzy
 msgid "Send me email when someone "
-msgstr "Envie-me um e-mail quando alguém enviar-me uma mensagem particular."
+msgstr "Envie-me um e-mail quando alguém "
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
 msgstr "Permitir que meus amigos chamem minha atenção e enviem-me um e-mail."
 
 #: actions/emailsettings.php:321
-#, fuzzy
 msgid "That email address already belongs "
-msgstr "Esse endereço de e-mail já pertence à outro usuário."
+msgstr "Esse endereço de e-mail já pertence "
 
 #: actions/emailsettings.php:343
-#, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
 msgstr ""
-"Um código de confirmação foi enviado para o endereço de mensagem instantânea "
-"que você informou. Você deve permitir que %s envie mensagens para você."
+"Um código de confirmação foi enviado para o endereço de e-mail que você "
+"informou. "
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "Erro no servidor - não foi possível obter o usuário!"
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "Se você deseja que o aplicativo %s atualize automaticamente "
 
 #: actions/facebookhome.php:213 actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "Permitir que %s atualize meu status no Facebook"
 
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "Pular"
 
 #: actions/facebookhome.php:235
-#, fuzzy
 msgid "No notice content!"
 msgstr "Nenhum conteúdo!"
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "Paginação"
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
-#, fuzzy
 msgid "After"
-msgstr "« Depois"
+msgstr "Próximo"
 
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
-#, fuzzy
 msgid "Before"
-msgstr "Antes »"
+msgstr "Anterior"
 
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "Obrigado por convidar seus amigos para usar o %s"
 
 #: actions/facebookinvite.php:72
-#, fuzzy
 msgid "Invitations have been sent to the following users:"
-msgstr "Convite(s) enviado(s) para as seguintes pessoas:"
+msgstr "Foram enviados convites para os seguintes usuários:"
 
 #: actions/facebookinvite.php:96
-#, fuzzy, php-format
+#, php-format
 msgid "You have been invited to %s"
-msgstr "Você teve a atenção chamada por %s"
+msgstr "Você foi convidado por %s"
 
 #: actions/facebookinvite.php:105
-#, fuzzy, php-format
+#, php-format
 msgid "Invite your friends to use %s"
-msgstr "Mensagens dos amigos de %s"
+msgstr "Convide seus amigos para usar o %s"
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "Amigos que já utilizam o %s:"
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "Enviar convites"
 
 #: actions/facebookremove.php:56
 msgid "Couldn't remove Facebook user."
 msgstr "Não foi possível remover o usuário do Facebook."
 
 #: actions/facebooksettings.php:65
-#, fuzzy
 msgid "There was a problem saving your sync preferences!"
 msgstr ""
-"Ocorreu um problema com o seu token de sessão. Tente novamente, por favor."
+"Ocorreu um problema durante o salvamento das suas preferências de "
+"sincronização!"
 
 #: actions/facebooksettings.php:67
-#, fuzzy
 msgid "Sync preferences saved."
-msgstr "As preferências foram salvas."
+msgstr "As preferências de sincronização foram salvas."
 
 #: actions/facebooksettings.php:90
-#, fuzzy
 msgid "Automatically update my Facebook status with my notices."
-msgstr "Enviar minhas mensagens para o Twitter automaticamente."
+msgstr ""
+"Atualizar meu status do Facebook automaticamente com as minhas mensagens."
 
 #: actions/facebooksettings.php:97
-#, fuzzy
 msgid "Send \"@\" replies to Facebook."
-msgstr "Enviar respostas \"@\" locais para o Twitter."
+msgstr "Enviar respostas \"@\" para o Facebook."
 
 #: actions/facebooksettings.php:106
-#, fuzzy
 msgid "Prefix"
-msgstr "Perfil"
+msgstr "Prefixo"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
-msgstr ""
+msgstr "Um prefixo para acrescentar às mensagens."
 
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "Se você deseja que %s atualize automaticamente "
 
 #: actions/facebooksettings.php:147
-#, fuzzy
 msgid "Sync preferences"
-msgstr "Preferências"
+msgstr "Preferências de sincronização"
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
@@ -3782,14 +3749,13 @@ msgid "Popular notices"
 msgstr "Mensagens populares"
 
 #: actions/favorited.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "Popular notices, page %d"
-msgstr "Mensagens populares"
+msgstr "Mensagens populares, pág. %d"
 
 #: actions/favorited.php:79
-#, fuzzy
 msgid "The most popular notices on the site right now."
-msgstr "Exibindo as etiquetas mais populares da última semana"
+msgstr "As etiquetas mais populares no site agora."
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
@@ -3797,9 +3763,9 @@ msgid "Featured users"
 msgstr "Usuários de destaque"
 
 #: actions/featured.php:71
-#, fuzzy, php-format
+#, php-format
 msgid "Featured users, page %d"
-msgstr "Usuários de destaque"
+msgstr "Usuários de destaque, pág. %d"
 
 #: actions/featured.php:99
 #, php-format
@@ -4532,12 +4498,12 @@ msgstr "Cancelado"
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "Grupos de %s"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "Grupos de %s, página %d"
 
 #: classes/Notice.php:104
 msgid "Problem saving notice. Unknown user."
@@ -4547,17 +4513,16 @@ msgstr "Problema no salvamento da mensagem. Usuário desconhecido."
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
-"Muitas mensagens rapidamente; dê uma respirada e publique novamente em "
-"alguns minutos."
+"Muitas mensagens em um período curto de tempo; dê uma respirada e publique "
+"novamente daqui a alguns minutos."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
 msgstr "Você foi banido de publicar mensagens nesse site."
 
 #: lib/accountsettingsaction.php:108
-#, fuzzy
 msgid "Upload an avatar"
-msgstr "Não foi possível atualizar o avatar."
+msgstr "Enviar um avatar"
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
@@ -4568,17 +4533,18 @@ msgid "Other options"
 msgstr "Outras opções"
 
 #: lib/action.php:130
-#, fuzzy, php-format
+#, php-format
 msgid "%s - %s"
-msgstr "%s (%s)"
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "Página sem título"
 
 #: lib/action.php:316
+#, fuzzy
 msgid "Primary site navigation"
-msgstr ""
+msgstr "Navegação primária no site"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
@@ -4667,33 +4633,29 @@ msgid "Block"
 msgstr "Bloquear"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
-#, fuzzy
 msgid "Disfavor this notice"
-msgstr "Mensagens favoritas de %s"
+msgstr "Tirar das favoritas"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "Para usar a Aplicação do Facebook %s você precisa autenticar-se"
 
 #: lib/facebookaction.php:271
-#, fuzzy
 msgid " a new account."
-msgstr "Criar uma nova conta"
+msgstr " uma nova conta."
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
-#, fuzzy
 msgid "Published"
-msgstr "Público"
+msgstr "Publicado"
 
 #: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
 msgid "Favor this notice"
-msgstr "Mensagens favoritas de %s"
+msgstr "Acrescentar às favoritas"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "Exportar os dados"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
@@ -4709,7 +4671,7 @@ msgstr "Etiqueta"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr "Selecione uma etiqueta para diminuir a lista"
+msgstr "Selecione uma etiqueta para reduzir a lista"
 
 #: lib/galleryaction.php:139
 msgid "Go"
@@ -4761,45 +4723,40 @@ msgstr ""
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "Grupos com mais membros"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "Grupos com mais mensagens"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "Etiquetas nas mensagens do grupo %s"
 
 #: lib/htmloutputter.php:104
-#, fuzzy
 msgid "This page is not available in a "
-msgstr "Esta página não está disponível em um tipo de mídia que você aceita"
+msgstr "Esta página não está disponível em um "
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "Autenticação"
+msgstr "Entrar"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
-msgstr "Salvar"
+msgstr "Sair"
 
 #: lib/logingroupnav.php:76
-#, fuzzy
 msgid "Login with a username and password"
-msgstr "Autentique-se com o seu nome de usuário e senha. "
+msgstr "Autentique-se com um nome de usuário e senha"
 
 #: lib/logingroupnav.php:79
-#, fuzzy
 msgid "Sign up for a new account"
-msgstr "Criar uma nova conta"
+msgstr "Cadastre-se para uma nova conta"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Autentique-se ou registre-se como um OpenID"
 
 #: lib/mail.php:175
 #, php-format
@@ -4807,21 +4764,23 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"Olá, %s.\n"
+"\n"
 
 #: lib/mail.php:236
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s agora está acompanhando suas mensagens em %2$s."
+msgstr "%1$s agora está acompanhando "
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "Localização: %s"
+msgstr "Localização: %s\n"
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
-msgstr "Site: %s"
+msgstr "Site: %s\n"
 
 #: lib/mail.php:258
 #, php-format
@@ -4829,6 +4788,8 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"Descrição: %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
@@ -4836,84 +4797,67 @@ msgid "You've been nudged by %s"
 msgstr "Você teve a atenção chamada por %s"
 
 #: lib/mail.php:465
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s (%2$s) is wondering what you are up to "
-msgstr ""
-"%1$s (%2$s) quer saber com você está atualmente e está convidando-o a "
-"publicar alguma notícia.\n"
-"\n"
+msgstr "%1$s (%2$s) quer saber como você está "
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr ""
-"%1$s acabou de marcar sua mensagem de %2$s como uma favorita.\n"
-"\n"
+msgstr "%1$s acabou de marcar sua mensagem de %2$s"
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
-#, fuzzy
 msgid "From"
-msgstr " de "
+msgstr "De"
 
 #: lib/messageform.php:110
-#, fuzzy
 msgid "Send a direct notice"
-msgstr "Excluir a mensagem"
+msgstr "Enviar uma mensagem direta"
 
 #: lib/noticeform.php:125
-#, fuzzy
 msgid "Send a notice"
-msgstr "Chamar a atenção"
+msgstr "Enviar uma mensagem"
 
 #: lib/noticeform.php:152
-#, fuzzy
 msgid "Available characters"
-msgstr "6 caracteres ou mais"
+msgstr "Caracteres disponíveis"
 
 #: lib/noticelist.php:426
-#, fuzzy
 msgid "in reply to"
-msgstr "em resposta à..."
+msgstr "em resposta à"
 
 #: lib/noticelist.php:447 lib/noticelist.php:450
-#, fuzzy
 msgid "Reply to this notice"
-msgstr "Não é possível excluir esta mensagem."
+msgstr "Responder a esta mensagem"
 
 #: lib/noticelist.php:451
-#, fuzzy
 msgid "Reply"
-msgstr "responder"
+msgstr "Responder"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
-#, fuzzy
 msgid "Delete this notice"
-msgstr "Excluir a mensagem"
+msgstr "Excluir esta mensagem"
 
 #: lib/noticelist.php:474
-#, fuzzy
 msgid "Delete"
-msgstr "excluir"
+msgstr "Excluir"
 
 #: lib/nudgeform.php:116
-#, fuzzy
 msgid "Nudge this user"
-msgstr "Chamada de atenção enviada"
+msgstr "Chamar a atenção deste usuário"
 
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Nudge"
-msgstr "Chamada de atenção enviada"
+msgstr "Chamar a atenção"
 
 #: lib/nudgeform.php:128
-#, fuzzy
 msgid "Send a nudge to this user"
-msgstr "Você não pode enviar uma mensagem para esse usuário."
+msgstr "Chame a atenção deste usuário"
 
 #: lib/personaltagcloudsection.php:56
-#, fuzzy, php-format
+#, php-format
 msgid "Tags in %s's notices"
-msgstr "O usuário não tem uma \"última mensagem\""
+msgstr "Etiquetas nas mensagens de %s"
 
 #: lib/profilelist.php:182
 msgid "(none)"
@@ -4925,7 +4869,7 @@ msgstr "Público"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Grupos de usuário"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
 msgid "Recent tags"
@@ -4940,72 +4884,64 @@ msgid "Popular"
 msgstr "Popular"
 
 #: lib/searchgroupnav.php:82
-#, fuzzy
 msgid "Notice"
-msgstr "Mensagens"
+msgstr "Mensagem"
 
 #: lib/searchgroupnav.php:85
-#, fuzzy
 msgid "Find groups on this site"
-msgstr "Procurar por pessoas neste site"
+msgstr "Procurar por grupos neste site"
 
 #: lib/section.php:89
 msgid "Untitled section"
-msgstr ""
+msgstr "Seção sem título"
 
 #: lib/subgroupnav.php:81
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "Assinatura remota"
+msgstr "Pessoas que %s assina"
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Efetuada a assinatura de %s"
+msgstr "Assinantes de %s"
 
 #: lib/subgroupnav.php:97
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "O grupo %s é membro de"
 
 #: lib/subgroupnav.php:104
-#, fuzzy, php-format
+#, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
-"Use esse formulário para convidar seus amigos e colegas para usar este "
-"serviço."
+msgstr "Convide seus amigos e colegas para unir-se a você no %s"
 
 #: lib/subs.php:53
 msgid "User has blocked you."
 msgstr "O usuário bloqueou você."
 
 #: lib/subscribeform.php:115 lib/subscribeform.php:139
-#, fuzzy
 msgid "Subscribe to this user"
-msgstr "Efetuada a assinatura de %s"
+msgstr "Assinar este usuário"
 
 #: lib/tagcloudsection.php:56
-#, fuzzy
 msgid "None"
-msgstr "Não"
+msgstr "Nenhuma"
 
 #: lib/topposterssection.php:74
 msgid "Top posters"
-msgstr ""
+msgstr "Quem mais publica"
 
 #: lib/unblockform.php:120 lib/unblockform.php:150
-#, fuzzy
 msgid "Unblock this user"
-msgstr "Bloquear usuário"
+msgstr "Desbloquear este usuário"
 
 #: lib/unblockform.php:150
 msgid "Unblock"
 msgstr "Desbloquear"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
-#, fuzzy
 msgid "Unsubscribe from this user"
-msgstr "Cancelada a assinatura de %s"
+msgstr "Cancelar a assinatura deste usuário"
 
 #~ msgid "Code not yet ready."
 #~ msgstr "O código ainda não está pronto."
index cbf1cc1416811319b4659d1e5a3ffffef28629ae..9bfd550b4e0125ca5bc8667f1b0b3ec425a9910d 100644 (file)
Binary files a/locale/ru_RU/LC_MESSAGES/laconica.mo and b/locale/ru_RU/LC_MESSAGES/laconica.mo differ
index e7e6f85a1d80e975871449f7d0e3205939f0c51b..55b908d2ec2ca0fa92b93d2f369dc06b2200b655 100644 (file)
@@ -9,8 +9,8 @@ msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2009-01-16 10:34+0000\n"
-"Last-Translator: Sergey Salnikov <salnsg>\n"
+"PO-Revision-Date: 2009-03-12 16:26+0000\n"
+"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -150,7 +150,7 @@ msgstr "%s (%s)"
 #: actions/publicrss.php:90
 #, php-format
 msgid "%s Public Stream"
-msgstr "%s Публичный поток"
+msgstr "%s Публичная Лента"
 
 #: ../actions/all.php:47 ../actions/allrss.php:60
 #: ../actions/twitapistatuses.php:238 ../lib/stream.php:51 actions/all.php:47
@@ -182,7 +182,7 @@ msgstr "%s хронология"
 #: actions/twitapistatuses.php:36
 #, php-format
 msgid "%s updates from everyone!"
-msgstr "%s Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½ Ð¿Ð¾Ð»Ð½Ð¾Ñ\81Ñ\82Ñ\8cÑ\8e!"
+msgstr "%s Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½ Ð´Ð»Ñ\8f Ð²Ñ\81еÑ\85!"
 
 #: ../actions/register.php:213
 msgid ""
@@ -198,8 +198,8 @@ msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
-"**%%site.name%%** это сервис микроблогинга доведённый до Вас при помощи [%%"
-"site.broughtby%%](%%site.broughtbyurl%%). "
+"**%%site.name%%** это сервис микроблогинга созданный для Вас при помощи "
+"[%%site.broughtby%%](%%site.broughtbyurl%%). "
 
 #: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
 #, php-format
@@ -260,9 +260,9 @@ msgid ""
 "A confirmation code was sent to the phone number you added. Check your inbox "
 "(and spam box!) for the code and instructions on how to use it."
 msgstr ""
-"Код подверждения выслан на мобильный номер, который вы добавили.  Посмотрите "
-"Ð\92аÑ\88и Ð²Ñ\85одÑ\8fÑ\89ие Ñ\81ообÑ\89ениÑ\8f (и Ð¿Ð°Ð¿ÐºÑ\83 Ð´Ð»Ñ\8f Ñ\81пама Ñ\82оже!) Ð´Ð»Ñ\8f Ð½Ð°Ñ\85ождениÑ\8f Ñ\8dÑ\82ого ÐºÐ¾Ð´Ð° "
-"и инструкций по его использованию."
+"Код подтверждения выслан на мобильный номер, который вы добавили.  "
+"Ð\9fоÑ\81моÑ\82Ñ\80иÑ\82е Ð\92аÑ\88и Ð²Ñ\85одÑ\8fÑ\89ие Ñ\81ообÑ\89ениÑ\8f (и Ð¿Ð°Ð¿ÐºÑ\83 Ð´Ð»Ñ\8f Ñ\81пама Ñ\82оже!) Ð´Ð»Ñ\8f Ð½Ð°Ñ\85ождениÑ\8f "
+"этого кода и инструкций по его использованию."
 
 #: ../actions/twitapiaccount.php:49 ../actions/twitapihelp.php:45
 #: ../actions/twitapistatuses.php:88 ../actions/twitapistatuses.php:259
@@ -284,7 +284,7 @@ msgstr ""
 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
 #: actions/twitapiusers.php:32
 msgid "API method not found!"
-msgstr "API-метод не найден!"
+msgstr "Метод API не найден!"
 
 #: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
 #: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
@@ -307,7 +307,7 @@ msgstr "API-метод не найден!"
 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
 #: actions/twitapistatuses.php:562
 msgid "API method under construction."
-msgstr "API-метод реконструируется"
+msgstr "Метод API реконструируется."
 
 #: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
 msgid "About"
@@ -437,7 +437,6 @@ msgid "Awaiting confirmation on this phone number."
 msgstr "В ожидании подтверждения данного номера телефона."
 
 #: ../lib/util.php:1318 lib/util.php:1452
-#, fuzzy
 msgid "Before »"
 msgstr "Ранее »"
 
@@ -463,7 +462,7 @@ msgstr "Не удаётся удалить эту заметку."
 #: actions/updateprofile.php:123
 #, php-format
 msgid "Can't read avatar URL '%s'"
-msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð¿Ñ\80оÑ\87иÑ\82аÑ\82Ñ\8c URL Ð´Ð»Ñ\8f '%s'"
+msgstr "Ð\9dе Ñ\83даеÑ\82Ñ\81Ñ\8f Ð¿Ñ\80оÑ\87иÑ\82аÑ\82Ñ\8c URL Ð°Ð²Ð°Ñ\82аÑ\80Ñ\8b Ð¸Ð· '%s'"
 
 #: ../actions/password.php:85 ../actions/recoverpassword.php:300
 #: actions/profilesettings.php:404 actions/recoverpassword.php:313
@@ -2899,7 +2898,9 @@ msgstr ""
 msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 "\n"
-msgstr "%1$s приглашает вас присоединиться к %2$s (%3$s)."
+msgstr ""
+"%1$s приглашает вас присоединиться к %2$s (%3$s).\n"
+"\n"
 
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
@@ -3142,7 +3143,9 @@ msgstr "%s добавил Вашу заметку в состав своих л
 msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
-msgstr "%1$s добавил Вашу заметку от %2$s в состав своих любимых."
+msgstr ""
+"%1$s добавил Вашу заметку от %2$s в состав своих любимых.\n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
@@ -3267,7 +3270,7 @@ msgstr "Простите, эта команда ещё не выполнена."
 #: classes/Command.php:96 classes/Command.php:113
 #, php-format
 msgid "Subscriptions: %1$s\n"
-msgstr "Подписки: %1$s"
+msgstr "Подписки: %1$s\n"
 
 #: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
 #: classes/Command.php:276
@@ -3358,7 +3361,7 @@ msgstr "Есть оповещение."
 
 #: classes/Command.php:344 classes/Command.php:392
 msgid "Commands:\n"
-msgstr "Команды:"
+msgstr "Команды:\n"
 
 #: classes/Message.php:53 classes/Message.php:56
 msgid "Could not insert message."
@@ -3377,7 +3380,9 @@ msgstr "Пользователь без соответствующего про
 msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
-msgstr "У Вас новый адрес постинга на %1$s."
+msgstr ""
+"У Вас новый адрес постинга на %1$s.\n"
+"\n"
 
 #: lib/mail.php:249 lib/mail.php:508
 #, php-format
@@ -3389,7 +3394,9 @@ msgstr "Новое приватное сообщение от %s"
 msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
-msgstr "%1$s (%2$s) послал Вам приватное сообщение:"
+msgstr ""
+"%1$s (%2$s) послал Вам приватное сообщение:\n"
+"\n"
 
 #: lib/mailbox.php:43 lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
@@ -3557,7 +3564,7 @@ msgstr ""
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
-msgstr ""
+msgstr "Входящие должны быть включены для работы групп"
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 #, fuzzy
@@ -3834,12 +3841,12 @@ msgstr ""
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "Группы"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Группы, страница %d"
 
 #: actions/groups.php:90
 #, php-format
@@ -3849,19 +3856,19 @@ msgstr ""
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
 #, fuzzy
 msgid "Create a new group"
-msgstr "Создать новую учетную запись"
+msgstr "Создать новую группу"
 
 #: actions/groupsearch.php:57
 #, fuzzy, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
 msgstr ""
-"поиÑ\81к Ð»Ñ\8eдей Ð½Ð° %%site.name%% Ð¿Ð¾ Ð¸Ñ\85 Ð¸Ð¼ÐµÐ½Ð¸, Ð¼ÐµÑ\81Ñ\82Ñ\83 Ð¶Ð¸Ñ\82елÑ\8cÑ\81Ñ\82ва Ð¸Ð»Ð¸ Ð¸Ð½Ñ\82еÑ\80еÑ\81ам."
+"поиÑ\81к Ð»Ñ\8eдей Ð½Ð° %%site.name%% Ð¿Ð¾ Ð¸Ñ\85 Ð¸Ð¼ÐµÐ½Ð¸, Ð¼ÐµÑ\81Ñ\82Ñ\83 Ð¶Ð¸Ñ\82елÑ\8cÑ\81Ñ\82ва Ð¸Ð»Ð¸ Ð¾Ð¿Ð¸Ñ\81аниÑ\8e."
 
 #: actions/groupsearch.php:63
 #, fuzzy
 msgid "Group search"
-msgstr "Ð\9fоиÑ\81к Ð»Ñ\8eдей"
+msgstr "Ð\9fоиÑ\81к Ð³Ñ\80Ñ\83пп"
 
 #: actions/imsettings.php:70
 #, fuzzy
@@ -3871,7 +3878,7 @@ msgstr "Вы не можете послать сообщение этому по
 #: actions/imsettings.php:120
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Адрес Jabber или GTalk, "
 
 #: actions/imsettings.php:147
 #, fuzzy
@@ -3881,19 +3888,17 @@ msgstr "Посылать мне заметки через Jabber/GTalk."
 #: actions/imsettings.php:321
 #, fuzzy, php-format
 msgid "A confirmation code was sent "
-msgstr "Ð\9dеÑ\82 ÐºÐ¾Ð´Ð° Ð¿Ð¾Ð´Ñ\82веÑ\80ждениÑ\8f."
+msgstr "Ð\9aод Ð¿Ð¾Ð´Ñ\82веÑ\80ждениÑ\8f Ð¾Ñ\82пÑ\80авлен"
 
 #: actions/joingroup.php:65
 #, fuzzy
 msgid "You must be logged in to join a group."
-msgstr ""
-"Вы должны авторизоваться, чтобы приглашать других пользователей следовать за "
-"%s"
+msgstr "Вы должны авторизоваться для вступления в группу."
 
 #: actions/joingroup.php:95
 #, fuzzy
 msgid "You are already a member of that group"
-msgstr "Вы уже подписаны на пользователя:"
+msgstr "Вы уже являетесь членом этой группы"
 
 #: actions/joingroup.php:128
 #, fuzzy, php-format
@@ -3904,11 +3909,11 @@ msgstr ""
 #: actions/joingroup.php:135
 #, fuzzy, php-format
 msgid "%s joined group %s"
-msgstr "%s / Ð\9bÑ\8eбимое Ð¾Ñ\82 %s"
+msgstr "%s / Ð²Ñ\81Ñ\82Ñ\83пил Ð² Ð³Ñ\80Ñ\83ппÑ\83 %s"
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "Входящие должны быть включены для работы групп."
 
 #: actions/leavegroup.php:65
 #, fuzzy
@@ -3920,37 +3925,36 @@ msgstr ""
 #: actions/leavegroup.php:88
 #, fuzzy
 msgid "No such group."
-msgstr "Ð\9dеÑ\82 Ñ\82акого Ñ\82ега."
+msgstr "Ð\9dеÑ\82 Ñ\82акой Ð³Ñ\80Ñ\83ппÑ\8b."
 
 #: actions/leavegroup.php:95
 #, fuzzy
 msgid "You are not a member of that group."
-msgstr "Вы не подписаны на этот профиль."
+msgstr "Вы не являетесь членом этой группы."
 
 #: actions/leavegroup.php:100
 #, fuzzy
 msgid "You may not leave a group while you are its administrator."
-msgstr "Вы не можете удалять статус других пользователей."
+msgstr "Вы не можете покинуть группу, пока являетесь её администратором."
 
 #: actions/leavegroup.php:130
 #, fuzzy
 msgid "Could not find membership record."
-msgstr "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ\82Ñ\8c Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8cÑ\81кую запись."
+msgstr "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ð½Ð°Ð¹Ñ\82и Ñ\83Ñ\87еÑ\82ную запись."
 
 #: actions/leavegroup.php:138
 #, fuzzy, php-format
 msgid "Could not remove user %s to group %s"
-msgstr ""
-"Не удаётся следовать пользователю, т.к. такого пользователя не существует."
+msgstr "Не удаётся удалить пользователя %s из группы %s"
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s покинул группу %s"
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Авторизоваться"
 
 #: actions/microsummary.php:69
 msgid "No current status"
@@ -3958,32 +3962,32 @@ msgstr "Нет текущего статуса"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Новая группа"
 
 #: actions/newgroup.php:115
 #, fuzzy
 msgid "Use this form to create a new group."
-msgstr "Ð\9fÑ\80и Ð¿Ð¾Ð¼Ð¾Ñ\89и Ñ\8dÑ\82ой Ñ\84оÑ\80мÑ\8b Ð\92Ñ\8b Ð¼Ð¾Ð¶ÐµÑ\82е Ñ\81оздаÑ\82Ñ\8c Ð½Ð¾Ð²Ñ\8bй Ñ\81Ñ\87Ñ\91Ñ\82."
+msgstr "Ð\98Ñ\81полÑ\8cзÑ\83йÑ\82е Ñ\8dÑ\82Ñ\83 Ñ\84оÑ\80мÑ\83 Ð´Ð»Ñ\8f Ñ\81озданиÑ\8f Ð½Ð¾Ð²Ð¾Ð¹ Ð³Ñ\80Ñ\83ппÑ\8b."
 
 #: actions/newgroup.php:177
 #, fuzzy
 msgid "Could not create group."
-msgstr "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ñ\81оздаÑ\82Ñ\8c Ð»Ñ\8eбимÑ\83Ñ\8e Ð·Ð°Ð¼ÐµÑ\82ку."
+msgstr "Ð\9dе Ñ\83даÑ\91Ñ\82Ñ\81Ñ\8f Ñ\81оздаÑ\82Ñ\8c Ð³Ñ\80Ñ\83ппу."
 
 #: actions/newgroup.php:191
 #, fuzzy
 msgid "Could not set group membership."
-msgstr "Не удаётся сохранить подписку."
+msgstr "Не удаётся назначить членство в группе."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
 #, fuzzy
 msgid "That's too long. "
-msgstr "ЭÑ\82о Ñ\81лиÑ\88ком Ð±Ð¾Ð»Ñ\8cÑ\88ой Ñ\84айл."
+msgstr "ЭÑ\82о Ñ\81лиÑ\88ком Ð´Ð»Ð¸Ð½Ð½Ð¾."
 
 #: actions/newmessage.php:134
 #, fuzzy
 msgid "Don't send a message to yourself; "
-msgstr "Ð\92Ñ\8b Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ñ\81лаÑ\82Ñ\8c Ñ\81ообÑ\89ение Ñ\8dÑ\82омÑ\83 Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8e."
+msgstr "Ð\92Ñ\8b Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82е Ð¿Ð¾Ñ\81лаÑ\82Ñ\8c Ñ\81ообÑ\89ение Ñ\81амомÑ\83 Ñ\81ебе."
 
 #: actions/newnotice.php:166
 msgid "Notice posted"
@@ -3991,7 +3995,7 @@ msgstr "Заметка опубликована"
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
-msgstr "Ошибка Аякса"
+msgstr "Ошибка AJAX"
 
 #: actions/nudge.php:85
 msgid ""
@@ -4576,29 +4580,29 @@ msgstr ""
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "Искать людей или текст"
 
 #: lib/action.php:328
 #, fuzzy
 msgid "Account"
-msgstr "Ð\9e Ð¿Ñ\80оекÑ\82е"
+msgstr "Ð\90ккаÑ\83нÑ\82"
 
 #: lib/action.php:328
 #, fuzzy
 msgid "Change your email, avatar, password, profile"
-msgstr "Изменить Ваш пароль"
+msgstr "Изменить Ваш email, аватару, пароль, профиль"
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Соединиться с IM, SMS, Twitter"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Выйти"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Войти"
 
 #: lib/action.php:338
 #, fuzzy
@@ -4608,7 +4612,7 @@ msgstr "Создать новую учетную запись"
 #: lib/action.php:341
 #, fuzzy
 msgid "Login with OpenID"
-msgstr "Ð\9dеÑ\82 Ñ\82акого OpenID."
+msgstr "Ð\92ойÑ\82и Ñ\81 OpenID"
 
 #: lib/action.php:344
 #, fuzzy
@@ -4645,7 +4649,7 @@ msgstr "Все"
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "лицензия."
 
 #: lib/blockform.php:123 lib/blockform.php:153
 #, fuzzy
@@ -4683,7 +4687,7 @@ msgstr "%s любимые заметки"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "Экспорт данных"
 
 #: lib/galleryaction.php:121
 msgid "Filter tags"
@@ -4703,7 +4707,7 @@ msgstr "Выберите тег из выпадающего списка"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr "Ð\98дти"
+msgstr "Ð\9fеÑ\80ейти"
 
 #: lib/groupeditform.php:148
 #, fuzzy
@@ -4713,7 +4717,7 @@ msgstr "Адрес твоей страницы, дневника или проф
 #: lib/groupeditform.php:151
 #, fuzzy
 msgid "Description"
-msgstr "Ð\9fодпиÑ\81ки"
+msgstr "Ð\9eпиÑ\81ание"
 
 #: lib/groupeditform.php:153
 #, fuzzy
@@ -4747,15 +4751,15 @@ msgstr "Выход"
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr ""
+msgstr "Добавить или изменить логотип %s"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "Группы с наибольшим количеством участников"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "Группы с наибольшим количеством сообщений"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
@@ -4775,12 +4779,12 @@ msgstr "Авторизация"
 #: lib/leaveform.php:114
 #, fuzzy
 msgid "Leave"
-msgstr "СоÑ\85Ñ\80аниÑ\82Ñ\8c"
+msgstr "Ð\92Ñ\8bйÑ\82и"
 
 #: lib/logingroupnav.php:76
 #, fuzzy
 msgid "Login with a username and password"
-msgstr "Ð\90вÑ\82оÑ\80изаÑ\86иÑ\8f с Вашим именем и паролем."
+msgstr "Ð\92ойÑ\82и с Вашим именем и паролем."
 
 #: lib/logingroupnav.php:79
 #, fuzzy
@@ -4789,7 +4793,7 @@ msgstr "Создать новую учетную запись"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Войти или зарегистрироваться с OpenID"
 
 #: lib/mail.php:175
 #, php-format
@@ -4797,6 +4801,8 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"Привет, %s.\n"
+"\n"
 
 #: lib/mail.php:236
 #, fuzzy, php-format
@@ -4870,7 +4876,7 @@ msgstr "Не удаётся удалить эту заметку."
 #: lib/noticelist.php:451
 #, fuzzy
 msgid "Reply"
-msgstr "ответить"
+msgstr "Ð\9eтветить"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
 #, fuzzy
@@ -4912,7 +4918,7 @@ msgstr "Публичное"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Группы пользователя"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
 msgid "Recent tags"
@@ -4934,7 +4940,7 @@ msgstr "Заметки"
 #: lib/searchgroupnav.php:85
 #, fuzzy
 msgid "Find groups on this site"
-msgstr "Найти человека на этом сайте"
+msgstr "Найти группы на этом сайте"
 
 #: lib/section.php:89
 msgid "Untitled section"
index c0e8c4d885bab4a09ba5e2a3127f915d0111e151..1f77251e325b22ec5a9d1209c51a08363dcac48c 100644 (file)
Binary files a/locale/sv_SE/LC_MESSAGES/laconica.mo and b/locale/sv_SE/LC_MESSAGES/laconica.mo differ
index 209149490618a7f613914170b6faebd65bffe73d..4b0467e64a1858fe937657e455baa98803babc0e 100644 (file)
@@ -3,20 +3,18 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-02-03 18:51+0000\n"
+"Last-Translator: Håkan Eriksson <eriksson@utryckning.se>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-#  laconica.pot (PACKAGE VERSION)  #-#-#-#-#\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
@@ -160,7 +158,7 @@ msgstr "%s med vänner"
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr "%s publika tidslinje"
+msgstr "%s publik tidslinje"
 
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
index 1f1f5ad54f0abfeb41391a23f0557bc16b080b7f..34818a23571f537a423f046c45ec616da0136e5c 100644 (file)
Binary files a/locale/uk_UA/LC_MESSAGES/laconica.mo and b/locale/uk_UA/LC_MESSAGES/laconica.mo differ
index abd50e81be2881d008b3dbc6dfdcf295b0f0ef51..12809a3f622a30de1fb3da9fed1ee681c81b6462 100644 (file)
@@ -4,28 +4,26 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-03-12 16:19+0000\n"
+"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"#-#-#-#-#  laconica.po  #-#-#-#-#\n"
+"X-Generator: Pootle 1.1.0\n"
 "X-Poedit-Language: Ukrainian\n"
 "X-Poedit-Country: UKRAINE\n"
-"#-#-#-#-#  laconica.new.pot (PACKAGE VERSION)  #-#-#-#-#\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
 #, php-format
 msgid " Search Stream for \"%s\""
-msgstr "Потік пошуку для \"%s\""
+msgstr " Потік пошуку для \"%s\""
 
 #: ../actions/finishopenidlogin.php:82 ../actions/register.php:191
 #: actions/finishopenidlogin.php:88 actions/register.php:205
@@ -33,13 +31,13 @@ msgstr "Потік пошуку для \"%s\""
 msgid ""
 " except this private data: password, email address, IM address, phone number."
 msgstr ""
-"окрім цих приватних даних: пароль, електронна адреса, адреса IM, телефонний "
+" окрім цих приватних даних: пароль, електронна адреса, адреса IM, телефонний "
 "номер."
 
 #: ../actions/showstream.php:400 ../lib/stream.php:109
 #: actions/showstream.php:418 lib/mailbox.php:164 lib/stream.php:76
 msgid " from "
-msgstr ""
+msgstr " від "
 
 #: ../actions/twitapistatuses.php:478 actions/twitapistatuses.php:412
 #: actions/twitapistatuses.php:347
@@ -50,7 +48,7 @@ msgstr "%1$s / Оновленні відповіді %2$s"
 #: ../actions/invite.php:168 actions/invite.php:176 actions/invite.php:211
 #, php-format
 msgid "%1$s has invited you to join them on %2$s"
-msgstr ""
+msgstr "%1$s запросив(ла) вас приєднатися до нього(неї) на %2$s"
 
 #: ../actions/invite.php:170
 #, php-format
@@ -82,6 +80,33 @@ msgid ""
 "\n"
 "Sincerely, %2$s\n"
 msgstr ""
+"%1$s запросив(ла) вас приєднатися до нього(неї) на %2$s (%3$s).\n"
+"\n"
+"%2$s це сервіс мікроблогів що дозволяє вам знаходитись у курсі подій, які "
+"відбуваються з вашими знайомими і тими особами, якими ви цікавитесь.\n"
+"\n"
+"Також ви маєте можливість ділитись новинами про себе, своїми думками, "
+"подіями у житті, розміщуючи все це у режимі \"онлайн\" для своїх знайомих та "
+"друзів. А ще це чудовий спосіб зустріти нових друзів зі спільними "
+"інтересами.\n"
+"\n"
+"%1$s говорить:\n"
+"\n"
+"%4$s\n"
+"\n"
+"Ви можете переглянути профіль %1$s на %2$s тут:\n"
+"\n"
+"%5$s\n"
+"\n"
+"Якщо ви виявили бажання спробувати користуватись даним сервісом, то "
+"перейдіть за посиланням внизу, аби погодитись із запрошенням.\n"
+"\n"
+"%6$s\n"
+"\n"
+"Якщо ж ні, то просто проігноруйте це повідомлення. Дякуємо за розуміння та "
+"витрачений час.\n"
+"\n"
+"Щиро ваші, %2$s\n"
 
 #: ../lib/mail.php:124 lib/mail.php:124 lib/mail.php:126 lib/mail.php:241
 #, php-format
@@ -121,13 +146,13 @@ msgstr "%1$s має статус на %2$s"
 #: actions/invite.php:99 actions/invite.php:123 actions/invite.php:131
 #, php-format
 msgid "%s (%s)"
-msgstr ""
+msgstr "%s (%s)"
 
 #: ../actions/publicrss.php:62 actions/publicrss.php:48
 #: actions/publicrss.php:90
 #, php-format
 msgid "%s Public Stream"
-msgstr "%s Ð¡Ð¿Ñ\96льний потік"
+msgstr "%s Ð\97агальний потік"
 
 #: ../actions/all.php:47 ../actions/allrss.php:60
 #: ../actions/twitapistatuses.php:238 ../lib/stream.php:51 actions/all.php:47
@@ -142,7 +167,7 @@ msgstr "%s з друзями"
 #: actions/twitapistatuses.php:33
 #, php-format
 msgid "%s public timeline"
-msgstr "%s спільний часовий потік"
+msgstr "%s загальна хронологія"
 
 #: ../lib/mail.php:206 lib/mail.php:212 lib/mail.php:411
 #, php-format
@@ -153,7 +178,7 @@ msgstr "%s статус"
 #: actions/twitapistatuses.php:199
 #, php-format
 msgid "%s timeline"
-msgstr "%s Ñ\87аÑ\81овий Ð¿Ð¾Ñ\82Ñ\96к"
+msgstr "%s Ñ\85Ñ\80онологÑ\96Ñ\8f"
 
 #: ../actions/twitapistatuses.php:52 actions/twitapistatuses.php:52
 #: actions/twitapistatuses.php:36
@@ -166,8 +191,8 @@ msgid ""
 "(You should receive a message by email momentarily, with instructions on how "
 "to confirm your email address.)"
 msgstr ""
-"(Ð\92и Ð¼Ð°Ñ\94Ñ\82е Ð½ÐµÐ³Ð°Ð¹Ð½Ð¾ Ð¾Ñ\82Ñ\80имаÑ\82и Ð»Ð¸Ñ\81Ñ\82а ÐµÐ»ÐµÐºÑ\82Ñ\80онноÑ\8e Ð¿Ð¾Ñ\88Ñ\82оÑ\8e, Ð² Ñ\8fкомÑ\83 Ð±Ñ\83дÑ\83Ñ\82Ñ\8c "
-"інструкції, як підтвердити вашу електронну адресу.)"
+"(Ð\92и Ð¼Ð°Ñ\94Ñ\82е Ð½ÐµÐ³Ð°Ð¹Ð½Ð¾ Ð¾Ñ\82Ñ\80имаÑ\82и Ð»Ð¸Ñ\81Ñ\82а ÐµÐ»ÐµÐºÑ\82Ñ\80онноÑ\8e Ð¿Ð¾Ñ\88Ñ\82оÑ\8e, Ð² Ñ\8fкомÑ\83 Ð·Ð½Ð°Ñ\85одиÑ\82имÑ\83Ñ\82Ñ\8cÑ\81Ñ\8f "
+"інструкції щодо підтвердження вашої електронної адреси.)"
 
 #: ../lib/util.php:257 lib/util.php:273 lib/action.php:605
 #, php-format
@@ -175,13 +200,13 @@ msgid ""
 "**%%site.name%%** is a microblogging service brought to you by [%%site."
 "broughtby%%](%%site.broughtbyurl%%). "
 msgstr ""
-"**%%site.name%%** це сервіс мікроблогів наданий вам [%%site.broughtby%%](%%"
-"site.broughtbyurl%%)."
+"**%%site.name%%** це сервіс мікроблогів наданий вам "
+"[%%site.broughtby%%](%%site.broughtbyurl%%). "
 
 #: ../lib/util.php:259 lib/util.php:275 lib/action.php:607
 #, php-format
 msgid "**%%site.name%%** is a microblogging service. "
-msgstr "**%%site.name%%** це сервіс мікроблогів."
+msgstr "**%%site.name%%** це сервіс мікроблогів. "
 
 #: ../lib/util.php:274 lib/util.php:290
 msgid ". Contributors should be attributed by full name or nickname."
@@ -193,12 +218,12 @@ msgstr ""
 #: actions/finishopenidlogin.php:101 actions/profilesettings.php:100
 #: lib/groupeditform.php:139
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
-msgstr "1-64 Ð±Ñ\83кви нижнього регістра і цифри, ніякої пунктуації або інтервалів"
+msgstr "1-64 Ð»Ñ\96Ñ\82еÑ\80и нижнього регістра і цифри, ніякої пунктуації або інтервалів"
 
 #: ../actions/register.php:152 actions/register.php:166
 msgid "1-64 lowercase letters or numbers, no punctuation or spaces. Required."
 msgstr ""
-"1-64 Ð±Ñ\83кви нижнього регістра і цифри, ніякої пунктуації або інтервалів. "
+"1-64 Ð»Ñ\96Ñ\82еÑ\80и нижнього регістра і цифри, ніякої пунктуації або інтервалів. "
 "Неодмінно."
 
 #: ../actions/password.php:42 actions/profilesettings.php:181
@@ -223,7 +248,7 @@ msgid ""
 "s for sending messages to you."
 msgstr ""
 "Код підтвердження був відправлений на адресу IM, яку ви додали. Ви повинні "
-"схвалити %s для відправлення вам повідомлень."
+"затведити %s для відправлення вам повідомлень."
 
 #: ../actions/emailsettings.php:213 actions/emailsettings.php:231
 msgid ""
@@ -262,7 +287,7 @@ msgstr ""
 #: actions/twitapistatuses.php:402 actions/twitapistatuses.php:429
 #: actions/twitapiusers.php:32
 msgid "API method not found!"
-msgstr ""
+msgstr "API метод не знайдено!"
 
 #: ../actions/twitapiaccount.php:57 ../actions/twitapiaccount.php:113
 #: ../actions/twitapiaccount.php:119 ../actions/twitapiblocks.php:28
@@ -285,7 +310,7 @@ msgstr ""
 #: actions/twitapinotifications.php:31 actions/twitapinotifications.php:37
 #: actions/twitapistatuses.php:562
 msgid "API method under construction."
-msgstr ""
+msgstr "API метод наразі знаходиться у розробці."
 
 #: ../lib/util.php:324 lib/util.php:340 lib/action.php:568
 msgid "About"
@@ -314,7 +339,7 @@ msgstr "Додати OpenID"
 #: ../lib/settingsaction.php:97 lib/settingsaction.php:91
 #: lib/accountsettingsaction.php:117
 msgid "Add or remove OpenIDs"
-msgstr ""
+msgstr "Додати або вилучити адреси OpenID"
 
 #: ../actions/emailsettings.php:38 ../actions/imsettings.php:39
 #: ../actions/smssettings.php:39 actions/emailsettings.php:39
@@ -327,6 +352,7 @@ msgstr "Адреса"
 #: ../actions/invite.php:131 actions/invite.php:139 actions/invite.php:176
 msgid "Addresses of friends to invite (one per line)"
 msgstr ""
+"Адреси друзів куди надсилатимуться запрошення (кожна адреса окремим рядком)"
 
 #: ../actions/showstream.php:273 actions/showstream.php:288
 #: actions/showstream.php:422
@@ -371,13 +397,15 @@ msgstr "Авторизувати підписку"
 #: ../actions/login.php:104 ../actions/register.php:178
 #: actions/register.php:192
 msgid "Automatically login in the future; not for shared computers!"
-msgstr "Автоматично входити у майбутньому; не для "
+msgstr ""
+"Автоматично входити у майбутньому; не для комп'ютерів загального "
+"користування!"
 
 #: ../actions/profilesettings.php:65 actions/profilesettings.php:98
 msgid ""
 "Automatically subscribe to whoever subscribes to me (best for non-humans)"
 msgstr ""
-"Автоматично підписуватись до тих, хто підписався до мене (якщо ви бот, це "
+"Ð\90вÑ\82омаÑ\82иÑ\87но Ð¿Ñ\96дпиÑ\81Ñ\83ваÑ\82иÑ\81Ñ\8c Ð´Ð¾ Ñ\82иÑ\85, Ñ\85Ñ\82о Ð¿Ñ\96дпиÑ\81авÑ\81Ñ\8f Ð´Ð¾ Ð¼ÐµÐ½Ðµ (Ñ\8fкÑ\89о Ð²Ð¸ Ð±Ð¾Ñ\82, Ñ\82о Ñ\86е "
 "саме для вас)"
 
 #: ../actions/avatar.php:32 ../lib/settingsaction.php:90
@@ -415,9 +443,8 @@ msgid "Awaiting confirmation on this phone number."
 msgstr "Очікування підтвердження телефонного номера."
 
 #: ../lib/util.php:1318 lib/util.php:1452
-#, fuzzy
 msgid "Before »"
-msgstr "РанÑ\96Ñ\88е"
+msgstr "Ð\9dазад Â»"
 
 #: ../actions/profilesettings.php:49 ../actions/register.php:170
 #: actions/profilesettings.php:82 actions/register.php:184
@@ -431,7 +458,7 @@ msgstr "Про себе"
 #: actions/profilesettings.php:205 actions/register.php:174
 #: actions/updateprofile.php:107
 msgid "Bio is too long (max 140 chars)."
-msgstr "Ð\9fÑ\80о Ñ\81ебе Ð·Ð°Ð±Ð°Ð³Ð°Ñ\82о Ð½Ð°Ð¿Ð¸Ñ\81ано (140 Ð·Ð½Ð°ÐºÑ\96в максимум)"
+msgstr "Ð\92и Ð¿ÐµÑ\80евиÑ\89или Ð»Ñ\96мÑ\96Ñ\82 (140 Ð·Ð½Ð°ÐºÑ\96в Ñ\86е максимум)"
 
 #: ../lib/deleteaction.php:41 lib/deleteaction.php:41 lib/deleteaction.php:69
 msgid "Can't delete this notice."
@@ -479,7 +506,7 @@ msgstr "Змінити"
 #: ../lib/settingsaction.php:88 lib/settingsaction.php:88
 #: lib/accountsettingsaction.php:114
 msgid "Change email handling"
-msgstr ""
+msgstr "Змінити електронну адресу вручну"
 
 #: ../actions/password.php:32 actions/profilesettings.php:36
 #: actions/passwordsettings.php:58
@@ -488,12 +515,12 @@ msgstr "Змінити пароль"
 
 #: ../lib/settingsaction.php:94 lib/accountsettingsaction.php:111
 msgid "Change your password"
-msgstr ""
+msgstr "Змінити ваш пароль"
 
 #: ../lib/settingsaction.php:85 lib/settingsaction.php:85
 #: lib/accountsettingsaction.php:105
 msgid "Change your profile settings"
-msgstr ""
+msgstr "Змінити налаштування профілю"
 
 #: ../actions/password.php:43 ../actions/recoverpassword.php:181
 #: ../actions/register.php:155 ../actions/smssettings.php:65
@@ -552,7 +579,9 @@ msgstr ""
 "*Додати [адресу Jabber/GTalk](%%%%action.imsettings%%%%), так щоб мати змогу "
 "надсилати повідомлення через службу миттєвих повідомлень.\n"
 "*[Розшукати людей](%%%%action.peoplesearch%%%%), які мають спільні з вами "
-"інтереси. \n"
+"інтереси.\n"
+"*Оновити [налаштування профілю](%%%%action.profilesettings%%%%) аби інші "
+"дізнались більше про вас.\n"
 "*Прочитати [додаткову інформацію](%%%%doc.help%%%%), аби переконатись, що ви "
 "нічого не пропустили. \n"
 "\n"
@@ -562,7 +591,7 @@ msgstr ""
 #: ../actions/finishopenidlogin.php:91 actions/finishopenidlogin.php:97
 #: actions/finishopenidlogin.php:119 lib/action.php:330
 msgid "Connect"
-msgstr "З'єднатись"
+msgstr "З'єднання"
 
 #: ../actions/finishopenidlogin.php:86 actions/finishopenidlogin.php:92
 #: actions/finishopenidlogin.php:114
@@ -583,12 +612,12 @@ msgstr "Не вдалося створити форму OpenID: %s"
 #: actions/twitapifriendships.php:48 actions/twitapifriendships.php:64
 #, php-format
 msgid "Could not follow user: %s is already on your list."
-msgstr ""
+msgstr "Не вдалося додати користувача: %s вже присутній у вашому списку."
 
 #: ../actions/twitapifriendships.php:53 actions/twitapifriendships.php:53
 #: actions/twitapifriendships.php:41
 msgid "Could not follow user: User not found."
-msgstr "Не вдалося слідувати за користувачем: користувача не знайдено."
+msgstr "Не вдалося додати користувача: користувача не знайдено."
 
 #: ../lib/openid.php:160 lib/openid.php:160 lib/openid.php:169
 #, php-format
@@ -616,7 +645,7 @@ msgstr "Невдала підписка."
 #: ../actions/recoverpassword.php:102 actions/recoverpassword.php:105
 #: actions/recoverpassword.php:111
 msgid "Could not update user with confirmed email address."
-msgstr ""
+msgstr "Не вдалося оновити користувача з підтвердженною електронною адресою."
 
 #: ../actions/finishremotesubscribe.php:99
 #: actions/finishremotesubscribe.php:101 actions/finishremotesubscribe.php:114
@@ -639,7 +668,7 @@ msgstr "Не вдалося видалити підписку."
 #: ../actions/twitapistatuses.php:93 actions/twitapistatuses.php:98
 #: actions/twitapistatuses.php:84
 msgid "Couldn't find any statuses."
-msgstr ""
+msgstr "Жодних статусів не виявлено."
 
 #: ../actions/remotesubscribe.php:127 actions/remotesubscribe.php:136
 #: actions/remotesubscribe.php:178
@@ -710,7 +739,7 @@ msgstr "Створити новий рахунок"
 #: ../actions/finishopenidlogin.php:191 actions/finishopenidlogin.php:197
 #: actions/finishopenidlogin.php:231
 msgid "Creating new account for OpenID that already has a user."
-msgstr "СÑ\82воÑ\80иÑ\82и Ð½Ð¾Ð²Ð¸Ð¹ Ñ\80аÑ\85Ñ\83нок Ð· OpenID, яким ви вже користуєтесь."
+msgstr "СÑ\82воÑ\80еннÑ\8f Ð½Ð¾Ð²Ð¾Ð³Ð¾ Ñ\80аÑ\85Ñ\83нкÑ\83 Ð´Ð»Ñ\8f OpenID, яким ви вже користуєтесь."
 
 #: ../actions/imsettings.php:45 actions/imsettings.php:46
 #: actions/imsettings.php:100
@@ -734,7 +763,7 @@ msgstr "Поточне"
 #: ../classes/Notice.php:72 classes/Notice.php:86 classes/Notice.php:91
 #, php-format
 msgid "DB error inserting hashtag: %s"
-msgstr "Помилка бази даних при додаванні мітки: %s"
+msgstr "Помилка бази даних при додаванні тегу: %s"
 
 #: ../lib/util.php:1061 lib/util.php:1110 classes/Notice.php:698
 #, php-format
@@ -784,7 +813,7 @@ msgstr "Електронна адреса, на зразок \"UserName@example.
 
 #: ../actions/invite.php:129 actions/invite.php:137 actions/invite.php:174
 msgid "Email addresses"
-msgstr ""
+msgstr "Електронні адреси"
 
 #: ../actions/recoverpassword.php:191 actions/recoverpassword.php:197
 #: actions/recoverpassword.php:231
@@ -879,7 +908,7 @@ msgstr "Існуюче ім'я"
 
 #: ../lib/util.php:326 lib/util.php:342 lib/action.php:570
 msgid "FAQ"
-msgstr "Ð\9fÑ\88иÑ\80енÑ\96 Ð·Ð°Ð¿Ð¸Ñ\82аннÑ\8f"
+msgstr "ЧаÐ\9fи"
 
 #: ../actions/avatar.php:115 actions/profilesettings.php:352
 #: actions/avatarsettings.php:397
@@ -902,12 +931,12 @@ msgstr "Живлення для відповідей %s"
 #: ../actions/tag.php:55 actions/tag.php:55 actions/tag.php:61
 #, php-format
 msgid "Feed for tag %s"
-msgstr "Живлення для міток %s"
+msgstr "Живлення для тегів %s"
 
 #: ../lib/searchaction.php:105 lib/searchaction.php:105
 #: lib/searchgroupnav.php:83
 msgid "Find content of notices"
-msgstr "Ð\97найÑ\82и Ð·Ð¼Ñ\96Ñ\81Ñ\82 Ð¿Ð¾Ð²Ñ\96домленнÑ\8f"
+msgstr "Ð\97найÑ\82и Ð·Ð° Ð·Ð¼Ñ\96Ñ\81Ñ\82ом Ð¿Ð¾Ð²Ñ\96домленÑ\8c"
 
 #: ../lib/searchaction.php:101 lib/searchaction.php:101
 #: lib/searchgroupnav.php:81
@@ -919,8 +948,8 @@ msgid ""
 "For security reasons, please re-enter your user name and password before "
 "changing your settings."
 msgstr ""
-"З міркувань безпеки, будь ласка введіть ще раз ім'я та пароль, перед тим як "
-"змінювати налатування."
+"З міркувань безпеки, будь ласка, введіть ще раз ім'я та пароль, перед тим як "
+"змÑ\96нÑ\8eваÑ\82и Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ваннÑ\8f."
 
 #: ../actions/profilesettings.php:44 ../actions/register.php:164
 #: actions/profilesettings.php:77 actions/register.php:178
@@ -953,14 +982,14 @@ msgstr "Дім"
 #: actions/profilesettings.php:107 actions/register.php:396
 #: lib/groupeditform.php:146
 msgid "Homepage"
-msgstr "Ð\94омаÑ\88нÑ\8f сторінка"
+msgstr "Ð\92еб-сторінка"
 
 #: ../actions/profilesettings.php:95 ../actions/register.php:76
 #: actions/profilesettings.php:210 actions/register.php:83
 #: actions/editgroup.php:192 actions/newgroup.php:143
 #: actions/profilesettings.php:199 actions/register.php:168
 msgid "Homepage is not a valid URL."
-msgstr "Ð\94омаÑ\88нÑ\8f сторінка має недійсну URL-адресу."
+msgstr "Ð\92еб-сторінка має недійсну URL-адресу."
 
 #: ../actions/emailsettings.php:91 actions/emailsettings.php:98
 #: actions/emailsettings.php:173
@@ -970,7 +999,7 @@ msgstr "Я хочу надсилати повідомлення поштою."
 #: ../lib/settingsaction.php:102 lib/settingsaction.php:96
 #: lib/connectsettingsaction.php:104
 msgid "IM"
-msgstr ""
+msgstr "ІМ"
 
 #: ../actions/imsettings.php:60 actions/imsettings.php:61
 #: actions/imsettings.php:118
@@ -997,13 +1026,16 @@ msgid ""
 "click \"Add\"."
 msgstr ""
 "Якщо ви бажаєте додати OpenID до вашого рахунку, введіть адресу в поле нижче "
-"і натисніть \"Add\"."
+"і натисніть \"Додати\"."
 
 #: ../actions/recoverpassword.php:137
 msgid ""
 "If you've forgotten or lost your password, you can get a new one sent to the "
 "email address you have stored  in your account."
 msgstr ""
+"У разі, якщо ви забули або загубили свій пароль, ви маєте можливість "
+"отримати новий на ту електронну адресу, яку було збережено у профілі вашого "
+"рахунку."
 
 #: ../actions/emailsettings.php:67 ../actions/smssettings.php:76
 #: actions/emailsettings.php:68 actions/smssettings.php:76
@@ -1032,7 +1064,7 @@ msgid ""
 "address registered to your account."
 msgstr ""
 "Інструкції з відновлення паролю було надіслано на електронну адресу, яку ви "
-"закÑ\80Ñ\96пили Ð·Ð° Ñ\81воÑ\97м Ñ\80анком."
+"вказали Ñ\83 Ð½Ð°Ð»Ð°Ñ\88Ñ\82Ñ\83ваннÑ\8fÑ\85 Ð²Ð°Ñ\88ого Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e."
 
 #: ../actions/updateprofile.php:114 actions/updateprofile.php:115
 #: actions/updateprofile.php:118
@@ -1043,13 +1075,13 @@ msgstr "Недійсна URL-адреса аватари '%s'"
 #: ../actions/invite.php:55 actions/invite.php:62 actions/invite.php:70
 #, php-format
 msgid "Invalid email address: %s"
-msgstr ""
+msgstr "Недійсна електронна адреса: %s"
 
 #: ../actions/updateprofile.php:98 actions/updateprofile.php:99
 #: actions/updateprofile.php:102
 #, php-format
 msgid "Invalid homepage '%s'"
-msgstr "Недейсна домашня сторінка '%s'"
+msgstr "Недійсна веб-сторінка '%s'"
 
 #: ../actions/updateprofile.php:82 actions/updateprofile.php:83
 #: actions/updateprofile.php:86
@@ -1103,20 +1135,20 @@ msgstr "Недійсне ім'я або пароль."
 
 #: ../actions/invite.php:79 actions/invite.php:86 actions/invite.php:102
 msgid "Invitation(s) sent"
-msgstr ""
+msgstr "Запрошення відіслано"
 
 #: ../actions/invite.php:97 actions/invite.php:104 actions/invite.php:136
 msgid "Invitation(s) sent to the following people:"
-msgstr ""
+msgstr "Запрошення були надіслани наступним особам:"
 
 #: ../lib/util.php:306 lib/util.php:322 lib/facebookaction.php:207
 #: lib/subgroupnav.php:103
 msgid "Invite"
-msgstr ""
+msgstr "Запросити"
 
 #: ../actions/invite.php:123 actions/invite.php:130 actions/invite.php:104
 msgid "Invite new users"
-msgstr ""
+msgstr "Запросити нових користувачів"
 
 #: ../lib/util.php:261 lib/util.php:277 lib/action.php:609
 #, php-format
@@ -1154,6 +1186,7 @@ msgstr "Мова"
 msgid "Language is too long (max 50 chars)."
 msgstr "Мова задовга (50 знаків максимум)"
 
+# "Місцезнаходження", як на мене забагато літер. "Локація" - не менш вживане в українській мові слово.
 #: ../actions/profilesettings.php:52 ../actions/register.php:173
 #: actions/profilesettings.php:85 actions/register.php:187
 #: actions/profilesettings.php:117 actions/register.php:408
@@ -1161,7 +1194,7 @@ msgstr "Мова задовга (50 знаків максимум)"
 #: actions/tagother.php:113 lib/groupeditform.php:156 lib/grouplist.php:126
 #: lib/profilelist.php:125
 msgid "Location"
-msgstr "Ð\9cÑ\96Ñ\81Ñ\86езнаÑ\85одження"
+msgstr "Ð\9bокаÑ\86Ñ\96я"
 
 #: ../actions/profilesettings.php:104 ../actions/register.php:85
 #: ../actions/updateprofile.php:108 actions/profilesettings.php:219
@@ -1170,7 +1203,7 @@ msgstr "Місцезнаходження"
 #: actions/profilesettings.php:208 actions/register.php:177
 #: actions/updateprofile.php:112
 msgid "Location is too long (max 255 chars)."
-msgstr "Ð\9cÑ\96Ñ\81Ñ\86езнаÑ\85одженнÑ\8f Ð·Ð°Ð´Ð¾Ð²Ð³Ðµ (255 знаків максимум)"
+msgstr "Ð\9bокаÑ\86Ñ\96Ñ\8f Ð½Ð°Ð´Ñ\82о Ð´Ð¾Ð²Ð³Ð° (255 знаків максимум)"
 
 #: ../actions/login.php:97 ../actions/login.php:106
 #: ../actions/openidlogin.php:68 ../lib/util.php:310 actions/login.php:97
@@ -1196,8 +1229,8 @@ msgid ""
 "%). "
 msgstr ""
 "Увійти викристовуючи ім'я та пароль. Ще не маєте імені користувача? "
-"[Зареєструвати](%%action.register%%) новий акаунт, або спробувати [OpenID](%%"
-"action.openidlogin%%)."
+"[Зареєструвати](%%action.register%%) новий акаунт, або спробувати "
+"[OpenID](%%action.openidlogin%%). "
 
 #: ../lib/util.php:308 lib/util.php:324 lib/action.php:332
 msgid "Logout"
@@ -1206,7 +1239,7 @@ msgstr "Вийти"
 #: ../actions/register.php:166 actions/register.php:180
 #: actions/register.php:393
 msgid "Longer name, preferably your \"real\" name"
-msgstr "Довше ім'я, переважно це ваше \"real\" ім'я"
+msgstr "Довше ім'я, переважно ваше \"справжнє\" ім'я"
 
 #: ../actions/login.php:110 actions/login.php:110 actions/login.php:245
 #: lib/facebookaction.php:320
@@ -1227,7 +1260,7 @@ msgstr "Зазначте, як само ви бажаєте отримувати
 #: ../actions/showstream.php:300 actions/showstream.php:315
 #: actions/showstream.php:480
 msgid "Member since"
-msgstr "Разом Ð· Ð½Ð°Ð¼Ð¸ Ð·"
+msgstr "Ð\97 Ð½Ð°Ð¼Ð¸ Ð²Ñ\96д"
 
 #: ../actions/userrss.php:70 actions/userrss.php:67 actions/userrss.php:72
 #, php-format
@@ -1248,7 +1281,7 @@ msgstr ""
 #: actions/finishopenidlogin.php:85 actions/register.php:202
 #: actions/finishopenidlogin.php:107 actions/register.php:429
 msgid "My text and files are available under "
-msgstr "Мої повідомлення та файли доступні під"
+msgstr "Мої повідомлення та файли доступні під "
 
 #: ../actions/emailsettings.php:82 ../actions/smssettings.php:91
 #: actions/emailsettings.php:83 actions/smssettings.php:91
@@ -1407,7 +1440,7 @@ msgstr "Немає телефонного номера."
 #: ../actions/finishremotesubscribe.php:72
 #: actions/finishremotesubscribe.php:74 actions/finishremotesubscribe.php:75
 msgid "No profile URL returned by server."
-msgstr "Немає URL-адреси профілю повернітої сервером."
+msgstr "Немає URL-адреси профілю, яку б було повернуто сервером."
 
 #: ../actions/recoverpassword.php:226 actions/recoverpassword.php:232
 #: actions/recoverpassword.php:266
@@ -1417,7 +1450,7 @@ msgstr "Для цього користувача немає зареєстров
 #: ../actions/userauthorization.php:49 actions/userauthorization.php:55
 #: actions/userauthorization.php:57
 msgid "No request found!"
-msgstr "Ð\9dемаÑ\94 Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾Ð³Ð¾ Ð·Ð°Ð¿Ð¸Ñ\82Ñ\83!"
+msgstr "Ð\92Ñ\96дповÑ\96дей Ð½Ð° Ð·Ð°Ð¿Ð¸Ñ\82 Ð½ÐµÐ¼Ð°Ñ\94!"
 
 #: ../actions/noticesearch.php:64 ../actions/peoplesearch.php:64
 #: actions/noticesearch.php:69 actions/peoplesearch.php:69
@@ -1435,12 +1468,12 @@ msgstr "Немає розміру."
 #: actions/twitapistatuses.php:520 actions/twitapifavorites.php:112
 #: actions/twitapistatuses.php:446
 msgid "No status found with that ID."
-msgstr ""
+msgstr "Жодних статусів з таким ID."
 
 #: ../actions/twitapistatuses.php:555 actions/twitapistatuses.php:478
 #: actions/twitapistatuses.php:418
 msgid "No status with that ID found."
-msgstr ""
+msgstr "Не знайдено жодних статусів з таким ID."
 
 #: ../actions/openidsettings.php:135 actions/openidsettings.php:144
 #: actions/openidsettings.php:222
@@ -1499,7 +1532,7 @@ msgstr "Такого користувача немає."
 #: ../actions/recoverpassword.php:211 actions/recoverpassword.php:217
 #: actions/recoverpassword.php:251
 msgid "No user with that email address or username."
-msgstr ""
+msgstr "Користувача з такою електронною адресою або ім'ям немає."
 
 #: ../lib/gallery.php:80 lib/gallery.php:85
 msgid "Nobody to show!"
@@ -1513,54 +1546,55 @@ msgstr "Це не код оновлення."
 #: ../scripts/maildaemon.php:50 scripts/maildaemon.php:50
 #: scripts/maildaemon.php:53
 msgid "Not a registered user."
-msgstr ""
+msgstr "Це не зареєстрований користувач."
 
 #: ../lib/twitterapi.php:226 ../lib/twitterapi.php:247
 #: ../lib/twitterapi.php:332 lib/twitterapi.php:391 lib/twitterapi.php:418
 #: lib/twitterapi.php:502 lib/twitterapi.php:448 lib/twitterapi.php:476
 #: lib/twitterapi.php:566
 msgid "Not a supported data format."
-msgstr ""
+msgstr "Такий формат даних не підтримується."
 
+# "Invalid" та "Not a valid" я умовно поставив знак рівняння між ними, тому перекладаю як "недійсний", замість "не дійсний". Це не помилка.
 #: ../actions/imsettings.php:167 actions/imsettings.php:175
 #: actions/imsettings.php:290
 msgid "Not a valid Jabber ID"
-msgstr "Це не дійсний Jabber ID"
+msgstr "Це недійсний Jabber ID"
 
 #: ../lib/openid.php:131 lib/openid.php:131 lib/openid.php:140
 msgid "Not a valid OpenID."
-msgstr "Це не дійсний OpenID."
+msgstr "Це недійсний OpenID."
 
 #: ../actions/emailsettings.php:185 actions/emailsettings.php:203
 #: actions/emailsettings.php:315
 msgid "Not a valid email address"
-msgstr "Це не дійсна електронна адреса"
+msgstr "Це недійсна електронна адреса"
 
 #: ../actions/register.php:63 actions/register.php:70 actions/register.php:152
 msgid "Not a valid email address."
-msgstr "Це не дійсна електронна адреса."
+msgstr "Це недійсна електронна адреса."
 
 #: ../actions/profilesettings.php:91 ../actions/register.php:71
 #: actions/profilesettings.php:206 actions/register.php:78
 #: actions/editgroup.php:186 actions/newgroup.php:137
 #: actions/profilesettings.php:195 actions/register.php:161
 msgid "Not a valid nickname."
-msgstr "Це не дійсне ім'я користувача."
+msgstr "Це недійсне ім'я користувача."
 
 #: ../actions/remotesubscribe.php:120 actions/remotesubscribe.php:129
 #: actions/remotesubscribe.php:159
 msgid "Not a valid profile URL (incorrect services)."
-msgstr "Це не дійсна URL-адреса профілю (некоректні послуги)."
+msgstr "Це недійсна URL-адреса профілю (сервіс вказано невірно)."
 
 #: ../actions/remotesubscribe.php:113 actions/remotesubscribe.php:122
 #: actions/remotesubscribe.php:152
 msgid "Not a valid profile URL (no XRDS defined)."
-msgstr "Це не дійсна URL-адреса профілю (немає певного XRDS)."
+msgstr "Це недійсна URL-адреса профілю (немає певного XRDS)."
 
 #: ../actions/remotesubscribe.php:104 actions/remotesubscribe.php:113
 #: actions/remotesubscribe.php:143
 msgid "Not a valid profile URL (no YADIS document)."
-msgstr "Це не дійсна URL-адреса профілю (немає документа YADIS)."
+msgstr "Це недійсна URL-адреса профілю (немає документа YADIS)."
 
 #: ../actions/avatar.php:95 actions/profilesettings.php:332
 #: lib/imagefile.php:87
@@ -1580,7 +1614,7 @@ msgstr "Ця відповідь не очікується!"
 #: ../actions/twitapistatuses.php:422 actions/twitapistatuses.php:361
 #: actions/twitapistatuses.php:309
 msgid "Not found"
-msgstr ""
+msgstr "Не знайдено"
 
 #: ../actions/finishaddopenid.php:29 ../actions/logout.php:33
 #: ../actions/newnotice.php:29 ../actions/subscribe.php:28
@@ -1694,7 +1728,7 @@ msgstr "Налаштування OpenID"
 
 #: ../actions/invite.php:135 actions/invite.php:143 actions/invite.php:180
 msgid "Optionally add a personal message to the invitation."
-msgstr ""
+msgstr "Можна додати персональне повідомлення до запрошення (опціонально)."
 
 #: ../actions/avatar.php:84 actions/profilesettings.php:321
 #: lib/imagefile.php:75
@@ -1718,7 +1752,7 @@ msgstr "Пароль та підтвердження не співпадають
 #: ../actions/recoverpassword.php:284 actions/recoverpassword.php:297
 #: actions/recoverpassword.php:331
 msgid "Password must be 6 chars or more."
-msgstr "Пароль містить 6 або більше знаків."
+msgstr "Пароль має складатись з 6-ти або більше знаків."
 
 #: ../actions/recoverpassword.php:261 ../actions/recoverpassword.php:263
 #: actions/recoverpassword.php:267 actions/recoverpassword.php:269
@@ -1759,7 +1793,7 @@ msgstr "Особисте"
 
 #: ../actions/invite.php:133 actions/invite.php:141 actions/invite.php:178
 msgid "Personal message"
-msgstr ""
+msgstr "Особисті повідомлення"
 
 #: ../actions/smssettings.php:69 actions/smssettings.php:69
 msgid "Phone number, no punctuation or spaces, with area code"
@@ -1773,12 +1807,13 @@ msgid ""
 msgstr ""
 "Будь ласка, перевірте всі деталі, щоб упевнитись, що ви дійсно бажаєте "
 "підписатись на повідомлення даного користувача. Якщо ви не збирались "
-"підписуватись ні на чиї повідомлення, просто натисніть \"Cancel\"."
+"підписуватись ні на чиї повідомлення, просто натисніть \"Відмінити\"."
 
 #: ../actions/imsettings.php:73 actions/imsettings.php:74
 #: actions/imsettings.php:142
 msgid "Post a notice when my Jabber/GTalk status changes."
-msgstr "Друкувати повідомлення, коли мій мій статус Jabber/GTalk змінюється."
+msgstr ""
+"Надсилати повідомлення на сайт, коли мій статус Jabber/GTalk змінюється."
 
 #: ../actions/emailsettings.php:85 ../actions/imsettings.php:67
 #: ../actions/smssettings.php:94 actions/emailsettings.php:86
@@ -1787,7 +1822,7 @@ msgstr "Друкувати повідомлення, коли мій мій ст
 #: actions/imsettings.php:133 actions/smssettings.php:157
 #: actions/twittersettings.php:134
 msgid "Preferences"
-msgstr "Переваги"
+msgstr "Преференції"
 
 #: ../actions/emailsettings.php:162 ../actions/imsettings.php:144
 #: ../actions/smssettings.php:163 actions/emailsettings.php:180
@@ -1795,7 +1830,7 @@ msgstr "Переваги"
 #: actions/emailsettings.php:286 actions/imsettings.php:258
 #: actions/othersettings.php:168 actions/smssettings.php:272
 msgid "Preferences saved."
-msgstr "Переваги збережно."
+msgstr "Преференції збережно."
 
 #: ../actions/profilesettings.php:57 actions/profilesettings.php:90
 #: actions/profilesettings.php:129
@@ -1835,27 +1870,27 @@ msgstr "Невідомий профіль"
 
 #: ../actions/public.php:54 actions/public.php:54 actions/public.php:124
 msgid "Public Stream Feed"
-msgstr "Живлення спільного потоку"
+msgstr "Живлення загального потоку"
 
 #: ../actions/public.php:33 actions/public.php:33 actions/public.php:109
 #: lib/publicgroupnav.php:77
 msgid "Public timeline"
-msgstr "СпÑ\96лÑ\8cний Ñ\87аÑ\81овий Ð¿Ð¾Ñ\82Ñ\96к"
+msgstr "Ð\97агалÑ\8cна Ñ\85Ñ\80онологÑ\96Ñ\8f"
 
 #: ../actions/imsettings.php:79 actions/imsettings.php:80
 #: actions/imsettings.php:153
 msgid "Publish a MicroID for my Jabber/GTalk address."
-msgstr "Позначати MicroID мого рахунку Jabber/GTalk"
+msgstr "Позначати міткою MicroID мою адресу Jabber/GTalk."
 
 #: ../actions/emailsettings.php:94 actions/emailsettings.php:101
 #: actions/emailsettings.php:178
 msgid "Publish a MicroID for my email address."
-msgstr "Позначати MicroID моєї електронної адреси."
+msgstr "Позначати міткою MicroID мою електронну адресу."
 
 #: ../actions/tag.php:75 ../actions/tag.php:76 actions/tag.php:75
 #: actions/tag.php:76
 msgid "Recent Tags"
-msgstr "Ð\9dедавнÑ\96 Ð¼Ñ\96Ñ\82ки"
+msgstr "Ð\9dовÑ\96 Ñ\82еги"
 
 #: ../actions/recoverpassword.php:166 actions/recoverpassword.php:171
 #: actions/recoverpassword.php:190
@@ -1870,14 +1905,14 @@ msgstr "Відновити пароль"
 #: ../actions/recoverpassword.php:67 actions/recoverpassword.php:67
 #: actions/recoverpassword.php:73
 msgid "Recovery code for unknown user."
-msgstr "Код відновлення невідомого користувача."
+msgstr "Ð\9aод Ð²Ñ\96дновленнÑ\8f Ð´Ð»Ñ\8f Ð½ÐµÐ²Ñ\96домого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а."
 
 #: ../actions/register.php:142 ../actions/register.php:193 ../lib/util.php:312
 #: actions/register.php:152 actions/register.php:207 lib/util.php:328
 #: actions/register.php:69 actions/register.php:436 lib/action.php:338
 #: lib/facebookaction.php:277 lib/logingroupnav.php:78
 msgid "Register"
-msgstr "Ð\97аÑ\80еÑ\94Ñ\81Ñ\82Ñ\80Ñ\83ваÑ\82иÑ\81Ñ\8c"
+msgstr "РеÑ\94Ñ\81Ñ\82Ñ\80аÑ\86Ñ\96Ñ\8f"
 
 #: ../actions/register.php:28 actions/register.php:28
 #: actions/finishopenidlogin.php:196 actions/register.php:90
@@ -1903,7 +1938,7 @@ msgstr "Пам'ятати мене"
 #: ../actions/updateprofile.php:70 actions/updateprofile.php:71
 #: actions/updateprofile.php:74
 msgid "Remote profile with no matching profile"
-msgstr "Ð\92Ñ\96ддалений Ð¿Ñ\80оÑ\84Ñ\96лÑ\8c Ð±ÐµÐ· Ð²Ñ\96дповÑ\96дного Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e"
+msgstr "Ð\92Ñ\96ддалений Ð¿Ñ\80оÑ\84Ñ\96лÑ\8c Ð½Ðµ Ñ\81пÑ\96впадаÑ\94 Ð· Ñ\86им Ð¿Ñ\80оÑ\84Ñ\96лем"
 
 #: ../actions/remotesubscribe.php:65 actions/remotesubscribe.php:73
 #: actions/remotesubscribe.php:88
@@ -1933,8 +1968,8 @@ msgid ""
 "Removing your only OpenID would make it impossible to log in! If you need to "
 "remove it, add another OpenID first."
 msgstr ""
-"Ви входите лише з OpenID, якщо ви його видалите, то не зможете увійти знову! "
-"Перед тим як видалити його, з початку додайте інший."
+"Ви входите лише з одним єдиним OpenID, якщо ви його видалите, то не зможете "
+"увійти знову! Перед тим як видалити його, з початку додайте інший."
 
 #: ../lib/stream.php:55 lib/personal.php:55 lib/personalgroupnav.php:103
 msgid "Replies"
@@ -1946,7 +1981,7 @@ msgstr "Відповіді"
 #: lib/personalgroupnav.php:104
 #, php-format
 msgid "Replies to %s"
-msgstr "Відповіді %s"
+msgstr "Відповіді до %s"
 
 #: ../actions/recoverpassword.php:183 actions/recoverpassword.php:189
 #: actions/recoverpassword.php:223
@@ -1961,7 +1996,7 @@ msgstr "Скинути пароль"
 #: ../lib/settingsaction.php:99 lib/settingsaction.php:93
 #: actions/subscriptions.php:123 lib/connectsettingsaction.php:107
 msgid "SMS"
-msgstr ""
+msgstr "СМС"
 
 #: ../actions/smssettings.php:67 actions/smssettings.php:67
 #: actions/smssettings.php:126
@@ -1971,21 +2006,21 @@ msgstr "Телефонний номер"
 #: ../actions/smssettings.php:33 actions/smssettings.php:33
 #: actions/smssettings.php:58
 msgid "SMS Settings"
-msgstr "Налаштування SMS"
+msgstr "Налаштування СМС"
 
 #: ../lib/mail.php:219 lib/mail.php:225 lib/mail.php:437
 msgid "SMS confirmation"
-msgstr "Підтвердження SMS"
+msgstr "Підтвердження СМС"
 
 #: ../actions/recoverpassword.php:182 actions/recoverpassword.php:188
 #: actions/recoverpassword.php:222
 msgid "Same as password above"
-msgstr "Такий же, як пароль вище"
+msgstr "Такий само, як і пароль вище"
 
 #: ../actions/register.php:156 actions/register.php:170
 #: actions/register.php:377
 msgid "Same as password above. Required."
-msgstr "Такий же, як пароль вище. Неодмінно."
+msgstr "Такий само, як і пароль вище. Неодмінно."
 
 #: ../actions/emailsettings.php:97 ../actions/imsettings.php:81
 #: ../actions/profilesettings.php:67 ../actions/smssettings.php:100
@@ -2026,7 +2061,7 @@ 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 ""
-"Ð\9fоÑ\88Ñ\83к Ð»Ñ\8eдей Ð½Ð° %%site.name%% Ð·Ð° Ñ\97Ñ\85 Ñ\96м'Ñ\8fм, Ð¼Ñ\96Ñ\81Ñ\86ем Ð·Ð½Ð°Ñ\85одженнÑ\8f або інтересами. "
+"Ð\9fоÑ\88Ñ\83к Ð»Ñ\8eдей Ð½Ð° %%site.name%% Ð·Ð° Ñ\97Ñ\85 Ñ\96м'Ñ\8fм, Ð»Ð¾ÐºÐ°Ñ\86Ñ\96Ñ\94Ñ\8e або інтересами. "
 "Відокремлюйте пошукові умови інтервалами; вони повинні складатись з 3 знаків "
 "або більше."
 
@@ -2035,17 +2070,18 @@ msgstr ""
 msgid "Select a carrier"
 msgstr "Оберіть оператора"
 
+# Слово "Надіслати" у вузьку рамку веб-форми відправлення повідомлень на сайті не втискається. Гадаю "Так!" цілком прийнятний замінник.
 #: ../actions/invite.php:137 ../lib/util.php:1172 actions/invite.php:145
 #: lib/util.php:1306 lib/util.php:1731 actions/invite.php:182
 #: lib/messageform.php:167 lib/noticeform.php:177
 msgid "Send"
-msgstr "Ð\9dадÑ\96Ñ\81лаÑ\82и"
+msgstr "Так!"
 
 #: ../actions/emailsettings.php:73 ../actions/smssettings.php:82
 #: actions/emailsettings.php:74 actions/smssettings.php:82
 #: actions/emailsettings.php:132 actions/smssettings.php:145
 msgid "Send email to this address to post new notices."
-msgstr "Надсилайте листи на цю адресу, щоб друкувати нові повідомлення."
+msgstr "Надсилайте листи на цю адресу і їх буде опубліковано на сайті."
 
 #: ../actions/emailsettings.php:88 actions/emailsettings.php:89
 #: actions/emailsettings.php:152
@@ -2062,7 +2098,7 @@ msgid ""
 "Send me notices through SMS; I understand I may incur exorbitant charges "
 "from my carrier."
 msgstr ""
-"Повідомляти мене за допомогою SMS; Я розімію, що, можливо, понесу надмірні "
+"Повідомляти мене за допомогою СМС; Я розімію, що, можливо, понесу надмірні "
 "витрати від мого мобільного оператора."
 
 #: ../actions/imsettings.php:76 actions/imsettings.php:77
@@ -2082,7 +2118,7 @@ msgstr "Налаштування збережено."
 
 #: ../actions/tag.php:60 actions/tag.php:60
 msgid "Showing most popular tags from the last week"
-msgstr "Представлено найбільш популярні мітки за минулий тиждень"
+msgstr "Представлено найбільш популярні теги за минулий тиждень"
 
 #: ../actions/finishaddopenid.php:66 actions/finishaddopenid.php:66
 #: actions/finishaddopenid.php:114
@@ -2093,17 +2129,18 @@ msgstr "Хтось вже користується цим OpenID."
 #: actions/finishopenidlogin.php:47 actions/openidsettings.php:135
 #: actions/finishopenidlogin.php:52 actions/openidsettings.php:202
 msgid "Something weird happened."
-msgstr "СÑ\82алоÑ\81Ñ\8f Ñ\89оÑ\81Ñ\8c Ð¿Ð¾Ð³Ð°не."
+msgstr "СÑ\82алоÑ\81Ñ\8f Ñ\89оÑ\81Ñ\8c Ð´Ð¸Ð²не."
 
 #: ../scripts/maildaemon.php:58 scripts/maildaemon.php:58
 #: scripts/maildaemon.php:61
 msgid "Sorry, no incoming email allowed."
 msgstr ""
+"Вибачте, але не затверджено жодної електронної адреси для вхідної пошти."
 
 #: ../scripts/maildaemon.php:54 scripts/maildaemon.php:54
 #: scripts/maildaemon.php:57
 msgid "Sorry, that is not your incoming email address."
-msgstr ""
+msgstr "Вибачте, але це не є вашою електронною адресою для входної пошти."
 
 #: ../lib/util.php:330 lib/util.php:346 lib/action.php:574
 msgid "Source"
@@ -2126,7 +2163,7 @@ msgstr "Збережений OpenID не знайдено."
 #: actions/remotesubscribe.php:113 actions/showstream.php:376
 #: lib/subscribeform.php:139
 msgid "Subscribe"
-msgstr "Ð\9fÑ\96дпиÑ\81ки"
+msgstr "Ð\9fÑ\96дпиÑ\81аÑ\82иÑ\81Ñ\8c"
 
 #: ../actions/showstream.php:313 ../actions/subscribers.php:27
 #: actions/showstream.php:328 actions/subscribers.php:27
@@ -2163,7 +2200,7 @@ msgstr "Система відповіла помилкою при заванта
 #: actions/tagother.php:147 actions/tagother.php:207 lib/profilelist.php:162
 #: lib/profilelist.php:164
 msgid "Tags"
-msgstr "Ð\9cÑ\96Ñ\82ки"
+msgstr "Теги"
 
 #: ../lib/searchaction.php:104 lib/searchaction.php:104
 msgid "Text"
@@ -2172,7 +2209,7 @@ msgstr "Текст"
 #: ../actions/noticesearch.php:34 actions/noticesearch.php:34
 #: actions/noticesearch.php:67
 msgid "Text search"
-msgstr "Пошук тескту"
+msgstr "Пошук тексту"
 
 #: ../actions/openidsettings.php:140 actions/openidsettings.php:149
 #: actions/openidsettings.php:227
@@ -2196,7 +2233,7 @@ msgstr "Ця електронна адреса належить іншому к
 #: ../actions/avatar.php:80 actions/profilesettings.php:317
 #: lib/imagefile.php:71
 msgid "That file is too big."
-msgstr "Цей Ñ\84айл Ð·Ð°великий."
+msgstr "Цей Ñ\84айл Ð½Ð°Ð´Ñ\82о великий."
 
 #: ../actions/imsettings.php:170 actions/imsettings.php:178
 #: actions/imsettings.php:293
@@ -2248,12 +2285,12 @@ msgstr "Цей телефонний номер належить іншому к
 #: actions/newnotice.php:49 actions/twitapistatuses.php:330
 #: actions/facebookhome.php:243 actions/twitapistatuses.php:276
 msgid "That's too long. Max notice size is 140 chars."
-msgstr "Ð\97адовге. Ð\9cакÑ\81ималÑ\8cний Ñ\80озмÑ\96Ñ\80 Ð¿Ð¾Ð²Ñ\96домленнÑ\8f - 140 знаків."
+msgstr "Ð\9dадÑ\82о Ð´Ð¾Ð²Ð³Ð¾. Ð\9cакÑ\81ималÑ\8cний Ñ\80озмÑ\96Ñ\80 Ð¿Ð¾Ð²Ñ\96домленнÑ\8f 140 знаків."
 
 #: ../actions/twitapiaccount.php:74 actions/twitapiaccount.php:72
 #: actions/twitapiaccount.php:62
 msgid "That's too long. Max notice size is 255 chars."
-msgstr ""
+msgstr "Надто довго. Максимальний розмір повідомлення 255 знаків."
 
 #: ../actions/confirmaddress.php:92 actions/confirmaddress.php:92
 #, php-format
@@ -2284,7 +2321,7 @@ msgid ""
 "with the site's instructions for details on how to fully reject the "
 "subscription."
 msgstr ""
-"Підписку було скинуно, але URL-адреса у відповідь не передавалася. Звіртесь "
+"Підписку було скинуто, але URL-адреса у відповідь не передавалася. Звіртесь "
 "з інструкціями на сайті для більш конкретної інформації про те, як скинути "
 "підписку."
 
@@ -2309,20 +2346,20 @@ msgstr "Тут представлені ті, за чиїми повідомле
 #: ../actions/invite.php:89 actions/invite.php:96 actions/invite.php:128
 msgid ""
 "These people are already users and you were automatically subscribed to them:"
-msgstr ""
+msgstr "Ці люди вже є користувачами і вас було автоматично підписано до них:"
 
 #: ../actions/recoverpassword.php:88
 msgid "This confirmation code is too old. Please start again."
-msgstr "Цей код підтвердження застарий. Будь ласка, розпочніть з початку."
+msgstr "Цей код підтвердження застарілий. Будь ласка, розпочніть спочатку."
 
 #: ../lib/openid.php:195
 msgid ""
 "This form should automatically submit itself. If not, click the submit "
 "button to go to your OpenID provider."
 msgstr ""
-"ЦÑ\8f Ñ\84оÑ\80ма Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° Ð°Ð²Ñ\82омаÑ\82иÑ\87но Ñ\81ебе Ð¿Ñ\80едÑ\81Ñ\82авиÑ\82и. Ð¯ÐºÑ\89о Ñ\86Ñ\8cого Ð½Ðµ Ñ\81Ñ\82алоÑ\81Ñ\8f, "
-"натисніть на кнопку представлення і ви будете перенаправлені до вашого "
-"OpenID провайдера."
+"ЦÑ\8f Ñ\84оÑ\80ма Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° Ð°Ð²Ñ\82омаÑ\82иÑ\87но Ñ\80епÑ\80езенÑ\82Ñ\83ваÑ\82и Ñ\81ебе Ñ\81иÑ\81Ñ\82емÑ\96. Ð¯ÐºÑ\89о Ñ\86Ñ\8cого Ð½Ðµ "
+"сталося, натисніть на кнопку представлення і ви будете перенаправлені до "
+"вашого OpenID провайдера."
 
 #: ../actions/finishopenidlogin.php:56 actions/finishopenidlogin.php:61
 #: actions/finishopenidlogin.php:67
@@ -2332,16 +2369,16 @@ msgid ""
 "to a local account. You can either create a new account, or connect with "
 "your existing account, if you have one."
 msgstr ""
-"Ви вперше увійшли до %s, так що ми повинні приєднати ваш OpenID до "
-"локального рахунку. Ви можете також створити новий рахунок, або приєднати "
-"OpenID до вашого вже існуючого рахунку, якщо ви його маєте."
+"Ви вперше увійшли до %s і ми повинні приєднати ваш OpenID до локального "
+"рахунку. Ви можете також створити новий рахунок, або приєднати OpenID до "
+"вашого вже існуючого рахунку, якщо ви його маєте."
 
 #: ../actions/twitapifriendships.php:108 ../actions/twitapistatuses.php:586
 #: actions/twitapifavorites.php:127 actions/twitapifriendships.php:108
 #: actions/twitapistatuses.php:511 actions/twitapifavorites.php:97
 #: actions/twitapifriendships.php:85 actions/twitapistatuses.php:436
 msgid "This method requires a POST or DELETE."
-msgstr ""
+msgstr "Цей метод потребує або НАПИСАТИ, або ВИДАЛИТИ."
 
 #: ../actions/twitapiaccount.php:65 ../actions/twitapifriendships.php:44
 #: ../actions/twitapistatuses.php:381 actions/twitapiaccount.php:63
@@ -2350,11 +2387,11 @@ msgstr ""
 #: actions/twitapidirect_messages.php:122 actions/twitapifriendships.php:32
 #: actions/twitapistatuses.php:244
 msgid "This method requires a POST."
-msgstr ""
+msgstr "Цей метод потребує НАПИСАТИ."
 
 #: ../lib/util.php:164 lib/util.php:246
 msgid "This page is not available in a media type you accept"
-msgstr "ЦÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нка Ð½Ðµ Ð´Ð¾Ñ\81Ñ\82Ñ\83пна Ð² Ð¼ÐµÐ´Ñ\96а-Ñ\82ипÑ\96, Ñ\8fкий Ð²Ð¸ Ð¿Ñ\80иймаÑ\94Ñ\82е"
+msgstr "ЦÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нка Ð½Ðµ Ð´Ð¾Ñ\81Ñ\82Ñ\83пна Ð´Ð»Ñ\8f Ñ\82ого Ñ\82ипÑ\83 Ð¼ÐµÐ´Ñ\96а, Ð· Ñ\8fким Ð²Ð¸ Ð¿Ð¾Ð³Ð¾Ð´Ð¸Ð»Ð¸Ñ\81Ñ\8c"
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:138
@@ -2373,9 +2410,10 @@ msgid ""
 "register%%) a new  account. If you already have an account  on a [compatible "
 "microblogging site](%%doc.openmublog%%),  enter your profile URL below."
 msgstr ""
-"Щоб підписатись, ви можете [увійти](%%action.login%%), або [зареєструвати](%%"
-"action.register%%) новий рахунок. Якщо ви вже маєте рахунок на [сумісному "
-"сайті](%%doc.openmublog%%), введіть URL-адресу вашого профілю."
+"Щоб підписатись, ви можете [увійти](%%action.login%%), або "
+"[зареєструвати](%%action.register%%) новий  рахунок. Якщо ви вже маєте "
+"рахунок  на [сумісному сайті](%%doc.openmublog%%),  введіть URL-адресу "
+"вашого профілю нижче."
 
 #: ../actions/twitapifriendships.php:163 actions/twitapifriendships.php:167
 #: actions/twitapifriendships.php:132
@@ -2386,12 +2424,12 @@ msgstr "Два ID або імені_у_мережі повинні підтри
 #: actions/profilesettings.php:81 actions/register.php:183
 #: actions/profilesettings.php:109
 msgid "URL of your homepage, blog, or profile on another site"
-msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88оÑ\97 Ð´Ð¾Ð¼Ð°Ñ\88нÑ\8cоÑ\97 Ñ\81Ñ\82оÑ\80Ñ\96нки, Ð±Ð»Ð¾Ð³Ñ\83"
+msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88оÑ\97 Ð²ÐµÐ±-Ñ\81Ñ\82оÑ\80Ñ\96нки, Ð±Ð»Ð¾Ð³Ñ\83, Ð°Ð±Ð¾ Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e Ð½Ð° Ñ\96нÑ\88омÑ\83 Ñ\81айÑ\82Ñ\96"
 
 #: ../actions/remotesubscribe.php:74 actions/remotesubscribe.php:83
 #: actions/remotesubscribe.php:110
 msgid "URL of your profile on another compatible microblogging service"
-msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88ого Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e Ð½Ð° Ñ\96нÑ\88омÑ\83 Ñ\81Ñ\83мÑ\96Ñ\81номÑ\83 Ñ\81айÑ\82і"
+msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88ого Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e Ð½Ð° Ñ\96нÑ\88омÑ\83 Ñ\81Ñ\83мÑ\96Ñ\81номÑ\83 Ñ\81еÑ\80вÑ\96Ñ\81і"
 
 #: ../actions/emailsettings.php:130 ../actions/imsettings.php:110
 #: ../actions/recoverpassword.php:39 ../actions/smssettings.php:135
@@ -2411,7 +2449,7 @@ msgstr "Несподіване скидання паролю."
 
 #: ../index.php:57 index.php:57 actions/recoverpassword.php:202
 msgid "Unknown action"
-msgstr ""
+msgstr "Дія невідома"
 
 #: ../actions/finishremotesubscribe.php:58
 #: actions/finishremotesubscribe.php:60 actions/finishremotesubscribe.php:61
@@ -2424,7 +2462,7 @@ msgid ""
 "contributors and available under the "
 msgstr ""
 "Якщо не зазначено інше, авторське право на вміст цього сайту належить "
-"конÑ\82Ñ\80ибÑ\83Ñ\82оÑ\80ам Ñ\96 Ð´Ð¾Ñ\81Ñ\82Ñ\83пний Ð¿Ñ\96д"
+"конÑ\82Ñ\80ибÑ\83Ñ\82оÑ\80ам Ñ\96 Ð´Ð¾Ñ\81Ñ\82Ñ\83пне Ð¿Ñ\96д "
 
 #: ../actions/confirmaddress.php:48 actions/confirmaddress.php:48
 #: actions/confirmaddress.php:90
@@ -2451,12 +2489,12 @@ msgstr "Формат зображення не підтримується."
 #: ../lib/settingsaction.php:100 lib/settingsaction.php:94
 #: lib/connectsettingsaction.php:108
 msgid "Updates by SMS"
-msgstr ""
+msgstr "Оновлення через SMS"
 
 #: ../lib/settingsaction.php:103 lib/settingsaction.php:97
 #: lib/connectsettingsaction.php:105
 msgid "Updates by instant messenger (IM)"
-msgstr ""
+msgstr "Оновлення за допомогою служби миттєвих повідомлень (ІМ)"
 
 #: ../actions/twitapistatuses.php:241 actions/twitapistatuses.php:158
 #: actions/twitapistatuses.php:129
@@ -2482,26 +2520,27 @@ msgid ""
 "site license, also. Use a picture that belongs to you and that you want to "
 "share."
 msgstr ""
-"Завантажити нову \"avatar\" (зображення користувача) можна тут. Ви не "
-"зможеÑ\82е Ð²Ñ\96дÑ\80едагÑ\83ваÑ\82и Ñ\81воÑ\8e Ð°Ð²Ð°Ñ\82аÑ\80Ñ\83 Ð¿Ñ\96Ñ\81лÑ\8f Ð·Ð°Ð²Ð°Ð½Ñ\82аженнÑ\8f, Ñ\82ак Ñ\89о Ð· початку "
-"пеÑ\80еконайÑ\82еÑ\81Ñ\8f, що вона має більш-менш квадратну форму. Ваше зображення "
+"Завантажити нову \"аватару\" (зображення користувача) можна тут. Ви не зможете "
+"вÑ\96дÑ\80едагÑ\83ваÑ\82и Ñ\81воÑ\8e Ð°Ð²Ð°Ñ\82аÑ\80Ñ\83 Ð¿Ñ\96Ñ\81лÑ\8f Ð·Ð°Ð²Ð°Ð½Ñ\82аженнÑ\8f, Ñ\82ак Ñ\89о Ñ\81початку "
+"пеÑ\80еконайÑ\82еÑ\81Ñ\8c, що вона має більш-менш квадратну форму. Ваше зображення "
 "зберігатиметься під ліцензією сайту, також. Використовуйте зображення, які "
 "належать вам, і які ви можете вільно демонструвати."
 
 #: ../lib/settingsaction.php:91
 msgid "Upload a new profile image"
-msgstr ""
+msgstr "Завантажити нове зображення користувача"
 
 #: ../actions/invite.php:114 actions/invite.php:121 actions/invite.php:154
 msgid ""
 "Use this form to invite your friends and colleagues to use this service."
 msgstr ""
+"Скористуйтесь ціїє формою аби запросити ваших друзів та колег до нашого "
+"сервісу."
 
 #: ../actions/register.php:159 ../actions/register.php:162
 #: actions/register.php:173 actions/register.php:176
 msgid "Used only for updates, announcements, and password recovery"
-msgstr ""
-"Використовується лише для оновлень, оголошень та переустановлення паролю"
+msgstr "Використовується лише для оновлень, оголошень та відновлення паролю"
 
 #: ../actions/finishremotesubscribe.php:86
 #: actions/finishremotesubscribe.php:88 actions/finishremotesubscribe.php:94
@@ -2533,7 +2572,7 @@ msgstr "Ім'я користувача"
 
 #: ../actions/twitapiusers.php:75 actions/twitapiusers.php:80
 msgid "User not found."
-msgstr ""
+msgstr "Користувача не знайдено."
 
 #: ../actions/profilesettings.php:63 actions/profilesettings.php:96
 #: actions/profilesettings.php:139
@@ -2543,13 +2582,13 @@ msgstr "За яким часовим поясом ви живете?"
 #: ../lib/util.php:1159 lib/util.php:1293 lib/noticeform.php:141
 #, php-format
 msgid "What's up, %s?"
-msgstr "Як Ñ\81Ñ\8f Ð¼Ð°Ñ\94Ñ\88, %s?"
+msgstr "Що Ð½Ð¾Ð²Ð¾Ð³Ð¾, %s?"
 
 #: ../actions/profilesettings.php:54 ../actions/register.php:175
 #: actions/profilesettings.php:87 actions/register.php:189
 #: actions/profilesettings.php:119
 msgid "Where you are, like \"City, State (or Region), Country\""
-msgstr "Де ви живете, на зразок \"City, State (or Region), Country\""
+msgstr "Де ви живете, на зразок \"Місто, область (регіон), країна\""
 
 #: ../actions/updateprofile.php:128 actions/updateprofile.php:129
 #: actions/updateprofile.php:132
@@ -2580,8 +2619,8 @@ msgid ""
 "You are about to permanently delete a notice.  Once this is done, it cannot "
 "be undone."
 msgstr ""
-"Ви видаляєте повідомлення назавжди. Якщо ви так зробите, це не матиме "
-"звоÑ\80оÑ\82нÑ\8cоÑ\97 Ð´Ñ\96Ñ\97."
+"Ви видаляєте повідомлення назавжди.  Якщо ви це зробите, то пам'ятайте, що "
+"звоÑ\80оÑ\82нÑ\8f Ð´Ñ\96Ñ\8f Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ð°."
 
 #: ../actions/recoverpassword.php:31 actions/recoverpassword.php:31
 #: actions/recoverpassword.php:36
@@ -2590,7 +2629,7 @@ msgstr "Ви вже в системі!"
 
 #: ../actions/invite.php:81 actions/invite.php:88 actions/invite.php:120
 msgid "You are already subscribed to these users:"
-msgstr ""
+msgstr "Ви вже підписані до цих користувачів:"
 
 #: ../actions/twitapifriendships.php:128 actions/twitapifriendships.php:128
 #: actions/twitapifriendships.php:105
@@ -2609,14 +2648,15 @@ msgstr "Ви можете створити новий рахунок, щоб п
 #: actions/smssettings.php:69
 #, php-format
 msgid "You can receive SMS messages through email from %%site.name%%."
-msgstr "Ви можете отримувати SMS через електронну пошту від %%site.name%%."
+msgstr "Ви можете отримувати СМС через електронну пошту від %%site.name%%."
 
 #: ../actions/openidsettings.php:86
 msgid ""
 "You can remove an OpenID from your account by clicking the button marked "
 "\"Remove\"."
 msgstr ""
-"Ви можете видалити OpenID із свого рахунку, якщо натиснете кнопку \"Remove\"."
+"Ви можете видалити OpenID із свого рахунку, якщо натиснете кнопку "
+"\"Видалити\"."
 
 #: ../actions/imsettings.php:28 actions/imsettings.php:28
 #, php-format
@@ -2624,8 +2664,9 @@ msgid ""
 "You can send and receive notices through Jabber/GTalk [instant messages](%%"
 "doc.im%%). Configure your address and settings below."
 msgstr ""
-"Ви можете надсилати на отримувати повідомлення через Jabber/GTalk [службу "
-"миттевих повідомлень](%%doc.im%%). Вкажить свою адресу і налаштуйте це нижче."
+"Ви можете надсилати та отримувати повідомлення через Jabber/GTalk [службу "
+"миттєвих повідомлень](%%doc.im%%). Вкажить свою адресу і налаштуйте опції "
+"нижче."
 
 #: ../actions/profilesettings.php:27
 msgid ""
@@ -2676,22 +2717,24 @@ msgstr ""
 #: ../actions/twitapistatuses.php:612 actions/twitapistatuses.php:537
 #: actions/twitapistatuses.php:463
 msgid "You may not delete another user's status."
-msgstr ""
+msgstr "Ви не можете видалити статус іншого користувача."
 
 #: ../actions/invite.php:31 actions/invite.php:31 actions/invite.php:39
 #, php-format
 msgid "You must be logged in to invite other users to use %s"
-msgstr ""
+msgstr "Ви маєте спочатку увійти, аби мати змогу запросити когось до %s"
 
 #: ../actions/invite.php:103 actions/invite.php:110 actions/invite.php:142
 msgid ""
 "You will be notified when your invitees accept the invitation and register "
 "on the site. Thanks for growing the community!"
 msgstr ""
+"Вас буде поінформовано, коли запрошені вами особи погодяться з запрошеннями "
+"і зареєструються на сайті. Дякуємо, що сприяєте формуванню спільноти!"
 
 #: ../actions/recoverpassword.php:149
 msgid "You've been identified. Enter a  new password below. "
-msgstr "Вас ідентифіковано. Введіть новий пароль нижче."
+msgstr "Вас ідентифіковано. Введіть  новий пароль нижче. "
 
 #: ../actions/openidlogin.php:67 actions/openidlogin.php:76
 #: actions/openidlogin.php:104
@@ -2709,12 +2752,12 @@ msgid ""
 "[OpenID](%%doc.openid%%) lets you log into many sites  with the same user "
 "account.  Manage your associated OpenIDs from here."
 msgstr ""
-"[OpenID](%%doc.openid%%) дає вам можливість реєструватися на багатьох "
-"сайтах, користуючись єдиним рахунком. Керувати вашими OpenID можна звідси."
+"[OpenID](%%doc.openid%%) дає вам можливість реєструватися на багатьох сайтах "
+" користуючись єдиним рахунком.  Керувати вашими OpenID можна звідси."
 
 #: ../lib/util.php:943 lib/util.php:992 lib/util.php:945
 msgid "a few seconds ago"
-msgstr "кÑ\96лÑ\8cка Ñ\81екÑ\83нд тому"
+msgstr "миÑ\82Ñ\8c тому"
 
 #: ../lib/util.php:955 lib/util.php:1004 lib/util.php:957
 #, php-format
@@ -2776,7 +2819,7 @@ msgstr "відповісти"
 #: ../actions/password.php:44 actions/profilesettings.php:183
 #: actions/passwordsettings.php:106
 msgid "same as password above"
-msgstr "такий же, як пароль вище"
+msgstr "такий само, як і пароль вище"
 
 #: ../actions/twitapistatuses.php:755 actions/twitapistatuses.php:678
 #: actions/twitapistatuses.php:555
@@ -2784,7 +2827,6 @@ msgid "unsupported file type"
 msgstr "тип файлу не підтримується"
 
 #: ../lib/util.php:1309 lib/util.php:1443
-#, fuzzy
 msgid "« After"
 msgstr "« Вперед"
 
@@ -2803,66 +2845,69 @@ msgstr "« Вперед"
 #: actions/subscribe.php:46 actions/unblock.php:65 actions/unsubscribe.php:43
 msgid "There was a problem with your session token. Try again, please."
 msgstr ""
+"Виникли певні проблеми з токеном поточної сесії. Спробуйте знов, будь ласка."
 
 #: actions/disfavor.php:55 actions/disfavor.php:81
 msgid "This notice is not a favorite!"
-msgstr ""
+msgstr "Це повідомлення не є обраним!"
 
 #: actions/disfavor.php:63 actions/disfavor.php:87
 msgid "Could not delete favorite."
-msgstr ""
+msgstr "Не можна видалити зі списку обраних."
 
 #: actions/disfavor.php:72 lib/favorform.php:140
 msgid "Favor"
-msgstr ""
+msgstr "Обрати"
 
 #: actions/emailsettings.php:92
 msgid "Send me email when someone adds my notice as a favorite."
 msgstr ""
+"Надсилати мені листа, коли хтось додає моє повідомлення до списку обраних."
 
 #: actions/emailsettings.php:95 actions/emailsettings.php:163
 msgid "Send me email when someone sends me a private message."
-msgstr ""
+msgstr "Надсилати мені листа, коли хтось шле приватне повідомлення для мене."
 
 #: actions/favor.php:53 actions/twitapifavorites.php:142 actions/favor.php:81
 #: actions/twitapifavorites.php:118
 msgid "This notice is already a favorite!"
-msgstr ""
+msgstr "Це повідомлення вже є обраним!"
 
 #: actions/favor.php:60 actions/twitapifavorites.php:151
 #: classes/Command.php:132 actions/favor.php:86
 #: actions/twitapifavorites.php:125 classes/Command.php:152
 msgid "Could not create favorite."
-msgstr ""
+msgstr "Не можна позначити як обране."
 
 #: actions/favor.php:70
 msgid "Disfavor"
-msgstr ""
+msgstr "Не обране"
 
 #: actions/favoritesrss.php:60 actions/showfavorites.php:47
 #: actions/favoritesrss.php:100 actions/showfavorites.php:77
 #, php-format
 msgid "%s favorite notices"
-msgstr ""
+msgstr "Обрані повідомлення %s"
 
 #: actions/favoritesrss.php:64 actions/favoritesrss.php:104
 #, php-format
 msgid "Feed of favorite notices of %s"
-msgstr ""
+msgstr "Живлення для обраних повідомлень від %s"
 
 #: actions/inbox.php:28 actions/inbox.php:59
 #, php-format
 msgid "Inbox for %s - page %d"
-msgstr ""
+msgstr "Вхідні для %s - сторінка %d"
 
 #: actions/inbox.php:30 actions/inbox.php:62
 #, php-format
 msgid "Inbox for %s"
-msgstr ""
+msgstr "Вхідні для %s"
 
 #: actions/inbox.php:53 actions/inbox.php:115
 msgid "This is your inbox, which lists your incoming private messages."
 msgstr ""
+"Це ваші вхідні повідомлення, тут містяться повідомлення надіслані приватно."
 
 #: actions/invite.php:178 actions/invite.php:213
 #, php-format
@@ -2870,34 +2915,36 @@ msgid ""
 "%1$s has invited you to join them on %2$s (%3$s).\n"
 "\n"
 msgstr ""
+"%1$s запросив(ла) вас приєднатись до %2$s (%3$s).\n"
+"\n"
 
 #: actions/login.php:104 actions/login.php:235 actions/openidlogin.php:108
 #: actions/register.php:416
 msgid "Automatically login in the future; "
-msgstr ""
+msgstr "Автоматично входити у майбутньому; "
 
 #: actions/login.php:122 actions/login.php:264
 msgid "For security reasons, please re-enter your "
-msgstr ""
+msgstr "З міркувань безпеки, будь ласка, введіть ще раз свій "
 
 #: actions/login.php:126 actions/login.php:268
 msgid "Login with your username and password. "
-msgstr ""
+msgstr "Увійти з вашим ім'ям та паролем. "
 
 #: actions/newmessage.php:58 actions/twitapidirect_messages.php:130
 #: actions/twitapidirect_messages.php:141
 msgid "That's too long. Max message size is 140 chars."
-msgstr ""
+msgstr "Надто довго. Максимальний розмір 140 знаків."
 
 #: actions/newmessage.php:65 actions/newmessage.php:128
 msgid "No recipient specified."
-msgstr ""
+msgstr "Жодного отримувача не визначено."
 
 #: actions/newmessage.php:68 actions/newmessage.php:113
 #: classes/Command.php:206 actions/newmessage.php:131
 #: actions/newmessage.php:168 classes/Command.php:237
 msgid "You can't send a message to this user."
-msgstr ""
+msgstr "Ви не можете надіслати повідомлення цьому користувачеві."
 
 #: actions/newmessage.php:71 actions/twitapidirect_messages.php:146
 #: classes/Command.php:209 actions/twitapidirect_messages.php:158
@@ -2905,60 +2952,64 @@ msgstr ""
 msgid ""
 "Don't send a message to yourself; just say it to yourself quietly instead."
 msgstr ""
+"Не надсилайте повідомлень самому собі; краще поговоріть з собою тихенько "
+"вголос."
 
 #: actions/newmessage.php:108 actions/microsummary.php:62
 #: actions/newmessage.php:163
 msgid "No such user"
-msgstr ""
+msgstr "Немає такого користувача"
 
 #: actions/newmessage.php:117 actions/newmessage.php:67
 msgid "New message"
-msgstr ""
+msgstr "Нове повідомлення"
 
 #: actions/noticesearch.php:95 actions/noticesearch.php:146
 msgid "Notice without matching profile"
-msgstr ""
+msgstr "Повідомлення без відповідного профілю"
 
 #: actions/openidsettings.php:28 actions/openidsettings.php:70
 #, php-format
 msgid "[OpenID](%%doc.openid%%) lets you log into many sites "
-msgstr ""
+msgstr "[OpenID](%%doc.openid%%) дозволяє вам входити до багатьох сайтів "
 
 #: actions/openidsettings.php:46 actions/openidsettings.php:96
 msgid "If you want to add an OpenID to your account, "
-msgstr ""
+msgstr "Якщо бажаєте додати OpenID до вашого рахунку, "
 
 #: actions/openidsettings.php:74
 msgid "Removing your only OpenID would make it impossible to log in! "
-msgstr ""
+msgstr "Видалення вашого єдиного OpenID унеможливить вхід наступного разу! "
 
 #: actions/openidsettings.php:87 actions/openidsettings.php:143
 msgid "You can remove an OpenID from your account "
-msgstr ""
+msgstr "Ви можете видалити OpenID з вашого рахунку "
 
 #: actions/outbox.php:28 actions/outbox.php:58
 #, php-format
 msgid "Outbox for %s - page %d"
-msgstr ""
+msgstr "Вихідні для %s - сторінка %d"
 
 #: actions/outbox.php:30 actions/outbox.php:61
 #, php-format
 msgid "Outbox for %s"
-msgstr ""
+msgstr "Вихідні для %s"
 
 #: actions/outbox.php:53 actions/outbox.php:116
 msgid "This is your outbox, which lists private messages you have sent."
 msgstr ""
+"Це ваші вихідні повідомлення, тут містяться повідомлення, які ви надіслали "
+"приватно."
 
 #: actions/peoplesearch.php:28 actions/peoplesearch.php:52
 #, php-format
 msgid ""
 "Search for people on %%site.name%% by their name, location, or interests. "
-msgstr ""
+msgstr "Пошук людей на %%site.name%% за ім'ям, локацією або інтересами. "
 
 #: actions/profilesettings.php:27 actions/profilesettings.php:69
 msgid "You can update your personal profile info here "
-msgstr ""
+msgstr "Ви можете оновити власну персональну інформацію тут "
 
 #: actions/profilesettings.php:115 actions/remotesubscribe.php:320
 #: actions/userauthorization.php:159 actions/userrss.php:76
@@ -2966,35 +3017,35 @@ msgstr ""
 #: actions/grouplogo.php:177 actions/remotesubscribe.php:367
 #: actions/userauthorization.php:176 actions/userrss.php:82
 msgid "User without matching profile"
-msgstr ""
+msgstr "Користувач з невідповідним профілем"
 
 #: actions/recoverpassword.php:91 actions/recoverpassword.php:97
 msgid "This confirmation code is too old. "
-msgstr ""
+msgstr "Цей код підтвердження застарілий. "
 
 #: actions/recoverpassword.php:141 actions/recoverpassword.php:152
 msgid "If you've forgotten or lost your"
-msgstr ""
+msgstr "Якщо ви забули або загубили ваш"
 
 #: actions/recoverpassword.php:154 actions/recoverpassword.php:158
 msgid "You've been identified. Enter a "
-msgstr ""
+msgstr "Вас ідентифіковано. Введіть "
 
 #: actions/recoverpassword.php:169 actions/recoverpassword.php:188
 msgid "Your nickname on this server, "
-msgstr ""
+msgstr "Ваше ім'я на цьому сервері, "
 
 #: actions/recoverpassword.php:271 actions/recoverpassword.php:304
 msgid "Instructions for recovering your password "
-msgstr ""
+msgstr "Інструкції щодо відновлення паролю "
 
 #: actions/recoverpassword.php:327 actions/recoverpassword.php:361
 msgid "New password successfully saved. "
-msgstr ""
+msgstr "Новий пароль успішно збережено. "
 
 #: actions/register.php:95 actions/register.php:180
 msgid "Password must be 6 or more characters."
-msgstr ""
+msgstr "Пароль має складатись з 6-ти або більше знаків."
 
 #: actions/register.php:216
 #, php-format
@@ -3002,102 +3053,105 @@ msgid ""
 "Congratulations, %s! And welcome to %%%%site.name%%%%. From here, you may "
 "want to..."
 msgstr ""
+"Вітаємо, %s! Ласкаво просимо до %%%%site.name%%%%. Звідси ви можливо "
+"схочете..."
 
 #: actions/register.php:227
 msgid "(You should receive a message by email momentarily, with "
-msgstr ""
+msgstr "(Ви маєте невдовзі отримати листа електронною поштою з "
 
 #: actions/remotesubscribe.php:51 actions/remotesubscribe.php:74
 #, php-format
 msgid "To subscribe, you can [login](%%action.login%%),"
-msgstr ""
+msgstr "Аби підписатись, ви можете [увійти](%%action.login%%),"
 
 #: actions/showfavorites.php:61 actions/showfavorites.php:145
 #, php-format
 msgid "Feed for favorites of %s"
-msgstr ""
+msgstr "Живлення для обраних повідомлень від %s"
 
 #: actions/showfavorites.php:84 actions/twitapifavorites.php:85
 #: actions/showfavorites.php:202 actions/twitapifavorites.php:59
 msgid "Could not retrieve favorite notices."
-msgstr ""
+msgstr "Не можна відновити обрані повідомлення."
 
 #: actions/showmessage.php:33 actions/showmessage.php:81
 msgid "No such message."
-msgstr ""
+msgstr "Немає такого повідомлення."
 
 #: actions/showmessage.php:42
 msgid "Only the sender and recipient may read this message."
-msgstr ""
+msgstr "Лише відправник та отримувач мають можливість читати це повідомлення."
 
 #: actions/showmessage.php:61 actions/showmessage.php:108
 #, php-format
 msgid "Message to %1$s on %2$s"
-msgstr ""
+msgstr "Повідомлення до %1$s на %2$s"
 
 #: actions/showmessage.php:66 actions/showmessage.php:113
 #, php-format
 msgid "Message from %1$s on %2$s"
-msgstr ""
+msgstr "Повідомлення від %1$s на %2$s"
 
 #: actions/showstream.php:154
 msgid "Send a message"
-msgstr ""
+msgstr "Надіслати повідомлення"
 
 #: actions/smssettings.php:312 actions/smssettings.php:464
 #, php-format
 msgid "Mobile carrier for your phone. "
-msgstr ""
+msgstr "Оператор мобільного зв'язку. "
 
 #: actions/twitapidirect_messages.php:76 actions/twitapidirect_messages.php:68
 #, php-format
 msgid "Direct messages to %s"
-msgstr ""
+msgstr "Пряме повідомлення до %s"
 
 #: actions/twitapidirect_messages.php:77 actions/twitapidirect_messages.php:69
 #, php-format
 msgid "All the direct messages sent to %s"
-msgstr ""
+msgstr "Всі прямі повідомлення надіслані до %s"
 
 #: actions/twitapidirect_messages.php:81 actions/twitapidirect_messages.php:73
 msgid "Direct Messages You've Sent"
-msgstr ""
+msgstr "Прямі повідомлення надіслані вами"
 
 #: actions/twitapidirect_messages.php:82 actions/twitapidirect_messages.php:74
 #, php-format
 msgid "All the direct messages sent from %s"
-msgstr ""
+msgstr "Всі прямі повідомлення надіслані від %s"
 
 #: actions/twitapidirect_messages.php:128
 #: actions/twitapidirect_messages.php:137
 msgid "No message text!"
-msgstr ""
+msgstr "Повідомлення без тексту!"
 
 #: actions/twitapidirect_messages.php:138
 #: actions/twitapidirect_messages.php:150
 msgid "Recipient user not found."
-msgstr ""
+msgstr "Отримувача не знайдено."
 
 #: actions/twitapidirect_messages.php:141
 #: actions/twitapidirect_messages.php:153
 msgid "Can't send direct messages to users who aren't your friend."
 msgstr ""
+"Не можна надіслати пряме повідомлення користувачеві, який не є вашим другом."
 
 #: actions/twitapifavorites.php:92 actions/twitapifavorites.php:66
 #, php-format
 msgid "%s / Favorites from %s"
-msgstr ""
+msgstr "%s / Обрані від %s"
 
 #: actions/twitapifavorites.php:95 actions/twitapifavorites.php:69
 #, php-format
 msgid "%s updates favorited by %s / %s."
-msgstr ""
+msgstr "%s оновлення обраних від %s / %s."
 
 #: actions/twitapifavorites.php:187 lib/mail.php:275
 #: actions/twitapifavorites.php:164 lib/mail.php:553
 #, php-format
 msgid "%s added your notice as a favorite"
-msgstr ""
+msgstr "%s додав(ла) ваше повідомлення до обраних"
 
 #: actions/twitapifavorites.php:188 lib/mail.php:276
 #: actions/twitapifavorites.php:165
@@ -3106,230 +3160,237 @@ msgid ""
 "%1$s just added your notice from %2$s as one of their favorites.\n"
 "\n"
 msgstr ""
+"%1$s щойно позначив(ла) ваше повідомлення від %2$s як одне з обраних "
+"ним(нею)\n"
+"\n"
 
 #: actions/twittersettings.php:27
 msgid ""
 "Add your Twitter account to automatically send your notices to Twitter, "
 msgstr ""
+"Додайте ваш рахунок на Твіттері для автоматичного пересилання повідомлень "
+"туди, "
 
 #: actions/twittersettings.php:41 actions/twittersettings.php:60
 msgid "Twitter settings"
-msgstr ""
+msgstr "Налаштування Твіттера"
 
 #: actions/twittersettings.php:48 actions/twittersettings.php:105
 msgid "Twitter Account"
-msgstr ""
+msgstr "Рахунок на Твіттері"
 
 #: actions/twittersettings.php:56 actions/twittersettings.php:113
 msgid "Current verified Twitter account."
-msgstr ""
+msgstr "Поточний підтверджений рахунок на Твіттері."
 
 #: actions/twittersettings.php:63
 msgid "Twitter Username"
-msgstr ""
+msgstr "Ім'я на Твіттері"
 
 #: actions/twittersettings.php:65 actions/twittersettings.php:123
 msgid "No spaces, please."
-msgstr ""
+msgstr "Без пробілів, будь ласка."
 
 #: actions/twittersettings.php:67
 msgid "Twitter Password"
-msgstr ""
+msgstr "Пароль на Твіттері"
 
 #: actions/twittersettings.php:72 actions/twittersettings.php:139
 msgid "Automatically send my notices to Twitter."
-msgstr ""
+msgstr "Автоматично пересилати мої повідомлення на Твіттер."
 
 #: actions/twittersettings.php:75 actions/twittersettings.php:146
 msgid "Send local \"@\" replies to Twitter."
-msgstr ""
+msgstr "Надсилати локальні \"@\" відповіді на Твіттер."
 
 #: actions/twittersettings.php:78 actions/twittersettings.php:153
 msgid "Subscribe to my Twitter friends here."
-msgstr ""
+msgstr "Підписатись до моїх друзів на Твіттері тут."
 
 #: actions/twittersettings.php:122
 msgid ""
 "Username must have only numbers, upper- and lowercase letters, and "
 "underscore (_). 15 chars max."
 msgstr ""
+"Ім'я користувача має складатись лише з цифр, літер верхнього та нижнього "
+"регістрів та символів підкреслювання (_). 15 знаків це максимум."
 
 #: actions/twittersettings.php:128 actions/twittersettings.php:334
 msgid "Could not verify your Twitter credentials!"
-msgstr ""
+msgstr "Не можна підтвердити ваші реквізити на Твіттері!"
 
 #: actions/twittersettings.php:137
 #, php-format
 msgid "Unable to retrieve account information for \"%s\" from Twitter."
-msgstr ""
+msgstr "Не маю можливості відновити інформацію для \"%s\" з Твіттера."
 
 #: actions/twittersettings.php:151 actions/twittersettings.php:170
 #: actions/twittersettings.php:348 actions/twittersettings.php:368
 msgid "Unable to save your Twitter settings!"
-msgstr ""
+msgstr "Не маю можливості зберегти ваші налаштування Твіттера!"
 
 #: actions/twittersettings.php:174 actions/twittersettings.php:376
 msgid "Twitter settings saved."
-msgstr ""
+msgstr "Налаштування Твіттера збережено."
 
 #: actions/twittersettings.php:192 actions/twittersettings.php:395
 msgid "That is not your Twitter account."
-msgstr ""
+msgstr "Це не є вашим рахунком на Твіттері."
 
 #: actions/twittersettings.php:200 actions/twittersettings.php:208
 #: actions/twittersettings.php:403
 msgid "Couldn't remove Twitter user."
-msgstr ""
+msgstr "Не можна видалити користувача Твіттер."
 
 #: actions/twittersettings.php:212 actions/twittersettings.php:407
 msgid "Twitter account removed."
-msgstr ""
+msgstr "Твіттер рахунок видалено."
 
 #: actions/twittersettings.php:225 actions/twittersettings.php:239
 #: actions/twittersettings.php:428 actions/twittersettings.php:439
 #: actions/twittersettings.php:453
 msgid "Couldn't save Twitter preferences."
-msgstr ""
+msgstr "Не можна зберегти преференції Твіттера."
 
 #: actions/twittersettings.php:245 actions/twittersettings.php:461
 msgid "Twitter preferences saved."
-msgstr ""
+msgstr "Преференції Твіттера збережено."
 
 #: actions/userauthorization.php:84 actions/userauthorization.php:86
 msgid "Please check these details to make sure "
-msgstr ""
+msgstr "Будь ласка, перевірте деталі аби впевнитись "
 
 #: actions/userauthorization.php:324 actions/userauthorization.php:340
 msgid "The subscription has been authorized, but no "
-msgstr ""
+msgstr "Підписку було авторизовано, але не "
 
 #: actions/userauthorization.php:334 actions/userauthorization.php:351
 msgid "The subscription has been rejected, but no "
-msgstr ""
+msgstr "Підписку було скинуто, але не "
 
 #: classes/Channel.php:113 classes/Channel.php:132 classes/Channel.php:151
 msgid "Command results"
-msgstr ""
+msgstr "Результати команди"
 
 #: classes/Channel.php:148 classes/Channel.php:204
 msgid "Command complete"
-msgstr ""
+msgstr "Команду виконано"
 
 #: classes/Channel.php:158 classes/Channel.php:215
 msgid "Command failed"
-msgstr ""
+msgstr "Команду не виконано"
 
 #: classes/Command.php:39 classes/Command.php:44
 msgid "Sorry, this command is not yet implemented."
-msgstr ""
+msgstr "Даруйте, але виконання команди ще не завершено."
 
 #: classes/Command.php:96 classes/Command.php:113
 #, php-format
 msgid "Subscriptions: %1$s\n"
-msgstr ""
+msgstr "Підписки: %1$s\n"
 
 #: classes/Command.php:125 classes/Command.php:242 classes/Command.php:145
 #: classes/Command.php:276
 msgid "User has no last notice"
-msgstr ""
+msgstr "Користувач має останнє повідомлення"
 
 #: classes/Command.php:146 classes/Command.php:166
 msgid "Notice marked as fave."
-msgstr ""
+msgstr "Повідомлення позначено як обране."
 
 #: classes/Command.php:166 classes/Command.php:189
 #, php-format
 msgid "%1$s (%2$s)"
-msgstr ""
+msgstr "%1$s (%2$s)"
 
 #: classes/Command.php:169 classes/Command.php:192
 #, php-format
 msgid "Fullname: %s"
-msgstr ""
+msgstr "Повне ім'я: %s"
 
 #: classes/Command.php:172 classes/Command.php:195
 #, php-format
 msgid "Location: %s"
-msgstr ""
+msgstr "Локація: %s"
 
 #: classes/Command.php:175 classes/Command.php:198
 #, php-format
 msgid "Homepage: %s"
-msgstr ""
+msgstr "Веб-сторінка: %s"
 
 #: classes/Command.php:178 classes/Command.php:201
 #, php-format
 msgid "About: %s"
-msgstr ""
+msgstr "Про мене: %s"
 
 #: classes/Command.php:200 classes/Command.php:228
 #, php-format
 msgid "Message too long - maximum is 140 characters, you sent %d"
-msgstr ""
+msgstr "Повідомлення надто довге - максимум 140 знаків, а ви надрукували %d"
 
 #: classes/Command.php:214 classes/Command.php:245
 #, php-format
 msgid "Direct message to %s sent"
-msgstr ""
+msgstr "Пряме повідомлення до %s надіслано"
 
 #: classes/Command.php:216 classes/Command.php:247
 msgid "Error sending direct message."
-msgstr ""
+msgstr "Помилка при відправці прямого повідомлення."
 
 #: classes/Command.php:263 classes/Command.php:300
 msgid "Specify the name of the user to subscribe to"
-msgstr ""
+msgstr "Зазначте ім'я користувача, до якого бажаєте підписатись"
 
 #: classes/Command.php:270 classes/Command.php:307
 #, php-format
 msgid "Subscribed to %s"
-msgstr ""
+msgstr "Підписано до %s"
 
 #: classes/Command.php:288 classes/Command.php:328
 msgid "Specify the name of the user to unsubscribe from"
-msgstr ""
+msgstr "Зазначте ім'я користувача, від якого бажаєте відписатись"
 
 #: classes/Command.php:295 classes/Command.php:335
 #, php-format
 msgid "Unsubscribed from %s"
-msgstr ""
+msgstr "Відписано від %s"
 
 #: classes/Command.php:310 classes/Command.php:330 classes/Command.php:353
 #: classes/Command.php:376
 msgid "Command not yet implemented."
-msgstr ""
+msgstr "Виконання команди ще не завершено."
 
 #: classes/Command.php:313 classes/Command.php:356
 msgid "Notification off."
-msgstr ""
+msgstr "Сповіщення вимкнуто."
 
 #: classes/Command.php:315 classes/Command.php:358
 msgid "Can't turn off notification."
-msgstr ""
+msgstr "Не можна вимкнути сповіщення."
 
 #: classes/Command.php:333 classes/Command.php:379
 msgid "Notification on."
-msgstr ""
+msgstr "Сповіщення увімкнуто."
 
 #: classes/Command.php:335 classes/Command.php:381
 msgid "Can't turn on notification."
-msgstr ""
+msgstr "Не можна увімкнути сповіщення."
 
 #: classes/Command.php:344 classes/Command.php:392
 msgid "Commands:\n"
-msgstr ""
+msgstr "Команди:\n"
 
 #: classes/Message.php:53 classes/Message.php:56
 msgid "Could not insert message."
-msgstr ""
+msgstr "Не можна долучити повідомлення."
 
 #: classes/Message.php:63 classes/Message.php:66
 msgid "Could not update message with new URI."
-msgstr ""
+msgstr "Не можна оновити повідомлення з новим URI."
 
 #: lib/gallery.php:46
 msgid "User without matching profile in system."
-msgstr ""
+msgstr "Користувач без відповідного профілю у системі."
 
 #: lib/mail.php:147 lib/mail.php:289
 #, php-format
@@ -3337,11 +3398,13 @@ msgid ""
 "You have a new posting address on %1$s.\n"
 "\n"
 msgstr ""
+"Тепер ви маєте нову адресу для надсилання повідомлень на %1$s.\n"
+"\n"
 
 #: lib/mail.php:249 lib/mail.php:508
 #, php-format
 msgid "New private message from %s"
-msgstr ""
+msgstr "Нове приватне повідомлення від %s"
 
 #: lib/mail.php:253 lib/mail.php:512
 #, php-format
@@ -3349,88 +3412,90 @@ msgid ""
 "%1$s (%2$s) sent you a private message:\n"
 "\n"
 msgstr ""
+"%1$s (%2$s) надіслав(ла) вам приватне повідомлення:\n"
+"\n"
 
 #: lib/mailbox.php:43 lib/mailbox.php:89
 msgid "Only the user can read their own mailboxes."
 msgstr ""
+"Лише користувач має можливість переглядати свою власну поштову скриньку."
 
 #: lib/openid.php:195 lib/openid.php:203
 msgid "This form should automatically submit itself. "
-msgstr ""
+msgstr "Ця форма має автоматично репрезентувати себе системі. "
 
 #: lib/personal.php:65 lib/personalgroupnav.php:113
 msgid "Favorites"
-msgstr ""
+msgstr "Обрані"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 #, php-format
 msgid "%s's favorite notices"
-msgstr ""
+msgstr "Обрані дописи %s"
 
 #: lib/personal.php:66 lib/personalgroupnav.php:114
 msgid "User"
-msgstr ""
+msgstr "Користувач"
 
 #: lib/personal.php:75 lib/personalgroupnav.php:123
 msgid "Inbox"
-msgstr ""
+msgstr "Вхідні"
 
 #: lib/personal.php:76 lib/personalgroupnav.php:124
 msgid "Your incoming messages"
-msgstr ""
+msgstr "Ваші вхідні повідомлення"
 
 #: lib/personal.php:80 lib/personalgroupnav.php:128
 msgid "Outbox"
-msgstr ""
+msgstr "Вихідні"
 
 #: lib/personal.php:81 lib/personalgroupnav.php:129
 msgid "Your sent messages"
-msgstr ""
+msgstr "Надіслані вами повідомлення"
 
 #: lib/settingsaction.php:99 lib/connectsettingsaction.php:110
 msgid "Twitter"
-msgstr ""
+msgstr "Твіттер"
 
 #: lib/settingsaction.php:100 lib/connectsettingsaction.php:111
 msgid "Twitter integration options"
-msgstr ""
+msgstr "Опції інтеграції з Твіттером"
 
 #: lib/util.php:1718 lib/messageform.php:139 lib/noticelist.php:422
 msgid "To"
-msgstr ""
+msgstr "До"
 
 #: scripts/maildaemon.php:45 scripts/maildaemon.php:48
 msgid "Could not parse message."
-msgstr ""
+msgstr "Не можна розібрати повідомлення."
 
 #: actions/all.php:63 actions/facebookhome.php:162
-#, fuzzy, php-format
+#, php-format
 msgid "%s and friends, page %d"
-msgstr "%s з друзями"
+msgstr "%s з друзями, сторінка %d"
 
 #: actions/avatarsettings.php:76
 msgid "You can upload your personal avatar."
-msgstr ""
+msgstr "Ви можете завантажити вашу персональну аватару."
 
 #: actions/avatarsettings.php:117 actions/avatarsettings.php:191
 #: actions/grouplogo.php:250
-#, fuzzy
 msgid "Avatar settings"
-msgstr "Налаштування"
+msgstr "Налаштування аватари"
 
 #: actions/avatarsettings.php:124 actions/avatarsettings.php:199
 #: actions/grouplogo.php:198 actions/grouplogo.php:258
 msgid "Original"
-msgstr ""
+msgstr "Оригінал"
 
 #: actions/avatarsettings.php:139 actions/avatarsettings.php:211
 #: actions/grouplogo.php:209 actions/grouplogo.php:270
 msgid "Preview"
-msgstr ""
+msgstr "Перегляд"
 
 #: actions/avatarsettings.php:225 actions/grouplogo.php:284
 msgid "Crop"
-msgstr ""
+msgstr "Втяти"
 
 #: actions/avatarsettings.php:248 actions/deletenotice.php:133
 #: actions/emailsettings.php:224 actions/grouplogo.php:307
@@ -3442,609 +3507,558 @@ msgstr ""
 #: actions/subedit.php:38 actions/twittersettings.php:290
 #: actions/userauthorization.php:39
 msgid "There was a problem with your session token. "
-msgstr ""
+msgstr "Виникли певні проблеми з токеном поточної сесії. "
 
 #: actions/avatarsettings.php:303 actions/grouplogo.php:360
 msgid "Pick a square area of the image to be your avatar"
-msgstr ""
+msgstr "Оберіть квадратну ділянку зображення, яка й буде вашою автарою."
 
 #: actions/avatarsettings.php:327 actions/grouplogo.php:384
 msgid "Lost our file data."
-msgstr ""
+msgstr "Дані вашого файлу десь загубились."
 
 #: actions/avatarsettings.php:334 actions/grouplogo.php:391
 #: classes/User_group.php:112
-#, fuzzy
 msgid "Lost our file."
-msgstr "Такого Ð¿Ð¾Ð²Ñ\96домленнÑ\8f Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Файл Ð²Ñ\82Ñ\80аÑ\87ено."
 
 #: actions/avatarsettings.php:349 actions/avatarsettings.php:383
 #: actions/grouplogo.php:406 actions/grouplogo.php:440
 #: classes/User_group.php:129 classes/User_group.php:161
-#, fuzzy
 msgid "Unknown file type"
-msgstr "тип файлу не підтримується"
+msgstr "Тип файлу не підтримується"
 
 #: actions/block.php:69 actions/subedit.php:46 actions/unblock.php:70
-#, fuzzy
 msgid "No profile specified."
-msgstr "Ð\9eпеÑ\80аÑ\82оÑ\80а Ð½Ðµ Ð¾Ð±Ñ\80ано."
+msgstr "Ð\9dе Ð²Ð¸Ð·Ð½Ð°Ñ\87ено Ð¶Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e."
 
 #: actions/block.php:74 actions/subedit.php:53 actions/tagother.php:46
 #: actions/unblock.php:75
 msgid "No profile with that ID."
-msgstr ""
+msgstr "Не визначено профілю з таким ID."
 
 #: actions/block.php:111
-#, fuzzy
 msgid "Block user"
-msgstr "Такого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\91локÑ\83ваÑ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а."
 
 #: actions/block.php:129
-#, fuzzy
 msgid "Are you sure you want to block this user? "
-msgstr "Ð\92и Ð²Ð¿ÐµÐ²Ð½ÐµÐ½Ð½Ñ\96, Ñ\89о Ð±Ð°Ð¶Ð°Ñ\94Ñ\82е Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ\82и Ñ\86е Ð¿Ð¾Ð²Ñ\96домленнÑ\8f?"
+msgstr "Ð\92и Ð²Ð¿ÐµÐ²Ð½ÐµÐ½Ð½Ñ\96, Ñ\89о Ð±Ð°Ð¶Ð°Ñ\94Ñ\82е Ð·Ð°Ð±Ð»Ð¾ÐºÑ\83ваÑ\82и Ñ\86Ñ\8cого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а? "
 
 #: actions/block.php:162
-#, fuzzy
 msgid "You have already blocked this user."
-msgstr "Ð\92и Ð²Ð¶Ðµ Ð² Ñ\81иÑ\81Ñ\82емÑ\96!"
+msgstr "ЦÑ\8cого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Ð²Ð¶Ðµ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°Ð½Ð¾."
 
 #: actions/block.php:167
 msgid "Failed to save block information."
-msgstr ""
+msgstr "Збереження інформації про блокування завершилось невдачею."
 
 #: actions/confirmaddress.php:159
-#, fuzzy, php-format
+#, php-format
 msgid "The address \"%s\" has been "
-msgstr "Адресу було видалено."
+msgstr "Адресу \"%s\" було "
 
 #: actions/deletenotice.php:73
-#, fuzzy
 msgid "You are about to permanently delete a notice. "
-msgstr ""
-"Ви видаляєте повідомлення назавжди. Якщо ви так зробите, це не матиме "
-"зворотньої дії."
+msgstr "Ви видаляєте повідомлення назавжди. "
 
 #: actions/disfavor.php:94
 msgid "Add to favorites"
-msgstr ""
+msgstr "Додати до обраних"
 
 #: actions/editgroup.php:54
 #, php-format
 msgid "Edit %s group"
-msgstr ""
+msgstr "Редагувати групу %s"
 
 #: actions/editgroup.php:66 actions/groupbyid.php:72 actions/grouplogo.php:66
 #: actions/joingroup.php:60 actions/newgroup.php:65 actions/showgroup.php:100
 msgid "Inboxes must be enabled for groups to work"
 msgstr ""
+"Поштові скриньки для вхідних повідомлень мають бути дозволені для роботи у "
+"групах"
 
 #: actions/editgroup.php:71 actions/grouplogo.php:71 actions/newgroup.php:70
 msgid "You must be logged in to create a group."
-msgstr ""
+msgstr "Ви маєте спочатку увійти, аби мати змогу створити групу."
 
 #: actions/editgroup.php:87 actions/grouplogo.php:87
 #: actions/groupmembers.php:76 actions/joingroup.php:81
 #: actions/showgroup.php:121
-#, fuzzy
 msgid "No nickname"
-msgstr "Немає імені."
+msgstr "Немає імені"
 
 #: actions/editgroup.php:99 actions/groupbyid.php:88 actions/grouplogo.php:100
 #: actions/groupmembers.php:83 actions/joingroup.php:88
 #: actions/showgroup.php:128
-#, fuzzy
 msgid "No such group"
-msgstr "Такого повідомлення немає."
+msgstr "Такої групи немає"
 
 #: actions/editgroup.php:106 actions/editgroup.php:165
 #: actions/grouplogo.php:107
 msgid "You must be an admin to edit the group"
-msgstr ""
+msgstr "Ви маєте бути наділені правами адмінистратора, аби редагувати групу"
 
 #: actions/editgroup.php:157
 msgid "Use this form to edit the group."
-msgstr ""
+msgstr "Скористайтесь цією формою, щоб відредагувати групу."
 
 #: actions/editgroup.php:179 actions/newgroup.php:130 actions/register.php:156
-#, fuzzy
 msgid "Nickname must have only lowercase letters "
-msgstr ""
-"Ім'я користувача повинно складатись з літер нижнього регістру і цифр, ніяких "
-"інтервалів."
+msgstr "Ім'я користувача повинно складатись з літер нижнього регістру "
 
 #: actions/editgroup.php:198 actions/newgroup.php:149
-#, fuzzy
 msgid "description is too long (max 140 chars)."
-msgstr "Ð\9fÑ\80о Ñ\81ебе Ð·Ð°Ð±Ð°Ð³Ð°Ñ\82о Ð½Ð°Ð¿Ð¸Ñ\81ано (140 знаків максимум)"
+msgstr "опиÑ\81 Ð½Ð°Ð´Ñ\82о Ð´Ð¾Ð²Ð³Ð¸Ð¹ (140 знаків максимум)"
 
 #: actions/editgroup.php:218
-#, fuzzy
 msgid "Could not update group."
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð¾Ð½Ð¾Ð²Ð¸Ñ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а."
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð¾Ð½Ð¾Ð²Ð¸Ñ\82и Ð³Ñ\80Ñ\83пÑ\83."
 
 #: actions/editgroup.php:226
-#, fuzzy
 msgid "Options saved."
-msgstr "Ð\9dалаÑ\88Ñ\82Ñ\83ваннÑ\8f збережено."
+msgstr "Ð\9eпÑ\86Ñ\96Ñ\97 збережено."
 
 #: actions/emailsettings.php:107 actions/imsettings.php:108
-#, fuzzy, php-format
+#, php-format
 msgid "Awaiting confirmation on this address. "
-msgstr "Ð\9eÑ\87Ñ\96кÑ\83ваннÑ\8f Ð¿Ñ\96дÑ\82веÑ\80дженнÑ\8f Ñ\82елеÑ\84онного Ð½Ð¾Ð¼ÐµÑ\80а."
+msgstr "Ð\9eÑ\87Ñ\96кÑ\83ваннÑ\8f Ð¿Ñ\96дÑ\82веÑ\80дженнÑ\8f Ñ\86Ñ\96Ñ\94Ñ\97 Ð°Ð´Ñ\80еÑ\81и. "
 
 #: actions/emailsettings.php:139 actions/smssettings.php:150
-#, fuzzy
 msgid "Make a new email address for posting to; "
-msgstr "Ð\9dова ÐµÐ»ÐµÐºÑ\82Ñ\80онна Ð°Ð´Ñ\80еÑ\81а Ð´Ð»Ñ\8f Ð½Ð°Ð´Ñ\81иланнÑ\8f Ð¿Ð¾Ð²Ñ\96домленÑ\8c Ð½Ð° %s"
+msgstr "СÑ\82воÑ\80иÑ\82и Ð½Ð¾Ð²Ñ\83 ÐµÐ»ÐµÐºÑ\82Ñ\80оннÑ\83 Ð°Ð´Ñ\80еÑ\81Ñ\83 Ð´Ð»Ñ\8f Ð½Ð°Ð´Ñ\81иланнÑ\8f"
 
 #: actions/emailsettings.php:157
 msgid "Send me email when someone "
-msgstr ""
+msgstr "Надсилати мені листа коли хтось "
 
 #: actions/emailsettings.php:168
 msgid "Allow friends to nudge me and send me an email."
-msgstr ""
+msgstr "Дозволити друзям \"розштовхати\" мене, надіславши мені листа."
 
 #: actions/emailsettings.php:321
-#, fuzzy
 msgid "That email address already belongs "
-msgstr "ЦÑ\8f ÐµÐ»ÐµÐºÑ\82Ñ\80онна Ð°Ð´Ñ\80еÑ\81а Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ\82Ñ\8c Ñ\96нÑ\88омÑ\83 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87Ñ\83."
+msgstr "ЦÑ\8f ÐµÐ»ÐµÐºÑ\82Ñ\80онна Ð°Ð´Ñ\80еÑ\81а Ð²Ð¶Ðµ Ð½Ð°Ð»ÐµÐ¶Ð¸Ñ\82Ñ\8c "
 
 #: actions/emailsettings.php:343
-#, fuzzy
 msgid "A confirmation code was sent to the email address you added. "
 msgstr ""
-"Код підтвердження був відправлений на адресу IM, яку ви додали. Ви повинні "
-"схвалити %s для відправлення вам повідомлень."
+"Код підтвердження був відправлений на електронну адресу, яку ви додали. "
 
 #: actions/facebookhome.php:110
 msgid "Server error - couldn't get user!"
-msgstr ""
+msgstr "Помилка сервера - неможливо дістатись користувача!"
 
 #: actions/facebookhome.php:196
 #, php-format
 msgid "If you would like the %s app to automatically update "
-msgstr ""
+msgstr "Якщо ви бажаєте додаток до %s для автоматичного оновлення "
 
 #: actions/facebookhome.php:213 actions/facebooksettings.php:137
 #, php-format
 msgid "Allow %s to update my Facebook status"
-msgstr ""
+msgstr "Дозволити %s оновлювати мій статус у Facebook"
 
 #: actions/facebookhome.php:218
 msgid "Skip"
-msgstr ""
+msgstr "Пропустити"
 
 #: actions/facebookhome.php:235
-#, fuzzy
 msgid "No notice content!"
-msgstr "Ð\9dемає змісту!"
+msgstr "Ð\9fовÑ\96домленнÑ\8f Ð½Ðµ має змісту!"
 
 #: actions/facebookhome.php:295 lib/action.php:870 lib/facebookaction.php:399
 msgid "Pagination"
-msgstr ""
+msgstr "Нумерація сторінок"
 
 #: actions/facebookhome.php:304 lib/action.php:879 lib/facebookaction.php:408
-#, fuzzy
 msgid "After"
-msgstr "« Вперед"
+msgstr "Вперед"
 
 #: actions/facebookhome.php:312 lib/action.php:887 lib/facebookaction.php:416
-#, fuzzy
 msgid "Before"
-msgstr "РанÑ\96Ñ\88е"
+msgstr "Ð\9dазад"
 
 #: actions/facebookinvite.php:70
 #, php-format
 msgid "Thanks for inviting your friends to use %s"
-msgstr ""
+msgstr "Дякуємо, що запросили своїх друзів до %s"
 
 #: actions/facebookinvite.php:72
 msgid "Invitations have been sent to the following users:"
-msgstr ""
+msgstr "Запрошення були надіслані наступним користувачам:"
 
 #: actions/facebookinvite.php:96
 #, php-format
 msgid "You have been invited to %s"
-msgstr ""
+msgstr "Вас запрошують до %s"
 
 #: actions/facebookinvite.php:105
-#, fuzzy, php-format
+#, php-format
 msgid "Invite your friends to use %s"
-msgstr "Ð\96ивленнÑ\8f Ð´Ð»Ñ\8f Ð´Ñ\80Ñ\83зÑ\96в %s"
+msgstr "Ð\97апÑ\80оÑ\81Ñ\96Ñ\82Ñ\8c Ñ\81воÑ\97Ñ\85 Ð´Ñ\80Ñ\83зÑ\96в Ð´Ð¾ %s"
 
 #: actions/facebookinvite.php:113
 #, php-format
 msgid "Friends already using %s:"
-msgstr ""
+msgstr "Друзі, які вже користуються %s:"
 
 #: actions/facebookinvite.php:130
 #, php-format
 msgid "Send invitations"
-msgstr ""
+msgstr "Надіслати запрошення"
 
 #: actions/facebookremove.php:56
-#, fuzzy
 msgid "Couldn't remove Facebook user."
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð¾Ð½Ð¾Ð²Ð¸Ñ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а."
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Facebook."
 
 #: actions/facebooksettings.php:65
 msgid "There was a problem saving your sync preferences!"
-msgstr ""
+msgstr "Виникли певні проблеми при збереженні ваших преференцій синхронізації!"
 
 #: actions/facebooksettings.php:67
-#, fuzzy
 msgid "Sync preferences saved."
-msgstr "Переваги збережно."
+msgstr "Преференції синхронізації збережно."
 
 #: actions/facebooksettings.php:90
 msgid "Automatically update my Facebook status with my notices."
-msgstr ""
+msgstr "Автоматично оновлювати мій статус у Facebook моїми повідомленнями."
 
 #: actions/facebooksettings.php:97
 msgid "Send \"@\" replies to Facebook."
-msgstr ""
+msgstr "Надсилати \"@\" відповіді до Facebook."
 
 #: actions/facebooksettings.php:106
-#, fuzzy
 msgid "Prefix"
-msgstr "Ð\9fÑ\80оÑ\84Ñ\96лÑ\8c"
+msgstr "Ð\9fÑ\80еÑ\84Ñ\96кÑ\81"
 
 #: actions/facebooksettings.php:108
 msgid "A string to prefix notices with."
-msgstr ""
+msgstr "Прив'язка префікса до повідомлень."
 
 #: actions/facebooksettings.php:124
 #, php-format
 msgid "If you would like %s to automatically update "
-msgstr ""
+msgstr "Якщо бажаєте %s для автоматичного оновлення "
 
 #: actions/facebooksettings.php:147
-#, fuzzy
 msgid "Sync preferences"
-msgstr "Переваги"
+msgstr "Преференції синхронізації"
 
 #: actions/favor.php:94 lib/disfavorform.php:140
 msgid "Disfavor favorite"
-msgstr ""
+msgstr "Видалити з обраних"
 
 #: actions/favorited.php:65 lib/popularnoticesection.php:76
 #: lib/publicgroupnav.php:91
-#, fuzzy
 msgid "Popular notices"
-msgstr "Такого Ð¿Ð¾Ð²Ñ\96домленнÑ\8f Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\9fопÑ\83лÑ\8fÑ\80нÑ\96 Ð´Ð¾Ð¿Ð¸Ñ\81и"
 
 #: actions/favorited.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "Popular notices, page %d"
-msgstr "Такого Ð¿Ð¾Ð²Ñ\96домленнÑ\8f Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\9fопÑ\83лÑ\8fÑ\80нÑ\96 Ð´Ð¾Ð¿Ð¸Ñ\81и, Ñ\81Ñ\82оÑ\80Ñ\96нка %d"
 
 #: actions/favorited.php:79
-#, fuzzy
 msgid "The most popular notices on the site right now."
-msgstr "Ð\9fÑ\80едÑ\81Ñ\82авлено Ð½Ð°Ð¹Ð±Ñ\96лÑ\8cÑ\88 Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80нÑ\96 Ð¼Ñ\96Ñ\82ки Ð·Ð° Ð¼Ð¸Ð½Ñ\83лий Ñ\82ижденÑ\8c"
+msgstr "Ð\9fÑ\80едÑ\81Ñ\82авлено Ð½Ð°Ð¹Ð±Ñ\96лÑ\8cÑ\88 Ð¿Ð¾Ð¿Ñ\83лÑ\8fÑ\80нÑ\96 Ð´Ð¾Ð¿Ð¸Ñ\81и Ð½Ð° Ñ\81айÑ\82Ñ\96."
 
 #: actions/featured.php:69 lib/featureduserssection.php:82
 #: lib/publicgroupnav.php:87
 msgid "Featured users"
-msgstr ""
+msgstr "Користувачі варті уваги"
 
 #: actions/featured.php:71
 #, php-format
 msgid "Featured users, page %d"
-msgstr ""
+msgstr "Користувачі варті уваги, сторінка %d"
 
 #: actions/featured.php:99
 #, php-format
 msgid "A selection of some of the great users on %s"
-msgstr ""
+msgstr "Вибірка з деяких видатних користувачів на %s"
 
 #: actions/finishremotesubscribe.php:188
 msgid "That user has blocked you from subscribing."
-msgstr ""
+msgstr "Цей користувач заблокував вашу можливість підписатись."
 
 #: actions/groupbyid.php:79
 msgid "No ID"
-msgstr ""
+msgstr "Немає ID"
 
 #: actions/grouplogo.php:138 actions/grouplogo.php:191
 msgid "Group logo"
-msgstr ""
+msgstr "Логотип групи"
 
 #: actions/grouplogo.php:149
 msgid "You can upload a logo image for your group."
-msgstr ""
+msgstr "Ви маєте можливість завантажити логотип для вашої группи."
 
 #: actions/grouplogo.php:448
-#, fuzzy
 msgid "Logo updated."
-msgstr "Ð\90ваÑ\82аÑ\80Ñ\83 оновлено."
+msgstr "Ð\9bогоÑ\82ип оновлено."
 
 #: actions/grouplogo.php:450
-#, fuzzy
 msgid "Failed updating logo."
-msgstr "Ð\9eновленнÑ\8f Ð°Ð²Ð°Ñ\82аÑ\80и Ð½ÐµÐ²Ð´Ð°Ð»Ðµ."
+msgstr "Ð\9eновленнÑ\8f Ð»Ð¾Ð³Ð¾Ñ\82ипÑ\83 Ð·Ð°Ð²ÐµÑ\80Ñ\88илоÑ\81Ñ\8c Ð½ÐµÐ²Ð´Ð°Ñ\87еÑ\8e."
 
 #: actions/groupmembers.php:93 lib/groupnav.php:91
 #, php-format
 msgid "%s group members"
-msgstr ""
+msgstr "Учасники групи %s"
 
 #: actions/groupmembers.php:96
 #, php-format
 msgid "%s group members, page %d"
-msgstr ""
+msgstr "Учасники групи %s, сторінка %d"
 
 #: actions/groupmembers.php:111
 msgid "A list of the users in this group."
-msgstr ""
+msgstr "Список учасників цієї групи."
 
 #: actions/groups.php:62 actions/showstream.php:518 lib/publicgroupnav.php:79
 #: lib/subgroupnav.php:96
 msgid "Groups"
-msgstr ""
+msgstr "Групи"
 
 #: actions/groups.php:64
 #, php-format
 msgid "Groups, page %d"
-msgstr ""
+msgstr "Групи, сторінка %d"
 
 #: actions/groups.php:90
 #, php-format
 msgid "%%%%site.name%%%% groups let you find and talk with "
 msgstr ""
+"Групи на сайті %%%%site.name%%%% надають вам можливість знайти та "
+"спілкуватись з "
 
 #: actions/groups.php:106 actions/usergroups.php:124 lib/groupeditform.php:123
-#, fuzzy
 msgid "Create a new group"
-msgstr "Створити новий рахунок"
+msgstr "Створити нову групу"
 
 #: actions/groupsearch.php:57
-#, fuzzy, php-format
+#, php-format
 msgid ""
 "Search for groups on %%site.name%% by their name, location, or description. "
-msgstr ""
-"Пошук людей на %%site.name%% за їх ім'ям, місцем знаходження або інтересами. "
-"Відокремлюйте пошукові умови інтервалами; вони повинні складатись з 3 знаків "
-"або більше."
+msgstr "Пошук груп на %%site.name%% за їх назвою, локацією або описом. "
 
 #: actions/groupsearch.php:63
-#, fuzzy
 msgid "Group search"
-msgstr "Ð\9fоÑ\88Ñ\83к Ð»Ñ\8eдей"
+msgstr "Ð\9fоÑ\88Ñ\83к Ð³Ñ\80Ñ\83п"
 
 #: actions/imsettings.php:70
 msgid "You can send and receive notices through "
-msgstr ""
+msgstr "У вас є можливість надсилати та отримувати повідомлення за допомогою "
 
 #: actions/imsettings.php:120
 #, php-format
 msgid "Jabber or GTalk address, "
-msgstr ""
+msgstr "Jabber або GTalk адреса, "
 
 #: actions/imsettings.php:147
-#, fuzzy
 msgid "Send me replies through Jabber/GTalk "
-msgstr "Ð\9fовÑ\96домлÑ\8fÑ\82и Ð¼ÐµÐ½Ðµ Ñ\87еÑ\80ез Jabber/GTalk."
+msgstr "Ð\9dадÑ\81илаÑ\82и Ð¼ÐµÐ½Ñ\96 Ð²Ñ\96дповÑ\96дÑ\96 Ð·Ð° Ð´Ð¾Ð¿Ð¾Ð¼Ð¾Ñ\8e Jabber/GTalk "
 
 #: actions/imsettings.php:321
-#, fuzzy, php-format
+#, php-format
 msgid "A confirmation code was sent "
-msgstr "Ð\9dемаÑ\94 ÐºÐ¾Ð´Ñ\83 Ð¿Ñ\96дÑ\82веÑ\80дженнÑ\8f."
+msgstr "Ð\9aод Ð¿Ñ\96дÑ\82веÑ\80дженнÑ\8f Ð±Ñ\83ло Ð²Ñ\96дпÑ\80авлено "
 
 #: actions/joingroup.php:65
 msgid "You must be logged in to join a group."
-msgstr ""
+msgstr "Ви повинні спочатку увійти на сайт, аби приєднатися до групи."
 
 #: actions/joingroup.php:95
-#, fuzzy
 msgid "You are already a member of that group"
-msgstr "Ви вже в системі!"
+msgstr "Ви вже є учасником цієї групи"
 
 #: actions/joingroup.php:128
-#, fuzzy, php-format
+#, php-format
 msgid "Could not join user %s to group %s"
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ñ\81лÑ\96дÑ\83ваÑ\82и Ð·Ð° ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87ем: ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾."
+msgstr "Ð\9aоÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87евÑ\96 %s Ð½Ðµ Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8c Ð¿Ñ\80иÑ\94днаÑ\82иÑ\81Ñ\8c Ð´Ð¾ Ð³Ñ\80Ñ\83пи %s"
 
 #: actions/joingroup.php:135
 #, php-format
 msgid "%s joined group %s"
-msgstr ""
+msgstr "%s приєднався до групи %s"
 
 #: actions/leavegroup.php:60
 msgid "Inboxes must be enabled for groups to work."
-msgstr ""
+msgstr "Скриньки вхідних повідомлень мають бути дозволені для роботи у групах."
 
 #: actions/leavegroup.php:65
 msgid "You must be logged in to leave a group."
-msgstr ""
+msgstr "Ви повинні спочатку увійти на сайт, аби залишити групу."
 
 #: actions/leavegroup.php:88
-#, fuzzy
 msgid "No such group."
-msgstr "Такого повідомлення немає."
+msgstr "Такої групи немає."
 
 #: actions/leavegroup.php:95
-#, fuzzy
 msgid "You are not a member of that group."
-msgstr "Ви не надсилали нам цього профілю"
+msgstr "Ви не є учасником цієї групи."
 
 #: actions/leavegroup.php:100
 msgid "You may not leave a group while you are its administrator."
-msgstr ""
+msgstr "Ви не можете залишити групу допоки ви є її адміністратором."
 
 #: actions/leavegroup.php:130
-#, fuzzy
 msgid "Could not find membership record."
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð¾Ð½Ð¾Ð²Ð¸Ñ\82и Ð·Ð°Ð¿Ð¸Ñ\81 ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а."
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð·Ð½Ð°Ð¹Ñ\82и Ð·Ð°Ð¿Ð¸Ñ\81 Ñ\89одо Ñ\87ленÑ\81Ñ\82ва."
 
 #: actions/leavegroup.php:138
-#, fuzzy, php-format
+#, php-format
 msgid "Could not remove user %s to group %s"
-msgstr "Не вдалося слідувати за користувачем: користувача не знайдено."
+msgstr "Не вдалося видалити користувача %s з групи %s"
 
 #: actions/leavegroup.php:145
 #, php-format
 msgid "%s left group %s"
-msgstr ""
+msgstr "%s залишив групу %s"
 
 #: actions/login.php:225 lib/facebookaction.php:304
 msgid "Login to site"
-msgstr ""
+msgstr "Вхід на сайт"
 
 #: actions/microsummary.php:69
 msgid "No current status"
-msgstr ""
+msgstr "Ніякого поточного статусу"
 
 #: actions/newgroup.php:53
 msgid "New group"
-msgstr ""
+msgstr "Нова група"
 
 #: actions/newgroup.php:115
 msgid "Use this form to create a new group."
-msgstr ""
+msgstr "Скористайтесь цією формою для створення нової групи."
 
 #: actions/newgroup.php:177
-#, fuzzy
 msgid "Could not create group."
-msgstr "Не вдалося зберегти інформацію про аватару"
+msgstr "Не вдалося створити нову групу"
 
 #: actions/newgroup.php:191
-#, fuzzy
 msgid "Could not set group membership."
-msgstr "Не вдалося видалити підписку."
+msgstr "Не вдалося встановити членство."
 
 #: actions/newmessage.php:119 actions/newnotice.php:132
-#, fuzzy
 msgid "That's too long. "
-msgstr "Цей файл завеликий."
+msgstr "Це надто довго. "
 
 #: actions/newmessage.php:134
 msgid "Don't send a message to yourself; "
-msgstr ""
+msgstr "Не надсилайте повідомлень самому собі; "
 
 #: actions/newnotice.php:166
-#, fuzzy
 msgid "Notice posted"
-msgstr "Повідомлення"
+msgstr "Повідомлення відправлено"
 
 #: actions/newnotice.php:200 classes/Channel.php:163
 msgid "Ajax Error"
-msgstr ""
+msgstr "Помилка в Ajax"
 
 #: 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 ""
+msgstr "Спробу \"розштовхати\" зараховано"
 
 #: actions/nudge.php:97
 msgid "Nudge sent!"
-msgstr ""
+msgstr "Спробу \"розштовхати\" зараховано!"
 
 #: actions/openidlogin.php:97
-#, fuzzy
 msgid "OpenID login"
 msgstr "Вхід OpenID"
 
 #: actions/openidsettings.php:128
-#, fuzzy
 msgid "Removing your only OpenID "
-msgstr "Видалити OpenID"
+msgstr "Видалити ваш єдиний OpenID "
 
 #: actions/othersettings.php:60
-#, fuzzy
 msgid "Other Settings"
-msgstr "Ð\9dалаÑ\88Ñ\82Ñ\83ваннÑ\8f"
+msgstr "Ð\86нÑ\88Ñ\96 Ð¾Ð¿Ñ\86Ñ\96Ñ\97"
 
 #: actions/othersettings.php:71
 msgid "Manage various other options."
-msgstr ""
+msgstr "Керування деякими іншими опціями"
 
 #: actions/othersettings.php:93
 msgid "URL Auto-shortening"
-msgstr ""
+msgstr "Автоматичне скорочення URL-адрес"
 
 #: actions/othersettings.php:112
-#, fuzzy
 msgid "Service"
-msgstr "Ð\9fоÑ\88Ñ\83к"
+msgstr "СеÑ\80вÑ\96Ñ\81"
 
 #: actions/othersettings.php:113
 msgid "Automatic shortening service to use."
-msgstr ""
+msgstr "Сервіси доступні для використання"
 
 #: actions/othersettings.php:144
-#, fuzzy
 msgid "URL shortening service is too long (max 50 chars)."
-msgstr "Ð\9cова Ð·Ð°Ð´Ð¾Ð²Ð³Ð° (50 Ð·Ð½Ð°ÐºÑ\96в Ð¼Ð°ÐºÑ\81имÑ\83м)"
+msgstr "СеÑ\80вÑ\96Ñ\81 Ñ\81коÑ\80оÑ\87еннÑ\8f URL-адÑ\80еÑ\81 Ð½Ð°Ð´Ñ\82о Ð´Ð¾Ð²Ð³Ð¸Ð¹ (50 Ð·Ð½Ð°ÐºÑ\96в Ð¼Ð°ÐºÑ\81имÑ\83м)."
 
 #: actions/passwordsettings.php:69
-#, fuzzy
 msgid "Change your password."
-msgstr "Змінити пароль"
+msgstr "Змінити пароль."
 
 #: actions/passwordsettings.php:89
-#, fuzzy
 msgid "Password change"
-msgstr "Ð\9fаÑ\80олÑ\8c Ð·Ð±ÐµÑ\80ежено."
+msgstr "Ð\9fаÑ\80олÑ\8c Ð·Ð°Ð¼Ñ\96нено"
 
 #: actions/peopletag.php:35
-#, fuzzy, php-format
+#, php-format
 msgid "Not a valid people tag: %s"
-msgstr "Це не дійсна електронна адреса"
+msgstr "Це недійсний особистий тег: %s"
 
 #: actions/peopletag.php:47
 #, php-format
 msgid "Users self-tagged with %s - page %d"
-msgstr ""
+msgstr "Користувачі з особистим тегом %s - сторінка %d"
 
 #: actions/peopletag.php:91
 #, php-format
 msgid "These are users who have tagged themselves \"%s\" "
-msgstr ""
+msgstr "Тут представлені користувачі, які позначили себе тегом \"%s\" "
 
 #: actions/profilesettings.php:91
-#, fuzzy
 msgid "Profile information"
-msgstr "Ð\9dевÑ\96домий Ð¿Ñ\80оÑ\84Ñ\96лÑ\8c"
+msgstr "Ð\86нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8f Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e"
 
 #: actions/profilesettings.php:124
 msgid ""
 "Tags for yourself (letters, numbers, -, ., and _), comma- or space- separated"
 msgstr ""
+"Позначте себе тегами (літери, цифри, -, . та _), відокремлюючи кожен комою "
+"або пробілом"
 
 #: actions/profilesettings.php:144
-#, fuzzy
 msgid "Automatically subscribe to whoever "
-msgstr ""
-"Автоматично підписуватись до тих, хто підписався до мене (якщо ви бот, це "
-"саме для вас)"
+msgstr "Автоматична підписка до будь кого, хто "
 
 #: actions/profilesettings.php:229 actions/tagother.php:176
-#, fuzzy, php-format
+#, php-format
 msgid "Invalid tag: \"%s\""
-msgstr "Недейсна домашня сторінка '%s'"
+msgstr "Недійсний тег: \"%s\""
 
 #: actions/profilesettings.php:311
-#, fuzzy
 msgid "Couldn't save tags."
-msgstr "Не вдалося зберегти профіль."
+msgstr "Не вдалося зберегти теги."
 
 #: actions/public.php:107
-#, fuzzy, php-format
+#, php-format
 msgid "Public timeline, page %d"
-msgstr "СпÑ\96лÑ\8cний Ñ\87аÑ\81овий Ð¿Ð¾Ñ\82Ñ\96к"
+msgstr "Ð\97агалÑ\8cний Ð¿Ð¾Ñ\82Ñ\96к, Ñ\81Ñ\82оÑ\80Ñ\96нка %d"
 
 #: actions/public.php:173
-#, fuzzy
 msgid "Could not retrieve public stream."
-msgstr "Невдала підписка."
+msgstr "Не вдається відновити загальний потік."
 
 #: actions/public.php:220
 #, php-format
@@ -4052,139 +4066,128 @@ msgid ""
 "This is %%site.name%%, a [micro-blogging](http://en.wikipedia.org/wiki/Micro-"
 "blogging) service "
 msgstr ""
+"Цей сайт %%site.name%%, є сервісом [мікроблогів] "
+"(http://en.wikipedia.org/wiki/Micro-blogging) "
 
 #: actions/publictagcloud.php:57
-#, fuzzy
 msgid "Public tag cloud"
-msgstr "Ð\96ивленнÑ\8f Ñ\81пÑ\96лÑ\8cного Ð¿Ð¾Ñ\82окÑ\83"
+msgstr "Ð\97агалÑ\8cна Ñ\85маÑ\80ка Ñ\82егÑ\96в"
 
 #: actions/publictagcloud.php:63
 #, php-format
 msgid "These are most popular recent tags on %s "
-msgstr ""
+msgstr "Це найбільш популярні нові теги на %s "
 
 #: actions/publictagcloud.php:119
 msgid "Tag cloud"
-msgstr ""
+msgstr "Хмарка тегів"
 
 #: actions/register.php:139 actions/register.php:349
 msgid "Sorry, only invited people can register."
 msgstr ""
+"Пробачте, але лише ті, кого було запрошено, мають змогу зареєструватись тут."
 
 #: actions/register.php:149
-#, fuzzy
 msgid "You can't register if you don't "
-msgstr "Ви не зможете зареєструватись, якщо не погодитесь з умовами ліцензії."
+msgstr "Ви не зможете зареєструватись, якщо не "
 
 #: actions/register.php:286
 msgid "With this form you can create "
-msgstr ""
+msgstr "Скориставшись цією формою, ви можете створити "
 
 #: actions/register.php:368
-#, fuzzy
 msgid "1-64 lowercase letters or numbers, "
-msgstr "1-64 Ð±Ñ\83кви Ð½Ð¸Ð¶Ð½Ñ\8cого Ñ\80егÑ\96Ñ\81Ñ\82Ñ\80а Ñ\96 Ñ\86иÑ\84Ñ\80и, Ð½Ñ\96Ñ\8fкоÑ\97 Ð¿Ñ\83нкÑ\82Ñ\83аÑ\86Ñ\96Ñ\97 Ð°Ð±Ð¾ Ñ\96нÑ\82еÑ\80валÑ\96в"
+msgstr "1-64 Ð»Ñ\96Ñ\82еÑ\80и Ð½Ð¸Ð¶Ð½Ñ\8cого Ñ\80егÑ\96Ñ\81Ñ\82Ñ\80а Ñ\96 Ñ\86иÑ\84Ñ\80и "
 
 #: actions/register.php:382 actions/register.php:386
-#, fuzzy
 msgid "Used only for updates, announcements, "
-msgstr ""
-"Використовується лише для оновлень, оголошень та переустановлення паролю"
+msgstr "Використовується лише для оновлень, оголошень, "
 
 #: actions/register.php:398
-#, fuzzy
 msgid "URL of your homepage, blog, "
-msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88оÑ\97 Ð´Ð¾Ð¼Ð°Ñ\88нÑ\8cоÑ\97 сторінки, блогу, "
+msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88оÑ\97 Ð²ÐµÐ±-сторінки, блогу, "
 
 #: actions/register.php:404
-#, fuzzy
 msgid "Describe yourself and your "
-msgstr "Опишіть себе та свої інтереси (140 знаків)"
+msgstr "Опишіть себе та свої "
 
 #: actions/register.php:410
-#, fuzzy
 msgid "Where you are, like \"City, "
-msgstr "Де ви живете, на зразок \"City, State (or Region), Country\""
+msgstr "Де ви живете, на зразок \"Місто, "
 
 #: actions/register.php:432
-#, fuzzy
 msgid " except this private data: password, "
-msgstr ""
-"окрім цих приватних даних: пароль, електронна адреса, адреса IM, телефонний "
-"номер."
+msgstr " окрім цих приватних даних: пароль, "
 
 #: actions/register.php:471
 #, php-format
 msgid "Congratulations, %s! And welcome to %%%%site.name%%%%. "
-msgstr ""
+msgstr "Вітаємо, %s! І ласкаво просимо до %%%%site.name%%%%. "
 
 #: actions/register.php:495
 msgid "(You should receive a message by email "
-msgstr ""
+msgstr "(Ви маєте отримати листа електронною поштою "
 
 #: actions/remotesubscribe.php:166 actions/remotesubscribe.php:171
 msgid "That's a local profile! Login to subscribe."
-msgstr ""
+msgstr "Це локальний профіль! Увійдіть аби підписатись."
 
 #: actions/replies.php:118
-#, fuzzy, php-format
+#, php-format
 msgid "Replies to %s, page %d"
-msgstr "Відповіді %s"
+msgstr "Відповіді %s, сторінка %d"
 
 #: actions/showfavorites.php:79
 #, php-format
 msgid "%s favorite notices, page %d"
-msgstr ""
+msgstr "Обрані повідомлення %s, сторінка %d"
 
 #: actions/showgroup.php:77 lib/groupnav.php:85
 #, php-format
 msgid "%s group"
-msgstr ""
+msgstr "Група %s"
 
 #: actions/showgroup.php:79
 #, php-format
 msgid "%s group, page %d"
-msgstr ""
+msgstr "Група %s, сторінка %d"
 
 #: actions/showgroup.php:206
-#, fuzzy
 msgid "Group profile"
-msgstr "Такого Ð¿Ð¾Ð²Ñ\96домленнÑ\8f Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\9fÑ\80оÑ\84Ñ\96лÑ\8c Ð³Ñ\80Ñ\83пи"
 
 #: actions/showgroup.php:251 actions/showstream.php:278
 #: actions/tagother.php:119 lib/grouplist.php:134 lib/profilelist.php:133
 msgid "URL"
-msgstr ""
+msgstr "URL"
 
 #: actions/showgroup.php:262 actions/showstream.php:289
 #: actions/tagother.php:129 lib/grouplist.php:145 lib/profilelist.php:144
-#, fuzzy
 msgid "Note"
-msgstr "Ð\9fовÑ\96домлення"
+msgstr "Ð\97аÑ\83важення"
 
 #: actions/showgroup.php:270
 msgid "Group actions"
-msgstr ""
+msgstr "Діяльність групи"
 
 #: actions/showgroup.php:323
-#, fuzzy, php-format
+#, php-format
 msgid "Notice feed for %s group"
-msgstr "Живлення повідомлень для %s"
+msgstr "Живлення повідомлень для групи %s"
 
 #: actions/showgroup.php:357 lib/groupnav.php:90
-#, fuzzy
 msgid "Members"
-msgstr "Разом Ð· Ð½Ð°Ð¼Ð¸ Ð·"
+msgstr "УÑ\87аÑ\81ники"
 
 #: actions/showgroup.php:363 actions/showstream.php:413
 #: actions/showstream.php:442 actions/showstream.php:524 lib/section.php:95
 #: lib/tagcloudsection.php:71
 msgid "(None)"
-msgstr ""
+msgstr "(Пусто)"
 
 #: actions/showgroup.php:370
 msgid "All members"
-msgstr ""
+msgstr "Всі учасники"
 
 #: actions/showgroup.php:378
 #, php-format
@@ -4192,50 +4195,49 @@ msgid ""
 "**%s** is a user group on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** це група користувачів на сайті %%%%site.name%%%%, який є сервісом "
+"[мікроблогів] (http://en.wikipedia.org/wiki/Micro-blogging) "
 
 #: actions/showmessage.php:98
 msgid "Only the sender and recipient "
-msgstr ""
+msgstr "Лише відправник та отримувач "
 
 #: actions/showstream.php:73
 #, php-format
 msgid "%s, page %d"
-msgstr ""
+msgstr "%s, сторінка %d"
 
 #: actions/showstream.php:143
-#, fuzzy
 msgid "'s profile"
-msgstr "Профіль"
+msgstr " профіль"
 
 #: actions/showstream.php:236 actions/tagother.php:77
-#, fuzzy
 msgid "User profile"
-msgstr "Ð\9aоÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87 Ð½Ðµ Ð¼Ð°Ñ\94 Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e."
+msgstr "Ð\9fÑ\80оÑ\84Ñ\96лÑ\8c ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а."
 
 #: actions/showstream.php:240 actions/tagother.php:81
 msgid "Photo"
-msgstr ""
+msgstr "Фото"
 
 #: actions/showstream.php:317
 msgid "User actions"
-msgstr ""
+msgstr "Діяльність користувача"
 
 #: actions/showstream.php:342
 msgid "Send a direct message to this user"
-msgstr ""
+msgstr "Надіслати пряме повідомлення цьому користувачеві"
 
 #: actions/showstream.php:343
 msgid "Message"
-msgstr ""
+msgstr "Повідомлення"
 
 #: actions/showstream.php:451
-#, fuzzy
 msgid "All subscribers"
-msgstr "Ð\9fідписчики"
+msgstr "Ð\92Ñ\81Ñ\96 Ð¿ідписчики"
 
 #: actions/showstream.php:533
 msgid "All groups"
-msgstr ""
+msgstr "Всі групи"
 
 #: actions/showstream.php:542
 #, php-format
@@ -4243,484 +4245,445 @@ msgid ""
 "**%s** has an account on %%%%site.name%%%%, a [micro-blogging](http://en."
 "wikipedia.org/wiki/Micro-blogging) service "
 msgstr ""
+"**%s** є власником рахунку на сайті %%%%site.name%%%% - сервісі "
+"[мікроблогів] (http://en.wikipedia.org/wiki/Micro-blogging) "
 
 #: actions/smssettings.php:128
-#, fuzzy
 msgid "Phone number, no punctuation or spaces, "
-msgstr "Телефонний номер та регіональний код, ніякої пунктуації чи інтервалів"
+msgstr "Телефонний номер, ніякої пунктуації або інтервалів, "
 
 #: actions/smssettings.php:162
-#, fuzzy
 msgid "Send me notices through SMS; "
-msgstr "Повідомляти мене через Jabber/GTalk."
+msgstr "Повідомляти мене за допомогою СМС; "
 
 #: actions/smssettings.php:335
-#, fuzzy
 msgid "A confirmation code was sent to the phone number you added. "
-msgstr "Ð\9eÑ\87Ñ\96кÑ\83ваннÑ\8f Ð¿Ñ\96дÑ\82веÑ\80дженнÑ\8f Ñ\82елеÑ\84онного Ð½Ð¾Ð¼ÐµÑ\80а."
+msgstr "Ð\9aод Ð¿Ñ\96дÑ\82веÑ\80дженнÑ\8f Ð±Ñ\83ло Ð½Ð°Ð´Ñ\96Ñ\81лано Ð½Ð° Ñ\82елеÑ\84онний Ð½Ð¾Ð¼ÐµÑ\80, Ñ\8fкий Ð²Ð¸ Ð´Ð¾Ð´Ð°Ð»Ð¸. "
 
 #: actions/smssettings.php:453
-#, fuzzy
 msgid "Mobile carrier"
-msgstr "Ð\9eбеÑ\80Ñ\96Ñ\82Ñ\8c Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80а"
+msgstr "Ð\9cобÑ\96лÑ\8cний Ð¾Ð¿ÐµÑ\80аÑ\82оÑ\80"
 
 #: actions/subedit.php:70
-#, fuzzy
 msgid "You are not subscribed to that profile."
-msgstr "Ð\92и Ð½Ðµ Ð½Ð°Ð´Ñ\81илали Ð½Ð°Ð¼ Ñ\86Ñ\8cого Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e"
+msgstr "Ð\92и Ð½Ðµ Ð¿Ñ\96дпиÑ\81анÑ\96 Ð´Ð¾ Ñ\86Ñ\8cого Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e."
 
 #: actions/subedit.php:83
-#, fuzzy
 msgid "Could not save subscription."
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð²Ð¸Ð´Ð°Ð»Ð¸ти підписку."
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð·Ð±ÐµÑ\80егти підписку."
 
 #: actions/subscribe.php:55
-#, fuzzy
 msgid "Not a local user."
 msgstr "Такого користувача немає."
 
 #: actions/subscribe.php:69
-#, fuzzy
 msgid "Subscribed"
-msgstr "Ð\9fÑ\96дпиÑ\81ки"
+msgstr "Ð\9fÑ\96дпиÑ\81анÑ\96"
 
 #: actions/subscribers.php:50
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscribers"
-msgstr "Підписчики"
+msgstr "Підписані до %s"
 
 #: actions/subscribers.php:52
 #, php-format
 msgid "%s subscribers, page %d"
-msgstr ""
+msgstr "Підписані до %s, сторінка %d"
 
 #: actions/subscribers.php:63
-#, fuzzy
 msgid "These are the people who listen to "
-msgstr "Тут представлені ті, хто слідкує за повідомленнями від %s."
+msgstr "Тут представлені ті, хто слідкує за "
 
 #: actions/subscribers.php:67
-#, fuzzy, php-format
+#, php-format
 msgid "These are the people who "
-msgstr "Тут представлені ті, хто слідкує за повідомленнями від %s."
+msgstr "Тут представлені ті, хто "
 
 #: actions/subscriptions.php:52
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions"
-msgstr "Ð\92Ñ\81Ñ\96 Ð¿Ñ\96дпиÑ\81ки"
+msgstr "Ð\9fÑ\96дпиÑ\81ки %s"
 
 #: actions/subscriptions.php:54
-#, fuzzy, php-format
+#, php-format
 msgid "%s subscriptions, page %d"
-msgstr "Ð\92Ñ\81Ñ\96 Ð¿Ñ\96дпиÑ\81ки"
+msgstr "Ð\9fÑ\96дпиÑ\81ки %s, Ñ\81Ñ\82оÑ\80Ñ\96нка %d"
 
 #: actions/subscriptions.php:65
-#, fuzzy
 msgid "These are the people whose notices "
-msgstr "Тут представлені ті, за чиїми повідомленнями слідкує %s."
+msgstr "Тут представлені ті, за чиїми повідомленнями "
 
 #: actions/subscriptions.php:69
-#, fuzzy, php-format
+#, php-format
 msgid "These are the people whose "
-msgstr "ТÑ\83Ñ\82 Ð¿Ñ\80едÑ\81Ñ\82авленÑ\96 Ñ\82Ñ\96, Ñ\85Ñ\82о Ñ\81лÑ\96дкÑ\83Ñ\94 Ð·Ð° Ð¿Ð¾Ð²Ñ\96домленнÑ\8fми Ð²Ñ\96д %s."
+msgstr "ТÑ\83Ñ\82 Ð¿Ñ\80едÑ\81Ñ\82авленÑ\96 Ñ\82Ñ\96, Ñ\87иÑ\97 "
 
 #: actions/subscriptions.php:122
-#, fuzzy
 msgid "Jabber"
-msgstr "Немає Jabber ID."
+msgstr "Jabber"
 
 #: actions/tag.php:43
-#, fuzzy, php-format
+#, php-format
 msgid "Notices tagged with %s, page %d"
-msgstr "Повідомлення позначені з %s"
+msgstr "Повідомлення позначені %s, сторінка %d"
 
 #: actions/tag.php:66
 #, php-format
 msgid "Messages tagged \"%s\", most recent first"
-msgstr ""
+msgstr "Найновіші повідомлення позначені \"%s\""
 
 #: actions/tagother.php:33
-#, fuzzy
 msgid "Not logged in"
-msgstr "Не увійшли."
+msgstr "Не увійшли"
 
 #: actions/tagother.php:39
-#, fuzzy
 msgid "No id argument."
-msgstr "Такого Ð´Ð¾ÐºÑ\83менÑ\82а Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\9dемаÑ\94 Ð°Ñ\80гÑ\83менÑ\82Ñ\83 ID."
 
 #: actions/tagother.php:65
-#, fuzzy, php-format
+#, php-format
 msgid "Tag %s"
-msgstr "Ð\9cÑ\96Ñ\82ки"
+msgstr "Ð\9fознаÑ\87иÑ\82и %s"
 
 #: actions/tagother.php:141
-#, fuzzy
 msgid "Tag user"
-msgstr "Ð\9cÑ\96Ñ\82ки"
+msgstr "Ð\9fознаÑ\87иÑ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а"
 
 #: actions/tagother.php:149
 msgid ""
 "Tags for this user (letters, numbers, -, ., and _), comma- or space- "
 "separated"
 msgstr ""
+"Позначити користувача тегами (літери, цифри, -, . та _), відокремлюючи кожен "
+"комою або пробілом"
 
 #: actions/tagother.php:164
 msgid "There was a problem with your session token."
-msgstr ""
+msgstr "Виникли певні проблеми з токеном поточної сесії."
 
 #: actions/tagother.php:191
 msgid ""
 "You can only tag people you are subscribed to or who are subscribed to you."
 msgstr ""
+"Ви маєте можливість позначати тегами тих, до кого ви підписані, а також тих, "
+"хто є підписаним до вас."
 
 #: actions/tagother.php:198
-#, fuzzy
 msgid "Could not save tags."
-msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð·Ð±ÐµÑ\80егÑ\82и Ñ\96нÑ\84оÑ\80маÑ\86Ñ\96Ñ\8e Ð¿Ñ\80о Ð°Ð²Ð°Ñ\82аÑ\80Ñ\83"
+msgstr "Ð\9dе Ð²Ð´Ð°Ð»Ð¾Ñ\81Ñ\8f Ð·Ð±ÐµÑ\80егÑ\82и Ñ\82еги."
 
 #: actions/tagother.php:233
 msgid "Use this form to add tags to your subscribers or subscriptions."
-msgstr ""
+msgstr "Скористайтесь цією формою, щоб додати теги підпискам та підписчикам."
 
 #: actions/tagrss.php:35
-#, fuzzy
 msgid "No such tag."
-msgstr "Такого повідомлення немає."
+msgstr "Такого тегу немає."
 
 #: actions/tagrss.php:66
-#, fuzzy, php-format
+#, php-format
 msgid "Microblog tagged with %s"
-msgstr "Ð\9fовÑ\96домленнÑ\8f Ð¿Ð¾Ð·Ð½Ð°Ñ\87енÑ\96 Ð· %s"
+msgstr "Ð\9cÑ\96кÑ\80облог Ð¿Ð¾Ð·Ð½Ð°Ñ\87ено Ñ\82егом %s"
 
 #: actions/twitapiblocks.php:47
 msgid "Block user failed."
-msgstr ""
+msgstr "Спроба заблокувати користувача невдала."
 
 #: actions/twitapiblocks.php:69
 msgid "Unblock user failed."
-msgstr ""
+msgstr "Спроба розблокувати користувача невдала."
 
 #: actions/twitapiusers.php:48
-#, fuzzy
 msgid "Not found."
-msgstr "Немає знайденого запиту!"
+msgstr "Не знайдено."
 
 #: actions/twittersettings.php:71
 msgid "Add your Twitter account to automatically send "
-msgstr ""
+msgstr "Додайте свій рахунок на Твіттері, аби автоматично пересилати "
 
 #: actions/twittersettings.php:119
 msgid "Twitter user name"
-msgstr ""
+msgstr "Ваше ім'я користувача на Твіттері"
 
 #: actions/twittersettings.php:126
-#, fuzzy
 msgid "Twitter password"
-msgstr "Ð\9dовий Ð¿Ð°Ñ\80олÑ\8c"
+msgstr "Ð\9fаÑ\80олÑ\8c Ð½Ð° Ð¢Ð²Ñ\96Ñ\82Ñ\82еÑ\80Ñ\96"
 
 #: actions/twittersettings.php:228
 msgid "Twitter Friends"
-msgstr ""
+msgstr "Друзі на Твіттері"
 
 #: actions/twittersettings.php:327
 msgid "Username must have only numbers, "
-msgstr ""
+msgstr "Ім'я користувача має складатись лише з цифр, "
 
 #: actions/twittersettings.php:341
-#, fuzzy, php-format
+#, php-format
 msgid "Unable to retrieve account information "
-msgstr "Не вдалося видалити підтвердження поштової адреси."
+msgstr "Не вдається відновити інформацію рахунку "
 
 #: actions/unblock.php:108
-#, fuzzy
 msgid "Error removing the block."
-msgstr "Помилка при збереженні користувача."
+msgstr "Помилка при розблокуванні."
 
 #: actions/unsubscribe.php:50
-#, fuzzy
 msgid "No profile id in request."
-msgstr "Ð\9dемаÑ\94 URL-адÑ\80еÑ\81и Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e Ð¿Ð¾Ð²ÐµÑ\80нÑ\96Ñ\82оÑ\97 Ñ\81еÑ\80веÑ\80ом."
+msgstr "У Ð·Ð°Ð¿Ð¸Ñ\82Ñ\96 Ð²Ñ\96дÑ\81Ñ\83Ñ\82нÑ\96й ID Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e."
 
 #: actions/unsubscribe.php:57
-#, fuzzy
 msgid "No profile with that id."
-msgstr "Ð\92Ñ\96ддалений Ð¿Ñ\80оÑ\84Ñ\96лÑ\8c Ð±ÐµÐ· Ð²Ñ\96дповÑ\96дного Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e"
+msgstr "Ð\9dемаÑ\94 Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e Ð· Ñ\82аким ID."
 
 #: actions/unsubscribe.php:71
-#, fuzzy
 msgid "Unsubscribed"
-msgstr "Відписатись"
+msgstr "Відписано"
 
 #: actions/usergroups.php:63
 #, php-format
 msgid "%s groups"
-msgstr ""
+msgstr "Групи %s"
 
 #: actions/usergroups.php:65
 #, php-format
 msgid "%s groups, page %d"
-msgstr ""
+msgstr "Групи %s, сторінка %d"
 
 #: classes/Notice.php:104
-#, fuzzy
 msgid "Problem saving notice. Unknown user."
-msgstr "Проблема при збереженні повідомлення."
+msgstr "Проблема при збереженні повідомлення. Невідомий користувач."
 
 #: classes/Notice.php:109
 msgid ""
 "Too many notices too fast; take a breather and post again in a few minutes."
 msgstr ""
+"Дуже багато повідомлень за короткий термін; відпочиньте трошки і "
+"повертайтесь за кілька хвилин."
 
 #: classes/Notice.php:116
 msgid "You are banned from posting notices on this site."
-msgstr ""
+msgstr "Вам заборонено надсилати дописи до цього сайту."
 
 #: lib/accountsettingsaction.php:108
-#, fuzzy
 msgid "Upload an avatar"
-msgstr "Ð\9eновленнÑ\8f Ð°Ð²Ð°Ñ\82аÑ\80и Ð½ÐµÐ²Ð´Ð°Ð»Ðµ."
+msgstr "Ð\97аванÑ\82аженнÑ\8f Ð°Ð²Ð°Ñ\82аÑ\80и"
 
 #: lib/accountsettingsaction.php:119
 msgid "Other"
-msgstr ""
+msgstr "Інше"
 
 #: lib/accountsettingsaction.php:120
 msgid "Other options"
-msgstr ""
+msgstr "Інші опції"
 
 #: lib/action.php:130
 #, php-format
 msgid "%s - %s"
-msgstr ""
+msgstr "%s - %s"
 
 #: lib/action.php:145
 msgid "Untitled page"
-msgstr ""
+msgstr "Сторінка без заголовку"
 
 #: lib/action.php:316
 msgid "Primary site navigation"
-msgstr ""
+msgstr "Відправна навігація по сайту"
 
 #: lib/action.php:322
 msgid "Personal profile and friends timeline"
-msgstr ""
+msgstr "Персональний профіль і потік друзів"
 
 #: lib/action.php:325
 msgid "Search for people or text"
-msgstr ""
+msgstr "Пошук людей або текстів"
 
 #: lib/action.php:328
-#, fuzzy
 msgid "Account"
-msgstr "Ð\9fÑ\80о"
+msgstr "РаÑ\85Ñ\83нок"
 
 #: lib/action.php:328
 msgid "Change your email, avatar, password, profile"
-msgstr ""
+msgstr "Змінити електронну адресу, аватару, пароль, профіль"
 
 #: lib/action.php:330
 msgid "Connect to IM, SMS, Twitter"
-msgstr ""
+msgstr "Зв'язок з ІМ, СМС, Твіттер"
 
 #: lib/action.php:332
 msgid "Logout from the site"
-msgstr ""
+msgstr "Вийти з сайту"
 
 #: lib/action.php:335
 msgid "Login to the site"
-msgstr ""
+msgstr "Увійти на сайт"
 
 #: lib/action.php:338
-#, fuzzy
 msgid "Create an account"
 msgstr "Створити новий рахунок"
 
 #: lib/action.php:341
-#, fuzzy
 msgid "Login with OpenID"
-msgstr "Такого OpenID Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "УвÑ\96йÑ\82и Ð· OpenID"
 
 #: lib/action.php:344
-#, fuzzy
 msgid "Help me!"
-msgstr "Ð\94опомога"
+msgstr "Ð\94опоможÑ\96Ñ\82Ñ\8c!"
 
 #: lib/action.php:362
-#, fuzzy
 msgid "Site notice"
-msgstr "Ð\9dове Ð¿Ð¾Ð²Ñ\96домленнÑ\8f"
+msgstr "Ð\97аÑ\83важеннÑ\8f Ñ\81айÑ\82Ñ\83"
 
 #: lib/action.php:417
 msgid "Local views"
-msgstr ""
+msgstr "Огляд"
 
 #: lib/action.php:472
-#, fuzzy
 msgid "Page notice"
-msgstr "Ð\9dове Ð¿Ð¾Ð²Ñ\96домленнÑ\8f"
+msgstr "Ð\97аÑ\83важеннÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нки"
 
 #: lib/action.php:562
-#, fuzzy
 msgid "Secondary site navigation"
-msgstr "Ð\9fÑ\96дпиÑ\81ки"
+msgstr "Ð\94Ñ\80Ñ\83гоÑ\80Ñ\8fдна Ð½Ð°Ð²Ñ\96гаÑ\86Ñ\96Ñ\8f Ð¿Ð¾ Ñ\81айÑ\82Ñ\83"
 
 #: lib/action.php:602 lib/action.php:623
 msgid "Laconica software license"
-msgstr ""
+msgstr "Ліцензія Laconica software"
 
 #: lib/action.php:630
 msgid "All "
-msgstr ""
+msgstr "Всі "
 
 #: lib/action.php:635
 msgid "license."
-msgstr ""
+msgstr "ліцензія."
 
 #: lib/blockform.php:123 lib/blockform.php:153
-#, fuzzy
 msgid "Block this user"
-msgstr "Такого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\91локÑ\83ваÑ\82и ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а"
 
 #: lib/blockform.php:153
 msgid "Block"
-msgstr ""
+msgstr "Блок"
 
 #: lib/disfavorform.php:114 lib/disfavorform.php:140
 msgid "Disfavor this notice"
-msgstr ""
+msgstr "Видалити з обраних"
 
 #: lib/facebookaction.php:268
 #, php-format
 msgid "To use the %s Facebook Application you need to login "
-msgstr ""
+msgstr "Аби скористатись %s додатком для Facebook, ви маєте увійти "
 
 #: lib/facebookaction.php:271
-#, fuzzy
 msgid " a new account."
-msgstr "Створити новий рахунок"
+msgstr " новий рахунок."
 
 #: lib/facebookaction.php:557 lib/mailbox.php:214 lib/noticelist.php:354
-#, fuzzy
 msgid "Published"
-msgstr "Ð\97агал"
+msgstr "Ð\9eпÑ\83блÑ\96ковано"
 
 #: lib/favorform.php:114 lib/favorform.php:140
-#, fuzzy
 msgid "Favor this notice"
-msgstr "Такого Ð¿Ð¾Ð²Ñ\96домленнÑ\8f Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "Ð\9fознаÑ\87иÑ\82и Ñ\8fк Ð¾Ð±Ñ\80ане"
 
 #: lib/feedlist.php:64
 msgid "Export data"
-msgstr ""
+msgstr "Експорт даних"
 
 #: lib/galleryaction.php:121
-#, fuzzy
 msgid "Filter tags"
-msgstr "Ð\96ивленнÑ\8f Ð´Ð»Ñ\8f Ð¼Ñ\96Ñ\82ок %s"
+msgstr "ФÑ\96лÑ\8cÑ\82Ñ\80 Ð´Ð»Ñ\8f Ñ\82егÑ\96в"
 
 #: lib/galleryaction.php:131
 msgid "All"
-msgstr ""
+msgstr "Всі"
 
 #: lib/galleryaction.php:137
-#, fuzzy
 msgid "Tag"
-msgstr "Ð\9cÑ\96Ñ\82ки"
+msgstr "Тег"
 
 #: lib/galleryaction.php:138
 msgid "Choose a tag to narrow list"
-msgstr ""
+msgstr "Оберіть тег до звуженого списку"
 
 #: lib/galleryaction.php:139
 msgid "Go"
-msgstr ""
+msgstr "Вперед"
 
 #: lib/groupeditform.php:148
-#, fuzzy
 msgid "URL of the homepage or blog of the group or topic"
-msgstr "URL-адÑ\80еÑ\81а Ð²Ð°Ñ\88оÑ\97 Ð´Ð¾Ð¼Ð°Ñ\88нÑ\8cоÑ\97 Ñ\81Ñ\82оÑ\80Ñ\96нки, Ð±Ð»Ð¾Ð³Ñ\83"
+msgstr "URL-адÑ\80еÑ\81а Ð²ÐµÐ±-Ñ\81Ñ\82оÑ\80Ñ\96нки, Ð±Ð»Ð¾Ð³Ñ\83 Ð³Ñ\80Ñ\83пи, Ð°Ð±Ð¾ Ñ\82емаÑ\82иÑ\87ного Ð±Ð»Ð¾Ð³Ñ\83"
 
 #: lib/groupeditform.php:151
-#, fuzzy
 msgid "Description"
-msgstr "Ð\9fÑ\96дпиÑ\81ки"
+msgstr "Ð\9eпиÑ\81"
 
 #: lib/groupeditform.php:153
-#, fuzzy
 msgid "Describe the group or topic in 140 chars"
-msgstr "Опишіть себе та свої інтереси (140 знаків)"
+msgstr "Опишіть групу або тему, вкладаючись у 140 знаків"
 
 #: lib/groupeditform.php:158
-#, fuzzy
 msgid ""
 "Location for the group, if any, like \"City, State (or Region), Country\""
-msgstr "Ð\94е Ð²Ð¸ Ð¶Ð¸Ð²ÐµÑ\82е, Ð½Ð° Ð·Ñ\80азок \"City, State (or Region), Country\""
+msgstr "Ð\9bокаÑ\86Ñ\96Ñ\8f Ð³Ñ\80Ñ\83пи, Ð½Ð° Ð·Ñ\80азок \"Ð\9cÑ\96Ñ\81Ñ\82о, Ð¾Ð±Ð»Ð°Ñ\81Ñ\82Ñ\8c (або Ñ\80егÑ\96он), ÐºÑ\80аÑ\97на\""
 
 #: lib/groupnav.php:84 lib/searchgroupnav.php:84
 msgid "Group"
-msgstr ""
+msgstr "Група"
 
 #: lib/groupnav.php:100
 msgid "Admin"
-msgstr ""
+msgstr "Адмін"
 
 #: lib/groupnav.php:101
 #, php-format
 msgid "Edit %s group properties"
-msgstr ""
+msgstr "Редагувати властивості групи %s"
 
 #: lib/groupnav.php:106
-#, fuzzy
 msgid "Logo"
-msgstr "Ð\92ийÑ\82и"
+msgstr "Ð\9bого"
 
 #: lib/groupnav.php:107
 #, php-format
 msgid "Add or edit %s logo"
-msgstr ""
+msgstr "Додати або редагувати логотип %s"
 
 #: lib/groupsbymemberssection.php:71
 msgid "Groups with most members"
-msgstr ""
+msgstr "Групи з найбільшою кількістю учасників"
 
 #: lib/groupsbypostssection.php:71
 msgid "Groups with most posts"
-msgstr ""
+msgstr "Групи з найбільшою кількістю дописів"
 
 #: lib/grouptagcloudsection.php:56
 #, php-format
 msgid "Tags in %s group's notices"
-msgstr ""
+msgstr "Теги у повідомленнях групи %s"
 
 #: lib/htmloutputter.php:104
-#, fuzzy
 msgid "This page is not available in a "
-msgstr "Ця сторінка не доступна в медіа-типі, який ви приймаєте"
+msgstr "Ця сторінка не доступна в "
 
 #: lib/joinform.php:114
-#, fuzzy
 msgid "Join"
-msgstr "УвÑ\96йÑ\82и"
+msgstr "Ð\9fÑ\80иÑ\94днаÑ\82иÑ\81Ñ\8c"
 
 #: lib/leaveform.php:114
-#, fuzzy
 msgid "Leave"
-msgstr "Ð\97беÑ\80егти"
+msgstr "Ð\97алиÑ\88ити"
 
 #: lib/logingroupnav.php:76
-#, fuzzy
 msgid "Login with a username and password"
-msgstr "Ð\9dедÑ\96йÑ\81не Ñ\96м'Ñ\8f Ð°Ð±Ð¾ Ð¿Ð°Ñ\80олÑ\8c."
+msgstr "УвÑ\96йÑ\82и Ð²Ð¸ÐºÐ¾Ñ\80иÑ\81Ñ\82овÑ\83Ñ\8eÑ\87и Ñ\96м'Ñ\8f Ñ\82а Ð¿Ð°Ñ\80олÑ\8c"
 
 #: lib/logingroupnav.php:79
-#, fuzzy
 msgid "Sign up for a new account"
-msgstr "СÑ\82воÑ\80ити новий рахунок"
+msgstr "Ð\97аÑ\80еÑ\94Ñ\81Ñ\82Ñ\80Ñ\83вати новий рахунок"
 
 #: lib/logingroupnav.php:82
 msgid "Login or register with OpenID"
-msgstr ""
+msgstr "Увійти або зареєструватись з OpenID"
 
 #: lib/mail.php:175
 #, php-format
@@ -4728,21 +4691,23 @@ msgid ""
 "Hey, %s.\n"
 "\n"
 msgstr ""
+"Ей, %s.\n"
+"\n"
 
 #: lib/mail.php:236
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s is now listening to "
-msgstr "%1$s Ñ\82епеÑ\80 Ñ\81лÑ\96дкÑ\83Ñ\94 Ð·Ð° Ð²Ð°Ñ\88ими Ð¿Ð¾Ð²Ñ\96домленÑ\8fми Ð½Ð° %2$s."
+msgstr "%1$s Ñ\82епеÑ\80 Ñ\81лÑ\96дкÑ\83Ñ\94 Ð·Ð° Ð¿Ð¾Ð²Ñ\96домленÑ\8fми "
 
 #: lib/mail.php:254
-#, fuzzy, php-format
+#, php-format
 msgid "Location: %s\n"
-msgstr "Ð\9cÑ\96Ñ\81Ñ\86езнаÑ\85одженнÑ\8f"
+msgstr "Ð\9bокаÑ\86Ñ\96Ñ\8f: %s\n"
 
 #: lib/mail.php:256
-#, fuzzy, php-format
+#, php-format
 msgid "Homepage: %s\n"
-msgstr "Ð\94омаÑ\88нÑ\8f Ñ\81Ñ\82оÑ\80Ñ\96нка"
+msgstr "Ð\92еб-Ñ\81Ñ\82оÑ\80Ñ\96нка: %s\n"
 
 #: lib/mail.php:258
 #, php-format
@@ -4750,86 +4715,80 @@ msgid ""
 "Bio: %s\n"
 "\n"
 msgstr ""
+"Про себе: %s\n"
+"\n"
 
 #: lib/mail.php:461
 #, php-format
 msgid "You've been nudged by %s"
-msgstr ""
+msgstr "Вас спробував \"розштовхати\" %s"
 
 #: lib/mail.php:465
 #, php-format
 msgid "%1$s (%2$s) is wondering what you are up to "
-msgstr ""
+msgstr "%1$s (%2$s) цікавиться, що у вас нового "
 
 #: lib/mail.php:555
-#, fuzzy, php-format
+#, php-format
 msgid "%1$s just added your notice from %2$s"
-msgstr "%1$s тепер слідкує за вашими повідомленями на %2$s."
+msgstr "%1$s додав ваше повідомлення від %2$s"
 
 #: lib/mailbox.php:229 lib/noticelist.php:380
 msgid "From"
-msgstr ""
+msgstr "Від"
 
 #: lib/messageform.php:110
-#, fuzzy
 msgid "Send a direct notice"
-msgstr "Ð\92идалиÑ\82и повідомлення"
+msgstr "Ð\9dадÑ\96Ñ\81лаÑ\82и Ð¿Ñ\80Ñ\8fме повідомлення"
 
 #: lib/noticeform.php:125
-#, fuzzy
 msgid "Send a notice"
-msgstr "Ð\9dове повідомлення"
+msgstr "Ð\9dадÑ\96Ñ\81лаÑ\82и повідомлення"
 
 #: lib/noticeform.php:152
-#, fuzzy
 msgid "Available characters"
-msgstr "6 або більше знаків"
+msgstr "Лишилось знаків"
 
 #: lib/noticelist.php:426
-#, fuzzy
 msgid "in reply to"
-msgstr "у відповідь на..."
+msgstr "у відповідь на"
 
 #: lib/noticelist.php:447 lib/noticelist.php:450
-#, fuzzy
 msgid "Reply to this notice"
-msgstr "Ð\9dе Ð¼Ð¾Ð¶Ð½Ð° Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ\82и Ñ\86е Ð¿Ð¾Ð²Ñ\96домленнÑ\8f."
+msgstr "Ð\92Ñ\96дповÑ\96Ñ\81Ñ\82и Ð½Ð° Ñ\86е Ð¿Ð¾Ð²Ñ\96домленнÑ\8f"
 
 #: lib/noticelist.php:451
-#, fuzzy
 msgid "Reply"
-msgstr "відповісти"
+msgstr "Ð\92ідповісти"
 
 #: lib/noticelist.php:471 lib/noticelist.php:474
-#, fuzzy
 msgid "Delete this notice"
 msgstr "Видалити повідомлення"
 
 #: lib/noticelist.php:474
-#, fuzzy
 msgid "Delete"
-msgstr "видалити"
+msgstr "Ð\92идалити"
 
 #: lib/nudgeform.php:116
 msgid "Nudge this user"
-msgstr ""
+msgstr "\"Розштовхати\" користувача"
 
 #: lib/nudgeform.php:128
 msgid "Nudge"
-msgstr ""
+msgstr "\"Розштовхати\""
 
 #: lib/nudgeform.php:128
 msgid "Send a nudge to this user"
-msgstr ""
+msgstr "Спробувати \"розштовхати\" цього користувача"
 
 #: lib/personaltagcloudsection.php:56
 #, php-format
 msgid "Tags in %s's notices"
-msgstr ""
+msgstr "Теги у повідомленнях %s"
 
 #: lib/profilelist.php:182
 msgid "(none)"
-msgstr ""
+msgstr "(пусто)"
 
 #: lib/publicgroupnav.php:76
 msgid "Public"
@@ -4837,87 +4796,81 @@ msgstr "Загал"
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "Групи користувачів"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
-#, fuzzy
 msgid "Recent tags"
-msgstr "Ð\9dедавнÑ\96 Ð¼Ñ\96Ñ\82ки"
+msgstr "Ð\9dовÑ\96 Ñ\82еги"
 
+# ПОСТАТЬ - Видатна особа, визначний представник кого-, чого-небудь.
+# "Featured" перекласти одним словом, так щоб втислося в таб на головній сторінці, важко. На мою думку "Постаті", тобто користувачі, які варті уваги - цілком прийнятний замінник.
 #: lib/publicgroupnav.php:86
 msgid "Featured"
-msgstr ""
+msgstr "Постаті"
 
 #: lib/publicgroupnav.php:90
-#, fuzzy
 msgid "Popular"
-msgstr "Ð\9bÑ\8eди"
+msgstr "Ð\9fопÑ\83лÑ\8fÑ\80не"
 
 #: lib/searchgroupnav.php:82
-#, fuzzy
 msgid "Notice"
 msgstr "Повідомлення"
 
 #: lib/searchgroupnav.php:85
-#, fuzzy
 msgid "Find groups on this site"
-msgstr "Ð\97найÑ\82и Ð»Ñ\8eдей на цьому сайті"
+msgstr "Ð\97найÑ\82и Ð³Ñ\80Ñ\83пи на цьому сайті"
 
 #: lib/section.php:89
 msgid "Untitled section"
-msgstr ""
+msgstr "Розділ без заголовку"
 
 #: lib/subgroupnav.php:81
-#, fuzzy, php-format
+#, php-format
 msgid "People %s subscribes to"
-msgstr "Віддалена підписка"
+msgstr "%s підписався до наступних людей"
 
 #: lib/subgroupnav.php:89
-#, fuzzy, php-format
+#, php-format
 msgid "People subscribed to %s"
-msgstr "Ð\92Ñ\96ддалена Ð¿Ñ\96дпиÑ\81ка"
+msgstr "Ð\9bÑ\8eди Ð¿Ñ\96дпиÑ\81анÑ\96 Ð´Ð¾ %s"
 
 #: lib/subgroupnav.php:97
 #, php-format
 msgid "Groups %s is a member of"
-msgstr ""
+msgstr "%s бере участь в цих групах"
 
 #: lib/subgroupnav.php:104
 #, php-format
 msgid "Invite friends and colleagues to join you on %s"
-msgstr ""
+msgstr "Запросіть друзів та колег приєднатись до вас на %s"
 
 #: lib/subs.php:53
-#, fuzzy
 msgid "User has blocked you."
-msgstr "Ð\9aоÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87 Ð½Ðµ Ð¼Ð°Ñ\94 Ð¿Ñ\80оÑ\84Ñ\96лÑ\8e."
+msgstr "Ð\9aоÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87 Ð·Ð°Ð±Ð»Ð¾ÐºÑ\83вав Ð²Ð°Ñ\81."
 
 #: lib/subscribeform.php:115 lib/subscribeform.php:139
-#, fuzzy
 msgid "Subscribe to this user"
-msgstr "Ð\9fÑ\96дпиÑ\81кÑ\83 Ð°Ð²Ñ\82оÑ\80изовано"
+msgstr "Ð\9fÑ\96дпиÑ\81аÑ\82иÑ\81Ñ\8c Ð´Ð¾ Ñ\86Ñ\8cого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а"
 
 #: lib/tagcloudsection.php:56
-#, fuzzy
 msgid "None"
-msgstr "Ð\9dÑ\96"
+msgstr "Ð\9fÑ\83Ñ\81Ñ\82о"
 
 #: lib/topposterssection.php:74
 msgid "Top posters"
-msgstr ""
+msgstr "Топ дописувачів"
 
 #: lib/unblockform.php:120 lib/unblockform.php:150
-#, fuzzy
 msgid "Unblock this user"
-msgstr "Такого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а Ð½ÐµÐ¼Ð°Ñ\94."
+msgstr "РозблокÑ\83ваÑ\82и Ñ\86Ñ\8cого ÐºÐ¾Ñ\80иÑ\81Ñ\82Ñ\83ваÑ\87а"
 
 #: lib/unblockform.php:150
 msgid "Unblock"
-msgstr ""
+msgstr "Розблокувати"
 
 #: lib/unsubscribeform.php:113 lib/unsubscribeform.php:137
 msgid "Unsubscribe from this user"
-msgstr ""
+msgstr "Відписатись від цього користувача"
 
 #, fuzzy
 #~ msgid "Delete my account"
index 730d087e1f5b5cece08afe3731100489cec99036..314315c5d8250cbb24fe9bdeb41057fd4abdae5d 100644 (file)
Binary files a/locale/vi_VN/LC_MESSAGES/laconica.mo and b/locale/vi_VN/LC_MESSAGES/laconica.mo differ
index c62517cfae9802e9aece4abcb24dfacec60d1f58..2abf3360921a4c4cfcdd2adb811b7bfcdcc2b937 100644 (file)
@@ -3,12 +3,13 @@ msgstr ""
 "Project-Id-Version: laconica\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: \n"
-"Last-Translator: LienNguyen <lien.nguyen@anhone.vn>\n"
-"Language-Team:  <support@saigonica.com>\n"
+"PO-Revision-Date: 2009-01-31 05:21+0000\n"
+"Last-Translator: Tuan Nguyen <group3t@gmail.com>\n"
+"Language-Team: <support@saigonica.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Pootle 1.1.0\n"
 "X-Poedit-SourceCharset: utf-8\n"
 "X-Poedit-Language: English\n"
 "X-Poedit-Country: NEW ZEALAND\n"
@@ -4934,7 +4935,7 @@ msgstr "còn nữa..."
 #: lib/noticelist.php:447 lib/noticelist.php:450
 #, fuzzy
 msgid "Reply to this notice"
-msgstr "cảnh báo tin nhắn"
+msgstr "Trả lời tin nhắn này"
 
 #: lib/noticelist.php:451
 msgid "Reply"
index cb7ea11cec82afcb8eca3e3815ec11d6e418ef12..15c5bf9e8dec41b8f13da6cbd363fc811ee3eb32 100644 (file)
Binary files a/locale/zh_CN/LC_MESSAGES/laconica.mo and b/locale/zh_CN/LC_MESSAGES/laconica.mo differ
index bf064a138c7c8b5020263aa52f04015eda236a90..df63b57157390b080143a846e99c7651cdbdd45a 100644 (file)
@@ -8,12 +8,13 @@ msgstr ""
 "Project-Id-Version: identi.ca\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: 2008-12-16 21:31+0800\n"
-"Last-Translator: Yuan Yijun <bbbush.yuan@gmail.com>\n"
+"PO-Revision-Date: 2009-02-11 07:27+0000\n"
+"Last-Translator: zhangfei <zhangfeisky@126.com>\n"
 "Language-Team: i18n-zh <i18n-zh@googlegroups.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
@@ -4642,7 +4643,7 @@ msgstr "这个页面不提供您想要的媒体类型"
 #: lib/joinform.php:114
 #, fuzzy
 msgid "Join"
-msgstr "登录"
+msgstr "加入"
 
 #: lib/leaveform.php:114
 #, fuzzy
@@ -4784,7 +4785,7 @@ msgstr ""
 
 #: lib/publicgroupnav.php:80
 msgid "User groups"
-msgstr ""
+msgstr "用户组"
 
 #: lib/publicgroupnav.php:82 lib/publicgroupnav.php:83
 #, fuzzy
@@ -4793,7 +4794,7 @@ msgstr "最近的标签"
 
 #: lib/publicgroupnav.php:86
 msgid "Featured"
-msgstr ""
+msgstr "特征"
 
 #: lib/publicgroupnav.php:90
 #, fuzzy
index 5864c82b324f251027786779c057e7d2cb611624..5b23372fb21b1f942103a2fdbc027d068af0f1a8 100644 (file)
Binary files a/locale/zh_TW/LC_MESSAGES/laconica.mo and b/locale/zh_TW/LC_MESSAGES/laconica.mo differ
index 922bdb9275b069b7ed9afa640868aeb8a5cd872b..c6f88062381de15c7b699465d42ff017d903a489 100644 (file)
@@ -3,18 +3,18 @@
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
-#, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2009-01-25 16:24+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2009-03-12 16:21+0000\n"
+"Last-Translator: Evan Prodromou <evan@controlyourself.ca>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Pootle 1.1.0\n"
 
 #: ../actions/noticesearchrss.php:64 actions/noticesearchrss.php:68
 #: actions/noticesearchrss.php:88
@@ -97,7 +97,7 @@ msgstr ""
 "\n"
 "\n"
 "%4$s.\n"
-"敬上。"
+"敬上。\n"
 
 #: ../actions/twitapistatuses.php:482 actions/twitapistatuses.php:415
 #: actions/twitapistatuses.php:350
index 77adfa87d13d60ed9569bcb9f71165f6afc21054..56a26176b1ee0104df0896d4794b157a12b4e77c 100644 (file)
@@ -94,18 +94,26 @@ class LinkbackPlugin extends Plugin
             return $orig;
         }
 
+        $pb = null;
+        $tb = null;
+
         if (array_key_exists('X-Pingback', $result->headers)) {
-            $endpoint = $result->headers['X-Pingback'];
+            $pb = $result->headers['X-Pingback'];
         } else if (preg_match('/<link rel="pingback" href="([^"]+)" ?/?>/',
                               $result->body,
                               $match)) {
-            $endpoint = $match[1];
+            $pb = $match[1];
+        }
+
+        if (!empty($pb)) {
+            $this->pingback($result->final_url, $pb);
         } else {
-            // XXX: do Trackback lookup
-            return $orig;
+            $tb = $this->getTrackback($result->body, $result->final_url);
+            if (!empty($tb)) {
+                $this->trackback($result->final_url, $tb);
+            }
         }
 
-        $this->pingback($url, $endpoint);
         return $orig;
     }
 
@@ -132,6 +140,82 @@ class LinkbackPlugin extends Plugin
         }
     }
 
+    // Largely cadged from trackback_cls.php by
+    // Ran Aroussi <ran@blogish.org>, GPL2
+    // http://phptrackback.sourceforge.net/
+
+    function getTrackback($text, $url)
+    {
+        if (preg_match_all('/(<rdf:RDF.*?<\/rdf:RDF>)/sm', $text, $match, PREG_SET_ORDER)) {
+            for ($i = 0; $i < count($match); $i++) {
+                if (preg_match('|dc:identifier="' . preg_quote($url) . '"|ms', $match[$i][1])) {
+                    $rdf_array[] = trim($match[$i][1]);
+                }
+            }
+
+            // Loop through the RDFs array and extract trackback URIs
+
+            $tb_array = array(); // <- holds list of trackback URIs
+
+            if (!empty($rdf_array)) {
+
+                for ($i = 0; $i < count($rdf_array); $i++) {
+                    if (preg_match('/trackback:ping="([^"]+)"/', $rdf_array[$i], $array)) {
+                        $tb_array[] = trim($array[1]);
+                        break;
+                    }
+                }
+            }
+
+            // Return Trackbacks
+
+            if (empty($tb_array)) {
+                return null;
+            } else {
+                return $tb_array[0];
+            }
+        }
+
+        if (preg_match_all('/(<a[^>]*?rel=[\'"]trackback[\'"][^>]*?>)/', $text, $match)) {
+            foreach ($match[1] as $atag) {
+                if (preg_match('/href=[\'"]([^\'"]*?)[\'"]/', $atag, $url)) {
+                    return $url[1];
+                }
+            }
+        }
+
+        return null;
+
+    }
+
+    function trackback($url, $endpoint)
+    {
+        $profile = $this->notice->getProfile();
+
+        $args = array('title' => sprintf(_('%1$s\'s status on %2$s'),
+                                         $profile->nickname,
+                                         common_exact_date($this->notice->created)),
+                      'excerpt' => $this->notice->content,
+                      'url' => $this->notice->uri,
+                      'blog_name' => $profile->nickname);
+
+        $fetcher = Auth_Yadis_Yadis::getHTTPFetcher();
+
+        $result = $fetcher->post($endpoint,
+                                 http_build_query($args),
+                                 array('User-Agent: ' . $this->userAgent()));
+
+        if ($result->status != '200') {
+            common_log(LOG_WARNING,
+                       "Trackback error for '$url' ($endpoint): ".
+                       "$result->body");
+        } else {
+            common_log(LOG_INFO,
+                       "Trackback success for '$url' ($endpoint): ".
+                       "'$result->body'");
+        }
+    }
+
     function userAgent()
     {
         return 'LinkbackPlugin/'.LINKBACKPLUGIN_VERSION .
diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php
new file mode 100644 (file)
index 0000000..d2c5235
--- /dev/null
@@ -0,0 +1,104 @@
+<?php
+/**
+ * Laconica, the distributed open-source microblogging tool
+ *
+ * Plugin to use Piwik Analytics
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category  Plugin
+ * @package   Laconica
+ * @author    Evan Prodromou <evan@controlyourself.ca>
+ * @author    Tobias Diekershoff <tobias.diekershoff@gmx.net>
+ * @copyright 2008 Control Yourself, Inc.
+ * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link      http://laconi.ca/
+ */
+
+if (!defined('LACONICA')) {
+    exit(1);
+}
+
+/**
+ * Plugin to use Piwik Analytics (based on the Google Analytics plugin by Evan)
+ *
+ * This plugin will spoot out the correct JavaScript spell to invoke
+ * Piwik Analytics on a page.
+ *
+ * To use this plugin please add the following three lines to your config.php
+ *
+ *     require_once('plugins/PiwikAnalyticsPlugin.php');
+ *     $pa = new PiwikAnalyticsPlugin("example.com/piwik/","id");
+ *
+ * exchange example.com/piwik/ with the url to your piwik installation and
+ * make sure you don't forget the final /
+ * exchange id with the ID your laconica installation has in your Piwik analytics
+ *
+ * @category Plugin
+ * @package  Laconica
+ * @author   Tobias Diekershoff <tobias.diekershoff@gmx.net>
+ * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link     http://laconi.ca/
+ *
+ * @see      Event
+ */
+
+class PiwikAnalyticsPlugin extends Plugin
+{
+    /** the base of your Piwik installation */
+    var $piwikroot = null;
+    /** the Piwik Id of your laconica installation */
+    var $piwikId   = null;
+
+    /**
+     * constructor
+     *
+     * @param string $root Piwik root URL
+     * @param string $id   Piwik ID of this app
+     */
+
+    function __construct($root=null, $id=null)
+    {
+        $this->piwikroot = $root;
+        $this->piwikid   = $id;
+        parent::__construct();
+    }
+
+    /**
+     * Called when all scripts have been shown
+     *
+     * @param Action $action Current action
+     *
+     * @return boolean ignored
+     */
+
+    function onEndShowScripts($action)
+    {
+        $js1 = 'var pkBaseURL = (("https:" == document.location.protocol) ? "https://'.
+                $this->piwikroot.'" : "http://'.$this->piwikroot.
+                '"); document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\''.
+                ' type=\'text/javascript\'%3E%3C/script%3E"));';
+        $js2 = 'piwik_action_name = ""; piwik_idsite = '.$this->piwikid.
+               '; piwik_url = pkBaseURL + "piwik.php"; piwik_log(piwik_action_name, piwik_idsite, piwik_url);';
+        $action->elementStart('script', array('type' => 'text/javascript'));
+        $action->raw($js1);
+        $action->elementEnd('script');
+        $action->elementStart('script', array('type' => 'text/javascript'));
+        $action->raw($js2);
+        $action->elementEnd('script');
+        return true;
+    }
+}
\ No newline at end of file
index 5f0ed5fa9298b1738aa16056f10451e165404a25..331e10671bb7cc7de0919875526696c196a0b28d 100644 (file)
@@ -1,11 +1,14 @@
+# This version needs to match the tarball and unpacked directory name.
+%define LACVER 0.7.3
+
 BuildRequires: php-pear
 BuildRequires: httpd-devel
 
 Name:           laconica
-Version:        0.7.2
+Version:        %{LACVER}
 Release:        1%{?dist}
 License:        GAGPL v3 or later
-Source:         laconica-0.7.2.tar.gz
+Source:         laconica-%{version}.tar.gz
 Group:          Applications/Internet
 Summary:        Laconica, the Open Source microblogging platform
 BuildArch:      noarch
@@ -49,6 +52,8 @@ cp -a * %{buildroot}%{wwwpath}
 mkdir -p %{buildroot}%{_datadir}/laconica
 cp -a db %{buildroot}%{_datadir}/laconica/db
 
+mkdir -p %{buildroot}%{_datadir}/laconica/avatar
+
 mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
 cat > %{buildroot}%{_sysconfdir}/httpd/conf.d/laconica.conf <<"EOF"
 Alias /laconica/ "/var/www/laconica/"
@@ -74,6 +79,12 @@ rm -rf %buildroot
 %config(noreplace) %{_sysconfdir}/httpd/conf.d/laconica.conf
 
 %changelog
+* Wed Apr 03 2009 Zach Copley <zach@controlyourself.ca> - 0.7.3
+- Changed version number to 0.7.3.
+
+* Fri Mar 13 2009 Ken Sedgwick <ksedgwic@bonsai.com> - 0.7.2.1-1
+- Factored laconica version to the first line of the file.
+
 * Wed Mar 03 2009 Zach Copley <zach@controlyourself.ca> - 0.7.2
 - Changed version number to 0.7.2.
 
index 55a266e4a43a1a21c0f0b03c64198a9cc604accb..ada6ecdba2070f20ad9a865553fdca2543df15ec 100644 (file)
@@ -34,7 +34,7 @@ require_once(INSTALLDIR . '/lib/queuehandler.php');
 set_error_handler('common_error_handler');
 
 class PingQueueHandler extends QueueHandler {
-       
+
        function transport() {
                return 'ping';
        }
@@ -47,7 +47,7 @@ class PingQueueHandler extends QueueHandler {
        function handle_notice($notice) {
                return ping_broadcast_notice($notice);
        }
-       
+
        function finish() {
        }
 }
index 0ce34c2ae44f943303dcdcfbeaa76244fa1787e5..d108416f463fc7226c5b159a1569224fe5d7ad74 100755 (executable)
@@ -18,7 +18,7 @@
  * along with this program.     If not, see <http://www.gnu.org/licenses/>.
  */
 
-# Abort if called from a web server
+// Abort if called from a web server
 if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
     print "This script must be run from the command line\n";
     exit();
@@ -27,11 +27,16 @@ if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
 define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
 define('LACONICA', true);
 
+// Set this to true to get useful console output
+define('SCRIPT_DEBUG', false);
+
 require_once(INSTALLDIR . '/lib/common.php');
 
 $flink = new Foreign_link();
 $flink->service = 1; // Twitter
-$flink->find();
+$cnt = $flink->find();
+
+print "Updating Twitter friends subscriptions for $cnt users.\n";
 
 while ($flink->fetch()) {
 
@@ -39,20 +44,30 @@ while ($flink->fetch()) {
 
         $user = User::staticGet($flink->user_id);
 
-        print "Updating Twitter friends for user $user->nickname ($user->id)\n";
+        if (empty($user)) {
+            common_log(LOG_WARNING, "Unmatched user for ID " . $flink->user_id);
+            print "Unmatched user for ID $flink->user_id\n";
+            continue;
+        }
+
+        print "Updating Twitter friends for $user->nickname (Laconica ID: $user->id)... ";
 
         $fuser = $flink->getForeignUser();
 
-        $result = save_twitter_friends($user, $fuser->id, $fuser->nickname, $flink->credentials);
+        if (empty($fuser)) {
+            common_log(LOG_WARNING, "Unmatched user for ID " . $flink->user_id);
+            print "Unmatched user for ID $flink->user_id\n";
+            continue;
+        }
 
-        if ($result == false) {
-            print "Problems updating Twitter friends! Check the log.\n";
-            exit(1);
+        $result = save_twitter_friends($user, $fuser->id,
+                       $fuser->nickname, $flink->credentials);
+        if (SCRIPT_DEBUG) {
+            print "\nDONE\n";
+        } else {
+            print "DONE\n";
         }
     }
-
 }
 
 exit(0);
-
-
index f3526d514c65fdc2b338ac230ea64e4a11cd6c18..a7f5e4d3a0f7dec92894db9a9e778bab3a0518dd 100755 (executable)
@@ -1,3 +1,3 @@
 cd `dirname $0`
 cd ..
-xgettext --from-code=UTF-8 --default-domain=laconica --output=locale/laconica.pot --language=PHP --join-existing actions/*.php classes/*.php lib/*.php scripts/*.php
+xgettext --from-code=UTF-8 --default-domain=laconica --output=locale/laconica.po --language=PHP --join-existing actions/*.php classes/*.php lib/*.php scripts/*.php
index c741ed4cbad8fcb19db577a03b800565e80e3611..dfac7712a48ed5c585eb80a825e3e5b330b79e19 100644 (file)
@@ -83,12 +83,13 @@ left:0;
 border:0;
 }
 
-#page_notice .error,
-#page_notice .success {
+.error,
+.success {
 padding:4px 7px;
 border-radius:4px;
 -moz-border-radius:4px;
 -webkit-border-radius:4px;
+margin-bottom:18px;
 }
 form label.submit {
 display:none;
@@ -150,7 +151,9 @@ font-weight:bold;
 #form_openid_login legend,
 #form_search legend,
 #form_invite legend,
-#form_notice_delete legend {
+#form_notice_delete legend,
+#form_password_recover legend,
+#form_password_change legend {
 display:none;
 }
 
@@ -214,6 +217,9 @@ margin-right:0;
 address .fn {
 font-weight:bold;
 }
+address img + .fn {
+display:none;
+}
 
 #header {
 width:100%;
@@ -245,6 +251,7 @@ position:absolute;
 top:65px;
 right:18px;
 width:250px;
+width:24%;
 }
 #page_notice {
 clear:both;
@@ -254,9 +261,8 @@ margin-bottom:18px;
 
 #anon_notice {
 float:left;
-width:432px;
-width:28.052em;
-padding:11px;
+width:43.2%;
+padding:1.1%;
 border-radius:7px;
 -moz-border-radius:7px;
 -webkit-border-radius:7px;
@@ -364,7 +370,9 @@ margin-right:4px;
 
 #wrap {
 margin:0 auto;
-width:1003px;
+width:100%;
+min-width:760px;
+max-width:1003px;
 overflow:hidden;
 }
 
@@ -376,14 +384,17 @@ margin-bottom:1em;
 }
 
 #content {
-width:644px;
-padding:18px;
+width:64.009%;
+min-height:259px;
+padding:1.795%;
 float:left;
 border-radius:7px;
 -moz-border-radius:7px;
 -moz-border-radius-topleft:0;
 -webkit-border-radius:7px;
 -webkit-border-top-left-radius:0;
+border-style:solid;
+border-width:1px;
 }
 
 #content_inner {
@@ -393,10 +404,11 @@ float:left;
 }
 
 #aside_primary {
-width:280px;
+width:27.917%;
+min-height:259px;
 float:left;
-margin-left:4px;
-padding:18px;
+margin-left:0.395%;
+padding:1.795%;
 border-radius:7px;
 -moz-border-radius:7px;
 -webkit-border-radius:7px;
@@ -404,9 +416,8 @@ border-width:1px;
 border-style:solid;
 }
 
-/*Start: FORM NOTICE*/
 #form_notice {
-width:458px;
+width:45.664%;
 float:left;
 position:relative;
 line-height:1;
@@ -419,40 +430,30 @@ padding:0;
 display:none;
 }
 #form_notice textarea {
+float:left;
 border-radius:7px;
 -moz-border-radius:7px;
 -webkit-border-radius:7px;
-width:370px;
+width:80.789%;
 height:67px;
 line-height:1.5;
 padding:7px 7px 16px 7px;
 }
 #form_notice label {
 display:block;
+float:left;
 font-size:1.3em;
 margin-bottom:7px;
 }
-#form_notice .form_data li {
-float:left;
-}
-
-#form_notice #notice_attach_file label,
 #form_notice #notice_submit label {
 display:none;
 }
-
-#form_notice #notice_attachment {
-margin-top:25px;
-margin-left:4px;
-}
-
 #form_notice .form_note {
 position:absolute;
 top:99px;
 right:98px;
 z-index:9;
 }
-
 #form_notice .form_note dt {
 font-weight:bold;
 display:none;
@@ -462,51 +463,28 @@ font-weight:bold;
 line-height:1.15;
 padding:1px 2px;
 }
-
-#form_notice #notice_data-attach_view {
-position:absolute;
-top:25px;
-right:30px;
-margin-left:4px;
+#form_notice #notice_action-submit {
+width:14%;
+height:47px;
 padding:0;
-width:16px;
-height:16px;
-border:0;
-text-indent:-9999px;
-}
-#form_notice .form_actions {
 position:absolute;
 bottom:0;
 right:0;
 }
-#form_notice .form_actions input.submit {
-width:60px;
-padding:8px;
-}
-
-#form_notice li {
-margin-bottom:0;
-}
-
-#form_notice #notice_to {
-margin-bottom:7px;
-}
-
-#notice_to label {
-float:left;
-margin-right:18px;
+#form_notice label[for=to] {
 margin-top:11px;
 }
-#notice_to select {
+#form_notice select[id=to] {
+margin-bottom:7px;
+margin-left:18px;
 float:left;
 }
-/*end FORM NOTICE*/
 
 
 /* entity_profile */
 .entity_profile {
 position:relative;
-width:475px;
+width:67.702%;
 min-height:123px;
 float:left;
 margin-bottom:18px;
@@ -536,7 +514,6 @@ margin-bottom:18px;
 .entity_profile .entity_tags {
 margin-left:113px;
 margin-bottom:4px;
-width:322px;
 }
 
 .entity_profile .entity_fn,
@@ -564,14 +541,14 @@ display:none;
 .entity_profile h2 {
 display:none;
 }
-
 /* entity_profile */
 
 
 /*entity_actions*/
 .entity_actions {
 float:right;
-margin-left:28px;
+margin-left:4.35%;
+max-width:25%;
 }
 .entity_actions h2 {
 display:none;
@@ -939,8 +916,6 @@ display:none;
 border:0;
 padding:0;
 }
-/*END: NOTICES */
-
 
 
 #new_group, #group_search {
@@ -1171,4 +1146,16 @@ clear:both;
 margin-bottom:0;
 }
 
-
+.instructions ul {
+list-style-position:inside;
+}
+.instructions p,
+.instructions ul {
+margin-bottom:18px;
+}
+.help dt {
+display:none;
+}
+.guide {
+clear:both;
+}
index 45176a201925816028b3abba5183a16ad347ba6b..5d8bea8ae3f5c1992228021f287448212c0ad2b5 100644 (file)
@@ -1,8 +1,21 @@
 /* IE specific styles */
-
-#aside_primary {
-padding-left:11px;
+legend {
+margin-left:-7px;
+}
+input.checkbox {
+top:0;
+}
+#form_notice textarea {
+width:78%;
+}
+#form_notice #notice_action-submit {
+width:17%;
+max-width:17%;
 }
+#anon_notice {
+max-width:39%;
+}
+
 .notice-options input.submit {
 font-size:0;
 margin-top:3px;
@@ -11,15 +24,9 @@ text-align:right;
 text-indent:0;
 width:24px;
 }
-
-input.checkbox {
-top:0;
-}
-
-legend {
-margin-left:-7px;
-}
-
 .notice div.entry-content .timestamp a {
 margin-right:4px;
 }
+.entity_profile {
+width:64%;
+}
index 10b31cbcb5e8c12dd05a37fec06072563ed3ae1d..76a82c0042d32841784b46fd0bb50d340ddd16d8 100644 (file)
@@ -1,4 +1,17 @@
 /* IE6 specific styles */
+address {
+margin-left:7px;
+}
+address .fn {
+display:none;
+}
+#content {
+width:70%;
+}
+#aside_primary {
+padding:5%;
+width:29.5%;
+}
 .entity_profile .entity_nickname,
 .entity_profile .entity_location,
 .entity_profile .entity_url,
@@ -9,3 +22,9 @@ margin-left:0;
 .entity_profile .entity_depiction {
 margin-bottom:123px;
 }
+.entity_actions {
+width:20%;
+}
+.notice div.entry-content {
+width:63%;
+}
diff --git a/theme/base/css/modal.css b/theme/base/css/modal.css
deleted file mode 100644 (file)
index 985e4ad..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * SimpleModal Basic Modal Dialog
- * http://www.ericmmartin.com/projects/simplemodal/
- * http://code.google.com/p/simplemodal/
- *
- * Copyright (c) 2008 Eric Martin - http://ericmmartin.com
- *
- * Licensed under the MIT license:
- *   http://www.opensource.org/licenses/mit-license.php
- *
- * Revision: $Id: basic.css 162 2008-12-01 23:36:58Z emartin24 $
- *
- */
-
-
-/* Overlay */
-#simplemodal-overlay {background-color:#000; cursor:wait;}
-
-/* Container */
-#simplemodal-container {height:240px; width:320px; background-color:#fff; border:3px solid #ccc;}
-#simplemodal-container a.modalCloseImg {background:url(../images/x.png) no-repeat; width:25px; height:29px; display:inline; z-index:3200; position:absolute; top:-15px; right:-18px; cursor:pointer;}
-#simplemodal-container #basicModalContent {padding:8px;}
diff --git a/theme/base/css/modal_ie.css b/theme/base/css/modal_ie.css
deleted file mode 100644 (file)
index eab4637..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * SimpleModal Basic Modal Dialog
- * http://www.ericmmartin.com/projects/simplemodal/
- * http://code.google.com/p/simplemodal/
- *
- * Copyright (c) 2008 Eric Martin - http://ericmmartin.com
- *
- * Licensed under the MIT license:
- *   http://www.opensource.org/licenses/mit-license.php
- *
- * Revision: $Id: basic_ie.css 162 2008-12-01 23:36:58Z emartin24 $
- *
- */
-
-/* IE 6 hacks*/
-#simplemodal-container a.modalCloseImg {background:none; right:-14px; width:22px; height:26px; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../images/x.png',sizingMethod='scale');}
diff --git a/theme/base/images/icons/icon_processing.gif b/theme/base/images/icons/icon_processing.gif
new file mode 100644 (file)
index 0000000..d0bce15
Binary files /dev/null and b/theme/base/images/icons/icon_processing.gif differ
diff --git a/theme/base/images/x.png b/theme/base/images/x.png
deleted file mode 100644 (file)
index c11f7af..0000000
Binary files a/theme/base/images/x.png and /dev/null differ
index 85b5aa13e538ad9335cd80ad16317e5b08c90aff..42e29374f1c571c2bd6deb6e421aea271b7955f5 100644 (file)
@@ -17,10 +17,7 @@ font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
 font-size:1em;
 }
 address {
-margin-right:71px;
-}
-address .fn {
-display:none;
+margin-right:7.18%;
 }
 
 input, textarea, select, option {
@@ -40,7 +37,6 @@ background:none;
 
 input.submit,
 #form_notice.warning #notice_text-count,
-#nav_register a,
 .form_settings .form_note,
 .entity_remote_subscribe {
 background-color:#A9BF4F;
@@ -51,7 +47,6 @@ input:focus, textarea:focus, select:focus,
 border-color:#A9BF4F;
 }
 input.submit,
-#nav_register a,
 .entity_remote_subscribe {
 color:#fff;
 }
@@ -94,12 +89,10 @@ color:#333;
 #form_notice.warning #notice_text-count {
 color:#000;
 }
-
-
-#nav_register a {
-text-decoration:none;
-font-weight:bold;
-padding:2px 4px;
+#form_notice.processing #notice_action-submit {
+background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
+cursor:wait;
+text-indent:-9999px;
 }
 
 #content,
@@ -120,10 +113,10 @@ background-color:rgba(255, 255, 255, 0.7);
 }
 
 
-#page_notice .error {
+.error {
 background-color:#F7E8E8;
 }
-#page_notice .success {
+.success {
 background-color:#EFF3DC;
 }
 
index 576a2e14be1d1483bc4da0abbeca81f97785af22..8edb005a68ae7b74b79c9619eae7c36e5a7dfd25 100644 (file)
@@ -17,10 +17,7 @@ font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
 font-size:1em;
 }
 address {
-margin-right:71px;
-}
-address .fn {
-display:none;
+margin-right:7.18%;
 }
 
 input, textarea, select, option {
@@ -40,7 +37,6 @@ background:none;
 
 input.submit,
 #form_notice.warning #notice_text-count,
-#nav_register a,
 .form_settings .form_note,
 .entity_remote_subscribe {
 background-color:#9BB43E;
@@ -51,7 +47,6 @@ input:focus, textarea:focus, select:focus,
 border-color:#9BB43E;
 }
 input.submit,
-#nav_register a,
 .entity_remote_subscribe {
 color:#fff;
 }
@@ -94,12 +89,10 @@ color:#333;
 #form_notice.warning #notice_text-count {
 color:#000;
 }
-
-
-#nav_register a {
-text-decoration:none;
-font-weight:bold;
-padding:2px 4px;
+#form_notice.processing #notice_action-submit {
+background:#fff url(../../base/images/icons/icon_processing.gif) no-repeat 47% 47%;
+cursor:wait;
+text-indent:-9999px;
 }
 
 #content,
@@ -120,10 +113,10 @@ background-color:rgba(255, 255, 255, 0.7);
 }
 
 
-#page_notice .error {
+.error {
 background-color:#F7E8E8;
 }
-#page_notice .success {
+.success {
 background-color:#EFF3DC;
 }